42 static map<tString,CORE_Object*> mObjects;
43 static map<tString,int> mObjectsNumber;
49 static ostream *mOutput;
53 WP::CORE_Object mThis;
76 SP::CORE_Object getThis() {
77 SP::CORE_Object ptr(mThis);
82 SPC::CORE_Object getThis()
const {
83 SPC::CORE_Object ptr(mThis);
129 return identityString.substr(0,identityString.find(
"@"));
159 return (dynamic_cast<const T*>(
this)!=
null);
166 const char *name=
typeid(T).name();
167 char *v=__cxxabiv1::__cxa_demangle(name,NULL,NULL,NULL);
228 virtual ostream&
print(ostream& out)
const {
249 virtual void print(
const int& str);
266 return obj.
print(out);
static void setOutput(ostream &out)
set output
Definition: CORE_Object.h:200
static void printObjectsInMemory()
print object in memory
Definition: CORE_Object.cpp:45
static tString getClassName(const tString &identityString)
return the class name of the object using only the identity string
Definition: CORE_Object.h:128
void operator()(const CORE_Object *p)
operator to delete the class
Definition: CORE_Object.h:110
static tBoolean is32Architecture()
return true if the machine is a 32 bits machine
Definition: CORE_Object.h:180
static void outputPrint(const tString &message)
Definition: CORE_Object.cpp:89
static tBoolean is64Architecture()
return true if the machine is a 64 bits machine
Definition: CORE_Object.cpp:106
void setThis(SP::CORE_Object p)
set this weak shared pointer called toDoAfterThis setting method
Definition: CORE_Object.h:58
#define tRelativeInteger
Definition: types.h:33
#define tBoolean
Definition: types.h:35
tString getClassName() const
return the class name of the object
Definition: CORE_Object.cpp:95
virtual ostream & print(ostream &out) const
print the class
Definition: CORE_Object.h:228
#define null
Definition: types.h:13
CORE_Object()
build an object
Definition: CORE_Object.cpp:11
static tBoolean mIsMemoryTesting
indicator to store all classes created and deleted only for debuging version
Definition: CORE_Object.h:38
tString getIdentityString() const
return the identity string of the object of the form className_at_address
Definition: CORE_Object.h:136
static tString getTypeName()
get type name
Definition: CORE_Object.h:165
virtual ~CORE_Object()
destroy an object
Definition: CORE_Object.cpp:27
void getSharedPointer(SP::CORE_Object &p)
get the shared pointer of this class into p
Definition: CORE_Object.h:65
friend ostream & operator<<(ostream &out, const CORE_Object &obj)
print Operators
Definition: CORE_Object.h:265
void getSharedPointer(SPC::CORE_Object &p) const
get the shared pointer of this class into p
Definition: CORE_Object.h:70
static ostream & getOutput()
get output
Definition: CORE_Object.h:205
static ostream & print(ostream &out, const tString &message)
print the class
Definition: CORE_Object.h:253
abstract base class for most classes.
Definition: CORE_Object.h:30
#define tString
Definition: types.h:36
static tString pointer2String(const void *obj)
return the string represantation of a pointer
Definition: CORE_Object.cpp:113
virtual void toDoAfterThisSetting()
method called after setThis() method this method can oly be called once.
Definition: CORE_Object.h:188
virtual void print()
print the class
Definition: CORE_Object.h:221
tBoolean isInstanceOf() const
return true if the object is an instance of T
Definition: CORE_Object.h:158
virtual void setType(tString type)
set the type of the object
Definition: CORE_Object.h:116
virtual tString toString() const
return the string representation of the object node
Definition: CORE_Object.cpp:101
tString getPointerAddress() const
return the identity string of the object
Definition: CORE_Object.h:146
#define tReal
Definition: types.h:18
#define tInteger
Definition: types.h:32
class Free introduced for deleting a smart pointer
Definition: CORE_Object.h:106