Base class for reading/writing sensitivity parameters. More...
#include <parameter_accessor.h>
Public Member Functions | |
virtual | ~ParameterAccessor () |
virtual void | set (const T &new_value)=0 |
virtual const T & | get () const =0 |
virtual ParameterAccessor< T > & | operator= (T *) |
ParameterProxy< T > | operator* () |
ConstParameterProxy< T > | operator* () const |
virtual std::unique_ptr< ParameterAccessor< T > > | clone () const =0 |
Base class for reading/writing sensitivity parameters.
Accessor object allowing reading and modification of the independent variables in a parameter sensitivity calculation.
This is an abstract base class. Derived objects may simply modify the parameter value at some address in memory, or may call arbitrary setter/getter functions.
Definition at line 56 of file parameter_accessor.h.
|
inlinevirtual |
Virtual destructor - we'll be deleting subclasses from pointers-to-ParameterAccessor
Definition at line 63 of file parameter_accessor.h.
|
pure virtual |
Implemented in libMesh::ParameterMultiAccessor< T >, libMesh::ParameterMultiPointer< T >, libMesh::ParsedFEMFunctionParameter< T >, libMesh::ParsedFunctionParameter< T >, and libMesh::ParameterPointer< T >.
Referenced by libMesh::ParameterMultiAccessor< T >::push_back().
|
pure virtual |
Getter: get the value of the parameter we access.
Implemented in libMesh::ParameterMultiAccessor< T >, libMesh::ParameterMultiPointer< T >, libMesh::ParsedFEMFunctionParameter< T >, libMesh::ParsedFunctionParameter< T >, and libMesh::ParameterPointer< T >.
|
inline |
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.
|
inline |
Definition at line 93 of file parameter_accessor.h.
|
inlinevirtual |
Reseater: change the location of the parameter we access. This is included for backward compatibility, but will be deprecated in some classes and not implemented in others.
Reimplemented in libMesh::ParameterMultiAccessor< T >, libMesh::ParameterPointer< T >, libMesh::ParsedFEMFunctionParameter< T >, libMesh::ParsedFunctionParameter< T >, and libMesh::ParameterMultiPointer< T >.
Definition at line 82 of file parameter_accessor.h.
|
pure virtual |
Setter: change the value of the parameter we access.
Implemented in libMesh::ParameterMultiAccessor< T >, libMesh::ParameterMultiPointer< T >, libMesh::ParsedFEMFunctionParameter< T >, libMesh::ParsedFunctionParameter< T >, and libMesh::ParameterPointer< T >.