C++ mpi module for stochmagnet_main Package
SM_CrystalStructureClassFactory.h
1 #ifndef SM_CrystalStructureClassFactory_H
2 #define SM_CrystalStructureClassFactory_H
3 
4 //include the base class of the package
5 #include "CORE_ClassFactory.h"
6 
7 
8 
15 
16 
17  // ASSOCIATION
18 
19 
20 
21  // ATTRIBUTES
22 
23 private:
24 
25 
26  // ASSOCIATIONS
27 
28 
29 
30  // METHODS
31 
32 
33 public:
34  // CONSTRUCTORS
38 
39 
40 
41 
42  // DESTRUCTORS
46  virtual ~SM_CrystalStructureClassFactory(void);
47 
48 
49 
50 
51 
52 public:
53 
54 
55  //MEMORY
56 
70  virtual tMemSize getMemorySize() const override {
71  return sizeof(*this)+getContentsMemorySize();
72  }
73 
74 
75  // SET
76 
77 
78 
79 
80 
81 public:
82 
83  //New class Factory
87  inline static CORE_UniquePointer<SM_CrystalStructureClassFactory> New() {
88  return CORE_UniquePointer<SM_CrystalStructureClassFactory>(new SM_CrystalStructureClassFactory(),
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 
109 };
110 
111 #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_CrystalStructureClassFactory.h:14
virtual tMemSize getMemorySize() const override
return the memory size of the class and the memory size of all its attributes/associations
Definition: SM_CrystalStructureClassFactory.h:70
static CORE_UniquePointer< SM_CrystalStructureClassFactory > New()
build a new instance of default class factory
Definition: SM_CrystalStructureClassFactory.h:87
SM_CrystalStructureClassFactory()
build a SM_CrystalStructureClassFactory
Definition: SM_CrystalStructureClassFactory.cpp:14
virtual ~SM_CrystalStructureClassFactory(void)
destroy a SM_CrystalStructureClassFactory
Definition: SM_CrystalStructureClassFactory.cpp:18
virtual CORE_UniquePointer< CORE_Object > NewInstance(const tString &name, const CORE_OptionsList &arguments) const override
create an unique instance of a class
Definition: SM_CrystalStructureClassFactory.cpp:22