D3PD::RootReaderD3PDBase Node1 D3PD::RootReaderD3PDBase + RootReaderD3PDBase() + addVariable() + addDimensionedVariable() + addMetadata() + capture() + clear() + redim() + setIsContainer() + isContainer() + setPrefix() + prefix() # addSTLHeader() Node2 D3PD::IReaderD3PD + ~IReaderD3PD() + setIsContainer() + isContainer() + setPrefix() + prefix() + createReader() Node2->Node1 Node3 D3PD::ID3PD + capture() + clear() + redim() + addMetadata() + addMetadata() Node3->Node2 Node4 D3PD::IAddVariable + ~IAddVariable() + addVariable() + addVariable() + addDimensionedVariable() + addDimensionedVariable() + addVariable() + addDimensionedVariable() Node4->Node3 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() Node4->Node5 Node5->Node1 #m_metadata Node6 std::string Node6->Node5 #m_name #m_prefix Node9 D3PD::ObjectMetadata ::Variable + STRING_SEPARATOR - m_primitive + Variable() + type() + name() + doc() + primitive() + setType() + setName() + setDoc() + setPrimitive() + toString() + read() + operator==() + operator<() Node6->Node9 -m_doc -m_type -m_name Node7 std::basic_string< char > Node7->Node6 Node8 std::set< D3PD::ObjectMetadata ::Variable > Node8->Node5 #m_variables Node9->Node8 +keys