All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Brief description of class still missing. More...
#include <Variant.h>
Public Member Functions | |
| bool | isValid () const |
| void | operator= (const Variant &o) |
| std::string | toString () const |
| Variant () | |
| Variant (std::string &s) | |
| Variant (const char *s) | |
| Variant (int v) | |
| Variant (long v) | |
| Variant (const void *p) | |
| Variant (double v) | |
| Variant (const Variant &o) | |
| ~Variant () | |
Brief description of class still missing.
Full description of class still missing
| GpCoreTools::Variant::Variant | ( | ) | [inline] |
{
_type=Unknown;
_data=0;
}
| GpCoreTools::Variant::Variant | ( | std::string & | s | ) | [inline] |
{
_type=String;
_data=new std::string(s);
}
| GpCoreTools::Variant::Variant | ( | const char * | s | ) | [inline] |
{
_type=String;
_data=new std::string(s);
}
| GpCoreTools::Variant::Variant | ( | int | v | ) | [inline] |
{
_type=Int;
_data=new int(v);
}
| GpCoreTools::Variant::Variant | ( | long | v | ) | [inline] |
{
_type=Long;
_data=new long(v);
}
| GpCoreTools::Variant::Variant | ( | const void * | p | ) | [inline] |
{
_type=Long;
_data=new long((long)p);
}
| GpCoreTools::Variant::Variant | ( | double | v | ) | [inline] |
{
_type=Double;
_data=new double(v);
}
| GpCoreTools::Variant::Variant | ( | const Variant & | o | ) |
{
assignInternal(o);
}
{
clearInternal();
}
| bool GpCoreTools::Variant::isValid | ( | ) | const [inline] |
{return _data;}
| void GpCoreTools::Variant::operator= | ( | const Variant & | o | ) |
{
clearInternal();
assignInternal(o);
}
| std::string GpCoreTools::Variant::toString | ( | ) | const |
References str.
Referenced by GpCoreTools::TraceStamp::toString(), and GpCoreTools::TraceInfo::toString().
{
switch(_type) {
case String:
return *reinterpret_cast<std::string *>(_data);
case Int: {
char str[16];
sprintf(str, "%i", *reinterpret_cast<int *>(_data));
return str;
}
case Long: {
char str[32];
sprintf(str, "%li", *reinterpret_cast<long *>(_data));
return str;
}
case Double:{
char str[512]; // Maximum double around 1.8e+308
sprintf(str, "%.20lf", *reinterpret_cast<double *>(_data));
return str;
}
case Unknown:
break;
}
return "";
}