Rosetta  2019.40
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
utility::options::VectorOption_T_< K, T > Class Template Referenceabstract

Program vector-valued option abstract base class. More...

#include <VectorOption_T_.hh>

Inheritance diagram for utility::options::VectorOption_T_< K, T >:
Inheritance graph
[legend]

Public Types

typedef utility::vector1< TValues
 
typedefkey_type
 
typedef T value_type
 
typedef Values::const_iterator const_iterator
 
typedef Values::iterator iterator
 
typedefKey
 
typedef T Value
 
typedef Values::const_iterator ConstIterator
 
typedef Values::iterator Iterator
 
- Public Types inherited from utility::options::Option
typedef OptionKey key_type
 
typedef std::size_t size_type
 
typedef OptionKey Key
 
typedef std::size_t Size
 

Public Member Functions

VectorOption_T_clone () const override=0
 Clone this. More...
 
 ~VectorOption_T_ () override
 Destructor. More...
 
void copy_from (Option const &other) override
 Copy operation #details Relies on assignment operator; does not lock mutexes itself. More...
 
 operator Values const & () const
 Value conversion. More...
 
Values::const_iterator begin () const
 Iterator access for range for loops. More...
 
Values::const_iterator end () const
 Iterator access for range for loops. More...
 
VectorOption_T_activate () override
 Activate. More...
 
VectorOption_T_deactivate () override
 Deactivate. More...
 
VectorOption_T_to_default () override
 Set to default value, if any. More...
 
VectorOption_T_clear () override
 Clear. More...
 
VectorOption_T_legal (Value const &value_a)
 Add a legal value. More...
 
VectorOption_T_shortd (std::string const &s)
 Set a short description. More...
 
VectorOption_T_lower (Value const &value_a)
 Set a lower bound. More...
 
VectorOption_T_strict_lower (Value const &value_a)
 Set a strict lower bound. More...
 
VectorOption_T_upper (Value const &value_a)
 Set an upper bound. More...
 
VectorOption_T_strict_upper (Value const &value_a)
 Set a strict upper bound. More...
 
VectorOption_T_n (Size const n_a) override
 Fixed number of values required assignment. More...
 
VectorOption_T_n_lower (Size const n_a) override
 Lower number of values allowed assignment. More...
 
VectorOption_T_n_upper (Size const n_a) override
 Upper number of values allowed assignment. More...
 
virtual VectorOption_T_default_value (Value const &value_a)
 Default value assignment. More...
 
virtual VectorOption_T_def (Value const &value_a)
 Default value assignment. More...
 
virtual VectorOption_T_def ()
 Default value assignment to empty vector. More...
 
VectorOption_T_default_value (Values const &value_a)
 Default value vector assignment. More...
 
VectorOption_T_def (Values const &value_a)
 Default value vector assignment. More...
 
VectorOption_T_cl_value (std::string const &value_str) override
 Value assignment from a command line string. More...
 
virtual VectorOption_T_value (Value const &value_a)
 Value assignment. More...
 
virtual VectorOption_T_push_back (Value const &value_a)
 Add to values. Note that this just calls value() which has push_back functionality but confusing name. More...
 
virtual VectorOption_T_operator() (Value const &value_a)
 Value assignment. More...
 
VectorOption_T_value (Values const &value_a)
 Value vector assignment. More...
 
VectorOption_T_operator() (Values const &value_a)
 Value vector assignment. More...
 
VectorOption_T_default_to (VectorOption_T_ const &option)
 Default to another option's value. More...
 
bool legal_specs_report () const override
 Legal specifications check: Report and return error state. More...
 
bool legal_limits_report () const override
 Legal value limits check: Report and return error state. More...
 
bool legal_size_report () const override
 Legal size limits check: Report and return error state. More...
 
bool legal_default_report () const override
 Legal default value check: Report and return error state. More...
 
void legal_default_check () const override
 Legal default value check. More...
 
void legal_default_check (Value const &value_a) const
 Legal default value check. More...
 
bool legal_report () const override
 Legal value check: Report and return error state. More...
 
void legal_check () const override
 Legal value check. More...
 
void legal_check (Value const &value_a) const
 Legal value check. More...
 
bool specified_report () const override
 Required specified option check: Report and return error state. More...
 
void specified_check () const override
 Required specified option check. More...
 
Key const & key () const override
 Key. More...
 
std::string const & id () const override
 ID. More...
 
std::string const & identifier () const override
 Identifier. More...
 
std::string const & code () const override
 Code. More...
 
std::string const & name () const override
 Name. More...
 
std::string const & description () const override
 Description. More...
 
std::string const & short_description () const override
 Short Description. More...
 
void short_description (std::string const &sd)
 
bool legal_default () const override
 Legal or inactive default value and size? More...
 
bool legal_default_value () const override
 Legal or inactive default value? More...
 
bool legal_default_size () const override
 Legal default value size? More...
 
bool legal () const override
 Legal value and size? More...
 
bool legal_value () const override
 Legal value? More...
 
bool legal_size () const override
 Legal value size? More...
 
bool legal_value (Value const &value_a) const
 Overload of legal_value. Assumes mutex_ is NOT locked, so that functions that this will call will obtain locks. More...
 
bool has_default () const override
 Has a default? More...
 
bool default_active () const override
 Default active? More...
 
bool default_inactive () const override
 Default inactive? More...
 
bool active () const override
 Active? That is, the option has some value, either the default one or specified on the command line. More...
 
bool user () const override
 User-specified? That is, the option value was specified on the command line. You should probably use active() instead in almost all cases! More...
 
bool can_hold_another () const override
 Can another value be added and stay within any size constraints? More...
 
Size default_size () const override
 Default size (number of default values) More...
 
Size n_default_value () const override
 Number of default values (default size) More...
 
Size size () const override
 Size( number of values). More...
 
Size n_value () const override
 Number of values (size) More...
 
bool has_any_of_characters (std::string const &str1, std::string const &s) const
 Has Any Character of a std::string? non ambiguous vesrion for Python binding. More...
 
std::string legal_string () const override
 Legal value string representation. More...
 
std::string size_constraint_string () const override
 Size constraint string representation. More...
 
std::string default_string () const override
 Default value string representation. More...
 
std::string raw_default_string () const override
 Same as default_string, but without the "[" and "]"s wrapping the value list. More...
 
std::string value_string () const override
 Value string representation. More...
 
std::string raw_value_string () const override
 Value string representation. More...
 
std::string equals_string () const override
 =Value string representation More...
 
LegalBound const & lower () const
 Lower bound. More...
 
LegalBound const & upper ()
 Upper bound. More...
 
bool fixed_size () const override
 Fixed number of values required? More...
 
Size n () const override
 Fixed number of values required (zero if none) More...
 
Size n_lower () const override
 Lower number of values allowed (zero if none) More...
 
Size n_upper () const override
 Upper number of values allowed (zero if none) More...
 
Values const & default_value () const
 Default value. More...
 
Value const & default_value (Size const i) const
 Default value at a given index. More...
 
Values const & value () const
 Value. More...
 
Values const & operator() () const
 Value. More...
 
Values value_or (Values const &value_a) const
 Value or passed default if inactive. More...
 
Values user_or (Values const &value_a) const
 Value or passed default if not user-specified. More...
 
Value const & value (Size const i) const
 Value at a given index. More...
 
bool has_value (Value const &value)
 Does the VectorOption contain the given value? More...
 
Value const & operator() (Size const i) const
 Value at a given index. More...
 
Value const & operator[] (Size const i) const
 Value at a given index. More...
 
Value value_or (Size const i, Value const &value_a) const
 Value at a given index or passed default if inactive. More...
 
Value user_or (Size const i, Value const &value_a) const
 Value at a given index or passed default if not user-specified. More...
 
- Public Member Functions inherited from utility::options::VectorOption
 ~VectorOption () override
 Destructor. More...
 
void set_value (std::string const &value_str, bool reset=false) override
 Value assignemt from a command line string but without a VectorOption & return type. This will separate arguments by whitespace and set the vector option accordingly. If reset is true, the current values will be cleared first. More...
 
void set_cl_value (std::string const &value_str) override
 Set the value of the option from a string from the commandline options. More...
 
- Public Member Functions inherited from utility::options::Option
virtual ~Option ()
 Destructor. More...
 
Optionis_group (bool value)
 
bool is_group () const
 Is this the synonymous option for an option group (e.g. -in:file:file) More...
 
virtual bool is_value (std::string const &value_str) const =0
 Is a string readable as this option's value type? More...
 
virtual bool is_cl_value (std::string const &value_str) const =0
 Is a string readable as this option's value type and a legal command line value? More...
 
virtual std::string type_string () const =0
 Option type code string representation. More...
 
void been_accessed () const
 Set access property to true. More...
 
void set_accessed (bool setting) const
 
bool is_been_accessed () const
 Return true if option value was anyhow accessed. More...
 
Optionrestrict_access (bool setting)
 Restrict direct access to option for general use. More...
 
void check_restricted_access (bool do_check) const
 

Protected Member Functions

 VectorOption_T_ ()
 Default constructor. More...
 
 VectorOption_T_ (VectorOption_T_ const &option)
 Copy constructor. More...
 
 VectorOption_T_ (Key const &key_a, std::string const &description_a)
 Key + description constructor. More...
 
VectorOption_T_operator= (VectorOption_T_ const &option)
 Copy assignment. More...
 
virtual Value value_of (std::string const &value_str) const =0
 Value of a string. More...
 
virtual Values values_of (std::string const &value_str) const
 Value of a string. More...
 
virtual std::string value_string_of (Value const &v) const
 String representation of a given value. More...
 
void default_inactive_error () const
 Error handler for using inactive option value. More...
 
void inactive_error () const
 Error handler for using inactive option value. More...
 
virtual void stream_setup (std::ostream &) const
 Setup stream state for the Option value type. More...
 
bool unconstrained () const
 Value is unconstrained? More...
 
bool default_is_legal () const
 Default value is a specified legal value? More...
 
bool value_is_legal () const
 Value is a specified legal value? More...
 
bool value_is_legal (Value const &value_a) const
 Value is legal? More...
 
bool default_obeys_bounds () const
 Default value obeys specified bounds? More...
 
bool value_obeys_bounds () const
 Value obeys specified bounds? More...
 
bool value_obeys_bounds (Value const &value_a) const
 Given value obeys specified bounds? More...
 
bool default_size_ok () const
 Default value size is OK? More...
 
bool value_size_ok () const
 Value size is OK? More...
 
- Protected Member Functions inherited from utility::options::VectorOption
 VectorOption ()
 Default constructor. More...
 
 VectorOption (VectorOption const &)=default
 Copy constructor. More...
 
VectorOptionoperator= (VectorOption const &)
 Copy assignment. More...
 
- Protected Member Functions inherited from utility::options::Option
 Option ()
 Default constructor. More...
 
 Option (Option const &option)
 Copy constructor. More...
 
Optionoperator= (Option const &option)
 Copy assignment. More...
 

Private Types

typedef VectorOption Super
 
typedef std::set< TLegalValues
 
typedef Bound< TLegalBound
 

Private Member Functions

bool legal_value (Value const &value_a, bool const already_locked) const
 Is the given value legal? More...
 
Size size (bool const ) const
 Size (number of values) More...
 
std::string legal_string (bool const ) const
 Legal value string representation. More...
 
std::string default_string (bool const ) const
 Default value string representation. More...
 
std::string raw_default_string (bool const ) const
 Same as default_string, but without the "[" and "]"s wrapping the value list. More...
 
bool unconstrained (bool const ) const
 Value is unconstrained? More...
 
bool default_is_legal (bool const ) const
 Default value is a specified legal value? More...
 
bool value_is_legal (Value const &value_a, bool const ) const
 Value is legal? More...
 
bool value_obeys_bounds (Value const &value_a, bool const ) const
 Given value obeys specified bounds? More...
 

Private Attributes

Key key_
 Key. More...
 
std::string description_
 Description. More...
 
std::string short_description_
 Short Description. More...
 
LegalValues legal_
 Legal values. More...
 
LegalBound lower_
 Bound values. More...
 
LegalBound upper_
 
Size n_
 Size requirements. More...
 
Size n_lower_
 
Size n_upper_
 
State default_state_
 Default state. More...
 
Values default_value_
 Value. More...
 
State state_
 State. More...
 
Values value_
 Value. More...
 

Additional Inherited Members

- Protected Types inherited from utility::options::Option
enum  State { INACTIVE, DEFAULT, USER }
 Option state enumeration. More...
 

Detailed Description

template<typename K, typename T>
class utility::options::VectorOption_T_< K, T >

Program vector-valued option abstract base class.

Member Typedef Documentation

template<typename K, typename T>
typedef Values::iterator utility::options::VectorOption_T_< K, T >::iterator
template<typename K, typename T>
typedef Values::iterator utility::options::VectorOption_T_< K, T >::Iterator
template<typename K, typename T>
typedef K utility::options::VectorOption_T_< K, T >::Key
template<typename K, typename T>
typedef K utility::options::VectorOption_T_< K, T >::key_type
template<typename K, typename T>
typedef Bound< T > utility::options::VectorOption_T_< K, T >::LegalBound
private
template<typename K, typename T>
typedef std::set< T > utility::options::VectorOption_T_< K, T >::LegalValues
private
template<typename K, typename T>
typedef VectorOption utility::options::VectorOption_T_< K, T >::Super
private
template<typename K, typename T>
typedef T utility::options::VectorOption_T_< K, T >::Value
template<typename K, typename T>
typedef T utility::options::VectorOption_T_< K, T >::value_type
template<typename K, typename T>
typedef utility::vector1< T > utility::options::VectorOption_T_< K, T >::Values

Constructor & Destructor Documentation

template<typename K, typename T>
utility::options::VectorOption_T_< K, T >::VectorOption_T_ ( )
inlineprotected

Default constructor.

template<typename K, typename T>
utility::options::VectorOption_T_< K, T >::VectorOption_T_ ( VectorOption_T_< K, T > const &  option)
inlineprotected

Copy constructor.

template<typename K, typename T>
utility::options::VectorOption_T_< K, T >::VectorOption_T_ ( Key const &  key_a,
std::string const &  description_a 
)
inlineprotected

Key + description constructor.

template<typename K, typename T>
utility::options::VectorOption_T_< K, T >::~VectorOption_T_ ( )
inlineoverride

Destructor.

Member Function Documentation

template<typename K, typename T>
VectorOption_T_& utility::options::VectorOption_T_< K, T >::activate ( )
inlineoverridevirtual

Activate.

Implements utility::options::VectorOption.

template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::active ( ) const
inlineoverridevirtual

Active? That is, the option has some value, either the default one or specified on the command line.

Implements utility::options::Option.

Referenced by utility::options::VectorOption_T_< BooleanVectorOptionKey, bool >::legal_value().

template<typename K, typename T>
Values::const_iterator utility::options::VectorOption_T_< K, T >::begin ( ) const
inline

Iterator access for range for loops.

Not threadsafe.

Referenced by utility::options::VectorOption_T_< BooleanVectorOptionKey, bool >::begin().

template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::can_hold_another ( ) const
inlineoverridevirtual

Can another value be added and stay within any size constraints?

Implements utility::options::Option.

template<typename K, typename T>
VectorOption_T_& utility::options::VectorOption_T_< K, T >::cl_value ( std::string const &  value_str)
inlineoverridevirtual

Value assignment from a command line string.

Implements utility::options::VectorOption.

Referenced by utility::options::ResidueChainVectorOption::cl_value().

template<typename K, typename T>
VectorOption_T_& utility::options::VectorOption_T_< K, T >::clear ( )
inlineoverridevirtual

Clear.

Implements utility::options::VectorOption.

template<typename K, typename T>
VectorOption_T_* utility::options::VectorOption_T_< K, T >::clone ( ) const
overridepure virtual
template<typename K, typename T>
std::string const& utility::options::VectorOption_T_< K, T >::code ( ) const
inlineoverridevirtual

Code.

Implements utility::options::Option.

template<typename K, typename T>
void utility::options::VectorOption_T_< K, T >::copy_from ( Option const &  other)
inlineoverridevirtual

Copy operation #details Relies on assignment operator; does not lock mutexes itself.

Implements utility::options::Option.

template<typename K, typename T>
VectorOption_T_& utility::options::VectorOption_T_< K, T >::deactivate ( )
inlineoverridevirtual

Deactivate.

Implements utility::options::VectorOption.

template<typename K, typename T>
virtual VectorOption_T_& utility::options::VectorOption_T_< K, T >::def ( Value const &  value_a)
inlinevirtual

Default value assignment.

template<typename K, typename T>
virtual VectorOption_T_& utility::options::VectorOption_T_< K, T >::def ( )
inlinevirtual

Default value assignment to empty vector.

template<typename K, typename T>
VectorOption_T_& utility::options::VectorOption_T_< K, T >::def ( Values const &  value_a)
inline

Default value vector assignment.

template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::default_active ( ) const
inlineoverridevirtual

Default active?

Implements utility::options::Option.

template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::default_inactive ( ) const
inlineoverridevirtual
template<typename K, typename T>
void utility::options::VectorOption_T_< K, T >::default_inactive_error ( ) const
inlineprotected

Error handler for using inactive option value.

Note
Not handled with assert because unspecified option can be a user error
template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::default_is_legal ( bool  const) const
inlineprivate

Default value is a specified legal value?

Pass true if mutex_ is already locked.

template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::default_is_legal ( ) const
inlineprotected

Default value is a specified legal value?

Assumes mutex_ is unlocked.

Referenced by utility::options::VectorOption_T_< BooleanVectorOptionKey, bool >::legal_default_value().

template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::default_obeys_bounds ( ) const
inlineprotected
template<typename K, typename T>
Size utility::options::VectorOption_T_< K, T >::default_size ( ) const
inlineoverridevirtual

Default size (number of default values)

Implements utility::options::Option.

template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::default_size_ok ( ) const
inlineprotected
template<typename K, typename T>
std::string utility::options::VectorOption_T_< K, T >::default_string ( bool  const) const
inlineprivate

Default value string representation.

template<typename K, typename T>
std::string utility::options::VectorOption_T_< K, T >::default_string ( ) const
inlineoverridevirtual
template<typename K, typename T>
VectorOption_T_& utility::options::VectorOption_T_< K, T >::default_to ( VectorOption_T_< K, T > const &  option)
inline

Default to another option's value.

template<typename K, typename T>
virtual VectorOption_T_& utility::options::VectorOption_T_< K, T >::default_value ( Value const &  value_a)
inlinevirtual

Default value assignment.

template<typename K, typename T>
VectorOption_T_& utility::options::VectorOption_T_< K, T >::default_value ( Values const &  value_a)
inline

Default value vector assignment.

template<typename K, typename T>
Values const& utility::options::VectorOption_T_< K, T >::default_value ( ) const
inline
template<typename K, typename T>
Value const& utility::options::VectorOption_T_< K, T >::default_value ( Size const  i) const
inline

Default value at a given index.

template<typename K, typename T>
std::string const& utility::options::VectorOption_T_< K, T >::description ( ) const
inlineoverridevirtual

Description.

Implements utility::options::Option.

template<typename K, typename T>
Values::const_iterator utility::options::VectorOption_T_< K, T >::end ( ) const
inline

Iterator access for range for loops.

Not threadsafe.

Referenced by utility::options::VectorOption_T_< BooleanVectorOptionKey, bool >::end().

template<typename K, typename T>
std::string utility::options::VectorOption_T_< K, T >::equals_string ( ) const
inlineoverridevirtual

=Value string representation

Implements utility::options::Option.

template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::fixed_size ( ) const
inlineoverridevirtual

Fixed number of values required?

Implements utility::options::VectorOption.

template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::has_any_of_characters ( std::string const &  str1,
std::string const &  s 
) const
inline

Has Any Character of a std::string? non ambiguous vesrion for Python binding.

Referenced by utility::options::VectorOption_T_< BooleanVectorOptionKey, bool >::legal_string().

template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::has_default ( ) const
inlineoverridevirtual

Has a default?

Implements utility::options::Option.

template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::has_value ( Value const &  value)
inline

Does the VectorOption contain the given value?

template<typename K, typename T>
std::string const& utility::options::VectorOption_T_< K, T >::id ( ) const
inlineoverridevirtual
template<typename K, typename T>
std::string const& utility::options::VectorOption_T_< K, T >::identifier ( ) const
inlineoverridevirtual

Identifier.

Implements utility::options::Option.

template<typename K, typename T>
void utility::options::VectorOption_T_< K, T >::inactive_error ( ) const
inlineprotected

Error handler for using inactive option value.

Note
Not handled with assert because unspecified option can be a user error

Referenced by utility::options::VectorOption_T_< BooleanVectorOptionKey, bool >::operator Values const &().

template<typename K, typename T>
Key const& utility::options::VectorOption_T_< K, T >::key ( ) const
inlineoverridevirtual
template<typename K, typename T>
VectorOption_T_& utility::options::VectorOption_T_< K, T >::legal ( Value const &  value_a)
inline

Add a legal value.

template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::legal ( ) const
inlineoverridevirtual

Legal value and size?

Implements utility::options::Option.

template<typename K, typename T>
void utility::options::VectorOption_T_< K, T >::legal_check ( ) const
inlineoverridevirtual
template<typename K, typename T>
void utility::options::VectorOption_T_< K, T >::legal_check ( Value const &  value_a) const
inline

Legal value check.

template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::legal_default ( ) const
inlineoverridevirtual

Legal or inactive default value and size?

Implements utility::options::Option.

template<typename K, typename T>
void utility::options::VectorOption_T_< K, T >::legal_default_check ( ) const
inlineoverridevirtual
template<typename K, typename T>
void utility::options::VectorOption_T_< K, T >::legal_default_check ( Value const &  value_a) const
inline

Legal default value check.

template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::legal_default_report ( ) const
inlineoverridevirtual

Legal default value check: Report and return error state.

Implements utility::options::Option.

Referenced by utility::options::VectorOption_T_< BooleanVectorOptionKey, bool >::legal_specs_report().

template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::legal_default_size ( ) const
inlineoverridevirtual
template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::legal_default_value ( ) const
inlineoverridevirtual
template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::legal_limits_report ( ) const
inlineoverridevirtual

Legal value limits check: Report and return error state.

Implements utility::options::Option.

Referenced by utility::options::VectorOption_T_< BooleanVectorOptionKey, bool >::legal_specs_report().

template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::legal_report ( ) const
inlineoverridevirtual

Legal value check: Report and return error state.

Implements utility::options::Option.

template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::legal_size ( ) const
inlineoverridevirtual
template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::legal_size_report ( ) const
inlineoverridevirtual

Legal size limits check: Report and return error state.

Implements utility::options::Option.

Referenced by utility::options::VectorOption_T_< BooleanVectorOptionKey, bool >::legal_specs_report().

template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::legal_specs_report ( ) const
inlineoverridevirtual

Legal specifications check: Report and return error state.

Implements utility::options::Option.

template<typename K, typename T>
std::string utility::options::VectorOption_T_< K, T >::legal_string ( bool  const) const
inlineprivate

Legal value string representation.

Allows specification of whether mutex_ is locked.

template<typename K, typename T>
std::string utility::options::VectorOption_T_< K, T >::legal_string ( ) const
inlineoverridevirtual

Legal value string representation.

Assumes that mutex_ is unlocked.

Implements utility::options::Option.

Referenced by utility::options::VectorOption_T_< BooleanVectorOptionKey, bool >::legal_limits_report().

template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::legal_value ( ) const
inlineoverridevirtual
template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::legal_value ( Value const &  value_a,
bool const  already_locked 
) const
inlineprivate

Is the given value legal?

If already_locked is true, there is already a write-lock on mutex_, so additional locking should not be done.

template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::legal_value ( Value const &  value_a) const
inline

Overload of legal_value. Assumes mutex_ is NOT locked, so that functions that this will call will obtain locks.

Referenced by utility::options::VectorOption_T_< BooleanVectorOptionKey, bool >::legal_value().

template<typename K, typename T>
VectorOption_T_& utility::options::VectorOption_T_< K, T >::lower ( Value const &  value_a)
inline

Set a lower bound.

template<typename K, typename T>
LegalBound const& utility::options::VectorOption_T_< K, T >::lower ( ) const
inline

Lower bound.

template<typename K, typename T>
VectorOption_T_& utility::options::VectorOption_T_< K, T >::n ( Size const  n_a)
inlineoverridevirtual

Fixed number of values required assignment.

Implements utility::options::VectorOption.

template<typename K, typename T>
Size utility::options::VectorOption_T_< K, T >::n ( ) const
inlineoverridevirtual

Fixed number of values required (zero if none)

Implements utility::options::VectorOption.

template<typename K, typename T>
Size utility::options::VectorOption_T_< K, T >::n_default_value ( ) const
inlineoverridevirtual

Number of default values (default size)

Implements utility::options::Option.

template<typename K, typename T>
VectorOption_T_& utility::options::VectorOption_T_< K, T >::n_lower ( Size const  n_a)
inlineoverridevirtual

Lower number of values allowed assignment.

Implements utility::options::VectorOption.

template<typename K, typename T>
Size utility::options::VectorOption_T_< K, T >::n_lower ( ) const
inlineoverridevirtual

Lower number of values allowed (zero if none)

Implements utility::options::VectorOption.

template<typename K, typename T>
VectorOption_T_& utility::options::VectorOption_T_< K, T >::n_upper ( Size const  n_a)
inlineoverridevirtual

Upper number of values allowed assignment.

Implements utility::options::VectorOption.

template<typename K, typename T>
Size utility::options::VectorOption_T_< K, T >::n_upper ( ) const
inlineoverridevirtual

Upper number of values allowed (zero if none)

Implements utility::options::VectorOption.

template<typename K, typename T>
Size utility::options::VectorOption_T_< K, T >::n_value ( ) const
inlineoverridevirtual

Number of values (size)

Implements utility::options::Option.

template<typename K, typename T>
std::string const& utility::options::VectorOption_T_< K, T >::name ( ) const
inlineoverridevirtual

Name.

Implements utility::options::Option.

template<typename K, typename T>
utility::options::VectorOption_T_< K, T >::operator Values const & ( ) const
inline

Value conversion.

template<typename K, typename T>
virtual VectorOption_T_& utility::options::VectorOption_T_< K, T >::operator() ( Value const &  value_a)
inlinevirtual

Value assignment.

template<typename K, typename T>
VectorOption_T_& utility::options::VectorOption_T_< K, T >::operator() ( Values const &  value_a)
inline

Value vector assignment.

template<typename K, typename T>
Values const& utility::options::VectorOption_T_< K, T >::operator() ( ) const
inline

Value.

template<typename K, typename T>
Value const& utility::options::VectorOption_T_< K, T >::operator() ( Size const  i) const
inline

Value at a given index.

template<typename K, typename T>
VectorOption_T_& utility::options::VectorOption_T_< K, T >::operator= ( VectorOption_T_< K, T > const &  option)
inlineprotected

Copy assignment.

Threadsafe.

template<typename K, typename T>
Value const& utility::options::VectorOption_T_< K, T >::operator[] ( Size const  i) const
inline

Value at a given index.

template<typename K, typename T>
virtual VectorOption_T_& utility::options::VectorOption_T_< K, T >::push_back ( Value const &  value_a)
inlinevirtual

Add to values. Note that this just calls value() which has push_back functionality but confusing name.

template<typename K, typename T>
std::string utility::options::VectorOption_T_< K, T >::raw_default_string ( bool  const) const
inlineprivate

Same as default_string, but without the "[" and "]"s wrapping the value list.

template<typename K, typename T>
std::string utility::options::VectorOption_T_< K, T >::raw_default_string ( ) const
inlineoverridevirtual

Same as default_string, but without the "[" and "]"s wrapping the value list.

Implements utility::options::Option.

template<typename K, typename T>
std::string utility::options::VectorOption_T_< K, T >::raw_value_string ( ) const
inlineoverridevirtual

Value string representation.

Implements utility::options::Option.

template<typename K, typename T>
std::string const& utility::options::VectorOption_T_< K, T >::short_description ( ) const
inlineoverridevirtual

Short Description.

Implements utility::options::Option.

template<typename K, typename T>
void utility::options::VectorOption_T_< K, T >::short_description ( std::string const &  sd)
inline
template<typename K, typename T>
VectorOption_T_& utility::options::VectorOption_T_< K, T >::shortd ( std::string const &  s)
inline

Set a short description.

template<typename K, typename T>
Size utility::options::VectorOption_T_< K, T >::size ( bool  const) const
inlineprivate

Size (number of values)

Allows specification of whether mutex_ is already locked.

template<typename K, typename T>
Size utility::options::VectorOption_T_< K, T >::size ( ) const
inlineoverridevirtual
template<typename K, typename T>
std::string utility::options::VectorOption_T_< K, T >::size_constraint_string ( ) const
inlineoverridevirtual

Size constraint string representation.

Implements utility::options::Option.

template<typename K, typename T>
void utility::options::VectorOption_T_< K, T >::specified_check ( ) const
inlineoverridevirtual

Required specified option check.

Implements utility::options::Option.

template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::specified_report ( ) const
inlineoverridevirtual

Required specified option check: Report and return error state.

Implements utility::options::Option.

template<typename K, typename T>
virtual void utility::options::VectorOption_T_< K, T >::stream_setup ( std::ostream &  ) const
inlineprotectedvirtual
template<typename K, typename T>
VectorOption_T_& utility::options::VectorOption_T_< K, T >::strict_lower ( Value const &  value_a)
inline

Set a strict lower bound.

template<typename K, typename T>
VectorOption_T_& utility::options::VectorOption_T_< K, T >::strict_upper ( Value const &  value_a)
inline

Set a strict upper bound.

template<typename K, typename T>
VectorOption_T_& utility::options::VectorOption_T_< K, T >::to_default ( )
inlineoverridevirtual

Set to default value, if any.

Implements utility::options::VectorOption.

template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::unconstrained ( bool  const) const
inlineprivate

Value is unconstrained?

Pass true if mutex_ is already locked.

template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::unconstrained ( ) const
inlineprotected
template<typename K, typename T>
VectorOption_T_& utility::options::VectorOption_T_< K, T >::upper ( Value const &  value_a)
inline

Set an upper bound.

template<typename K, typename T>
LegalBound const& utility::options::VectorOption_T_< K, T >::upper ( )
inline

Upper bound.

template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::user ( ) const
inlineoverridevirtual

User-specified? That is, the option value was specified on the command line. You should probably use active() instead in almost all cases!

Implements utility::options::Option.

Referenced by utility::options::VectorOption_T_< BooleanVectorOptionKey, bool >::specified_check(), and utility::options::VectorOption_T_< BooleanVectorOptionKey, bool >::specified_report().

template<typename K, typename T>
Values utility::options::VectorOption_T_< K, T >::user_or ( Values const &  value_a) const
inline

Value or passed default if not user-specified.

template<typename K, typename T>
Value utility::options::VectorOption_T_< K, T >::user_or ( Size const  i,
Value const &  value_a 
) const
inline

Value at a given index or passed default if not user-specified.

template<typename K, typename T>
virtual VectorOption_T_& utility::options::VectorOption_T_< K, T >::value ( Value const &  value_a)
inlinevirtual

Value assignment.

template<typename K, typename T>
VectorOption_T_& utility::options::VectorOption_T_< K, T >::value ( Values const &  value_a)
inline

Value vector assignment.

template<typename K, typename T>
Values const& utility::options::VectorOption_T_< K, T >::value ( ) const
inline
template<typename K, typename T>
Value const& utility::options::VectorOption_T_< K, T >::value ( Size const  i) const
inline

Value at a given index.

template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::value_is_legal ( ) const
inlineprotected
template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::value_is_legal ( Value const &  value_a,
bool  const 
) const
inlineprivate

Value is legal?

Pass true if mutex_ is already locked, false otherwise.

template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::value_is_legal ( Value const &  value_a) const
inlineprotected

Value is legal?

Assumes mutex_ is not locked.

template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::value_obeys_bounds ( ) const
inlineprotected

Value obeys specified bounds?

Assumes mutex_ is unlocked.

Referenced by utility::options::VectorOption_T_< BooleanVectorOptionKey, bool >::legal_value().

template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::value_obeys_bounds ( Value const &  value_a,
bool  const 
) const
inlineprivate

Given value obeys specified bounds?

Allows specification of whether mutex_ is already locked.

template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::value_obeys_bounds ( Value const &  value_a) const
inlineprotected

Given value obeys specified bounds?

Assumes mutex_ is unlocked.

template<typename K, typename T>
virtual Value utility::options::VectorOption_T_< K, T >::value_of ( std::string const &  value_str) const
protectedpure virtual
template<typename K, typename T>
Values utility::options::VectorOption_T_< K, T >::value_or ( Values const &  value_a) const
inline

Value or passed default if inactive.

template<typename K, typename T>
Value utility::options::VectorOption_T_< K, T >::value_or ( Size const  i,
Value const &  value_a 
) const
inline

Value at a given index or passed default if inactive.

template<typename K, typename T>
bool utility::options::VectorOption_T_< K, T >::value_size_ok ( ) const
inlineprotected
template<typename K, typename T>
std::string utility::options::VectorOption_T_< K, T >::value_string ( ) const
inlineoverridevirtual
template<typename K, typename T>
virtual std::string utility::options::VectorOption_T_< K, T >::value_string_of ( Value const &  v) const
inlineprotectedvirtual
template<typename K, typename T>
virtual Values utility::options::VectorOption_T_< K, T >::values_of ( std::string const &  value_str) const
inlineprotectedvirtual

Member Data Documentation

template<typename K, typename T>
State utility::options::VectorOption_T_< K, T >::default_state_
private
template<typename K, typename T>
Values utility::options::VectorOption_T_< K, T >::default_value_
private
template<typename K, typename T>
std::string utility::options::VectorOption_T_< K, T >::description_
private
template<typename K, typename T>
Key utility::options::VectorOption_T_< K, T >::key_
private
template<typename K, typename T>
LegalValues utility::options::VectorOption_T_< K, T >::legal_
private
template<typename K, typename T>
LegalBound utility::options::VectorOption_T_< K, T >::lower_
private
template<typename K, typename T>
Size utility::options::VectorOption_T_< K, T >::n_
private
template<typename K, typename T>
Size utility::options::VectorOption_T_< K, T >::n_lower_
private
template<typename K, typename T>
Size utility::options::VectorOption_T_< K, T >::n_upper_
private
template<typename K, typename T>
std::string utility::options::VectorOption_T_< K, T >::short_description_
private
template<typename K, typename T>
State utility::options::VectorOption_T_< K, T >::state_
private
template<typename K, typename T>
LegalBound utility::options::VectorOption_T_< K, T >::upper_
private
template<typename K, typename T>
Values utility::options::VectorOption_T_< K, T >::value_
private

The documentation for this class was generated from the following files: