ConstRangeIterator Node1 ConstRangeIterator + ConstRangeIterator() + ConstRangeIterator() + begin() + end() + operator++() + operator*() + operator==() Node2 std::vector< std::size_t > + elements Node2->Node1 -m_indices Node3 ExpandedIdentifier + max_value - m_fields + ExpandedIdentifier() + ExpandedIdentifier() + ExpandedIdentifier() + add() + operator<<() + operator[]() + set() + clear() + operator[]() + fields() + operator() + operator==() + match() + operator std::string() + show() Node3->Node1 -m_id -m_min -m_max Node4 Range + Range() + Range() + Range() + Range() + build() + build() + clear() + add() + add() + add() and 17 more... Node4->Node1 -m_range Node5 std::vector< field > Node5->Node4 -m_fields Node6 IdentifierField - m_minimum - m_maximum - m_data - m_size - m_previous - m_next - m_empty - m_continuation_mode - m_maxNumberOfIndices + IdentifierField() + IdentifierField() + IdentifierField() + IdentifierField() + wrap_around() + get_minimum() + get_minmax() + get_maximum() + get_values() + get_previous() and 25 more... - set_minimum() - set_maximum() - create_index_table() - dataPtr() Node6->Node5 +elements Node7 auto Node7->Node6 +minimum_possible +maximum_possible +invalidValues Node8 std::vector< size_type > + elements Node8->Node6 -m_indexes