![]() |
Scarab
v2.4.4
Project 8 C++ Utility Library
|
#include <parser.hh>
Public Member Functions | |
parser (int an_argc, char **an_argv) | |
virtual | ~parser () |
void | parse (int an_argc, char **an_argv) |
![]() | |
param_node () | |
param_node (const param_node &orig) | |
param_node (param_node &&orig) | |
virtual | ~param_node () |
param_node & | operator= (const param_node &rhs) |
param_node & | operator= (param_node &&rhs) |
virtual param_ptr_t | clone () const |
virtual param_ptr_t | move_clone () |
virtual bool | is_null () const |
virtual bool | is_node () const |
virtual bool | has_subset (const param &a_subset) const |
unsigned | size () const |
bool | empty () const |
bool | has (const std::string &a_name) const |
unsigned | count (const std::string &a_name) const |
std::string | get_value (const std::string &a_name, const std::string &a_default) const |
std::string | get_value (const std::string &a_name, const char *a_default) const |
template<typename XValType > | |
XValType | get_value (const std::string &a_name, XValType a_default) const |
const param & | operator[] (const std::string &a_name) const |
param & | operator[] (const std::string &a_name) |
bool | add (const std::string &a_name, const param &a_value) |
bool | add (const std::string &a_name, param &&a_value) |
bool | add (const std::string &a_name, param_ptr_t a_value_ptr) |
template<typename T , typename std::enable_if< std::is_convertible< T, param_value >::value, T >::type * = nullptr> | |
bool | add (const std::string &a_name, T a_value) |
void | replace (const std::string &a_name, const param &a_value) |
Creates a copy of a_value; overwrites if the key exits. More... | |
void | replace (const std::string &a_name, param &&a_value) |
Adds a_value with move semantics; overwrites if the key exists. More... | |
void | replace (const std::string &a_name, param_ptr_t a_value_ptr) |
Adds a_value_ptr by directly adding the pointer; overwrites if the key exists. More... | |
template<typename T , typename std::enable_if< std::is_convertible< T, param_value >::value, T >::type * = nullptr> | |
void | replace (const std::string &a_name, T a_value) |
Adds a_value as a param_valuefor any type that param_value accepts. More... | |
void | merge (const param_node &a_object) |
void | erase (const std::string &a_name) |
param_ptr_t | remove (const std::string &a_name) |
void | clear () |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
virtual std::string | to_string () const |
![]() | |
param () | |
param (const param &orig) | |
param (param &&orig) | |
virtual | ~param () |
param & | operator= (const param &rhs) |
param & | operator= (param &&) |
virtual bool | is_value () const |
virtual bool | is_array () const |
param_value & | as_value () |
param_array & | as_array () |
param_node & | as_node () |
const param_value & | as_value () const |
const param_array & | as_array () const |
const param_node & | as_node () const |
const param_value & | operator() () const |
Assumes that the parameter is a value, and returns a reference to itself. More... | |
param_value & | operator() () |
Assumes that the parameter is a value, and returns a reference to itself. More... | |
const param & | operator[] (unsigned a_index) const |
param & | operator[] (unsigned a_index) |
const param & | operator[] (const std::string &a_name) const |
param & | operator[] (const std::string &a_name) |
std::string | get_value (const std::string &a_name, const std::string &a_default) const |
std::string | get_value (const std::string &a_name, const char *a_default) const |
template<typename XValType > | |
XValType | get_value (const std::string &a_name, XValType a_default) const |
std::string | get_value (unsigned a_index, const std::string &a_default) const |
std::string | get_value (unsigned a_index, const char *a_default) const |
template<typename XValType > | |
XValType | get_value (unsigned a_index, XValType a_default) const |
void | merge (const param &a_param) |
Additional Inherited Members | |
![]() | |
typedef param_node_contents | contents |
typedef param_node_iterator | iterator |
typedef param_node_const_iterator | const_iterator |
typedef contents::value_type | contents_type |
![]() | |
static unsigned | s_indent_level = 0 |
![]() | |
contents | f_contents |