Scarab  v2.0.0
Project 8 C++ Utility Library
Classes | Public Member Functions | Private Types | Private Attributes | List of all members
param_value Class Reference

#include <param_value.hh>

Inheritance diagram for param_value:
Inheritance graph

Classes

union  Values
 

Public Member Functions

 param_value ()
 
 param_value (bool a_value)
 
 param_value (uint8_t a_value)
 
 param_value (uint16_t a_value)
 
 param_value (uint32_t a_value)
 
 param_value (uint64_t a_value)
 
 param_value (int8_t a_value)
 
 param_value (int16_t a_value)
 
 param_value (int32_t a_value)
 
 param_value (int64_t a_value)
 
 param_value (float a_value)
 
 param_value (double a_value)
 
 param_value (const std::string &a_value)
 
 param_value (const char *a_value)
 
 param_value (const param_value &orig)
 
virtual ~param_value ()
 
param_valueoperator= (const param_value &rhs)
 
virtual paramclone () const
 
bool empty () const
 
virtual bool is_null () const
 
virtual bool is_value () const
 
virtual bool has_subset (const param &a_subset) const
 
std::string type () const
 
bool is_bool () const
 
bool is_uint () const
 
bool is_int () const
 
bool is_double () const
 
bool is_string () const
 
bool as_bool () const
 
uint64_t as_uint () const
 
int64_t as_int () const
 
double as_double () const
 
const std::string & as_string () const
 
path as_path () const
 
template<typename XValType >
XValType get () const
 
void set (bool a_value)
 
void set (uint8_t a_value)
 
void set (uint16_t a_value)
 
void set (uint32_t a_value)
 
void set (uint64_t a_value)
 
void set (int8_t a_value)
 
void set (int16_t a_value)
 
void set (int32_t a_value)
 
void set (int64_t a_value)
 
void set (float a_value)
 
void set (double a_value)
 
void set (const std::string &a_value)
 
void set (const char *a_value)
 
virtual std::string to_string () const
 
void clear ()
 
template<>
bool get () const
 
template<>
uint64_t get () const
 
template<>
int64_t get () const
 
template<>
double get () const
 
- Public Member Functions inherited from param
 param ()
 
 param (const param &orig)
 
virtual ~param ()
 
virtual bool is_array () const
 
virtual bool is_node () const
 
param_valueas_value ()
 
param_arrayas_array ()
 
param_nodeas_node ()
 
const param_valueas_value () const
 
const param_arrayas_array () const
 
const param_nodeas_node () const
 
const param_valueoperator() () const
 Assumes that the parameter is a value, and returns a reference to itself. More...
 
param_valueoperator() ()
 Assumes that the parameter is a value, and returns a reference to itself. More...
 
const paramoperator[] (unsigned a_index) const
 
paramoperator[] (unsigned a_index)
 
const paramoperator[] (const std::string &a_name) const
 
paramoperator[] (const std::string &a_name)
 

Private Types

enum  ValueTypes {
  k_bool, k_uint, k_int, k_double,
  k_string, k_invalid
}
 

Private Attributes

union scarab::param_value::Values f_value
 
enum scarab::param_value::ValueTypes f_value_type
 
std::string f_buffer
 

Additional Inherited Members

- Static Public Attributes inherited from param
static unsigned s_indent_level = 0
 

Detailed Description

Definition at line 23 of file param_value.hh.

Member Enumeration Documentation

enum ValueTypes
private
Enumerator
k_bool 
k_uint 
k_int 
k_double 
k_string 
k_invalid 

Definition at line 104 of file param_value.hh.

Constructor & Destructor Documentation

Definition at line 20 of file param_value.cc.

param_value ( bool  a_value)

Definition at line 28 of file param_value.cc.

param_value ( uint8_t  a_value)

Definition at line 37 of file param_value.cc.

param_value ( uint16_t  a_value)

Definition at line 46 of file param_value.cc.

param_value ( uint32_t  a_value)

Definition at line 55 of file param_value.cc.

param_value ( uint64_t  a_value)

Definition at line 64 of file param_value.cc.

param_value ( int8_t  a_value)

Definition at line 73 of file param_value.cc.

param_value ( int16_t  a_value)

Definition at line 82 of file param_value.cc.

param_value ( int32_t  a_value)

Definition at line 92 of file param_value.cc.

param_value ( int64_t  a_value)

Definition at line 101 of file param_value.cc.

param_value ( float  a_value)

Definition at line 110 of file param_value.cc.

param_value ( double  a_value)

Definition at line 119 of file param_value.cc.

param_value ( const std::string &  a_value)

Definition at line 137 of file param_value.cc.

param_value ( const char *  a_value)

Definition at line 128 of file param_value.cc.

param_value ( const param_value orig)

Definition at line 146 of file param_value.cc.

~param_value ( )
virtual

Definition at line 159 of file param_value.cc.

Member Function Documentation

bool as_bool ( ) const

Definition at line 215 of file param_value.cc.

double as_double ( ) const

Definition at line 275 of file param_value.cc.

int64_t as_int ( ) const

Definition at line 259 of file param_value.cc.

path as_path ( ) const

Definition at line 305 of file param_value.cc.

const string & as_string ( ) const

Definition at line 291 of file param_value.cc.

uint64_t as_uint ( ) const

Definition at line 243 of file param_value.cc.

void clear ( )

Definition at line 311 of file param_value.cc.

param * clone ( ) const
inlinevirtual

Reimplemented from param.

Definition at line 174 of file param_value.hh.

bool empty ( ) const
XValType get ( ) const

Definition at line 156 of file param_value.hh.

bool get ( ) const
inline

Definition at line 120 of file param_value.hh.

uint64_t get ( ) const
inline

Definition at line 126 of file param_value.hh.

int64_t get ( ) const
inline

Definition at line 132 of file param_value.hh.

double get ( ) const
inline

Definition at line 138 of file param_value.hh.

bool has_subset ( const param a_subset) const
virtual

Reimplemented from param.

Definition at line 321 of file param_value.cc.

bool is_bool ( ) const
inline

Definition at line 190 of file param_value.hh.

bool is_double ( ) const
inline

Definition at line 205 of file param_value.hh.

bool is_int ( ) const
inline

Definition at line 200 of file param_value.hh.

bool is_null ( ) const
inlinevirtual

Reimplemented from param.

Definition at line 180 of file param_value.hh.

bool is_string ( ) const
inline

Definition at line 210 of file param_value.hh.

bool is_uint ( ) const
inline

Definition at line 195 of file param_value.hh.

bool is_value ( ) const
inlinevirtual

Reimplemented from param.

Definition at line 185 of file param_value.hh.

param_value & operator= ( const param_value rhs)

Definition at line 167 of file param_value.cc.

void set ( bool  a_value)
inline

Definition at line 215 of file param_value.hh.

void set ( uint8_t  a_value)
inline

Definition at line 223 of file param_value.hh.

void set ( uint16_t  a_value)
inline

Definition at line 231 of file param_value.hh.

void set ( uint32_t  a_value)
inline

Definition at line 239 of file param_value.hh.

void set ( uint64_t  a_value)
inline

Definition at line 247 of file param_value.hh.

void set ( int8_t  a_value)
inline

Definition at line 255 of file param_value.hh.

void set ( int16_t  a_value)
inline

Definition at line 263 of file param_value.hh.

void set ( int32_t  a_value)
inline

Definition at line 271 of file param_value.hh.

void set ( int64_t  a_value)
inline

Definition at line 279 of file param_value.hh.

void set ( float  a_value)
inline

Definition at line 287 of file param_value.hh.

void set ( double  a_value)
inline

Definition at line 295 of file param_value.hh.

void set ( const std::string &  a_value)
inline

Definition at line 303 of file param_value.hh.

void set ( const char *  a_value)
inline

Definition at line 311 of file param_value.hh.

std::string to_string ( ) const
inlinevirtual

Reimplemented from param.

Definition at line 319 of file param_value.hh.

std::string type ( ) const

Definition at line 189 of file param_value.cc.

Member Data Documentation

std::string f_buffer
mutableprivate

Definition at line 114 of file param_value.hh.

union scarab::param_value::Values f_value
private
enum scarab::param_value::ValueTypes f_value_type
private

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