D3PDTest::Obj4GetterTool Node1 D3PDTest::Obj4GetterTool + Obj4GetterTool() Node2 D3PD::SGCollectionGetter Tool< Obj4Container > + SGCollectionGetterTool() + initialize() + typeinfo() + getUntyped() + get() Node2->Node1 Node3 D3PD::SGGetterImpl - m_clid + SGGetterImpl() + typeinfo() + clid() + getUntyped() # initializeImpl() Node3->Node2 Node4 D3PD::IObjGetterTool + DeclareInterfaceID() + typeinfo() + getUntyped() + get() + releaseObjectUntyped() + releaseObject() + configureD3PD() + getTypeinfo() + releaseObjectTypeinfo() + configureTypeinfo() Node4->Node3 Node6 D3PD::SGKeyResolver - m_clid - m_haveKey + SGKeyResolver() + initialize() + initialize() + key() Node6->Node3 #m_resolver Node7 std::string Node7->Node3 #m_typename #m_sgkey Node7->Node6 -m_typname -m_sgkey -m_usedKey -m_name Node12 D3PD::CollectionGetterToolImpl - m_registry + CollectionGetterToolImpl() + initialize() + nextTypeinfo() + configureElementTypeinfo() + releaseElementTypeinfo() Node7->Node12 -m_label Node9 ServiceHandle< StoreGate Svc > Node9->Node3 -m_sg Node9->Node6 -m_sg Node10 ServiceHandle< IClassIDSvc > Node10->Node3 #m_clidsvc Node11 D3PD::CollectionGetterTool < Obj4Container > - m_it - m_end + CollectionGetterTool() + getUntyped() + typeinfo() + elementTypeinfo() + reset() + nextUntyped() + sizeHint() + get() + releaseObject() + releaseObjectUntyped() Node11->Node2 Node12->Node11