Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of boost. Click here for the latest Boost documentation.

Class options_description

boost::program_options::options_description —


class options_description {
// construct/copy/destruct
options_description(const std::string &);

// public member functions
void add(shared_ptr< option_description >) ;
options_description & add(const options_description &) ;
options_description_easy_init add_options() ;
unsigned count(const std::string &) const;
unsigned count_approx(const std::string &) const;
const option_description & find(const std::string &) const;
const option_description & find_approx(const std::string &) const;
std::set< std::string > keys() const;
std::set< std::string > primary_keys() const;
std::set< std::string > approximations(const std::string &) const;
void print(std::ostream &) const;

// private member functions
approximation_range find_approximation(const std::string &) const;


A set of option descriptions. This provides convenient interface for adding new option (the add_options) method, and facilities to search for options by name.

See here for option adding interface discussion.


options_description construct/copy/destruct

  1. options_description();

    Creates the instance.

  2. options_description(const std::string & caption);

    Creates the instance. The 'caption' parameter gives the name of this 'options_description' instance. Primarily useful for output.

options_description public member functions

  1. void add(shared_ptr< option_description > desc) ;

    Adds new variable description. Throws duplicate_variable_error if either short or long name matches that of already present one.

  2. options_description & add(const options_description & desc) ;

    Adds a group of option description. This has the same effect as adding all option_descriptions in 'desc' individually, except that output operator will show a separate group. Returns *this.

  3. options_description_easy_init add_options() ;

    Returns an object of implementation-defined type suitable for adding options to options_description. The returned object will have overloaded operator() with parameter type matching 'option_description' constructors. Calling the operator will create new option_description instance and add it.

  4. unsigned count(const std::string & name) const;

    Count the number of option descriptions with given name. Returns 0 or 1. The 'name' parameter can be either name of long option, and short option prefixed by '-'.

  5. unsigned count_approx(const std::string & prefix) const;

    Count the number of descriptions having the given string as prefix. This makes sense only for long options.

  6. const option_description & find(const std::string & name) const;

    Returns description given a name.

    Requires: count(name) == 1

  7. const option_description & find_approx(const std::string & prefix) const;

    Returns description given a prefix. Throws

    Requires: count_approx(name) == 1

  8. std::set< std::string > keys() const;
  9. std::set< std::string > primary_keys() const;

    For each option description stored, contains long name if not empty, if it is empty, short name is returned.

  10. std::set< std::string > approximations(const std::string & prefix) const;
  11. void print(std::ostream & os) const;

    Output 'desc' to the specified stream, calling 'f' to output each option_description element.

options_description private member functions

  1. approximation_range find_approximation(const std::string & prefix) const;
Copyright 2002-2004 Vladimir Prus