Loading...
Searching...
No Matches
GeometricFieldRefWrap< GeoField > Class Template Reference

Expression wrap of non-const reference to GeometricField. More...

#include <GeometricFieldExpression.H>

Inheritance diagram for GeometricFieldRefWrap< GeoField >:
Collaboration diagram for GeometricFieldRefWrap< GeoField >:

Public Types

typedef GeoField this_type
 The GeometricField type.
typedef GeoField::value_type value_type
 Type to return for internal field.
typedef ListRefWrap< value_typeIntExpr
 Type to return for patchField.
typedef ListRefWrap< value_typeUncoupledPatchExpr
typedef ListTmpWrap< Field< value_type > > CoupledPatchExpr

Public Member Functions

 GeometricFieldRefWrap (this_type &elems)
 Copy construct.
 GeometricFieldRefWrap (this_type &&elems)
 Move construct.
template<typename E>
 GeometricFieldRefWrap (this_type &elems, const GeometricFieldExpression< E, typename E::IntExpr, typename E::UncoupledPatchExpr, typename E::CoupledPatchExpr, typename E::value_type > &expr)
template<typename E>
void operator= (const GeometricFieldExpression< E, typename E::IntExpr, typename E::UncoupledPatchExpr, typename E::CoupledPatchExpr, typename E::value_type > &expr)
 Assignment.
template<typename E>
this_typeevaluate (const GeometricFieldExpression< E, typename E::IntExpr, typename E::UncoupledPatchExpr, typename E::CoupledPatchExpr, typename E::value_type > &expr)
 Evaluate and return as GeoField. Rename to evaluate to make it clear it takes time? Or leave as indexing for convenience?
value_type operator[] (const label i) const
value_typeoperator[] (const label i)
auto size () const noexcept
IntExpr internalField ()
IntExpr internalField () const
UncoupledPatchExpr patchField (const label i)
UncoupledPatchExpr patchField (const label i) const
CoupledPatchExpr coupledPatchField (const label i)
CoupledPatchExpr coupledPatchField (const label i) const
template<class AccessOp>
auto access (const AccessOp &cop, const label i) const
Public Member Functions inherited from GeometricFieldExpression< GeometricFieldRefWrap< GeoField >, ListRefWrap< GeoField::value_type >, ListRefWrap< GeoField::value_type >, ListTmpWrap< Field< GeoField::value_type > >, GeoField::value_type >
 GeometricFieldExpression (const dimensionSet &dimensions, const orientedType oriented)
GeoField::value_type operator[] (const label i) const
auto size () const noexcept
const dimensionSetdimensions () const noexcept
const orientedTypeoriented () const noexcept
ListRefWrap< GeoField::value_type > internalField () const
ListRefWrap< GeoField::value_type > patchField (const label i)
ListTmpWrap< Field< GeoField::value_type > > coupledPatchField (const label i)
auto access (const Op &cop, const label i) const
GeoField & evaluate (GeoField &fld, const bool force=false) const
 Helper to evaluate a GeometricField.

Static Public Attributes

static constexpr bool is_leaf = false
Static Public Attributes inherited from GeometricFieldExpression< GeometricFieldRefWrap< GeoField >, ListRefWrap< GeoField::value_type >, ListRefWrap< GeoField::value_type >, ListTmpWrap< Field< GeoField::value_type > >, GeoField::value_type >
static constexpr bool is_leaf

Additional Inherited Members

Protected Attributes inherited from GeometricFieldExpression< GeometricFieldRefWrap< GeoField >, ListRefWrap< GeoField::value_type >, ListRefWrap< GeoField::value_type >, ListTmpWrap< Field< GeoField::value_type > >, GeoField::value_type >
const dimensionSet dimensions_
const orientedType oriented_

Detailed Description

template<class GeoField>
class Foam::Expression::GeometricFieldRefWrap< GeoField >

Expression wrap of non-const reference to GeometricField.

Definition at line 318 of file GeometricFieldExpression.H.

Member Typedef Documentation

◆ this_type

template<class GeoField>
typedef GeoField this_type

The GeometricField type.

Definition at line 336 of file GeometricFieldExpression.H.

◆ value_type

template<class GeoField>
typedef GeoField::value_type value_type

Type to return for internal field.

Definition at line 341 of file GeometricFieldExpression.H.

◆ IntExpr

template<class GeoField>
typedef ListRefWrap<value_type> IntExpr

Type to return for patchField.

Definition at line 346 of file GeometricFieldExpression.H.

◆ UncoupledPatchExpr

template<class GeoField>
typedef ListRefWrap<value_type> UncoupledPatchExpr

Definition at line 347 of file GeometricFieldExpression.H.

◆ CoupledPatchExpr

template<class GeoField>
typedef ListTmpWrap<Field<value_type> > CoupledPatchExpr

Definition at line 348 of file GeometricFieldExpression.H.

Constructor & Destructor Documentation

◆ GeometricFieldRefWrap() [1/3]

template<class GeoField>
GeometricFieldRefWrap ( this_type & elems)
inline

Copy construct.

Definition at line 361 of file GeometricFieldExpression.H.

◆ GeometricFieldRefWrap() [2/3]

template<class GeoField>
GeometricFieldRefWrap ( this_type && elems)
inline

Move construct.

Definition at line 381 of file GeometricFieldExpression.H.

◆ GeometricFieldRefWrap() [3/3]

template<class GeoField>
template<typename E>
GeometricFieldRefWrap ( this_type & elems,
const GeometricFieldExpression< E, typename E::IntExpr, typename E::UncoupledPatchExpr, typename E::CoupledPatchExpr, typename E::value_type > & expr )
inline

Definition at line 400 of file GeometricFieldExpression.H.

Member Function Documentation

◆ operator=()

template<class GeoField>
template<typename E>
void operator= ( const GeometricFieldExpression< E, typename E::IntExpr, typename E::UncoupledPatchExpr, typename E::CoupledPatchExpr, typename E::value_type > & expr)
inline

Assignment.

Definition at line 434 of file GeometricFieldExpression.H.

◆ evaluate()

template<class GeoField>
template<typename E>
this_type & evaluate ( const GeometricFieldExpression< E, typename E::IntExpr, typename E::UncoupledPatchExpr, typename E::CoupledPatchExpr, typename E::value_type > & expr)
inline

Evaluate and return as GeoField. Rename to evaluate to make it clear it takes time? Or leave as indexing for convenience?

Definition at line 454 of file GeometricFieldExpression.H.

◆ operator[]() [1/2]

template<class GeoField>
value_type operator[] ( const label i) const
inline

Definition at line 469 of file GeometricFieldExpression.H.

◆ operator[]() [2/2]

template<class GeoField>
value_type & operator[] ( const label i)
inline

Definition at line 474 of file GeometricFieldExpression.H.

◆ size()

template<class GeoField>
auto size ( ) const
inlinenoexcept

Definition at line 479 of file GeometricFieldExpression.H.

◆ internalField() [1/2]

template<class GeoField>
IntExpr internalField ( )
inline

Definition at line 484 of file GeometricFieldExpression.H.

◆ internalField() [2/2]

template<class GeoField>
IntExpr internalField ( ) const
inline

Definition at line 490 of file GeometricFieldExpression.H.

◆ patchField() [1/2]

template<class GeoField>
UncoupledPatchExpr patchField ( const label i)
inline

Definition at line 496 of file GeometricFieldExpression.H.

◆ patchField() [2/2]

template<class GeoField>
UncoupledPatchExpr patchField ( const label i) const
inline

Definition at line 525 of file GeometricFieldExpression.H.

◆ coupledPatchField() [1/2]

template<class GeoField>
CoupledPatchExpr coupledPatchField ( const label i)
inline

Definition at line 549 of file GeometricFieldExpression.H.

◆ coupledPatchField() [2/2]

template<class GeoField>
CoupledPatchExpr coupledPatchField ( const label i) const
inline

Definition at line 578 of file GeometricFieldExpression.H.

◆ access()

template<class GeoField>
template<class AccessOp>
auto access ( const AccessOp & cop,
const label i ) const
inline

Definition at line 606 of file GeometricFieldExpression.H.

Member Data Documentation

◆ is_leaf

template<class GeoField>
bool is_leaf = false
staticconstexpr

Definition at line 331 of file GeometricFieldExpression.H.


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