MultiRange Node1 MultiRange + MultiRange() + MultiRange() + clear() + add() + add() + add() + remove_range() + back() + match() + operator[]() and 13 more... Node2 std::vector< Range > Node2->Node1 -m_ranges Node3 Range + Range() + Range() + Range() + Range() + build() + build() + clear() + add() + add() + add() and 17 more... Node3->Node2 +elements Node4 std::vector< field > Node4->Node3 -m_fields Node5 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() Node5->Node4 +elements Node6 auto Node6->Node5 +minimum_possible +maximum_possible +invalidValues Node7 std::vector< size_type > + elements Node7->Node5 -m_indexes