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 template typed_value

boost::program_options::typed_value —


template<typename T, typename charT = char> 
class typed_value : public boost::program_options::value_semantic_codecvt_helper< charT >,
public boost::program_options::typed_value_base
// construct/copy/destruct
typed_value(T *);

// public member functions
typed_value * default_value(const T &) ;
typed_value * default_value(const T &, const std::string &) ;
typed_value * notifier(function1< void, const  T & >) ;
typed_value * composing() ;
typed_value * multitoken() ;
typed_value * zero_tokens() ;
std::string name() const;
bool is_composing() const;
unsigned min_tokens() const;
unsigned max_tokens() const;
void xparse(boost::any &, const std::vector< std::basic_string< charT > > &) const;
virtual bool apply_default(boost::any &) const;
void notify(const boost::any &) const;
const  std::type_info & value_type() const;


Class which handles value of a specific type.

typed_value construct/copy/destruct

  1. typed_value(T * store_to);

    Ctor. The 'store_to' parameter tells where to store the value when it's known. The parameter can be NULL.

typed_value public member functions

  1. typed_value * default_value(const T & v) ;

    Specifies default value, which will be used if none is explicitly specified. The type 'T' should provide operator<< for ostream.

  2. typed_value * default_value(const T & v, const std::string & textual) ;

    Specifies default value, which will be used if none is explicitly specified. Unlike the above overload, the type 'T' need not provide operator<< for ostream, but textual representation of default value must be provided by the user.

  3. typed_value * notifier(function1< void, const  T & > f) ;

    Specifies a function to be called when the final value is determined.

  4. typed_value * composing() ;

    Specifies that the value is composing. See the 'is_composing' method for explanation.

  5. typed_value * multitoken() ;

    Specifies that the value can span multiple tokens.

  6. typed_value * zero_tokens() ;
  7. std::string name() const;
  8. bool is_composing() const;
  9. unsigned min_tokens() const;
  10. unsigned max_tokens() const;
  11. void xparse(boost::any & value_store, 
    const std::vector< std::basic_string< charT > > & new_tokens) const;

    Creates an instance of the 'validator' class and calls its operator() to perform the actual conversion.

  12. virtual bool apply_default(boost::any & value_store) const;

    If default value was specified via previous call to 'default_value', stores that value into 'value_store'. Returns true if default value was stored.

  13. void notify(const boost::any & value_store) const;

    If an address of variable to store value was specified when creating *this, stores the value there. Otherwise, does nothing.

  14. const  std::type_info & value_type() const;
Copyright 2002-2004 Vladimir Prus