SpatialOps::OperatorTypeBuilder< OpT, SrcT, DestT > Struct Template Reference

Builds operator types from field types and operator type descriptors. More...

#include <FVStaggeredOperatorTypes.h>

Detailed Description

template<typename OpT, typename SrcT, typename DestT>
struct SpatialOps::OperatorTypeBuilder< OpT, SrcT, DestT >

Builds operator types from field types and operator type descriptors.

James C. Sutherland
Template Parameters
OpTthe type of operator (Interpolant, Gradient, Divergence)
SrcTthe field type that the operator acts on
DestTthe field type that the operator produces

Implementations of this struct define a public type called type. This is the fully qualified operator type.

Note that if the compiler fails, it is likely because the requested operator type is not supported. There is no default implementation for this struct. All implementations are fully specialized for the supported types.
Example Usage
typedef OperatorTypeBuilder<Interpolant,SVolField, XVolField >::type InterpSVolXVol;
typedef OperatorTypeBuilder<Divergence, XSurfYField,XVolField >::type DivX;
typedef OperatorTypeBuilder<Gradient, VolT, FaceTypes<VolT>::XFace>::type GradX;

Note that we only provide fully specialized versions of this template so that unsupported operator types cannot be inadvertently formed.

See also
Inferring operator types
Using stencils with fields

Definition at line 66 of file FVStaggeredOperatorTypes.h.

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