30#ifndef SACADO_PARAMETERREGISTRATION_HPP
31#define SACADO_PARAMETERREGISTRATION_HPP
45 template <
typename EvalType,
typename EvalTypeTraits = DefaultEvalTypeTraits>
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));
Abstract class that provides access to a parameter value in a code for the parameter library....
bool isParameter(const std::string &name) const
Determine if parameter of name name is in the library.
bool addParameterFamily(const std::string &name, bool supports_ad, bool supports_analytic)
Create a new parameter family.
Parameter class for simple registration of a parameter with a Parameter Library. Requires a parameter...
ScalarParameterLibrary< EvalTypeTraits > ParamLib
ParameterRegistration(const std::string &name_, ParameterAccessor< EvalType, EvalTypeTraits > *access_, const Teuchos::RCP< ParamLib > ¶mLib)
Constructor: Registers the parameter with the Parameter Library.
virtual ~ParameterRegistration()
Destructor.
virtual void setRealValue(double value)
Set real parameter value.
ParameterRegistration(const std::string &name_, ParameterAccessor< EvalType, EvalTypeTraits > *access_, ParamLib ¶mLib)
Constructor: Registers the parameter with the Parameter Library.
ParameterAccessor< EvalType, EvalTypeTraits > * access
Pointer to source function.
EvalTypeTraits::template apply< EvalType >::type ScalarT
Scalar type.
virtual const ScalarT & getValue() const
Get parameter value using ParameterAccessor.
virtual void setValue(const ScalarT &value)
Set parameter values using ParameterAccessor.
A base class for scalar parameter values.
Specialization of Sacado::ParameterLibraryBase for scalar parameters.