liborigin ..
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=(), Variant(), 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]

union { ... } Origin::Variant

◆ 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: