Loading...
Searching...
No Matches
exprTraits.H File Reference
Include dependency graph for exprTraits.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  exprTypeTraits< Type >
 Simple type identifiers for polymorphic expression values. The definitions are similar to std::integral_constant in that they provide value, value_type (and name). More...
struct  exprTypeTraits< bool >
 bool expression traits More...
struct  exprTypeTraits<::Foam::label >
 label expression traits More...
struct  exprTypeTraits<::Foam::scalar >
 scalar expression traits More...
struct  exprTypeTraits<::Foam::vector >
 vector expression traits More...
struct  exprTypeTraits<::Foam::tensor >
 tensor expression traits More...
struct  exprTypeTraits<::Foam::sphericalTensor >
 sphericalTensor expression traits More...
struct  exprTypeTraits<::Foam::symmTensor >
 symmTensor expression traits More...
struct  nameOp< expressions::valueTypeCode >
 A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID. More...

Namespaces

namespace  Foam::expressions
 A namespace for expression-related classes/traits etc.
namespace  Foam::expressions::Detail
 A namespace for implementation details related to expressions.
namespace  Foam
 Namespace for OpenFOAM.

Macros

#define defineExprTypeTraits(Type, Name, Rank, NumCmpts)

Enumerations

enum class  valueTypeCode : unsigned char {
  NONE = 0 , INVALID , type_bool , type_label ,
  type_scalar , type_vector , type_sphericalTensor , type_symmTensor ,
  type_tensor
}
 An enumeration of known and expected expression value types. More...

Functions

valueTypeCode valueTypeCodeOf (const word &dataTypeName, const expressions::valueTypeCode deflt=expressions::valueTypeCode::INVALID)
 From string to valueTypeCode (if any).
::Foam::direction nComponents (const expressions::valueTypeCode) noexcept
 The number of components associated with given valueTypeCode.
::Foam::direction rank (const expressions::valueTypeCode) noexcept
 The vector-space rank associated with given valueTypeCode.
word name (const expressions::valueTypeCode typeCode)
 A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.

Detailed Description

Original source file exprTraits.H

Definition in file exprTraits.H.

Macro Definition Documentation

◆ defineExprTypeTraits

#define defineExprTypeTraits ( Type,
Name,
Rank,
NumCmpts )
Value:
\
template<> \
struct exprTypeTraits<Type> \
{ \
typedef Type value_type; \
static constexpr const char* const name = #Name ; \
static constexpr \
::Foam::expressions::valueTypeCode::type_##Name ; \
static constexpr ::Foam::direction rank = Rank ; \
static constexpr ::Foam::direction nComponents = NumCmpts ; \
};
auto & name
valueTypeCode
An enumeration of known and expected expression value types.
Definition exprTraits.H:82

Definition at line 161 of file exprTraits.H.