Skip to content

scram::mef::NaryExpression< T, 2 >

Binary expression. More...

#include <expression.h>

Inherits from scram::mef::ExpressionFormula< NaryExpression< T, 2 > >, scram::mef::Expression, boost::noncopyable

Public Functions

Name
NaryExpression(Expression * arg_one, Expression * arg_two)<br>Two expression argument constructor.
virtual voidValidate() const override<br>Validates the expression.
virtual Intervalinterval() override
template <typename F > <br>doubleCompute(F && eval)<br>Computes the expression value with a given argument value extractor.

Additional inherited members

Public Functions inherited from scram::mef::ExpressionFormula< NaryExpression< T, 2 > >

Name
virtual doublevalue()<br>Computes the expression with argument expression default values.
Expression(std::vector< Expression * > args ={})<br>Constructor for use by derived classes to register their arguments.

Public Functions inherited from scram::mef::Expression

Name
Expression(std::vector< Expression * > args ={})<br>Constructor for use by derived classes to register their arguments.
virtual~Expression() =default
const std::vector< Expression * > &args() const
virtual doublevalue() =0
virtual boolIsDeviate()<br>Determines if the value of the expression contains deviate expressions.
doubleSample()
voidReset()<br>This routine resets the sampling to get new values.

Protected Functions inherited from scram::mef::Expression

Name
voidAddArg(Expression * arg)<br>Registers an additional argument expression.

Detailed Description

cpp
template <typename T >
class scram::mef::NaryExpression< T, 2 >;

Binary expression.

Public Functions Documentation

function NaryExpression

cpp
inline explicit NaryExpression(
    Expression * arg_one,
    Expression * arg_two
)

Two expression argument constructor.

function Validate

cpp
inline virtual void Validate() const override

Validates the expression.

Exceptions:

Reimplements: scram::mef::Expression::Validate

This late validation is due to parameters that are defined late.

function interval

cpp
inline virtual Interval interval() override

Return: The domain interval for validation purposes only.

Reimplements: scram::mef::Expression::interval

function Compute

cpp
template <typename F >
inline double Compute(
    F && eval
)

Computes the expression value with a given argument value extractor.


Updated on 2026-01-09 at 21:59:12 +0000