#include <Object.h>
Inheritance diagram for mcObject:
Provides basic COW services. This class is almost identic to wxObject.
Definition at line 47 of file Object.h.
Public Member Functions | |
mcObject () | |
Default constructor. | |
mcObject (const mcObject &other) | |
Copy constructor. | |
virtual | ~mcObject () |
Destructor: automatically unreferences the shared data. | |
mcObject & | operator= (const mcObject &other) |
The assignment operator: it just references the given object. | |
mcObjectRefData * | data_GetRefData () const |
Returns the shared data. | |
void | data_SetRefData (mcObjectRefData *data) |
Changes the shared data. | |
virtual void | data_Ref (const mcObject &clone) |
Makes a clone of the given object referencing its shared data. | |
virtual void | data_UnRef () |
eventually deleting it, and sets the reference data to NULL. | |
virtual mcObjectRefData * | data_MakePrivateCopy ()=0 |
Makes a private copy of the currently shared data. | |
Protected Attributes | |
mcObjectRefData * | mdata_refData |
The data shared by this mcObject. |
|
Default constructor.
Definition at line 57 of file Object.h. References mdata_refData. |
|
Copy constructor.
Definition at line 60 of file Object.h. References data_Ref(), and mdata_refData. |
|
Destructor: automatically unreferences the shared data.
Definition at line 63 of file Object.h. References data_UnRef(). |
|
Returns the shared data.
Definition at line 77 of file Object.h. References mdata_refData. Referenced by mcElement::chlp(), mcElement::data_MakePrivateCopy(), mcElementHelpers::math_Replace(), mcElement::mcElement(), and mcElement::~mcElement(). |
|
Makes a private copy of the currently shared data.
Implemented in mcElement. Referenced by data_Ref(). |
|
Makes a clone of the given object referencing its shared data.
Reimplemented in mcElement. Definition at line 55 of file Object.cpp. References mcObjectRefData::data_IncRefCount(), data_MakePrivateCopy(), data_UnRef(), and mdata_refData. Referenced by mcElement::data_Ref(), mcObject(), and operator=(). |
|
Changes the shared data.
Definition at line 80 of file Object.h. References mdata_refData. Referenced by mcExpElementHelpers::data_CreateExpSub(), mcElement::data_MakePrivateCopy(), mcBracket::mcBracket(), mcElement::mcElement(), mcFraction::mcFraction(), mcMathAndSystem::mcMathAndSystem(), mcMathLine::mcMathLine(), mcMathMng::mcMathMng(), mcMathOrSystem::mcMathOrSystem(), mcMonomial::mcMonomial(), mcNumber::mcNumber(), mcPolynomial::mcPolynomial(), mcRadical::mcRadical(), and mcSymbol::mcSymbol(). |
|
eventually deleting it, and sets the reference data to NULL.
Definition at line 76 of file Object.cpp. References mcObjectRefData::data_DecRefCount(), mcObjectRefData::data_GetRefCount(), mcLOG, and mdata_refData. Referenced by mcElement::data_MakePrivateCopy(), data_Ref(), operator=(), and ~mcObject(). |
|
The assignment operator: it just references the given object.
Definition at line 67 of file Object.h. References data_Ref(), and data_UnRef(). |
|
The data shared by this mcObject.
Definition at line 52 of file Object.h. Referenced by data_GetRefData(), data_Ref(), data_SetRefData(), data_UnRef(), and mcObject(). |
[ Top ] |