Skip to content

Struct zmbt::dsl::SignatureBinary

template <Keyword K>

ClassList > zmbt > dsl > SignatureBinary

Binary expression. More...

  • #include <expression_api_signatures.hpp>

Inherits the following classes: zmbt::dsl::SignatureBase

Public Types inherited from zmbt::Expression

See zmbt::Expression

Type Name
typedef dsl::Keyword Keyword
typedef boost::json::value V

Public Functions

Type Name
Expression operator() (Expression const & param) const
Make parametrized expression.
Expression operator() (std::initializer_list< Expression > param) const
Make parametrized expression with initializer list.

Public Functions inherited from zmbt::dsl::SignatureBase

See zmbt::dsl::SignatureBase

Type Name
SignatureBase ()

Public Functions inherited from zmbt::Expression

See zmbt::Expression

Type Name
Expression (std::initializer_list< boost::json::value_ref > items)
Expression (boost::json::value const & expr)
Expression (Keyword const & keyword, boost::json::value const & params)
Expression (Keyword const & keyword)
Expression ()
Expression (T const & sample)
Expression (Expression const & o)
Expression (Expression && o)
boost::json::value eval (boost::json::value const & x=nullptr, EvalContext const & ctx={}) const
Evaluate expression.
bool has_params () const
bool is (Keyword const kwrd) const
bool is_const () const
bool is_literal () const
bool is_noop () const
Keyword keyword () const
bool match (boost::json::value const & observed, SignalOperatorHandler const & op={}) const
bool operator!= (Expression const & o) const
Expression & operator= (Expression const & o)
Expression & operator= (Expression && o)
bool operator== (Expression const & o) const
boost::json::value const & params () const
boost::json::value const & serialize () const
boost::json::value const & subexpr () const
boost::json::value const & underlying () const
~Expression () = default

Public Static Functions inherited from zmbt::Expression

See zmbt::Expression

Type Name
Expression constAsEq (boost::json::value const & underlying)
Expression literalAsEq (boost::json::value const & underlying)

Detailed Description

Template parameters:

  • K keyword
Syntactic forms

Syntatic forms over operator *: * * *

The second form is used in place of first for expressions that have default value defined, see documentation for specific expression.

In the third form the expression parameter is used as the right-hand side operand.

Public Functions Documentation

function operator() [1/2]

Make parametrized expression.

inline Expression zmbt::dsl::SignatureBinary::operator() (
    Expression const & param
) const


function operator() [2/2]

Make parametrized expression with initializer list.

inline Expression zmbt::dsl::SignatureBinary::operator() (
    std::initializer_list< Expression > param
) const

Interpret {x} as single-element array instead of using default boost::json::value ctor



The documentation for this class was generated from the following file zmbt-framework/zmbt-framework/backends/cxx/include/zmbt/model/expression_api_signatures.hpp