...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::basic_option
// In header: <boost/program_options/option.hpp> template<typename charT> class basic_option { public: // construct/copy/destruct basic_option(); basic_option(const std::string &, const std::vector< std::string > &); std::string string_key; int position_key; std::vector< std::basic_string< charT > > value; std::vector< std::basic_string< charT > > original_tokens; bool unregistered; };
Option found in input source. Contains a key and a value. The key, in turn, can be a string (name of an option), or an integer (position in input source) -- in case no name is specified. The latter is only possible for command line. The template parameter specifies the type of char used for storing the option's value.