Stores a pointer to a parsed function and a string for the parameter. More...
#include <parsed_function_parameter.h>
Public Member Functions | |
ParsedFunctionParameter (ParsedFunction< T > &func_ref, const std::string ¶m_name) | |
virtual ParameterAccessor< T > & | operator= (T *) |
virtual void | set (const T &new_value) |
virtual const T & | get () const |
virtual std::unique_ptr< ParameterAccessor< T > > | clone () const |
ParameterProxy< T > | operator* () |
ConstParameterProxy< T > | operator* () const |
Private Attributes | |
ParsedFunction< T > & | _func |
std::string | _name |
libMesh::Number | _current_val |
Stores a pointer to a parsed function and a string for the parameter.
Accessor object allowing reading and modification of the independent variables in a parameter sensitivity calculation.
This ParameterAccessor subclass is specific to ParsedFunction objects: it stores a pointer to the ParsedFunction and a string describing the parameter (an inline variable) name to be accessed.
Definition at line 45 of file parsed_function_parameter.h.
|
inline |
Constructor: take the function to be modified and the name of the inline variable within it which represents our parameter.
The restrictions of get_inline_value() and set_inline_value() in ParsedFunction apply to this interface as well.
Definition at line 59 of file parsed_function_parameter.h.
|
inlinevirtual |
Implements libMesh::ParameterAccessor< T >.
Definition at line 87 of file parsed_function_parameter.h.
References libMesh::ParsedFunctionParameter< T >::_func, and libMesh::ParsedFunctionParameter< T >::_name.
|
inlinevirtual |
Getter: get the value of the parameter we access.
Implements libMesh::ParameterAccessor< T >.
Definition at line 79 of file parsed_function_parameter.h.
References libMesh::ParsedFunctionParameter< T >::_current_val, libMesh::ParsedFunctionParameter< T >::_func, libMesh::ParsedFunctionParameter< T >::_name, and libMesh::ParsedFunction< Output, OutputGradient >::get_inline_value().
|
inlineinherited |
Proxy: for backward compatibility, we allow codes to treat a ParameterAccessor as if it were a simple pointer-to-value. We can't safely allow "Number * n = parameter_vector[p]" to compile, but we can allow "*parameter_vector[p] += deltap" to work.
Definition at line 91 of file parameter_accessor.h.
|
inlineinherited |
Definition at line 93 of file parameter_accessor.h.
|
inlinevirtual |
A simple reseater won't work with a parsed function
Reimplemented from libMesh::ParameterAccessor< T >.
Definition at line 67 of file parsed_function_parameter.h.
|
inlinevirtual |
Setter: change the value of the parameter we access.
Implements libMesh::ParameterAccessor< T >.
Definition at line 72 of file parsed_function_parameter.h.
References libMesh::ParsedFunctionParameter< T >::_func, libMesh::ParsedFunctionParameter< T >::_name, and libMesh::ParsedFunction< Output, OutputGradient >::set_inline_value().
|
mutableprivate |
Definition at line 99 of file parsed_function_parameter.h.
Referenced by libMesh::ParsedFunctionParameter< T >::get().
|
private |
Definition at line 93 of file parsed_function_parameter.h.
Referenced by libMesh::ParsedFunctionParameter< T >::clone(), libMesh::ParsedFunctionParameter< T >::get(), and libMesh::ParsedFunctionParameter< T >::set().
|
private |
Definition at line 94 of file parsed_function_parameter.h.
Referenced by libMesh::ParsedFunctionParameter< T >::clone(), libMesh::ParsedFunctionParameter< T >::get(), and libMesh::ParsedFunctionParameter< T >::set().