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 to view this page for the latest version.

Class variable_value



// In header: <boost/program_options/variables_map.hpp>

class variable_value {
  // construct/copy/destruct
  variable_value(const boost::any &, bool);

  // friend functions
  store(const basic_parsed_options< char > &, variables_map &, bool);

  // public member functions
  template<typename T> const T & as() const;
  template<typename T> T & as();
  bool empty() const;
  bool defaulted() const;
  const boost::any & value() const;
  boost::any & value();


Class holding value of option. Contains details about how the value is set and allows to conveniently obtain the value.

variable_value public construct/copy/destruct

  1. variable_value();
  2. variable_value(const boost::any & xv, bool xdefaulted);

variable_value friend functions

    store(const basic_parsed_options< char > & options, variables_map & m, bool);

    Stores in 'm' all options that are defined in 'options'. If 'm' already has a non-defaulted value of an option, that value is not changed, even if 'options' specify some value.

variable_value public member functions

  1. template<typename T> const T & as() const;

    If stored value if of type T, returns that value. Otherwise, throws boost::bad_any_cast exception.

  2. template<typename T> T & as();

    This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

  3. bool empty() const;
    Returns true if no value is stored.
  4. bool defaulted() const;

    Returns true if the value was not explicitly given, but has default value.

  5. const boost::any & value() const;

    Returns the contained value.

  6. boost::any & value();

    Returns the contained value.