Memosa-FVM  0.2
FloatValEvaluator< T > Class Template Reference

#include <FloatVarDict.h>

Public Member Functions

 FloatValEvaluator (const FloatVal< T > &fval, const StorageSite &site)
 
 FloatValEvaluator (const T val)
 
operator[] (const int i) const
 

Private Attributes

const T _constant
 
const bool _isField
 
shared_ptr< Array< T > > _arrayPtr
 

Detailed Description

template<class T>
class FloatValEvaluator< T >

In dealing with inputs defined by FloatingVarDict we can use FloatValEvaluator as an array to read values at each index in the specified site. When the input value is a field this will return the corresponding array value from the Field; otherwise the constant value is returned for all indices.

Definition at line 110 of file FloatVarDict.h.

Constructor & Destructor Documentation

template<class T>
FloatValEvaluator< T >::FloatValEvaluator ( const FloatVal< T > &  fval,
const StorageSite site 
)
inline

Definition at line 113 of file FloatVarDict.h.

References FloatValEvaluator< T >::_arrayPtr, FloatValEvaluator< T >::_isField, FloatVal< T >::field, and Field::getArrayPtr().

113  :
114  _constant(fval.constant),
115  _isField(fval.field != 0),
116  _arrayPtr()
117  {
118  if (_isField)
119  _arrayPtr = dynamic_pointer_cast<Array<T> >(fval.field->getArrayPtr(site));
120 
121  }
Field * field
Definition: FloatVarDict.h:34
shared_ptr< Array< T > > _arrayPtr
Definition: FloatVarDict.h:137
const bool _isField
Definition: FloatVarDict.h:136
Definition: Array.h:14
shared_ptr< ArrayBase > getArrayPtr(const StorageSite &)
Definition: Field.cpp:63
template<class T>
FloatValEvaluator< T >::FloatValEvaluator ( const T  val)
inline

Definition at line 123 of file FloatVarDict.h.

123  :
124  _constant(val),
125  _isField(false),
126  _arrayPtr(0)
127  {}
shared_ptr< Array< T > > _arrayPtr
Definition: FloatVarDict.h:137
const bool _isField
Definition: FloatVarDict.h:136

Member Function Documentation

template<class T>
T FloatValEvaluator< T >::operator[] ( const int  i) const
inline

Definition at line 129 of file FloatVarDict.h.

References FloatValEvaluator< T >::_arrayPtr, FloatValEvaluator< T >::_constant, and FloatValEvaluator< T >::_isField.

130  {
131  return (_isField ? (*_arrayPtr)[i] : _constant);
132  }
shared_ptr< Array< T > > _arrayPtr
Definition: FloatVarDict.h:137
const bool _isField
Definition: FloatVarDict.h:136

Member Data Documentation

template<class T>
shared_ptr<Array<T> > FloatValEvaluator< T >::_arrayPtr
private
template<class T>
const bool FloatValEvaluator< T >::_isField
private

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