PARTONS  
PARtonic Tomography Of Nucleon Software
Public Member Functions | Private Attributes | List of all members
PARTONS::ModuleObjectReference Class Reference
Inheritance diagram for PARTONS::ModuleObjectReference:
PARTONS::BaseObject

Public Member Functions

 ModuleObjectReference (ModuleObject *pModuleObjectPointer)
 
 ModuleObjectReference (const ModuleObjectReference &other)
 Copy constructor. More...
 
virtual ~ModuleObjectReference ()
 Default destructor. More...
 
void incCounter ()
 Increment by one the number of reference to the pointed object m_pModuleObjectPointer;. More...
 
void decCounter ()
 Decrement by one the number of reference to the pointed object m_pModuleObjectPointer;. More...
 
virtual std::string toString () const
 Return a pre-formatted characters string for output visualization of class member's values. More...
 
unsigned int getNumberOfReference () const
 
void setNumberOfReference (unsigned int numberOfReference)
 
const ModuleObjectgetModuleObjectPointer () const
 
- Public Member Functions inherited from PARTONS::BaseObject
 BaseObject (const std::string &className)
 Constructor. More...
 
virtual ~BaseObject ()
 Default destructor. More...
 
virtual BaseObjectclone () const
 Virtual clone function to allow the factory to clone all derived members object stored in the BaseObjectRegistry. More...
 
virtual void resolveObjectDependencies ()
 Because of the initialization step order of the program, objects are registered in a total random order and some objects depend on others. More...
 
void serialize (ElemUtils::Packet &packet) const
 Used to split a complex C++ object into a concatenation of simple types. More...
 
void unserialize (ElemUtils::Packet &packet)
 Used to rebuild a complex C++ object from a concatenation of simple type. More...
 
bool operator< (const BaseObject &other) const
 Overload of < operator to sort BaseObject object by its indexId value. More...
 
const std::string & getClassName () const
 
unsigned int getObjectId () const
 
int getIndexId () const
 
void setIndexId (int indexId)
 

Private Attributes

ModuleObjectm_pModuleObjectPointer
 Keep pointer to the module object in memory. More...
 
unsigned int m_numberOfReference
 Count the number of reference to the pointer member in the all running program. More...
 

Additional Inherited Members

- Protected Member Functions inherited from PARTONS::BaseObject
 BaseObject (const BaseObject &other)
 Copy constructor. More...
 
void info (const std::string &functionName, const std::string &message) const
 Print info message into logger. More...
 
void debug (const std::string &functionName, const std::string &message) const
 Print debug message into logger. More...
 
void warn (const std::string &functionName, const std::string &message) const
 Print warning message into logger. More...
 
void errorMissingParameter (const std::string &parameterName) const
 Use in automation process to throw exception when a parameter is missing from the XML scenario file. More...
 

Constructor & Destructor Documentation

◆ ModuleObjectReference() [1/2]

PARTONS::ModuleObjectReference::ModuleObjectReference ( ModuleObject pModuleObjectPointer)
Parameters
pModuleObjectPointer

◆ ModuleObjectReference() [2/2]

PARTONS::ModuleObjectReference::ModuleObjectReference ( const ModuleObjectReference other)

Copy constructor.

Parameters
other

◆ ~ModuleObjectReference()

PARTONS::ModuleObjectReference::~ModuleObjectReference ( )
virtual

Default destructor.

In the ModuleObjectFactory when test is done on the m_numberOfReference member, if it reached 0 (zero) then it means that there is no longer reference to the m_pModuleObjectPointer member. So the current ModuleObjectReference in the ModuleFactory map is deleted and the destructor of ModuleObjectReference is called. And object pointed by m_pModuleObjectPointer is removed from the memory (see destructor implementation).

Member Function Documentation

◆ decCounter()

void PARTONS::ModuleObjectReference::decCounter ( )

Decrement by one the number of reference to the pointed object m_pModuleObjectPointer;.

◆ getModuleObjectPointer()

const ModuleObject * PARTONS::ModuleObjectReference::getModuleObjectPointer ( ) const

◆ getNumberOfReference()

unsigned int PARTONS::ModuleObjectReference::getNumberOfReference ( ) const

◆ incCounter()

void PARTONS::ModuleObjectReference::incCounter ( )

Increment by one the number of reference to the pointed object m_pModuleObjectPointer;.

◆ setNumberOfReference()

void PARTONS::ModuleObjectReference::setNumberOfReference ( unsigned int  numberOfReference)

◆ toString()

std::string PARTONS::ModuleObjectReference::toString ( ) const
virtual

Return a pre-formatted characters string for output visualization of class member's values.

Returns
a pre-formatted characters string.

Reimplemented from PARTONS::BaseObject.

Member Data Documentation

◆ m_numberOfReference

unsigned int PARTONS::ModuleObjectReference::m_numberOfReference
private

Count the number of reference to the pointer member in the all running program.

◆ m_pModuleObjectPointer

ModuleObject* PARTONS::ModuleObjectReference::m_pModuleObjectPointer
private

Keep pointer to the module object in memory.


The documentation for this class was generated from the following files: