EvolvingObjects
eoValueParam< ValueType > Class Template Reference

eoValueParam<ValueType>: templatized derivation of eoParam. More...

#include <eoParam.h>

Inheritance diagram for eoValueParam< ValueType >:
eoParam

List of all members.

Public Member Functions

 eoValueParam (void)
 Construct a Param.
 eoValueParam (ValueType _defaultValue, std::string _longName, std::string _description="No description", char _shortHand=0, bool _required=false)
 Construct a Param.
ValueType & value ()
 Get a reference on the parameter value.
const ValueType & value () const
 Get a const reference on the parameter value.
void value (ValueType val)
 Change the parameter value.
std::string getValue (void) const
 Get the string representation of the value.
void setValue (const std::string &_value)
 Set the value according to the speciied string.
template<>
std::string getValue (void) const
 Pure virtual function to get the value out.
template<>
void setValue (const std::string &_value)
 Pure virtual function to set the value.
template<>
std::string getValue (void) const
 Pure virtual function to get the value out.
template<>
void setValue (const std::string &_value)
 Pure virtual function to set the value.
template<>
std::string getValue (void) const
 Pure virtual function to get the value out.
template<>
void setValue (const std::string &)
 Pure virtual function to set the value.

Protected Attributes

ValueType repValue

Detailed Description

template<class ValueType>
class eoValueParam< ValueType >

eoValueParam<ValueType>: templatized derivation of eoParam.

Can be used to contain any scalar value type. It makes use of std::strstream to get and set values.

Todo:
This should be changed to std::stringstream when that class is available in g++.

Note also that there is a template specialization for std::pair<double, double> and for std::vector<double>. These stream their contents delimited with whitespace.

Examples:
t-eoGenOp.cpp, t-eoSharing.cpp, and t-eoStateAndParser.cpp.

Definition at line 146 of file eoParam.h.


Constructor & Destructor Documentation

template<class ValueType>
eoValueParam< ValueType >::eoValueParam ( void  ) [inline]

Construct a Param.

Definition at line 151 of file eoParam.h.

template<class ValueType>
eoValueParam< ValueType >::eoValueParam ( ValueType  _defaultValue,
std::string  _longName,
std::string  _description = "No description",
char  _shortHand = 0,
bool  _required = false 
) [inline]

Construct a Param.

Parameters:
_defaultValueThe default value
_longNameLong name of the argument
_descriptionDescription of the parameter. What is useful for.
_shortHandShort name of the argument (Optional)
_requiredIf it is a necessary parameter or not

Definition at line 161 of file eoParam.h.


Member Function Documentation

template<class ValueType>
const ValueType& eoValueParam< ValueType >::value ( ) const [inline]

Get a const reference on the parameter value.

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

Returns:
parameter value

Definition at line 184 of file eoParam.h.

template<class ValueType>
void eoValueParam< ValueType >::setValue ( const std::string &  _value) [inline, virtual]

Set the value according to the speciied string.

For scalar types the textual represenation is typically quite straigtforward.

For vector<double> we expect a list of numbers, where the first is an unsigned integer taken as the length ot the vector and then successively the vector elements. Vector elements can be separated by ',', ';', or ' '. Note, however, that eoParser does not deal correctly with parameter values contianing spaces (' ').

Parameters:
_valueTextual representation of the new value

Implements eoParam.

Definition at line 224 of file eoParam.h.

Referenced by eoParser::setORcreateParam().


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Friends