10#ifndef TEUCHOS_PARAMETER_ENTRY_H 
   11#define TEUCHOS_PARAMETER_ENTRY_H 
   20#include "Teuchos_ParameterEntryValidator.hpp" 
   24#ifndef DOXYGEN_SHOULD_SKIP_THIS 
   59  template <
typename T, 
typename = std::enable_if_t< ! std::is_same_v<std::decay_t<T>, ParameterEntry>>>
 
   61    T&& value, 
bool isDefault = 
false, 
bool isList = 
false,
 
   62    const std::string &docString = 
"",
 
   86    T value, 
bool isDefault = 
false,
 
   87    const std::string &docString = 
"",
 
   98    const any &value, 
bool isDefault = 
false 
  107  void setDocString(
const std::string &docString);
 
  111    bool isDefault = 
false,
 
  112    const std::string &docString = 
"" 
  127  T& getValue(
T *ptr) 
const;
 
  156  template <
typename T>
 
  161  bool isArray() 
const;
 
  164  bool isTwoDArray() 
const;
 
  168  bool isDefault() 
const;
 
  172  std::string docString() 
const;
 
  188  std::ostream& leftshift(std::ostream& os, 
bool printFlags = 
true) 
const;
 
  194      static const std::string 
tagName = 
"Parameter";
 
 
  209  mutable bool isUsed_;
 
  212  mutable bool isDefault_;
 
  215  std::string  docString_;
 
  221#pragma warning(disable:4251) 
 
  238  return entry.
getValue(
static_cast<T*
>(0));
 
 
  249  return entry->getValue(
static_cast<T*
>(0));
 
 
  258    e1.getAny() == 
e2.getAny()
 
  259    && 
e1.isList()== 
e2.isList()
 
  260    && 
e1.isUsed() == 
e2.isUsed()
 
  261    && 
e1.isDefault() == 
e2.isDefault()
 
 
  270  return !( 
e1 == 
e2 );
 
 
  278  return e.leftshift(os);
 
 
  286template<
typename T, 
typename>
 
  357{ 
return val_.
type() == 
typeid(
T); }
 
 
  361{ 
return isDefault_; }
 
 
  365{ 
return docString_; }
 
 
  370{ 
return validator_; }
 
 
Teuchos header file which uses auto-configuration information to include necessary C++ headers.
 
Reference-counted pointer class and non-member templated function implementations.
 
Modified boost::any class for holding a templated value.
 
This object is held as the "value" in the Teuchos::ParameterList std::map.
 
unsigned int ParameterEntryID
 
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...
 
T & getValue(T *ptr) const
Templated get method that uses the input pointer type to determine the type of parameter to return.
 
RCP< const ParameterEntryValidator > validator() const
Return the (optional) validator object.
 
ParameterEntry()
Default Constructor.
 
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.
 
std::string docString() const
Return the (optional) documentation std::string.
 
bool operator!=(const ParameterEntry &e1, const ParameterEntry &e2)
Returns true if two ParameterEntry objects are not equal.
 
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.
 
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.
 
const std::type_info & type() const
Return the type of value being stored.
 
The Teuchos namespace contains all of the classes, structs and enums used by Teuchos,...