D3PD::AddVariable Node1 D3PD::AddVariable + AddVariable() + AddVariable() + configureD3PD() + addVariable() + addDimensionedVariable() + addVariable() + addVariable() + addVariable() + addDimensionedVariable() + addDimensionedVariable() + addDimensionedVariable() Node2 D3PD::IAddVariable + ~IAddVariable() + addVariable() + addVariable() + addDimensionedVariable() + addDimensionedVariable() + addVariable() + addDimensionedVariable() Node2->Node1 Node2->Node1 -m_tree Node5 D3PD::ObjectMetadata + RANDOM_NAME_POSTFIX _LENGTH + STRING_SEPARATOR + SERIALIZER_VERSION # m_container + ObjectMetadata() + ObjectMetadata() + operator=() + operator==() + operator<() + addVariable() + addDimensionedVariable() + name() + setName() + ATLAS_NOT_THREAD_SAFE() and 16 more... + objectName() - ATLAS_NOT_THREAD_SAFE() Node2->Node5 Node3 std::string Node3->Node1 -m_suffix -s_emptyString -m_prefix Node3->Node5 #m_name #m_prefix Node7 D3PD::ObjectMetadata ::Variable + STRING_SEPARATOR - m_primitive + Variable() + type() + name() + doc() + primitive() + setType() + setName() + setDoc() + setPrimitive() + toString() + read() + operator==() + operator<() Node3->Node7 -m_doc -m_type -m_name Node4 std::basic_string< char > Node4->Node3 Node5->Node1 #m_metadata Node6 std::set< D3PD::ObjectMetadata ::Variable > Node6->Node5 #m_variables Node7->Node6 +keys