MdtCsmIdHash Node1 MdtCsmIdHash - m_size + MdtCsmIdHash() + ~MdtCsmIdHash() + operator()() + max() + identifier() + offset() Node2 std::vector< Identifier > Node2->Node1 -m_int2id Node3 Identifier - m_id + Identifier() + Identifier() + Identifier() + operator=() + operator=() + ~Identifier() + Identifier() + Identifier() + Identifier() + Identifier() and 38 more... - operator|=() - operator&=() - extract() - mask_shift() - extract() Node3->Node2 +elements Node4 std::map< Identifier, int > + elements Node3->Node4 +keys Node4->Node1 -m_lookup