C++ mpi module for stochmagnet_main Package
SM_CycleClassFactory.h
1 #ifndef SM_CycleClassFactory_H
2 #define SM_CycleClassFactory_H
3 
4 //include the base class of the package
5 #include "CORE_ClassFactory.h"
6 
7 
8 //stochastic output header
9 
15 class SM_CycleClassFactory : public CORE_ClassFactory { // class
16 
17 
18  // ASSOCIATION
19 
20 
21 
22  // ATTRIBUTES
23 
24 private:
25 
26 
27  // ASSOCIATIONS
28 
29 
30 
31  // METHODS
32 
33 
34 public:
35  // CONSTRUCTORS
39 
40 
41 
42 
43  // DESTRUCTORS
47  virtual ~SM_CycleClassFactory(void);
48 
49 
50 
51 
52 
53 public:
54 
55 
56  //MEMORY
57 
71  virtual tMemSize getMemorySize() const override {
72  return sizeof(*this)+getContentsMemorySize();
73  }
74 
75 
76  // SET
77 
78 
79 
80 
81 
82 public:
83 
84  //New class Factory
88  inline static CORE_UniquePointer<SM_CycleClassFactory> New() {
89  return CORE_UniquePointer<SM_CycleClassFactory>(new SM_CycleClassFactory(),SM_CycleClassFactory::Delete());
90  }
91 
92  // OTHERS
93 
94 
101  virtual CORE_UniquePointer<CORE_Object> NewInstance(const tString& name,
102  const CORE_OptionsList& arguments) const override;
103 
104 
105 
106 };
107 
108 #endif
this class describes a class factory to generate classes
Definition: CORE_ClassFactory.h:24
virtual tMemSize getContentsMemorySize() const override
return the memory size in byte
Definition: CORE_ClassFactory.h:84
class Free introduced for deleting a smart pointer
Definition: CORE_Object.h:113
This class is an list of options.
Definition: CORE_OptionsList.h:36
this class describes a class factory to generate classes of the package
Definition: SM_CycleClassFactory.h:15
virtual tMemSize getMemorySize() const override
return the memory size of the class and the memory size of all its attributes/associations
Definition: SM_CycleClassFactory.h:71
SM_CycleClassFactory()
build a SM_CycleClassFactory
Definition: SM_CycleClassFactory.cpp:13
static CORE_UniquePointer< SM_CycleClassFactory > New()
build a new instance of default class factory
Definition: SM_CycleClassFactory.h:88
virtual CORE_UniquePointer< CORE_Object > NewInstance(const tString &name, const CORE_OptionsList &arguments) const override
create an unique instance of a class
Definition: SM_CycleClassFactory.cpp:21
virtual ~SM_CycleClassFactory(void)
destroy a SM_CycleClassFactory
Definition: SM_CycleClassFactory.cpp:17