C++ mpi module for stochmagnet_main Package
EXPR_OperatorNode.h
1 #ifndef EXPR_OperatorNode_H
2 #define EXPR_OperatorNode_H
3 
4 
5 #include "EXPR_InheritedNode.h"
6 
15 
16 private:
17 
18 
19  tChar mName;
20 
21 private:
22  //associations
23 
24 
25 
26 protected:
27  //builders
28 
32  mName=' ';
33  }
34 
35  //deleters
38  virtual ~EXPR_OperatorNode() {
39  }
40 
41 public:
42  //methods
43 
47  virtual CORE_SharedInstance<EXPR_OperatorNode> newInstance() const=0;
48 
49  //MEMORY
50  //======
58  virtual tMemSize getMemorySize() const override {
59  return sizeof(*this)+getContentsMemorySize();
60  }
61 
70  virtual tMemSize getContentsMemorySize() const override {
72  mem+=sizeof(tChar);
73  return mem;
74  }
75 protected:
79  inline void setName(const tChar& c) {
80  mName=c;
81  }
82 
83 public:
87  inline const tChar& getName() const {
88  return mName;
89  }
90 
91 
92 };
93 
94 
95 
96 
97 #endif
98 
99 
This class describes a child & parent node.
Definition: EXPR_InheritedNode.h:15
virtual tMemSize getContentsMemorySize() const override
return nthe memory size of the included associations
Definition: EXPR_InheritedNode.h:64
This class describes an operator.
Definition: EXPR_OperatorNode.h:14
const tChar & getName() const
return the name of the operator
Definition: EXPR_OperatorNode.h:87
virtual CORE_SharedInstance< EXPR_OperatorNode > newInstance() const =0
creat a new instance of the operator
EXPR_OperatorNode()
create the class
Definition: EXPR_OperatorNode.h:31
void setName(const tChar &c)
set the name of the operator
Definition: EXPR_OperatorNode.h:79
virtual tMemSize getMemorySize() const override
return the memory size of the class
Definition: EXPR_OperatorNode.h:58
virtual tMemSize getContentsMemorySize() const override
return nthe memory size of the included associations
Definition: EXPR_OperatorNode.h:70
virtual ~EXPR_OperatorNode()
delete the class
Definition: EXPR_OperatorNode.h:38