![]() |
QMCPACK
|
An OhmmsElementBase with extra members to keep track the object/type. More...
Inheritance diagram for OhmmsObject:
Collaboration diagram for OhmmsObject:Public Member Functions | |
| OhmmsObject () | |
| default constructor More... | |
| OhmmsObject (const std::string &tname, const std::string &oname) | |
| contructor More... | |
| ~OhmmsObject () override | |
| int | id () const |
| return the ObjectID which is unique to each object More... | |
| void | setID (int i) |
| overwrite ObjectID More... | |
| int | elementByteSize () const |
| returns the byte size of the object More... | |
| void | setTypeName (const std::string &tname) |
| set the type name More... | |
| void | setObjName (const std::string &oname) |
| set the object name More... | |
| const std::string & | typeName () const |
| return the type name More... | |
| const std::string & | objName () const |
| return the object name More... | |
| virtual OhmmsObject * | makeClone () const =0 |
Public Member Functions inherited from OhmmsElementBase | |
| OhmmsElementBase (const char *aname="none") | |
| constructor with a name More... | |
| virtual | ~OhmmsElementBase () |
| destructor More... | |
| const std::string & | getName () const |
| return the name More... | |
| void | setName (const std::string &aname) |
| set name More... | |
| void | setIOMode (int imode) |
| set iomode More... | |
| virtual bool | get (std::ostream &) const =0 |
| write to a std::ostream More... | |
| virtual bool | put (std::istream &)=0 |
| read from std::istream More... | |
| virtual bool | put (xmlNodePtr cur)=0 |
| read from an xmlNode More... | |
| virtual void | reset ()=0 |
| reset member data More... | |
| virtual bool | add (xmlNodePtr parent) |
| add a xmlNode to the children list of parent More... | |
| void | put (const std::string &s) |
| read from string More... | |
| virtual void | begin_node (std::ostream &os) const |
| write the start of a node More... | |
| virtual void | end_node (std::ostream &os) const |
| write the end of a node More... | |
Protected Attributes | |
| std::string | TypeName |
| the type name of this object More... | |
| int | ObjectID |
| the unique ID of this object More... | |
| int | ElementByteSize |
| the byte size of this object More... | |
Protected Attributes inherited from OhmmsElementBase | |
| int | myIOMode |
| the type of IO mode: default is useLIBXML More... | |
| std::string | myName |
| the name of the node, corresponds to the xml tag More... | |
Additional Inherited Members | |
Public Types inherited from OhmmsElementBase | |
| enum | { useLIBXML = 0, useLIBXMLPP, usePLAIN } |
| enumeration to choose the xml parser More... | |
An OhmmsElementBase with extra members to keep track the object/type.
Additional data members of OhmmsObject are
It is common for class libraries or applications to have a base class that has an object counter for garbage collections and other functions. This base class is not that smart but enables keeping track the list unique for a process and makes it easy to retrieve an object with a name.
Definition at line 43 of file OhmmsObject.h.
| OhmmsObject | ( | ) |
default constructor
Assign meaningless object and type names. Not givng a name to an object is OKAY as far as the object is not requested from a pool.
Definition at line 28 of file OhmmsObject.cpp.
| OhmmsObject | ( | const std::string & | tname, |
| const std::string & | oname | ||
| ) |
contructor
| tname | the name of the type |
| oname | the name of the object Assign a unique ObjectID using the static data member ObjectCounter |
Definition at line 42 of file OhmmsObject.cpp.
|
override |
Definition at line 52 of file OhmmsObject.cpp.
|
inline |
returns the byte size of the object
Definition at line 57 of file OhmmsObject.h.
References ElementByteSize.
|
inline |
return the ObjectID which is unique to each object
Definition at line 51 of file OhmmsObject.h.
References ObjectID.
|
pure virtual |
Implemented in ParticleAttrib< T, Alloc >, ParticleAttrib< RealType >, and ParticleAttrib< qmcplusplus::TinyVector >.
|
inline |
return the object name
Definition at line 69 of file OhmmsObject.h.
References OhmmsElementBase::myName.
Referenced by AttribListType::add().
|
inline |
overwrite ObjectID
Definition at line 54 of file OhmmsObject.h.
References ObjectID.
Referenced by AttribListType::add().
|
inline |
set the object name
Definition at line 63 of file OhmmsObject.h.
References OhmmsElementBase::myName.
Referenced by ParticleSet::createAttributeList().
|
inline |
set the type name
Definition at line 60 of file OhmmsObject.h.
References TypeName.
Referenced by ParticleSet::createAttributeList().
|
inline |
|
protected |
the byte size of this object
Definition at line 81 of file OhmmsObject.h.
Referenced by elementByteSize().
|
protected |
the unique ID of this object
Definition at line 78 of file OhmmsObject.h.
|
protected |
the type name of this object
Definition at line 75 of file OhmmsObject.h.
Referenced by setTypeName(), and typeName().