43 #ifndef TEUCHOS_PARAMETER_ENTRY_H 44 #define TEUCHOS_PARAMETER_ENTRY_H 57 #ifndef DOXYGEN_SHOULD_SKIP_THIS 91 T value,
bool isDefault =
false,
bool isList =
false,
92 const std::string &docString =
"",
113 T value,
bool isDefault =
false,
114 const std::string &docString =
"",
125 const any &value,
bool isDefault =
false 134 void setDocString(
const std::string &docString);
138 bool isDefault =
false,
139 const std::string &docString =
"" 154 T& getValue(T *ptr)
const;
161 any& getAny(
bool activeQry =
true);
168 const any& getAny(
bool activeQry =
true)
const;
183 template <
typename T>
188 bool isArray()
const;
191 bool isTwoDArray()
const;
195 bool isDefault()
const;
199 std::string docString()
const;
215 std::ostream& leftshift(std::ostream& os,
bool printFlags =
true)
const;
221 static const std::string tagName =
"Parameter";
247 #pragma warning(push) 248 #pragma warning(disable:4251) 265 return entry.
getValue(static_cast<T*>(0));
276 return entry->
getValue(static_cast<T*>(0));
297 return !( e1 == e2 );
319 const std::string &docString_in,
324 isDefault_(isDefault_in),
325 docString_(docString_in),
326 validator_(validator_in)
334 T value_in,
bool isDefault_in,
const std::string &docString_in,
340 if(docString_in.length())
342 if(validator_in.
get())
353 return const_cast<T&
>(Teuchos::any_cast<T>(
val_ ));
359 if (activeQry ==
true) {
368 if (activeQry ==
true) {
380 template <
typename T>
383 {
return val_.
type() ==
typeid(T); }
Modified boost::any class for holding a templated value.
void setValue(T value, bool isDefault=false, const std::string &docString="", RCP< const ParameterEntryValidator > const &validator=null)
Templated set method that uses the input value type to determine the type of parameter.
ParameterEntry()
Default Constructor.
bool isDefault_
Was this parameter a default value assigned by a "get" function?
This object is held as the "value" in the Teuchos::ParameterList std::map.
static const std::string & getTagName()
Get the string that should be used as the tag name for all parameters when they are serialized to xml...
Teuchos header file which uses auto-configuration information to include necessary C++ headers...
Modified boost::any class, which is a container for a templated value.
T * get() const
Get the raw C++ pointer to the underlying object.
bool operator==(const ParameterEntry &e1, const ParameterEntry &e2)
Returns true if two ParameterEntry objects are equal.
bool operator!=(const ParameterEntry &e1, const ParameterEntry &e2)
Returns true if two ParameterEntry objects are not equal.
std::ostream & leftshift(std::ostream &os, bool printFlags=true) const
Output a non-list parameter to the given output stream.
T & getValue(RCP< const ParameterEntry > entry)
A templated helper function for returning the value of type T held in the ParameterEntry object...
bool isDefault() const
Indicate whether this entry takes on the default value.
std::string docString_
Optional documentation field.
any val_
Templated Datatype.
bool isList() const
Return whether or not the value itself is a list.
RCP< const ParameterEntryValidator > validator() const
Return the (optional) validator object.
A list of parameters of arbitrary type.
RCP< const ParameterEntryValidator > validator_
Optional validator object.
T & getValue(const ParameterEntry &entry)
A templated helper function for returning the value of type T held in the ParameterEntry object...
#define TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT
T & getValue(T *ptr) const
Templated get method that uses the input pointer type to determine the type of parameter to return...
unsigned int ParameterEntryID
bool isType() const
Test the type of the data being contained.
const std::type_info & type() const
Return the type of value being stored.
any & getAny(bool activeQry=true)
Direct access to the Teuchos::any data value underlying this object. The bool argument activeQry (def...
bool isUsed() const
Return whether or not the value has been used; i.e., whether or not the value has been retrieved via ...
std::string docString() const
Return the (optional) documentation std::string.
Smart reference counting pointer class for automatic garbage collection.
Reference-counted pointer class and non-member templated function implementations.
std::ostream & operator<<(std::ostream &os, const ParameterEntry &e)
Output stream operator for handling the printing of parameter entries.
bool isUsed_
Has this parameter been accessed by a "get" function?