C++ mpi module for stochmagnet_main Package
EXPR_RootNode.h
1 #ifndef EXPR_RootNode_H
2 #define EXPR_RootNode_H
3 
4 #include "EXPR_ParentNode.h"
5 
6 #include "EXPR_ChildNode.h"
7 
8 
16 class EXPR_RootNode : public virtual EXPR_ParentNode {
17 
18 private:
19  //attributes
20 
21 
22 private:
23  //associations
24 protected:
25  //builders
26 
29  EXPR_RootNode();
30 
31  //deleters
34  virtual ~EXPR_RootNode();
35 
36 public:
37  //methods
38 
42  static inline CORE_UniquePointer<EXPR_RootNode> New() {
43  CORE_UniquePointer<EXPR_RootNode>p(new EXPR_RootNode(),
45  return p;
46  }
47 
48 
49  //MEMORY
50  //======
58  virtual tMemSize getMemorySize() const override {
59  return sizeof(*this)+getContentsMemorySize();
60  }
61 
70  virtual tMemSize getContentsMemorySize() const override {
72  return mem;
73  }
74 };
75 
76 
77 
78 
79 #endif
80 
81 
class Free introduced for deleting a smart pointer
Definition: CORE_Object.h:113
This class is a parent node with children.
Definition: EXPR_ParentNode.h:23
virtual tMemSize getContentsMemorySize() const override
return nthe memory size of the included associations
Definition: EXPR_ParentNode.h:69
This class describes the root of the tree.
Definition: EXPR_RootNode.h:16
virtual tMemSize getContentsMemorySize() const override
return nthe memory size of the included associations
Definition: EXPR_RootNode.h:70
static CORE_UniquePointer< EXPR_RootNode > New()
create the new instance of this
Definition: EXPR_RootNode.h:42
virtual ~EXPR_RootNode()
delete the class
Definition: EXPR_RootNode.cpp:7
virtual tMemSize getMemorySize() const override
return the memory size of the class
Definition: EXPR_RootNode.h:58
EXPR_RootNode()
create the class
Definition: EXPR_RootNode.cpp:4