Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::program_options::error_with_no_option_name Class Reference

Base class of unparsable options, when the desired option cannot be identified. More...

#include <errors.hpp>

Inheritance diagram for boost::program_options::error_with_no_option_name:
Collaboration diagram for boost::program_options::error_with_no_option_name:

Public Member Functions

 error_with_no_option_name (const std::string &template_, const std::string &original_token="")
 
virtual void set_option_name (const std::string &)
 Does NOT set option name, because no option name makes sense. More...
 
 ~error_with_no_option_name () throw ()
 
void set_substitute (const std::string &parameter_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 &parameter_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)
 
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

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

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...
 

Detailed Description

Base class of unparsable options, when the desired option cannot be identified.

It makes no sense to have an option name, when we can't match an option to the parameter

Having this a part of the error_with_option_name hierachy makes error handling a lot easier, even if the name indicates some sort of conceptual dissonance!

Member Typedef Documentation

typedef std::pair<std::string, std::string> boost::program_options::error_with_option_name::string_pair
protectedinherited

Constructor & Destructor Documentation

boost::program_options::error_with_no_option_name::error_with_no_option_name ( const std::string &  template_,
const std::string &  original_token = "" 
)
inline
boost::program_options::error_with_no_option_name::~error_with_no_option_name ( )
throw (
)
inline

Member Function Documentation

void boost::program_options::error_with_option_name::add_context ( const std::string &  option_name,
const std::string &  original_token,
int  option_style 
)
inlineinherited

Add context to an exception.

std::string boost::program_options::error_with_option_name::get_canonical_option_name ( ) const
protectedinherited

Construct option name in accordance with the appropriate prefix style: i.e.

long dash or short slash etc

std::string boost::program_options::error_with_option_name::get_canonical_option_prefix ( ) const
protectedinherited
std::string boost::program_options::error_with_option_name::get_option_name ( ) const
throw (
)
inlineinherited
void boost::program_options::error_with_option_name::replace_token ( const std::string &  from,
const std::string &  to 
) const
protectedinherited
virtual void boost::program_options::error_with_no_option_name::set_option_name ( const std::string &  )
inlinevirtual

Does NOT set option name, because no option name makes sense.

Reimplemented from boost::program_options::error_with_option_name.

void boost::program_options::error_with_option_name::set_original_token ( const std::string &  original_token)
inlineinherited
void boost::program_options::error_with_option_name::set_prefix ( int  option_style)
inlineinherited
void boost::program_options::error_with_option_name::set_substitute ( const std::string &  parameter_name,
const std::string &  value 
)
inlineinherited

Substitute parameter_name->value to create the error message from the error template.

References boost::program_options::value().

void boost::program_options::error_with_option_name::set_substitute_default ( const std::string &  parameter_name,
const std::string &  from,
const std::string &  to 
)
inlineinherited

If the parameter is missing, then make the from->to substitution instead.

References boost::xpressive::make_pair.

virtual void boost::program_options::error_with_option_name::substitute_placeholders ( const std::string &  error_template) const
protectedvirtualinherited

Makes all substitutions using the template.

Reimplemented in boost::program_options::ambiguous_option.

virtual const char* boost::program_options::error_with_option_name::what ( ) const
throw (
)
virtualinherited

Creates the error_message on the fly Currently a thin wrapper for substitute_placeholders()

Member Data Documentation

std::string boost::program_options::error_with_option_name::m_error_template
inherited

template with placeholders

std::string boost::program_options::error_with_option_name::m_message
mutableprotectedinherited

Used to hold the error text returned by what()

int boost::program_options::error_with_option_name::m_option_style
protectedinherited

can be 0 = no prefix (config file options) allow_long allow_dash_for_short allow_slash_for_short allow_long_disguise

std::map<std::string, string_pair > boost::program_options::error_with_option_name::m_substitution_defaults
protectedinherited
std::map<std::string, std::string> boost::program_options::error_with_option_name::m_substitutions
protectedinherited

substitutions from placeholders to values


The documentation for this class was generated from the following file: