tue_config
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
tue::config::Variant Class Reference

#include <variant.h>

Public Member Functions

bool getValue (bool &v)
 
bool getValue (double &v)
 
bool getValue (float &v)
 
bool getValue (int &v)
 
bool getValue (std::string &v)
 
bool isBoolean () const
 
bool isDouble () const
 
bool isInt () const
 
bool isString () const
 
bool valid () const
 
 Variant ()
 
 Variant (const bool &b)
 
 Variant (const char *s)
 
 Variant (const double &d)
 
 Variant (const std::string &s)
 
 Variant (int i)
 

Private Member Functions

template<typename T >
bool checkAndGet (const T &v, char type, T &out)
 

Private Attributes

union {
   bool   b_
 
   double   d_
 
   int   i_
 
}; 
 
std::string s_
 
char type_
 

Friends

std::ostreamoperator<< (std::ostream &out, const Variant &v)
 

Detailed Description

Definition at line 111 of file variant.h.

Constructor & Destructor Documentation

◆ Variant() [1/6]

tue::config::Variant::Variant ( )
inline

Definition at line 116 of file variant.h.

◆ Variant() [2/6]

tue::config::Variant::Variant ( const bool &  b)
inline

Definition at line 118 of file variant.h.

◆ Variant() [3/6]

tue::config::Variant::Variant ( const double &  d)
inline

Definition at line 119 of file variant.h.

◆ Variant() [4/6]

tue::config::Variant::Variant ( int  i)
inline

Definition at line 120 of file variant.h.

◆ Variant() [5/6]

tue::config::Variant::Variant ( const std::string s)
inline

Definition at line 121 of file variant.h.

◆ Variant() [6/6]

tue::config::Variant::Variant ( const char *  s)
inline

Definition at line 122 of file variant.h.

Member Function Documentation

◆ checkAndGet()

template<typename T >
bool tue::config::Variant::checkAndGet ( const T &  v,
char  type,
T &  out 
)
inlineprivate

Definition at line 160 of file variant.h.

◆ getValue() [1/5]

bool tue::config::Variant::getValue ( bool &  v)
inline

Definition at line 129 of file variant.h.

◆ getValue() [2/5]

bool tue::config::Variant::getValue ( double &  v)
inline

Definition at line 125 of file variant.h.

◆ getValue() [3/5]

bool tue::config::Variant::getValue ( float &  v)
inline

Definition at line 126 of file variant.h.

◆ getValue() [4/5]

bool tue::config::Variant::getValue ( int &  v)
inline

Definition at line 124 of file variant.h.

◆ getValue() [5/5]

bool tue::config::Variant::getValue ( std::string v)
inline

Definition at line 127 of file variant.h.

◆ isBoolean()

bool tue::config::Variant::isBoolean ( ) const
inline

Definition at line 143 of file variant.h.

◆ isDouble()

bool tue::config::Variant::isDouble ( ) const
inline

Definition at line 142 of file variant.h.

◆ isInt()

bool tue::config::Variant::isInt ( ) const
inline

Definition at line 141 of file variant.h.

◆ isString()

bool tue::config::Variant::isString ( ) const
inline

Definition at line 140 of file variant.h.

◆ valid()

bool tue::config::Variant::valid ( ) const
inline

Definition at line 145 of file variant.h.

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream out,
const Variant v 
)
friend

Definition at line 168 of file variant.h.

Member Data Documentation

◆ @1

union { ... }

◆ b_

bool tue::config::Variant::b_

Definition at line 154 of file variant.h.

◆ d_

double tue::config::Variant::d_

Definition at line 153 of file variant.h.

◆ i_

int tue::config::Variant::i_

Definition at line 152 of file variant.h.

◆ s_

std::string tue::config::Variant::s_
private

Definition at line 157 of file variant.h.

◆ type_

char tue::config::Variant::type_
private

Definition at line 149 of file variant.h.


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