$extrastylesheet
libMesh::ParameterAccessor< T > Class Template Reference

#include <parameter_accessor.h>

Inheritance diagram for libMesh::ParameterAccessor< T >:

List of all members.

Public Member Functions

virtual ~ParameterAccessor ()
virtual void set (const T &new_value)=0
virtual const T & get () const =0
virtual void operator= (T *)
ParameterProxy< T > operator* ()
ConstParameterProxy< T > operator* () const

Detailed Description

template<typename T = Number>
class libMesh::ParameterAccessor< T >

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 48 of file parameter_accessor.h.


Constructor & Destructor Documentation

template<typename T = Number>
virtual libMesh::ParameterAccessor< T >::~ParameterAccessor ( ) [inline, virtual]

Virtual destructor - we'll be deleting subclasses from pointers-to-ParameterAccessor

Definition at line 55 of file parameter_accessor.h.

{}

Member Function Documentation

template<typename T = Number>
virtual const T& libMesh::ParameterAccessor< T >::get ( ) const [pure virtual]

Getter: get the value of the parameter we access.

Implemented in libMesh::ParameterPointer< T >.

template<typename T = Number>
ParameterProxy<T> libMesh::ParameterAccessor< T >::operator* ( ) [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 80 of file parameter_accessor.h.

{ return ParameterProxy<T>(*this); }
template<typename T = Number>
ConstParameterProxy<T> libMesh::ParameterAccessor< T >::operator* ( ) const [inline]

Definition at line 82 of file parameter_accessor.h.

{ return ConstParameterProxy<T>(*this); }
template<typename T = Number>
virtual void libMesh::ParameterAccessor< T >::operator= ( T *  ) [inline, virtual]

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::ParameterPointer< T >.

Definition at line 72 of file parameter_accessor.h.

{ libmesh_error(); }
template<typename T = Number>
virtual void libMesh::ParameterAccessor< T >::set ( const T &  new_value) [pure virtual]

Setter: change the value of the parameter we access.

Implemented in libMesh::ParameterPointer< T >.


The documentation for this class was generated from the following file: