Electroneum
command_line.h File Reference
#include <functional>
#include <iostream>
#include <sstream>
#include <array>
#include <type_traits>
#include <boost/program_options/parsers.hpp>
#include <boost/program_options/options_description.hpp>
#include <boost/program_options/variables_map.hpp>
#include "include_base_utils.h"
Include dependency graph for command_line.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

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

Namespaces

 command_line
 

Functions

bool command_line::is_yes (const std::string &str)
 
bool command_line::is_no (const std::string &str)
 
template<typename T >
boost::program_options::typed_value< T, char > * command_line::make_semantic (const arg_descriptor< T, true > &)
 
template<typename T >
boost::program_options::typed_value< T, char > * command_line::make_semantic (const arg_descriptor< T, false > &arg)
 
template<typename T >
boost::program_options::typed_value< T, char > * command_line::make_semantic (const arg_descriptor< T, false, true > &arg)
 
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)
 
template<typename T >
boost::program_options::typed_value< T, char > * command_line::make_semantic (const arg_descriptor< T, false > &arg, const T &def)
 
template<typename T >
boost::program_options::typed_value< std::vector< T >, char > * command_line::make_semantic (const arg_descriptor< std::vector< T >, false > &)
 
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)
 
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)
 
template<>
void command_line::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 > command_line::parse_command_line (int argc, const charT *const argv[], const boost::program_options::options_description &desc, bool allow_unregistered=false)
 
template<typename F >
bool command_line::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 command_line::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 command_line::is_arg_defaulted (const boost::program_options::variables_map &vm, const arg_descriptor< T, required, dependent, NUM_DEPS > &arg)
 
template<typename T >
T command_line::get_arg (const boost::program_options::variables_map &vm, const arg_descriptor< T, false, true > &arg)
 
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)
 
template<typename T , bool required>
T command_line::get_arg (const boost::program_options::variables_map &vm, const arg_descriptor< T, required > &arg)
 
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)