Electroneum
Namespaces | Classes | Functions | Variables
command_line Namespace Reference

Namespaces

 anonymous_namespace{command_line.cpp}
 

Classes

struct  arg_descriptor
 
struct  arg_descriptor< T, false >
 
struct  arg_descriptor< std::vector< T >, false >
 
struct  arg_descriptor< T, true >
 
struct  arg_descriptor< T, false, true >
 
struct  arg_descriptor< T, false, true, NUM_DEPS >
 

Functions

bool is_yes (const std::string &str)
 
bool is_no (const std::string &str)
 
template<typename T >
boost::program_options::typed_value< T, char > * make_semantic (const arg_descriptor< T, true > &)
 
template<typename T >
boost::program_options::typed_value< T, char > * make_semantic (const arg_descriptor< T, false > &arg)
 
template<typename T >
boost::program_options::typed_value< T, char > * make_semantic (const arg_descriptor< T, false, true > &arg)
 
template<typename T , int NUM_DEPS>
boost::program_options::typed_value< T, char > * make_semantic (const arg_descriptor< T, false, true, NUM_DEPS > &arg)
 
template<typename T >
boost::program_options::typed_value< T, char > * make_semantic (const arg_descriptor< T, false > &arg, const T &def)
 
template<typename T >
boost::program_options::typed_value< std::vector< T >, char > * make_semantic (const arg_descriptor< std::vector< T >, false > &)
 
template<typename T , bool required, bool dependent, int NUM_DEPS>
void add_arg (boost::program_options::options_description &description, const arg_descriptor< T, required, dependent, NUM_DEPS > &arg, bool unique=true)
 
template<typename T >
void add_arg (boost::program_options::options_description &description, const arg_descriptor< T, false > &arg, const T &def, bool unique=true)
 
template<>
void add_arg (boost::program_options::options_description &description, const arg_descriptor< bool, false > &arg, bool unique)
 
template<typename charT >
boost::program_options::basic_parsed_options< charT > parse_command_line (int argc, const charT *const argv[], const boost::program_options::options_description &desc, bool allow_unregistered=false)
 
template<typename F >
bool handle_error_helper (const boost::program_options::options_description &desc, F parser)
 
template<typename T , bool required, bool dependent, int NUM_DEPS>
std::enable_if<!std::is_same< T, bool >::value, bool >::type has_arg (const boost::program_options::variables_map &vm, const arg_descriptor< T, required, dependent, NUM_DEPS > &arg)
 
template<typename T , bool required, bool dependent, int NUM_DEPS>
bool is_arg_defaulted (const boost::program_options::variables_map &vm, const arg_descriptor< T, required, dependent, NUM_DEPS > &arg)
 
template<typename T >
T get_arg (const boost::program_options::variables_map &vm, const arg_descriptor< T, false, true > &arg)
 
template<typename T , int NUM_DEPS>
T get_arg (const boost::program_options::variables_map &vm, const arg_descriptor< T, false, true, NUM_DEPS > &arg)
 
template<typename T , bool required>
T get_arg (const boost::program_options::variables_map &vm, const arg_descriptor< T, required > &arg)
 
template<bool dependent, int NUM_DEPS>
bool has_arg (const boost::program_options::variables_map &vm, const arg_descriptor< bool, false, dependent, NUM_DEPS > &arg)
 

Variables

const arg_descriptor< boolarg_help = {"help", "Produce help message"}
 
const arg_descriptor< boolarg_version = {"version", "Output version information"}
 

Function Documentation

◆ add_arg() [1/3]

template<>
void command_line::add_arg ( boost::program_options::options_description &  description,
const arg_descriptor< bool, false > &  arg,
bool  unique 
)
inline

◆ add_arg() [2/3]

template<typename T >
void command_line::add_arg ( boost::program_options::options_description &  description,
const arg_descriptor< T, false > &  arg,
const T def,
bool  unique = true 
)

◆ add_arg() [3/3]

template<typename T , bool required, bool dependent, int NUM_DEPS>
void command_line::add_arg ( boost::program_options::options_description &  description,
const arg_descriptor< T, required, dependent, NUM_DEPS > &  arg,
bool  unique = true 
)

◆ get_arg() [1/3]

template<typename T >
T command_line::get_arg ( const boost::program_options::variables_map &  vm,
const arg_descriptor< T, false, true > &  arg 
)

◆ get_arg() [2/3]

template<typename T , int NUM_DEPS>
T command_line::get_arg ( const boost::program_options::variables_map &  vm,
const arg_descriptor< T, false, true, NUM_DEPS > &  arg 
)

◆ get_arg() [3/3]

template<typename T , bool required>
T command_line::get_arg ( const boost::program_options::variables_map &  vm,
const arg_descriptor< T, required > &  arg 
)

◆ handle_error_helper()

template<typename F >
bool command_line::handle_error_helper ( const boost::program_options::options_description &  desc,
F  parser 
)

◆ has_arg() [1/2]

template<bool dependent, int NUM_DEPS>
bool command_line::has_arg ( const boost::program_options::variables_map &  vm,
const arg_descriptor< bool, false, dependent, NUM_DEPS > &  arg 
)
inline

◆ has_arg() [2/2]

template<typename T , bool required, bool dependent, int NUM_DEPS>
std::enable_if<!std::is_same<T, bool>::value, bool>::type command_line::has_arg ( const boost::program_options::variables_map &  vm,
const arg_descriptor< T, required, dependent, NUM_DEPS > &  arg 
)

◆ is_arg_defaulted()

template<typename T , bool required, bool dependent, int NUM_DEPS>
bool command_line::is_arg_defaulted ( const boost::program_options::variables_map &  vm,
const arg_descriptor< T, required, dependent, NUM_DEPS > &  arg 
)

◆ is_no()

bool command_line::is_no ( const std::string &  str)
Returns
True if str is is_iequal("n" || "no" ||tr("no"))`.

◆ is_yes()

bool command_line::is_yes ( const std::string &  str)
Returns
True if str is is_iequal("y" || "yes" ||tr("yes"))`.

◆ make_semantic() [1/6]

template<typename T >
boost::program_options::typed_value<std::vector<T>, char>* command_line::make_semantic ( const arg_descriptor< std::vector< T >, false > &  )

◆ make_semantic() [2/6]

template<typename T >
boost::program_options::typed_value<T, char>* command_line::make_semantic ( const arg_descriptor< T, false > &  arg)

◆ make_semantic() [3/6]

template<typename T >
boost::program_options::typed_value<T, char>* command_line::make_semantic ( const arg_descriptor< T, false > &  arg,
const T def 
)

◆ make_semantic() [4/6]

template<typename T >
boost::program_options::typed_value<T, char>* command_line::make_semantic ( const arg_descriptor< T, false, true > &  arg)

◆ make_semantic() [5/6]

template<typename T , int NUM_DEPS>
boost::program_options::typed_value<T, char>* command_line::make_semantic ( const arg_descriptor< T, false, true, NUM_DEPS > &  arg)

◆ make_semantic() [6/6]

template<typename T >
boost::program_options::typed_value<T, char>* command_line::make_semantic ( const arg_descriptor< T, true > &  )

◆ parse_command_line()

template<typename charT >
boost::program_options::basic_parsed_options<charT> command_line::parse_command_line ( int  argc,
const charT *const  argv[],
const boost::program_options::options_description &  desc,
bool  allow_unregistered = false 
)

Variable Documentation

◆ arg_help

const arg_descriptor< bool > command_line::arg_help = {"help", "Produce help message"}

◆ arg_version

const arg_descriptor< bool > command_line::arg_version = {"version", "Output version information"}