10 #ifndef SACADO_PARAMETERLIBRARYBASE_HPP
11 #define SACADO_PARAMETERLIBRARYBASE_HPP
29 template <
typename FamilyType,
typename EntryType>
35 typedef std::map<string, Teuchos::RCP<FamilyType> >
FamilyMap;
55 template <
typename EvalType>
64 bool supports_analytic);
73 template <
typename EvalType>
74 bool addEntry(
const std::string& name,
76 const bool allow_overwrite =
false);
79 template <
typename EvalType>
84 template <
typename EvalType>
86 getEntry(
const std::string& name)
const;
104 template <
typename BaseValueType>
115 void print(std::ostream& os,
bool print_values =
false)
const;
134 template <
typename FamilyType,
typename EntryType>
std::ostream & operator<<(std::ostream &os, const ParameterLibraryBase< FamilyType, EntryType > &pl)
void clear()
Clear the library.
virtual ~ParameterLibraryBase()
Destructor.
ParameterLibraryBase()
Default constructor.
bool addParameterFamily(const std::string &name, bool supports_ad, bool supports_analytic)
Create a new parameter family.
FamilyMap::iterator iterator
Iterator typename.
Teuchos::RCP< typename Sacado::mpl::apply< EntryType, EvalType >::type > getEntry(const std::string &name)
Return parameter entry.
bool isParameterForType(const std::string &name) const
Determine if parameter of name name has type type.
std::map< string, Teuchos::RCP< FamilyType > > FamilyMap
Map of all parameter families.
bool addEntry(const std::string &name, const Teuchos::RCP< typename Sacado::mpl::apply< EntryType, EvalType >::type > &entry, const bool allow_overwrite=false)
Add a new parameter using custom entry.
void print(std::ostream &os, bool print_values=false) const
Print parameter library.
F::template apply< A1, A2, A3, A4, A5 >::type type
const_iterator begin() const
Iterator pointing at beginning of library.
void fillVector(const Teuchos::Array< std::string > &names, const Teuchos::Array< BaseValueType > &values, ParameterVectorBase< FamilyType, BaseValueType > &pv)
Fill a vector with the supplied parameter names and values.
iterator begin()
Iterator pointing at beginning of library.
Class to provide a centralized library for setting/retrieving numerical parameter values...
ParameterLibraryBase & operator=(const ParameterLibraryBase &)
Private to prohibit copying.
unsigned int size() const
Return number of parameters in library.
FamilyMap library
Scalar parameter library.
FamilyMap::const_iterator const_iterator
Const iterator typename.
A class to store the active parameters in a code in an ordered fashion, along with their "base" value...
bool isParameter(const std::string &name) const
Determine if parameter of name name is in the library.
iterator end()
Iterator pointing at end of library.
const_iterator end() const
Iterator pointing at end of library.