Stores a user-provided pointer to a parameter. More...
#include <parameter_multiaccessor.h>
Public Member Functions | |
ParameterMultiAccessor () | |
ParameterMultiAccessor (const ParameterAccessor< T > ¶m_accessor) | |
~ParameterMultiAccessor () | |
virtual ParameterAccessor< T > & | operator= (T *) override |
virtual void | set (const T &new_value) override |
virtual const T & | get () const override |
virtual std::unique_ptr< ParameterAccessor< T > > | clone () const override |
void | push_back (const ParameterAccessor< T > &new_accessor) |
std::size_t | size () const |
ParameterProxy< T > | operator* () |
ConstParameterProxy< T > | operator* () const |
Private Attributes | |
std::vector< ParameterAccessor< T > * > | _accessors |
Stores a user-provided pointer to a parameter.
Accessor object allowing reading and modification of the independent variables in a parameter sensitivity calculation.
This is the "default" ParameterAccessor subclass: it simply stores a user-provided pointer to the parameter, and modifies the value at that location in memory.
Definition at line 47 of file parameter_multiaccessor.h.
|
inline |
Constructor: no parameters attached yet
Definition at line 53 of file parameter_multiaccessor.h.
|
inline |
Constructor: take the first sub-accessor for the parameter
Definition at line 58 of file parameter_multiaccessor.h.
|
inline |
Definition at line 64 of file parameter_multiaccessor.h.
References libMesh::ParameterMultiAccessor< T >::_accessors.
|
inlineoverridevirtual |
Implements libMesh::ParameterAccessor< T >.
Definition at line 119 of file parameter_multiaccessor.h.
References libMesh::ParameterMultiAccessor< T >::_accessors.
|
inlineoverridevirtual |
Getter: get the value of the parameter we access.
Implements libMesh::ParameterAccessor< T >.
Definition at line 103 of file parameter_multiaccessor.h.
References libMesh::ParameterMultiAccessor< T >::_accessors.
|
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.
|
inlineoverridevirtual |
A simple reseater won't work with a multi-accessor
Reimplemented from libMesh::ParameterAccessor< T >.
Definition at line 74 of file parameter_multiaccessor.h.
|
inline |
Definition at line 129 of file parameter_multiaccessor.h.
References libMesh::ParameterMultiAccessor< T >::_accessors, and libMesh::ParameterAccessor< T >::clone().
|
inlineoverridevirtual |
Setter: change the value of the parameter we access.
Implements libMesh::ParameterAccessor< T >.
Definition at line 84 of file parameter_multiaccessor.h.
References libMesh::ParameterMultiAccessor< T >::_accessors.
|
inline |
Definition at line 138 of file parameter_multiaccessor.h.
References libMesh::ParameterMultiAccessor< T >::_accessors.
|
private |
Definition at line 141 of file parameter_multiaccessor.h.
Referenced by libMesh::ParameterMultiAccessor< T >::clone(), libMesh::ParameterMultiAccessor< T >::get(), libMesh::ParameterMultiAccessor< T >::push_back(), libMesh::ParameterMultiAccessor< T >::set(), libMesh::ParameterMultiAccessor< T >::size(), and libMesh::ParameterMultiAccessor< T >::~ParameterMultiAccessor().