100 if (this->size() <= 0)
103 <<
"Trying to pop result from a empty queue" <<
endl
111 popChecked<scalar>(result)
112 || popChecked<vector>(result)
113 || popChecked<tensor>(result)
114 || popChecked<symmTensor>(result)
115 || popChecked<sphericalTensor>(result)
121 <<
"Unsupported value type " << valueType() <<
nl
140 if (valueType() != result.valueType())
143 <<
"Type of pushed value " << result.valueType()
144 <<
" is not the expected type " << valueType() <<
nl
150 pushChecked<scalar>(result)
151 || pushChecked<vector>(result)
152 || pushChecked<tensor>(result)
153 || pushChecked<symmTensor>(result)
154 || pushChecked<sphericalTensor>(result)
160 <<
"Unsupported value type " << valueType() <<
nl
171void Foam::expressions::exprResultStack::operator=
185void Foam::expressions::exprResultStack::operator=
187 const exprResult&
rhs
200 rhs.getUniform(1,
false)
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
A stack of polymorphic fields. Can be used to build a list of results one at a time.
exprResult pop()
Pop the last value as an expression result.
exprResultStack()
Default construct.
void push(const exprResult &result)
Push an expression result value.
A polymorphic field/result from evaluating an expression.
const word & valueType() const noexcept
Basic type for the field or single value.
label size() const
The field or object size.
virtual void operator=(const exprResult &rhs)
Copy assignment.
void needsReset(bool val)
Adjusts the internal needsReset value.
exprResult()
Default construct.
bool hasValue() const
Has a value?
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
#define DebugInFunction
Report an information message using Foam::Info.
A namespace for expression-related classes/traits etc.
Ostream & endl(Ostream &os)
Add newline and flush stream.
errorManip< error > abort(error &err)
void rhs(fvMatrix< typename Expr::value_type > &m, const Expr &expression)
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
constexpr char nl
The newline '\n' character (0x0a).