PTLib
Version 2.14.3
|
#include <vartype.h>
Public Member Functions | |
PRefVar (TYPE &value) | |
PRefVar & | operator= (const PRefVar &other) |
PRefVar & | operator= (TYPE value) |
![]() | |
PVarType () | |
Create a NULL type object. More... | |
PVarType (bool value) | |
Create a boolean type object. More... | |
PVarType (char value) | |
Create a 8 bit integer type object. More... | |
PVarType (int16_t value) | |
Create a 16 bit integer type object. More... | |
PVarType (int32_t value) | |
Create a 32 bit integer type object. More... | |
PVarType (int64_t value) | |
Create a 64 bit integertype object. More... | |
PVarType (uint8_t value) | |
Create a 8 bit unsigned integer type object. More... | |
PVarType (uint16_t value) | |
Create a 16 bit unsigned integer type object. More... | |
PVarType (uint32_t value) | |
Create a 32 bit unsigned integer type object. More... | |
PVarType (uint64_t value) | |
Create a 64 bit unsigned integer type object. More... | |
PVarType (float value) | |
Create a single precision floating point type object. More... | |
PVarType (double value) | |
Create a double precision floating point type object. More... | |
PVarType (long double value) | |
Create a extended (long double) precision floating point type object. More... | |
PVarType (const PGloballyUniqueID &value) | |
Create a time of day type object. More... | |
PVarType (const PTime &value) | |
Create a time of day type object. More... | |
PVarType (const char *value, bool dynamic=false) | |
Create a string type object. More... | |
PVarType (const PString &value, bool dynamic=true) | |
Create a string type object. More... | |
PVarType (const void *value, PINDEX len, bool dynamic=false) | |
Create a data (memory block) type object. More... | |
PVarType (const PBYTEArray &value, bool dynamic=true) | |
Create a data (memory block) type object. More... | |
PVarType (const PVarType &other) | |
Copy constructor. More... | |
PVarType & | operator= (bool value) |
Assign a boolean type object. More... | |
PVarType & | operator= (char value) |
Assign a 8 bit integer type object. More... | |
PVarType & | operator= (int16_t value) |
Assign a 16 bit integer type object. More... | |
PVarType & | operator= (int32_t value) |
Assign a 32 bit integer type object. More... | |
PVarType & | operator= (int64_t value) |
Assign a 64 bit integertype object. More... | |
PVarType & | operator= (uint8_t value) |
Assign a 8 bit unsigned integer type object. More... | |
PVarType & | operator= (uint16_t value) |
Assign a 16 bit unsigned integer type object. More... | |
PVarType & | operator= (uint32_t value) |
Assign a 32 bit unsigned integer type object. More... | |
PVarType & | operator= (uint64_t value) |
Assign a 64 bit unsigned integer type object. More... | |
PVarType & | operator= (float value) |
Assign a single precision floating point type object. More... | |
PVarType & | operator= (double value) |
Assign a double precision floating point type object. More... | |
PVarType & | operator= (long double value) |
Assign a extended (long double) precision floating point type object. More... | |
PVarType & | operator= (const PGloballyUniqueID &value) |
Assign a time of day type object. More... | |
PVarType & | operator= (const PTime &value) |
Assign a time of day type object. More... | |
PVarType & | operator= (const char *str) |
Assignment operator for strings. More... | |
PVarType & | operator= (const PString &str) |
Assignment operator for strings. More... | |
PVarType & | operator= (const PVarType &other) |
Assignment operator. More... | |
~PVarType () | |
Destroy the variable type object. More... | |
virtual void | PrintOn (ostream &strm) const |
virtual void | ReadFrom (istream &strm) |
virtual PObject * | Clone () const |
Create a copy of the class on the heap. More... | |
BasicType | GetType () const |
Get the basic type of this instance. More... | |
virtual bool | SetType (BasicType type, PINDEX option=0) |
Set the basic type. More... | |
bool | AsBoolean () const |
int | AsInteger () const |
unsigned | AsUnsigned () const |
int64_t | AsInteger64 () const |
uint64_t | AsUnsigned64 () const |
double | AsFloat () const |
PGloballyUniqueID | AsGUID () const |
PTime | AsTime () const |
PString | AsString () const |
template<typename TYPE > | |
TYPE | As () const |
template<> | |
bool | As () const |
template<> | |
int | As () const |
template<> | |
unsigned | As () const |
template<> | |
int64_t | As () const |
template<> | |
uint64_t | As () const |
template<> | |
double | As () const |
template<> | |
PGloballyUniqueID | As () const |
template<> | |
PTime | As () const |
template<> | |
PString | As () const |
const void * | GetPointer () const |
PINDEX | GetSize () const |
virtual PVarType & | SetValue (const PString &value) |
Set the instances value without changing it's type. More... | |
virtual PVarType & | SetString (const char *value, bool dynamic) |
PVarType & | SetStaticString (const char *value) |
PVarType & | SetDynamicString (const char *value) |
virtual PVarType & | SetBinary (const void *data, PINDEX len, bool dynamic) |
PVarType & | SetBinary (const PBYTEArray &value, bool dynamic) |
PVarType & | SetStaticBinary (const void *data, PINDEX len) |
PVarType & | SetStaticBinary (const PBYTEArray &value) |
PVarType & | SetDynamicBinary (const void *data, PINDEX len) |
PVarType & | SetDynamicBinary (const PBYTEArray &value) |
![]() | |
unsigned | GetTraceContextIdentifier () const |
Get PTRACE context identifier. More... | |
void | SetTraceContextIdentifier (unsigned id) |
void | GetTraceContextIdentifier (PObject &obj) |
void | GetTraceContextIdentifier (PObject *obj) |
void | SetTraceContextIdentifier (const PObject &obj) |
void | SetTraceContextIdentifier (const PObject *obj) |
virtual | ~PObject () |
template<class CLS > | |
CLS * | CloneAs () const |
As for Clone() but converts to specified type. More... | |
virtual PINDEX | HashFunction () const |
This function yields a hash value required by the PDictionary class. More... | |
virtual const char * | GetClass (unsigned ancestor=0) const |
Get the current dynamic type of the object instance. More... | |
PBoolean | IsClass (const char *cls) const |
virtual PBoolean | InternalIsDescendant (const char *clsName) const |
Determine if the dynamic type of the current instance is a descendent of the specified class. More... | |
__inline const PObject * | PTraceObjectInstance () const |
virtual Comparison | Compare (const PObject &obj) const |
Compare the two objects and return their relative rank. More... | |
virtual Comparison | CompareObjectMemoryDirect (const PObject &obj) const |
Determine the byte wise comparison of two objects. More... | |
bool | operator== (const PObject &obj) const |
Compare the two objects. More... | |
bool | operator!= (const PObject &obj) const |
Compare the two objects. More... | |
bool | operator< (const PObject &obj) const |
Compare the two objects. More... | |
bool | operator> (const PObject &obj) const |
Compare the two objects. More... | |
bool | operator<= (const PObject &obj) const |
Compare the two objects. More... | |
bool | operator>= (const PObject &obj) const |
Compare the two objects. More... | |
virtual void | PrintOn (ostream &strm) const |
Output the contents of the object to the stream. More... | |
virtual void | ReadFrom (istream &strm) |
Input the contents of the object from the stream. More... | |
Protected Member Functions | |
virtual void | OnGetValue () |
Called before all the AsXXX() functions execute. More... | |
virtual void | OnValueChanged () |
Called after SetValue() has (possibly) changed the value. More... | |
![]() | |
virtual void | InternalCopy (const PVarType &other) |
void | InternalDestroy () |
![]() | |
PObject () | |
Constructor for PObject, made protected so cannot ever create one on its own. More... | |
Protected Attributes | |
TYPE & | m_value |
![]() | |
BasicType | m_type |
Type of parameter. More... | |
union PVarType::Variant | m_ |
![]() | |
unsigned | m_traceContextIdentifier |
Additional Inherited Members | |
![]() | |
enum | BasicType { VarNULL, VarBoolean, VarChar, VarInt8, VarInt16, VarInt32, VarInt64, VarUInt8, VarUInt16, VarUInt32, VarUInt64, VarFloatSingle, VarFloatDouble, VarFloatExtended, VarGUID, VarTime, VarStaticString, VarFixedString, VarDynamicString, VarStaticBinary, VarDynamicBinary } |
Type of the parameter in Paramater structure. More... | |
![]() | |
static const char * | Class () |
Get the name of the class as a C string. More... | |
static __inline const PObject * | PTraceObjectInstance (const char *) |
static __inline const PObject * | PTraceObjectInstance (const PObject *obj) |
static Comparison | InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size) |
Internal function caled from CompareObjectMemoryDirect() More... | |
![]() |
|
inlineprotectedvirtual |
Called before all the AsXXX() functions execute.
Reimplemented from PVarType.
References PVarType::m_, and PRefVar< TYPE >::m_value.
|
inlineprotectedvirtual |
Called after SetValue() has (possibly) changed the value.
Reimplemented from PVarType.
References PVarType::m_, and PRefVar< TYPE >::m_value.
|
inline |
References PVarType::operator=().
References PVarType::operator=().
|
protected |
Referenced by PRefVar< TYPE >::OnGetValue(), PRefVar< PTime >::OnGetValue(), PRefVar< PString >::OnGetValue(), PRefVar< PBYTEArray >::OnGetValue(), PRefVar< TYPE >::OnValueChanged(), PRefVar< PGloballyUniqueID >::OnValueChanged(), PRefVar< PTime >::OnValueChanged(), PRefVar< PString >::OnValueChanged(), and PRefVar< PBYTEArray >::OnValueChanged().