Class Parser

Nested Relationships

Nested Types

Class Documentation

class Parser

Public Functions

inline explicit Parser(const std::vector<std::string> &argv)
inline explicit Parser(int argc, const char **argv)
inline explicit Parser(int argc, char **argv)
inline ~Parser()
inline bool has_help() const
inline void enable_help()
inline void disable_help()
template<typename T>
inline void set_default(bool is_required, const std::string &description = "")
template<typename T>
inline void set_required(const std::string &name, const std::string &alternative, const std::string &description = "", bool dominant = false)
template<typename T>
inline void set_optional(const std::string &name, const std::string &alternative, T defaultValue, const std::string &description = "", bool dominant = false)
template<typename T>
inline void set_callback(const std::string &name, const std::string &alternative, std::function<T(CallbackArgs&)> callback, const std::string &description = "", bool dominant = false)
inline void run_and_exit_if_error()
inline bool run()
inline bool run(std::ostream &output)
inline bool doesArgumentExist(std::string name, std::string altName)
inline bool doesHelpExist()
inline bool run(std::ostream &output, std::ostream &error)
template<typename T>
inline T get(const std::string &name) const
template<typename T>
inline T get_if(const std::string &name, std::function<T(T)> callback) const
inline int requirements() const
inline int commands() const
inline const std::string &app_name() const
inline std::string usage() const

Protected Functions

inline CmdBase *find(const std::string &name)
inline CmdBase *find_default()
inline void print_help(std::stringstream &ss) const
inline std::string howto_required(CmdBase *command) const
inline std::string howto_use(CmdBase *command) const
inline std::string no_default() const