GeometricFieldRefWrap< GeoField > Class Template Reference

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

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

Public Types

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

Public Member Functions

 GeometricFieldRefWrap (this_type &elems)
 Copy construct. More...
 
 GeometricFieldRefWrap (this_type &&elems)
 Move construct. More...
 
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. More...
 
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? More...
 
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 > internalField ()
 
ListRefWrap< GeoField::value_type > patchField (const label i)
 
ListRefWrap< GeoField::value_type > patchField (const label i) const
 
ListTmpWrap< Field< GeoField::value_type > > coupledPatchField (const label i)
 
ListTmpWrap< Field< GeoField::value_type > > coupledPatchField (const label i) const
 
auto access (const Op &cop, const label i) const
 
GeoField & evaluate (GeoField &fld, const bool force=false) const
 Helper to evaluate a GeometricField. More...
 

Static Public Attributes

static constexpr bool is_leaf = false
 
static constexpr bool is_pointField
 True if GeoField is associated with a pointMesh. More...
 
- 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 305 of file GeometricFieldExpression.H.

Member Typedef Documentation

◆ this_type

typedef GeoField this_type

The GeometricField type.

Definition at line 329 of file GeometricFieldExpression.H.

◆ value_type

typedef GeoField::value_type value_type

Type to return for internal field.

Definition at line 334 of file GeometricFieldExpression.H.

◆ IntExpr

Type to return for patchField.

Definition at line 339 of file GeometricFieldExpression.H.

◆ UncoupledPatchExpr

◆ CoupledPatchExpr

Constructor & Destructor Documentation

◆ GeometricFieldRefWrap() [1/3]

GeometricFieldRefWrap ( this_type elems)
inline

Copy construct.

Definition at line 354 of file GeometricFieldExpression.H.

◆ GeometricFieldRefWrap() [2/3]

GeometricFieldRefWrap ( this_type &&  elems)
inline

Move construct.

Definition at line 374 of file GeometricFieldExpression.H.

◆ GeometricFieldRefWrap() [3/3]

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 394 of file GeometricFieldExpression.H.

References ListExpression< E >::evaluate().

Here is the call graph for this function:

Member Function Documentation

◆ operator=()

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

Assignment.

Definition at line 428 of file GeometricFieldExpression.H.

References ListExpression< E >::evaluate().

Here is the call graph for this function:

◆ evaluate()

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 448 of file GeometricFieldExpression.H.

References ListExpression< E >::evaluate().

Here is the call graph for this function:

◆ operator[]() [1/2]

value_type operator[] ( const label  i) const
inline

Definition at line 462 of file GeometricFieldExpression.H.

◆ operator[]() [2/2]

value_type& operator[] ( const label  i)
inline

Definition at line 467 of file GeometricFieldExpression.H.

◆ size()

auto size ( ) const
inlinenoexcept

Definition at line 472 of file GeometricFieldExpression.H.

◆ internalField() [1/2]

IntExpr internalField ( )
inline

Definition at line 477 of file GeometricFieldExpression.H.

References fld.

◆ internalField() [2/2]

IntExpr internalField ( ) const
inline

Definition at line 483 of file GeometricFieldExpression.H.

References fld.

◆ patchField() [1/2]

UncoupledPatchExpr patchField ( const label  i)
inline

Definition at line 489 of file GeometricFieldExpression.H.

References fld, GeometricFieldRefWrap< GeoField >::is_pointField, and Foam::isA_constCast().

Here is the call graph for this function:

◆ patchField() [2/2]

UncoupledPatchExpr patchField ( const label  i) const
inline

Definition at line 510 of file GeometricFieldExpression.H.

References fld, GeometricFieldRefWrap< GeoField >::is_pointField, and Foam::isA().

Here is the call graph for this function:

◆ coupledPatchField() [1/2]

CoupledPatchExpr coupledPatchField ( const label  i)
inline

Definition at line 531 of file GeometricFieldExpression.H.

References fld, GeometricFieldRefWrap< GeoField >::is_pointField, and Foam::isA_constCast().

Here is the call graph for this function:

◆ coupledPatchField() [2/2]

CoupledPatchExpr coupledPatchField ( const label  i) const
inline

Definition at line 552 of file GeometricFieldExpression.H.

References fld, GeometricFieldRefWrap< GeoField >::is_pointField, and Foam::isA().

Here is the call graph for this function:

◆ access()

auto access ( const AccessOp &  cop,
const label  i 
) const
inline

Definition at line 577 of file GeometricFieldExpression.H.

Member Data Documentation

◆ is_leaf

constexpr bool is_leaf = false
static

Definition at line 318 of file GeometricFieldExpression.H.

◆ is_pointField

constexpr bool is_pointField
static
Initial value:
=
std::is_same_v<pointMesh, typename GeoField::Mesh>

True if GeoField is associated with a pointMesh.

Definition at line 323 of file GeometricFieldExpression.H.

Referenced by GeometricFieldRefWrap< GeoField >::coupledPatchField(), and GeometricFieldRefWrap< GeoField >::patchField().


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