CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DataElement.h
Go to the documentation of this file.
1 #ifndef INCLUDE_ORA_DATAELEMENT_H
2 #define INCLUDE_ORA_DATAELEMENT_H
3 
4 // externals
6 
7 namespace ora {
8 
9  // class describing an elementary part of data to be stored
10  class DataElement {
11  public:
12  DataElement();
13  DataElement( size_t declaringScopeOffset, size_t /*offsetFunction*/ offset );
14  virtual ~DataElement();
15 
16  DataElement& addChild( size_t declaringScopeOffset, size_t /*offsetFunction*/ offset );
17 
18  size_t offset( const void* topLevelAddress ) const;
19  void* address( const void* topLevelAddress ) const;
20  size_t declaringScopeOffset() const;
21 
22  void clear();
23 
24  private:
25 
27  std::vector<DataElement*> m_children;
29  /*Reflex::OffsetFunction m_offsetFunction*/ size_t m_offset;
30  };
31 
32 }
33 
34 #endif
35 
void * address(const void *topLevelAddress) const
Definition: DataElement.cc:49
virtual ~DataElement()
Definition: DataElement.cc:19
size_t declaringScopeOffset() const
Definition: DataElement.cc:54
size_t offset(const void *topLevelAddress) const
Definition: DataElement.cc:35
std::vector< DataElement * > m_children
Definition: DataElement.h:27
size_t m_declaringScopeOffset
Definition: DataElement.h:28
DataElement & addChild(size_t declaringScopeOffset, size_toffset)
Definition: DataElement.cc:27
const DataElement * m_parent
Definition: DataElement.h:26