All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Public Member Functions
GpCoreTools::Variant Class Reference

Brief description of class still missing. More...

#include <Variant.h>

List of all members.

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 ()

Detailed Description

Brief description of class still missing.

Full description of class still missing


Constructor & Destructor Documentation

{
  _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);
}
{
  assignInternal(o);
}
{
  clearInternal();
}

Member Function Documentation

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 "";
}

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines