liborigin  3.0.0
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 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 string &  s)
inline

◆ Variant() [4/4]

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

References m_double, m_string, and m_type.

◆ ~Variant()

Origin::Variant::~Variant ( )
inline

Member Function Documentation

◆ as_double()

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

◆ as_string()

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

◆ asgString()

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

◆ operator=()

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

References m_double, m_string, and m_type.

◆ type()

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

Member Data Documentation

◆ @3

union { ... }

◆ m_double

double Origin::Variant::m_double =0.

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

◆ m_string

char* Origin::Variant::m_string

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

◆ m_type

vtype Origin::Variant::m_type =V_DOUBLE
private

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


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