| Home | Libraries | People | FAQ | More

## Class variable_value

boost::program_options::variable_value

## Synopsis

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

    class variable_value {
    public:
      // construct/copy/destruct
      variable_value();
      variable_value(const boost::any &, 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() ;
    };

## Description

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 & v, bool defaulted);

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