class typed_value
Declaration
template <class T, class Char = char>
class typed_value : public typed_value_base { /* full declaration omitted */ };Description
Class which handles value of a specific type.
Declared at: libs/pika/program_options/include/pika/program_options/value_semantic.hpp:188
Inherits from: typed_value_base
Method Overview
- public virtual bool apply_default(pika::any_nonser & value_store) const
- public typed_value<T, Char> * composing()
- public typed_value<T, Char> * default_value(const T & v)
- public typed_value<T, Char> * default_value(const T & v, const std::string & textual)
- public typed_value<T, Char> * implicit_value(const T & v)
- public typed_value<T, Char> * implicit_value(const T & v, const std::string & textual)
- public bool is_composing() const
- public bool is_required() const
- public unsigned int max_tokens() const
- public unsigned int min_tokens() const
- public typed_value<T, Char> * multitoken()
- public std::string name() const
- public typed_value<T, Char> * notifier(std::function<void (const T &)> f)
- public void notify(const pika::any_nonser & value_store) const
- public typed_value<T, Char> * required()
- public typed_value<T, Char>(T * store_to)
- public typed_value<T, Char> * value_name(const std::string & name)
- public const std::type_info & value_type() const
- public void xparse(pika::any_nonser & value_store, const std::vector<std::basic_string<Char>> & new_tokens) const
- public typed_value<T, Char> * zero_tokens()
Inherited from typed_value_base:
Methods
virtual bool apply_default(
pika::any_nonser& value_store) const
virtual bool apply_default(
pika::any_nonser& value_store) constDescription
If default value was specified via previous call to 'default_value', stores that value into 'value_store'. Returns true if default value was stored.
Declared at: libs/pika/program_options/include/pika/program_options/value_semantic.hpp:360
Parameters
- pika::any_nonser& value_store
typed_value<T, Char>* composing()
typed_value<T, Char>* composing()Description
Specifies that the value is composing. See the 'is_composing' method for explanation.
Declared at: libs/pika/program_options/include/pika/program_options/value_semantic.hpp:275
typed_value<T, Char>* default_value(const T& v)
typed_value<T, Char>* default_value(const T& v)Description
Specifies default value, which will be used if none is explicitly specified. The type 'T' should provide operator < < for ostream.
Declared at: libs/pika/program_options/include/pika/program_options/value_semantic.hpp:209
Parameters
- const T& v
typed_value<T, Char>* default_value(
const T& v,
const std::string& textual)
typed_value<T, Char>* default_value(
const T& v,
const std::string& textual)Description
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.
Declared at: libs/pika/program_options/include/pika/program_options/value_semantic.hpp:222
Parameters
- const T& v
- const std::string& textual
typed_value<T, Char>* implicit_value(const T& v)
typed_value<T, Char>* implicit_value(const T& v)Description
Specifies an implicit value, which will be used if the option is given, but without an adjacent value. Using this implies that an explicit value is optional,
Declared at: libs/pika/program_options/include/pika/program_options/value_semantic.hpp:233
Parameters
- const T& v
typed_value<T, Char>* implicit_value(
const T& v,
const std::string& textual)
typed_value<T, Char>* implicit_value(
const T& v,
const std::string& textual)Description
Specifies an implicit value, which will be used if the option is given, but without an adjacent value. Using this implies that an explicit value is optional, but if given, must be strictly adjacent to the option, i.e.: '-ovalue' or '--option=value'. Giving '-o' or '--option' will cause the implicit value to be applied. 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.
Declared at: libs/pika/program_options/include/pika/program_options/value_semantic.hpp:257
Parameters
- const T& v
- const std::string& textual
bool is_composing() const
bool is_composing() constDeclared at: libs/pika/program_options/include/pika/program_options/value_semantic.hpp:312
bool is_required() const
bool is_required() constDeclared at: libs/pika/program_options/include/pika/program_options/value_semantic.hpp:345
unsigned int max_tokens() const
unsigned int max_tokens() constDeclared at: libs/pika/program_options/include/pika/program_options/value_semantic.hpp:329
unsigned int min_tokens() const
unsigned int min_tokens() constDeclared at: libs/pika/program_options/include/pika/program_options/value_semantic.hpp:317
typed_value<T, Char>* multitoken()
typed_value<T, Char>* multitoken()Description
Specifies that the value can span multiple tokens.
Declared at: libs/pika/program_options/include/pika/program_options/value_semantic.hpp:283
std::string name() const
std::string name() constDeclared at: libs/pika/program_options/include/pika/program_options/value_semantic.hpp:310
typed_value<T, Char>* notifier(
std::function<void(const T&)> f)
typed_value<T, Char>* notifier(
std::function<void(const T&)> f)Description
Specifies a function to be called when the final value is determined.
Declared at: libs/pika/program_options/include/pika/program_options/value_semantic.hpp:266
Parameters
- std::function<void(const T&)> f
void notify(
const pika::any_nonser& value_store) const
void notify(
const pika::any_nonser& value_store) constDescription
If an address of variable to store value was specified when creating *this, stores the value there. Otherwise, does nothing.
Declared at: libs/pika/program_options/include/pika/program_options/value_semantic.hpp:376
Parameters
- const pika::any_nonser& value_store
typed_value<T, Char>* required()
typed_value<T, Char>* required()Description
Specifies that the value must occur.
Declared at: libs/pika/program_options/include/pika/program_options/value_semantic.hpp:303
typed_value<T, Char>(T* store_to)
typed_value<T, Char>(T* store_to)Description
Ctor. The 'store_to' parameter tells where to store the value when it's known. The parameter can be NULL.
Declared at: libs/pika/program_options/include/pika/program_options/value_semantic.hpp:195
Parameters
- T* store_to
typed_value<T, Char>* value_name(
const std::string& name)
typed_value<T, Char>* value_name(
const std::string& name)Description
Specifies the name used to to the value in help message.
Declared at: libs/pika/program_options/include/pika/program_options/value_semantic.hpp:241
Parameters
- const std::string& name
const std::type_info& value_type() const
const std::type_info& value_type() constDeclared at: libs/pika/program_options/include/pika/program_options/value_semantic.hpp:379
void xparse(
pika::any_nonser& value_store,
const std::vector<std::basic_string<Char>>&
new_tokens) const
void xparse(
pika::any_nonser& value_store,
const std::vector<std::basic_string<Char>>&
new_tokens) constDescription
Creates an instance of the 'validator' class and calls its operator() to perform the actual conversion.
Declared at: libs/pika/program_options/include/pika/program_options/value_semantic.hpp:352
Parameters
- pika::any_nonser& value_store
- const std::vector<std::basic_string<Char>>& new_tokens
typed_value<T, Char>* zero_tokens()
typed_value<T, Char>* zero_tokens()Description
Specifies that no tokens may be provided as the value of this option, which means that only presence of the option is significant. For such option to be useful, either the 'validate' function should be specialized, or the 'implicit_value' method should be also used. In most cases, you can use the 'bool_switch' function instead of using this method.
Declared at: libs/pika/program_options/include/pika/program_options/value_semantic.hpp:296