...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::program_options::error_with_no_option_name
// In header: <boost/program_options/errors.hpp> class error_with_no_option_name : public boost::program_options::error_with_option_name { public: // construct/copy/destruct error_with_no_option_name(const std::string &, const std::string & = ""); ~error_with_no_option_name(); // public member functions void set_option_name(const std::string &); };
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!