Class thrown when there's syntax error either for command line or config file options. More...
#include <errors.hpp>
Public Types | |
enum | kind_t { long_not_allowed = 30, long_adjacent_not_allowed, short_adjacent_not_allowed, empty_adjacent_parameter, missing_parameter, extra_parameter, unrecognized_line } |
Public Member Functions | |
invalid_syntax (kind_t kind, const std::string &option_name="", const std::string &original_token="", int option_style=0) | |
~invalid_syntax () throw () | |
kind_t | kind () const |
virtual std::string | tokens () const |
Convenience functions for backwards compatibility. More... | |
void | set_substitute (const std::string ¶meter_name, const std::string &value) |
Substitute parameter_name->value to create the error message from the error template. More... | |
void | set_substitute_default (const std::string ¶meter_name, const std::string &from, const std::string &to) |
If the parameter is missing, then make the from->to substitution instead. More... | |
void | add_context (const std::string &option_name, const std::string &original_token, int option_style) |
Add context to an exception. More... | |
void | set_prefix (int option_style) |
virtual void | set_option_name (const std::string &option_name) |
Overridden in error_with_no_option_name. More... | |
std::string | get_option_name () const throw () |
void | set_original_token (const std::string &original_token) |
virtual const char * | what () const throw () |
Creates the error_message on the fly Currently a thin wrapper for substitute_placeholders() More... | |
Public Attributes | |
std::string | m_error_template |
template with placeholders More... | |
Protected Types | |
typedef std::pair< std::string, std::string > | string_pair |
Protected Member Functions | |
std::string | get_template (kind_t kind) |
Used to convert kind_t to a related error text. More... | |
virtual void | substitute_placeholders (const std::string &error_template) const |
Makes all substitutions using the template. More... | |
void | replace_token (const std::string &from, const std::string &to) const |
std::string | get_canonical_option_name () const |
Construct option name in accordance with the appropriate prefix style: i.e. More... | |
std::string | get_canonical_option_prefix () const |
Protected Attributes | |
kind_t | m_kind |
int | m_option_style |
can be 0 = no prefix (config file options) allow_long allow_dash_for_short allow_slash_for_short allow_long_disguise More... | |
std::map< std::string, std::string > | m_substitutions |
substitutions from placeholders to values More... | |
std::map< std::string, string_pair > | m_substitution_defaults |
std::string | m_message |
Used to hold the error text returned by what() More... | |
Class thrown when there's syntax error either for command line or config file options.
See derived children for concrete classes.
|
protectedinherited |
|
inline |
|
inline |
|
inlineinherited |
Add context to an exception.
|
protectedinherited |
Construct option name in accordance with the appropriate prefix style: i.e.
long dash or short slash etc
|
protectedinherited |
|
inlineinherited |
|
protected |
Used to convert kind_t to a related error text.
|
inline |
|
protectedinherited |
|
inlinevirtualinherited |
Overridden in error_with_no_option_name.
Reimplemented in boost::program_options::error_with_no_option_name.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Substitute parameter_name->value to create the error message from the error template.
References boost::program_options::value().
|
inlineinherited |
If the parameter is missing, then make the from->to substitution instead.
References boost::xpressive::make_pair.
|
protectedvirtualinherited |
Makes all substitutions using the template.
Reimplemented in boost::program_options::ambiguous_option.
|
inlinevirtual |
Convenience functions for backwards compatibility.
Reimplemented in boost::program_options::invalid_config_file_syntax.
|
virtualinherited |
Creates the error_message on the fly Currently a thin wrapper for substitute_placeholders()
|
inherited |
template with placeholders
|
protected |
|
mutableprotectedinherited |
Used to hold the error text returned by what()
|
protectedinherited |
can be 0 = no prefix (config file options) allow_long allow_dash_for_short allow_slash_for_short allow_long_disguise
|
protectedinherited |
|
protectedinherited |
substitutions from placeholders to values