43#ifndef TEUCHOS_PARAMETER_ENTRY_H
44#define TEUCHOS_PARAMETER_ENTRY_H
57#ifndef DOXYGEN_SHOULD_SKIP_THIS
168 const any&
getAny(
bool activeQry =
true)
const;
183 template <
typename T>
215 std::ostream&
leftshift(std::ostream& os,
bool printFlags =
true)
const;
221 static const std::string tagName =
"Parameter";
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,
328 static_assert(std::is_same<typename Teuchos::is_comparable<T>::type, std::true_type>::value &&
329 std::is_same<typename Teuchos::is_printable<T>::type, std::true_type>::value,
330 "ParameterList values must be comparable and printable!");
338 T value_in,
bool isDefault_in,
const std::string &docString_in,
342 static_assert(std::is_same<typename Teuchos::is_comparable<T>::type, std::true_type>::value &&
343 std::is_same<typename Teuchos::is_printable<T>::type, std::true_type>::value,
344 "ParameterList values must be comparable and printable!");
347 if(docString_in.length())
349 if(validator_in.
get())
366 if (activeQry ==
true) {
375 if (activeQry ==
true) {
390{
return val_.type() ==
typeid(T); }
Teuchos header file which uses auto-configuration information to include necessary C++ headers.
#define TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT
Reference-counted pointer class and non-member templated function implementations.
Modified boost::any class for holding a templated value.
ParameterEntry()
Default Constructor.
void setValidator(RCP< const ParameterEntryValidator > const &validator)
Set the validator.
unsigned int ParameterEntryID
std::string docString_
Optional documentation field.
bool isType() const
Test the type of the data being contained.
bool isUsed() const
Return whether or not the value has been used; i.e., whether or not the value has been retrieved via ...
any & getAny(bool activeQry=true)
Direct access to the Teuchos::any data value underlying this object. The bool argument activeQry (def...
bool isDefault_
Was this parameter a default value assigned by a "get" function?
T & getValue(T *ptr) const
Templated get method that uses the input pointer type to determine the type of parameter to return.
ParameterList & setList(bool isDefault=false, const std::string &docString="")
Create a parameter entry that is an empty list.
ParameterEntry & operator=(const ParameterEntry &source)
Replace the current parameter entry with source.
RCP< const ParameterEntryValidator > validator_
Optional validator object.
RCP< const ParameterEntryValidator > validator() const
Return the (optional) validator object.
ParameterEntry()
Default Constructor.
bool isTwoDArray() const
Test if the type of data being contained is a Teuchos::TwoDArray.
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.
T & getValue(const ParameterEntry &entry)
A templated helper function for returning the value of type T held in the ParameterEntry object,...
bool operator==(const ParameterEntry &e1, const ParameterEntry &e2)
Returns true if two ParameterEntry objects are equal.
bool isArray() const
Test if the type of data being contained is a Teuchos::Array.
std::ostream & leftshift(std::ostream &os, bool printFlags=true) const
Output a non-list parameter to the given output stream.
void setDocString(const std::string &docString)
Set the documentation std::string.
bool isUsed_
Has this parameter been accessed by a "get" function?
std::string docString() const
Return the (optional) documentation std::string.
bool isList() const
Return whether or not the value itself is a list.
bool operator!=(const ParameterEntry &e1, const ParameterEntry &e2)
Returns true if two ParameterEntry objects are not equal.
any val_
Templated Datatype.
void setAnyValue(const any &value, bool isDefault=false)
Set the value as an any object.
T & getValue(RCP< const ParameterEntry > entry)
A templated helper function for returning the value of type T held in the ParameterEntry object,...
std::ostream & operator<<(std::ostream &os, const ParameterEntry &e)
Output stream operator for handling the printing of parameter entries.
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...
bool isDefault() const
Indicate whether this entry takes on the default value.
A list of parameters of arbitrary type.
Ptr< T > ptr(T *p)
Create a pointer to an object from a raw pointer.
Smart reference counting pointer class for automatic garbage collection.
T * get() const
Get the raw C++ pointer to the underlying object.
Modified boost::any class, which is a container for a templated value.
ValueType & any_cast(any &operand)
Used to extract the templated value held in Teuchos::any to a given value type.