liborigin  ..
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
Origin::Variant Class Reference

#include <OriginObj.h>

Public Types

enum  vtype { V_DOUBLE , V_STRING }
 

Public Member Functions

double as_double () const
 
const char * as_string () const
 
Origin::Variantoperator= (const Origin::Variant &v)
 
vtype type () const
 
 Variant ()
 
 Variant (const double d)
 
 Variant (const std::string &s)
 
 Variant (const Variant &v)
 
 ~Variant ()
 

Private Member Functions

void asgString (const char *x)
 

Private Attributes

union {
   double   m_double = 0.
 
   char *   m_string
 
}; 
 
vtype m_type = V_DOUBLE
 

Member Enumeration Documentation

◆ vtype

Enumerator
V_DOUBLE 
V_STRING 

Constructor & Destructor Documentation

◆ Variant() [1/4]

Origin::Variant::Variant ( )
inline

◆ Variant() [2/4]

Origin::Variant::Variant ( const double  d)
inline

◆ Variant() [3/4]

Origin::Variant::Variant ( const std::string &  s)
inline

References asgString().

◆ Variant() [4/4]

Origin::Variant::Variant ( const Variant v)
inline

◆ ~Variant()

Origin::Variant::~Variant ( )
inline

References m_string, m_type, and V_STRING.

Member Function Documentation

◆ as_double()

double Origin::Variant::as_double ( ) const
inline

References m_double.

◆ as_string()

const char* Origin::Variant::as_string ( ) const
inline

References m_string.

◆ asgString()

void Origin::Variant::asgString ( const char *  x)
inlineprivate

References m_string.

Referenced by operator=(), and Variant().

◆ operator=()

Origin::Variant& Origin::Variant::operator= ( const Origin::Variant v)
inline

◆ type()

vtype Origin::Variant::type ( ) const
inline

References m_type.

Member Data Documentation

◆ 

union { ... }

◆ m_double

double Origin::Variant::m_double = 0.

Referenced by as_double(), operator=(), and Variant().

◆ m_string

char* Origin::Variant::m_string

◆ m_type

vtype Origin::Variant::m_type = V_DOUBLE
private

Referenced by operator=(), type(), Variant(), and ~Variant().


The documentation for this class was generated from the following file: