SG::StringPool Node1 SG::StringPool + sgkey_t_nbits + sgkey_t_max + StringPool() + ~StringPool() + StringPool() + StringPool() + operator=() + operator=() + stringToKey() + keyToString() + keyToString() + registerKey() + size() + dump() + clear() + merge() Node2 std::unique_ptr< SG ::StringPoolImpl > + operator->() Node2->Node1 -m_impl Node3 SG::StringPoolImpl - m_keymap + registerKey() + keyToString() + size() + clear() + dump() + merge() Node3->Node2 +ptr