30 #ifndef SACADO_PARAMETERREGISTRATION_HPP 31 #define SACADO_PARAMETERREGISTRATION_HPP 45 template <
typename EvalType,
typename EvalTypeTraits = DefaultEvalTypeTraits>
46 class ParameterRegistration :
50 typedef typename EvalTypeTraits::template apply<EvalType>::type
ScalarT;
65 if (!paramLib.template isParameterForType<EvalType>(
name))
66 paramLib.template addEntry<EvalType>(
name, Teuchos::rcp(
this,
false));
72 const Teuchos::RCP<ParamLib>& paramLib)
75 if (paramLib != Teuchos::null) {
76 if (!paramLib->isParameter(
name))
77 paramLib->addParameterFamily(
name,
true,
false);
78 if (!paramLib->template isParameterForType<EvalType>(
name)) {
79 paramLib->template addEntry<EvalType>(
name, Teuchos::rcp(
this,
false));
111 #endif // SACADO_PARAMETERREGISTRATION_HPP virtual const ScalarT & getValue() const
Get parameter value using ParameterAccessor.
ScalarParameterLibrary< EvalTypeTraits > ParamLib
EvalTypeTraits::template apply< EvalType >::type ScalarT
Scalar type.
ParameterAccessor< EvalType, EvalTypeTraits > * access
Pointer to source function.
bool addParameterFamily(const std::string &name, bool supports_ad, bool supports_analytic)
Create a new parameter family.
virtual void setValue(const ScalarT &value)
Set parameter values using ParameterAccessor.
ParameterRegistration(const std::string &name_, ParameterAccessor< EvalType, EvalTypeTraits > *access_, ParamLib ¶mLib)
Constructor: Registers the parameter with the Parameter Library.
bool isParameter(const std::string &name) const
Determine if parameter of name name is in the library.
ParameterRegistration(const std::string &name_, ParameterAccessor< EvalType, EvalTypeTraits > *access_, const Teuchos::RCP< ParamLib > ¶mLib)
Constructor: Registers the parameter with the Parameter Library.
A base class for scalar parameter values.
virtual ~ParameterRegistration()
Destructor.
virtual void setRealValue(double value)
Set real parameter value.
Specialization of Sacado::ParameterLibraryBase for scalar parameters.
Abstract class that provides access to a parameter value in a code for the parameter library...