GlobalObjects
Loading...
Searching...
No Matches
GlobalObjects Datatypes

GlobalObjects data types, listing and description

supported data types
C++ Type Type Info Description
eut::Blob - A blob is saved as a file. The generated file name is stored in the object database.
bool - 1 character in the object database (true => 1, false => 0).
char - Is stored as a decimal number with a maximum of three digits.
std::time_t - Is stored as unsigned long long.
double - Is saved as 'scientific' (e.g. 1.233600e+001 for 12.336).
double 2 Is saved with two decimal places because of TypeInfo = 2 (e.g. 12.34 for 12.336).
double 4 Is saved with four decimal places because of TypeInfo = 4 (e.g. 12.3360 for 12.336).
std::list<double> - The double values are stored in a file. The generated file name is stored in the object database.
std::set<double> - The double values are stored in a file. The generated file name is stored in the object database.
std::vector<double> - The double values are stored in a file. The generated file name is stored in the object database.
float - Is saved as 'scientific' (e.g. 1.233600e+001 for 12.336).
float 2 Is saved with two decimal places because of TypeInfo = 2 (e.g. 12.34 for 12.336).
float 4 Is saved with four decimal places because of TypeInfo = 4 (e.g. 12.3360 for 12.336).
int - Stored as such with sign.
std::list<int> - The integer values are stored in a file. The generated file name is stored in the object database.
std::set<int> - The integer values are stored in a file. The generated file name is stored in the object database.
std::vector<int> - The integer values are stored in a file. The generated file name is stored in the object database.
long - Stored as such with sign.
Attention
GlobalObjects handles this data type depending on the operating system. For example, if a client application under 64 bit Linux accesses a GloServer under MS-Windows (no matter if 32 or 64 bit), the GloServer can only process the 64 bit value of the client shortened to 32 bit. In the same way, in case of a mixed operation (e.g. Linux and Windows both 64 bit) a client under Windows will only get a value of this type delivered by the GloServer under Linux shortened to 32 bit. See also https://de.cppreference.com/w/cpp/language/types.
long double - Is saved as 'scientific' (e.g. 1.233600e+001 for 12.336).
long double 2 Is saved with two decimal places because of TypeInfo = 2 (e.g. 12.34 for 12.336).
long double 4 Is saved with four decimal places because of TypeInfo = 4 (e.g. 12.3360 for 12.336).
long long - Stored as such with sign.
glo::ObjID - The object ID is the unique identification number of a persistent object, is the main index in every object file.
glo::TOndemand < Any glo::Persistent > - The ObjID of the 'referenced on demand' persistent object is stored.
glo::TOndemand < Any glo::Persistent > dependent The ObjID of the 'referenced on demand' persistent object is stored. With the type info 'dependent', the referenced object is usually stored together with the referencing object, deleted, locked, etc..
glo::TOndemandList < Any glo::Persistent > - The ObjID's of the 'on demand referenced' persistent objects are stored in a file. The generated file name is stored in the object database.
glo::TOndemandList < Any glo::Persistent > dependent The ObjID's of the 'on demand referenced' persistent objects are stored in a file. The generated file name is stored in the object database. With the type info 'dependent' the referenced objects are usually saved with the referencing object, deleted, locked, etc..
glo::TOndemandSet < Any glo::Persistent > - The ObjID's of the 'on demand referenced' persistent objects are stored in a file. The generated file name is stored in the object database.
glo::TOndemandSet < Any glo::Persistent > dependent The ObjID's of the 'on demand referenced' persistent objects are stored in a file. The generated file name is stored in the object database. With the type info 'dependent' the referenced objects are usually saved with the referencing object, deleted, locked, etc..
glo::TPointerList < Any glo::Persistent > - The ObjID's of the 'directly referenced with pointers' persistent objects are stored in a file. The generated file name is stored in the object database.
Note
The referenced objects are removed from memory by the glo::TPointerSet in the destructor.
Attention
With pointer lists, care must be taken to avoid mutual referencing of two different objects via pointers. See also Pointer List to Persistent Objects.
glo::TPointerList < Any glo::Persistent > dependent The ObjID's of the 'directly referenced with pointers' persistent objects are stored in a file. The generated file name is stored in the object database. With the TypeInfo 'dependent' the referenced objects are usually saved with the referencing object, deleted, locked, etc..
Note
The referenced objects are removed from memory by the glo::TPointerSet in the destructor.
Attention
With pointer lists, care must be taken to avoid mutual referencing of two different objects via pointers. See also Pointer List to Persistent Objects.
glo::TPointerSet < Any glo::Persistent > - The ObjID's of the 'directly referenced with pointers' persistent objects are stored in a file. The generated file name is stored in the object database.
Note
The referenced objects are removed from memory by the glo::TPointerSet in the destructor.
Attention
With pointer lists, care must be taken to avoid mutual referencing of two different objects via pointers. See also Pointer List to Persistent Objects.
glo::TPointerSet < Any glo::Persistent > dependent The ObjID's of the 'directly referenced with pointers' persistent objects are stored in a file. The generated file name is stored in the object database. With the TypeInfo 'dependent' the referenced objects are usually saved with the referencing object, deleted, locked, etc..
Note
The referenced objects are removed from memory by the glo::TPointerSet in the destructor.
Attention
With pointer lists, care must be taken to avoid mutual referencing of two different objects via pointers. See also Pointer List to Persistent Objects.
short - Stored as such with sign.
std::shared_ptr < Any glo::Persistent > - The ObjID of the persistent object 'directly referenced with shared pointers' is stored.
Attention
With intelligent pointers, care must be taken to avoid mutual referencing of two different objects via pointers. See also Intelligent Pointer to Persistent Object (std::shared_ptr).
std::shared_ptr < Any glo::Persistent > dependent The ObjID of the persistent object 'directly referenced with shared pointers' is stored. With the type info 'dependent', the referenced object is usually stored together with the referencing object, deleted, locked, etc..
Attention
With intelligent pointers, care must be taken to avoid mutual referencing of two different objects via pointers. See also Intelligent Pointer to Persistent Object (std::shared_ptr).
std::string - A character string with the maximum system-specific number of characters is stored directly in the object database, if possible. If too long, the string value is stored in a file whose generated file name is then stored in the object database.
std::string 20 A character string with the maximum number of 20 characters is stored directly in the object database, if possible. If too long, the string value is stored in a file whose generated file name is then stored in the object database.
std::list<std::string> - The string values are stored in a file. The generated file name is stored in the object database.
std::set<std::string> - The string values are stored in a file. The generated file name is stored in the object database.
std::vector<std::string> - The string values are stored in a file. The generated file name is stored in the object database.
unsigned char Is saved as such without a sign.
unsigned int unsigned Is saved as such without a sign.
unsigned long unsigned Is saved as such without a sign.
Attention
GlobalObjects handles this data type depending on the operating system. If, for example, a client application under 64 bit Linux accesses a GloServer under MS-Windows (no matter if 32 or 64 bit), the GloServer can only process the 64 bit value of the client (if applicable) shortened to 32 bit. In the same way, in case of a mixed operation (e.g. Linux and Windows each with 64 bit) a client under Windows will only be able to process a value of this type, which may be supplied by the GloServer under Linux, shortened to 32 bit. See also https://de.cppreference.com/w/cpp/language/types.
unsigned long long unsigned Is saved as such without a sign.
unsigned short unsigned Is saved as such without a sign.
Any glo::Persistent * - The ObjID of the 'directly referenced with pointer' persistent object is stored.
Note
If a class is created with a pointer to a persistent object, you must ensure that this pointer is set to NULL_PTR when instantiating an object in the constructor. Furthermore, any referenced object in the destructor must be removed from memory using glo::Persistent::forget().
Attention
With pointers, care must be taken to avoid mutual referencing of two different objects via pointers. See also Pointer to a persistent object.
Any glo::Persistent * dependent The ObjID of the 'directly referenced with pointer' persistent object is stored. With the TypeInfo 'dependent' the referenced object is usually stored together with the referencing object, deleted, locked, etc..
Note
If a class is created with a pointer to a persistent object, it must be ensured that this pointer is set to NULL_PTR when an object is instantiated in the constructor. Furthermore, the referenced object in the destructor must be removed from memory using glo::Persistent::forget().
Attention
With pointers, care must be taken to avoid mutual referencing of two different objects via pointers. See also Pointer to a persistent object.
Any glo::Persistent - The embedded persistent object stores the ObjID.

GlobalObjects data types in the schema

Example data types in the schema
C++ Type Type Info Example definition in the schema
eut::Blob -
[ExampleClass.Attribute.m_MyBlob]
Table=ExampleClass
FieldPos=1
Field=m_MyBlob
TypeInfo=
Description=A blob is saved as a file. The generated file name is stored in the object database.
This class allows to edit a blob (insert, copy, search etc.).
Definition EuBlob.h:60
bool -
[ExampleClass.Attribute.m_MyBool]
Table=ExampleClass
FieldPos=2
Field=m_MyBool
Type=bool
TypeInfo=
Description=1 character in the object database (true => 1, false => 0).
char -
[ExampleClass.Attribute.m_MyChar]
Table=ExampleClass
FieldPos=3
Field=m_MyChar
Type=char
TypeInfo=
Description=Is stored as a decimal number with a maximum of three digits.
std::time_t -
[ExampleClass.Attribute.m_MyDateTime]
Table=ExampleClass
FieldPos=4
Field=m_MyDateTime
Type=std::time_t
TypeInfo=
Description=Is stored as unsigned long long.
double -
[ExampleClass.Attribute.m_MyDouble]
Table=ExampleClass
FieldPos=5
Field=m_MyDouble
Type=double
TypeInfo=
Description=Is saved as 'scientific' (e.g. 1.233600e+001 für 12.336).
double 2
[ExampleClass.Attribute.m_MyDouble_2]
Table=ExampleClass
FieldPos=6
Field=m_MyDouble_2
Type=double
TypeInfo=2
Description=Is saved with two decimal places because of TypeInfo = 2 (e.g. 12.34 for 12.336).
double 4
[ExampleClass.Attribute.m_MyDouble_4]
Table=ExampleClass
FieldPos=35
Field=m_MyDouble_4
Type=double
TypeInfo=4
Description=Is saved with four decimal places because of TypeInfo = 4 (e.g. 12.3360 for 12.336).
std::list<double> -
[ExampleClass.Attribute.m_MyDoubleList]
Table=ExampleClass
FieldPos=10
Field=m_MyDoubleList
Type=std::list<double>
TypeInfo=
Description=The double values are stored in a file. The generated file name is stored in the object database.
std::set<double> -
[ExampleClass.Attribute.m_MyDoubleSet]
Table=ExampleClass
FieldPos=23
Field=m_MyDoubleSet
Type=std::set<double>
TypeInfo=
Description=The double values are stored in a file. The generated file name is stored in the object database.
std::vector<double> -
[ExampleClass.Attribute.m_MyDoubleVector]
Table=ExampleClass
FieldPos=30
Field=m_MyDoubleVector
Type=std::vector<double>
TypeInfo=
Description=The double values are stored in a file. The generated file name is stored in the object database.
float -
[ExampleClass.Attribute.m_MyFloat]
Table=ExampleClass
FieldPos=5
Field=m_MyFloat
Type=float
TypeInfo=
Description=Is saved as 'scientific' (e.g. 1.233600e+001 for 12.336).
float 2
[ExampleClass.Attribute.m_MyFloat_2]
Table=ExampleClass
FieldPos=6
Field=m_MyFloat_2
Type=float
TypeInfo=2
Description=Is saved with two decimal places because of TypeInfo = 2 (e.g. 12.34 for 12.336).
float 4
[ExampleClass.Attribute.m_MyFloat_4]
Table=ExampleClass
FieldPos=35
Field=m_MyFloat_4
Type=float
TypeInfo=4
Description=Is saved with four decimal places because of TypeInfo = 4 (e.g. 12.3360 for 12.336).
int -
[ExampleClass.Attribute.m_MyInteger]
Table=ExampleClass
FieldPos=8
Field=m_MyInteger
Type=int
TypeInfo=
Description=Stored as such with sign.
std::list<int> -
[ExampleClass.Attribute.m_MyIntegerList]
Table=ExampleClass
FieldPos=11
Field=m_MyIntegerList
Type=std::list<int>
TypeInfo=
Description=The integer values are stored in a file. The generated file name is stored in the object database.
std::set<int> -
[ExampleClass.Attribute.m_MyIntegerSet]
Table=ExampleClass
FieldPos=24
Field=m_MyIntegerSet
Type=std::set<int>
TypeInfo=
Description=The integer values are stored in a file. The generated file name is stored in the object database.
std::vector<int> -
[ExampleClass.Attribute.m_MyIntegerVector]
Table=ExampleClass
FieldPos=31
Field=m_MyIntegerVector
Type=std::vector<int>
TypeInfo=
Description=The integer values are stored in a file. The generated file name is stored in the object database.
long -
[ExampleClass.Attribute.m_MyLongInteger]
Table=ExampleClass
FieldPos=13
Field=m_MyLongInteger
Type=long
TypeInfo=
Description=Stored as such with sign.
long double -
[ExampleClass.Attribute.m_MyLongDouble]
Table=ExampleClass
FieldPos=15
Field=m_MyLongDouble
AccessControl=private:
Type=long double
TypeInfo=
Description=Is saved as 'scientific' (e.g. 1.233600e+001 for 12.336).
long double 2
[ExampleClass.Attribute.m_MyLongDouble_2]
Table=ExampleClass
FieldPos=16
Field=m_MyLongDouble_2
AccessControl=private:
Type=long double
TypeInfo=2
Description=Is saved with two decimal places because of TypeInfo = 2 (e.g. 12.34 for 12.336).
long long -
[ExampleClass.Attribute.m_MyLongLong]
Table=ExampleClass
FieldPos=11
Field=m_MyLongLong
AccessControl=private:
Type=long long
TypeInfo=
Description=Stored as such with sign.
glo::ObjID -
[ExampleClass.Attribute.m_MyGloObjID]
Table=ExampleClass
FieldPos=34
Field=m_MyGloObjID
Type=glo::ObjId
TypeInfo=
Description=The object ID is the unique identification number of a persistent object, is the main index in every object file.
#define persistent
Definition GloPersistent.h:159
glo::TOndemand < Any glo::Persistent > -
[ExampleClass.Attribute.m_MyOndemandReference]
Table=ExampleClass
FieldPos=15
Field=m_MyOndemandReference
TypeInfo=
Description=The ObjID of the 'referenced on demand' persistent object is stored.
A reference (as attribute) of a persistent object to another persistent object in the database.
Definition GloTOndemand.h:90
glo::TOndemand < Any glo::Persistent > dependent
[ExampleClass.Attribute.m_MyOndemandDependReference]
Table=ExampleClass
FieldPos=16
Field=m_MyOndemandDependReference
TypeInfo=dependent
Description=EThe ObjID of the 'referenced on demand' persistent object is stored. With the type info 'dependent', the referenced object is usually stored together with the referencing object, deleted, locked, etc..
glo::TOndemandList < Any glo::Persistent > -
[ExampleClass.Attribute.m_MyOndemandRefListt]
Table=ExampleClass
FieldPos=19
Field=m_MyOndemandRefList
TypeInfo=
Description=The ObjID's of the 'on demand referenced' persistent objects are stored in a file. The generated file name is stored in the object database.
A type-safe list of references to persistent objects in the database (intended as an attribute for pe...
Definition GloTOndemandList.h:80
glo::TOndemandList < Any glo::Persistent > dependent
[ExampleClass.Attribute.m_MyOndemandDependRefList]
Table=ExampleClass
FieldPos=20
Field=m_MyOndemandDependRefList
TypeInfo=dependent
Description=The ObjID's of the 'on demand referenced' persistent objects are stored in a file. The generated file name is stored in the object database. With the type info 'depend' the referenced objects are usually saved with the referencing object, deleted, locked, etc..
glo::TOndemandSet < Any glo::Persistent > -
[ExampleClass.Attribute.m_MyOndemandRefSet]
Table=ExampleClass
FieldPos=19
Field=m_MyOndemandRefSet
TypeInfo=
Description=Es the ObjID's of the 'on demand referenced' persistent objects are stored in a file. The generated file name is stored in the object database.
A type-safe set of references to persistent objects in the database (intended as an attribute for per...
Definition GloTOndemandSet.h:78
glo::TOndemandSet < Any glo::Persistent > dependent
[ExampleClass.Attribute.m_MyOndemandDependRefSet]
Table=ExampleClass
FieldPos=20
Field=m_MyOndemandDependRefSet
TypeInfo=dependent
Description=The ObjID's of the 'on demand referenced' persistent objects are stored in a file. The generated file name is stored in the object database. With the type info 'depend' the referenced objects are usually saved with the referencing object, deleted, locked, etc..
glo::TPointerList < Any glo::Persistent > -
[ExampleClass.Attribute.m_MyPointerRefList]
Table=ExampleClass
FieldPos=21
Field=m_MyPointerRefList
TypeInfo=
Description=The ObjID's of the 'directly referenced with pointers' persistent objects are stored in a file. The generated file name is stored in the object database.
A type-safe list of pointers to persistent objects in the database (intended as an attribute for pers...
Definition GloTPointerList.h:84
glo::TPointerList < Any glo::Persistent > dependent
[ExampleClass.Attribute.m_MyPointerDependeRefList]
Table=ExampleClass
FieldPos=22
Field=m_MyPointerDependeRefList
TypeInfo=dependent
Description=The ObjID's of the 'directly referenced with pointers' persistent objects are stored in a file. The generated file name is stored in the object database. With the type info 'depend' the referenced objects are usually saved with the referencing object, deleted, locked, etc..
glo::TPointerSet < Any glo::Persistent > -
[ExampleClass.Attribute.m_MyPointerRefSet]
Table=ExampleClass
FieldPos=21
Field=m_MyPointerRefSet
TypeInfo=
Description=The ObjID's of the 'directly referenced with pointers' persistent objects are stored in a file. The generated file name is stored in the object database.
A type-safe set of pointers to persistent objects in the database (intended as an attribute for persi...
Definition GloTPointerSet.h:81
glo::TPointerSet < Any glo::Persistent > dependent
[ExampleClass.Attribute.m_MyPointerDependeRefSet]
Table=ExampleClass
FieldPos=22
Field=m_MyPointerDependeRefSet
TypeInfo=dependent
Description=The ObjID's of the 'directly referenced with pointers' persistent objects are stored in a file. The generated file name is stored in the object database. With the type info 'depend' the referenced objects are usually saved with the referencing object, deleted, locked, etc..
short -
[ExampleClass.Attribute.m_MyShortInteger]
Table=ExampleClass
FieldPos=26
Field=m_MyShortInteger
Type=short
TypeInfo=
Description=Stored as such with sign.
std::shared_ptr < Any glo::Persistent > -
[ExampleClass.Attribute.m_StdSharedPtr]
Table=ExampleClass
FieldPos=33
Field=m_StdSharedPtr
Type=std::shared_ptr<ExampleBaseClass>
TypeInfo=
Description=The ObjID of the persistent object 'directly referenced with shared pointers' is stored.
std::shared_ptr < Any glo::Persistent > dependent
[ExampleClass.Attribute.m_MyDependStdSharedPtr]
Table=ExampleClass
FieldPos=36
Field=m_MyDependStdSharedPtr
Type=std::shared_ptr<ExampleBaseClass>
TypeInfo=dependent
Description=The ObjID of the persistent object 'directly referenced with shared pointers' is stored. With the type info 'dependent', the referenced object is usually stored together with the referencing object, deleted, locked, etc..
std::string -
[ExampleClass.Attribute.m_MyString]
Table=ExampleClass
FieldPos=28
Field=m_MyString
Type=std::string
TypeInfo=
Description=A character string with the maximum system-specific number of characters is stored directly in the object database, if possible. If too long, the string value is stored in a file whose generated file name is then stored in the object database.
std::string 20
[ExampleClass.Attribute.m_MyString20]
Table=ExampleClass
FieldPos=29
Field=m_MyString20
Type=std::string
TypeInfo=20
Description=A character string with the maximum number of 20 characters is stored directly in the object database, if possible. If too long, the string value is stored in a file whose generated file name is then stored in the object database
std::list<std::string> -
[ExampleClass.Attribute.m_MyStringList]
Table=ExampleClass
FieldPos=12
Field=m_MyStringList
Type=std::list<std::string>
TypeInfo=
Description=The string values are stored in a file. The generated file name is stored in the object database.
std::set<std::string> -
[ExampleClass.Attribute.m_MyStringSet]
Table=ExampleClass
FieldPos=25
Field=m_MyStringSet
Type=std::set<std::string>
TypeInfo=
Description=The string values are stored in a file. The generated file name is stored in the object database.
std::vector<std::string> -
[ExampleClass.Attribute.m_MyStringVector]
Table=ExampleClass
FieldPos=32
Field=m_MyStringVector
Type=std::vector<std::string>
TypeInfo=
Description=The string values are stored in a file. The generated file name is stored in the object database.
unsigned char unsigned
[ExampleClass.Attribute.m_MyUnsignedChar]
Table=ExampleClass
FieldPos=9
Field=m_MyUnsignedChar
Type=char
TypeInfo=unsigned
Description=Is saved as such without a sign.
unsigned int unsigned
[ExampleClass.Attribute.m_MyUnsignedInteger]
Table=ExampleClass
FieldPos=9
Field=m_MyUnsignedInteger
Type=int
TypeInfo=unsigned
Description=Is saved as such without a sign.
unsigned long unsigned
[ExampleClass.Attribute.m_MyUnsignedLongInteger]
Table=ExampleClass
FieldPos=14
Field=m_MyUnsignedLongInteger
Type=long
TypeInfo=unsigned
Description=Is saved as such without a sign.
unsigned long long unsigned
[ExampleClass.Attribute.m_MyUnsignedLongLongInteger]
Table=ExampleClass
FieldPos=14
Field=m_MyUnsignedLongLongInteger
Type=long long
TypeInfo=unsigned
Description=Is saved as such without a sign.
unsigned short unsigned
[ExampleClass.Attribute.m_MyUnsignedShortInteger]
Table=ExampleClass
FieldPos=27
Field=m_MyUnsignedShortInteger
Type=short
TypeInfo=unsigned
Description=Is saved as such without a sign.
Any glo::Persistent * -
[ExampleClass.Attribute.m_MyPointerReference]
Table=ExampleClass
FieldPos=17
Field=m_MyPointerReference
Type=pointer<ExampleReferenceClass>
TypeInfo=
Description=The ObjID of the 'directly referenced with pointer' persistent object is stored.
Any glo::Persistent * dependent
[ExampleClass.Attribute.m_MyPointerDependReference]
Table=ExampleClass
FieldPos=18
Field=m_MyPointerDependReference
Type=pointer<ExampleReferenceClass>
TypeInfo=dependent
Description=The ObjID of the 'directly referenced with pointer' persistent object is stored. With the TypeInfo 'dependent' the referenced object is usually stored together with the referencing object, deleted, locked, etc..
Any glo::Persistent -
[ExampleClass.Attribute.m_MyEmbedded]
Table=ExampleClass
FieldPos=7
Field=m_MyEmbedded
Type=embedded<ExampleEmbeddedClass>
TypeInfo=
Description=The embedded persistent object stores the ObjID.