pool::Container Node1 pool::Container - m_technology + Container() + ~Container() + name() + technology() + tokens() + technologySpecificAttributes() + technologySpecificAttributes() # attributeOfType() # setAttributeOfType() Node2 pool::IContainer   + name() + technology() + tokens() + technologySpecificAttributes() + technologySpecificAttributes() + ~IContainer() Node2->Node1 Node3 pool::ITechnologySpecific Attributes   + attribute() + setAttribute() # ~ITechnologySpecificAttributes() # attributeOfType() # setAttributeOfType() Node3->Node1 Node4 std::string     Node4->Node1 -m_name Node6 pool::FileDescriptor   + FileDescriptor() + FileDescriptor() + PFN() + setPFN() + FID() + setFID() + dbc() + dbc() + setDbc() Node4->Node6 -m_FID -m_PFN Node7 pool::DbConnection - m_refCount - m_type + DbConnection() + DbConnection() + ~DbConnection() + operator=() + release() + addRef() + handle() + handle() + name() + type() Node4->Node7 -m_name Node8 pool::DbDatabaseObj - m_fileAge + DbDatabaseObj() + ~DbDatabaseObj() + logon() + size() + info() + info() + domain() + domain() + age() + token() and 23 more... - cleanup() Node4->Node8 -m_logon Node5 std::basic_string< Char >     Node5->Node4 Node6->Node1 -m_fileDescriptor Node7->Node6 -m_DBC Node8->Node7 -m_handle Node9 pool::DbAccessObj< std::string, DbContainerObj > - m_refCount - m_mode - m_name - m_type - m_keys - m_pool + DbAccessObj() + ~DbAccessObj() + name() + setName() + mode() + setMode() + type() + db() + db() + refCount() and 12 more... Node9->Node8 Node10 pool::APRMessaging   + APRMessaging() + APRMessaging() + operator=() + APRMessaging() + operator=() Node10->Node8