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

Referenced by Variant().

◆ Variant() [2/4]

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

References m_double.

◆ Variant() [3/4]

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

References asgString(), m_type, and V_STRING.

◆ Variant() [4/4]

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

References m_type, and Variant().

◆ ~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]

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

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