Struct zmbt::lang::SignatureBinary¶
template <Keyword K>
ClassList > zmbt > lang > SignatureBinary
Binary expression. More...
#include <api_signatures.hpp>
Inherits the following classes: zmbt::lang::SignatureBase
Public Types inherited from zmbt::lang::ExpressionView¶
See zmbt::lang::ExpressionView
Type | Name |
---|---|
typedef lang::Keyword | Keyword |
typedef boost::json::value | V |
Public Functions¶
Type | Name |
---|---|
Expression | operator() (Expression const & param) const Make parametrized expression. |
Expression | operator() (Expression && param) const |
Expression | operator() (std::initializer_list< Expression > param) const Make parametrized expression with initializer list. |
Public Functions inherited from zmbt::lang::SignatureBase¶
Type | Name |
---|---|
SignatureBase () |
Public Functions inherited from zmbt::lang::Expression¶
Type | Name |
---|---|
Expression () |
|
Expression (Encoding && encoding) |
|
Expression (Encoding const & encoding) |
|
Expression (boost::json::value const & expr) |
|
Expression (boost::json::value && expr) |
|
Expression (std::initializer_list< boost::json::value_ref > items) |
|
Expression (T sample) |
|
Expression (Keyword const & keyword) |
|
Expression (ExpressionView const & view) |
|
Expression (Expression const & other) |
|
Expression (Expression && other) |
|
Encoding | encoding () const |
bool | operator!= (Expression v) const |
Expression & | operator= (Expression const & other) |
Expression & | operator= (Expression && other) |
bool | operator== (Expression v) const |
~Expression () = default |
Public Functions inherited from zmbt::lang::ExpressionView¶
See zmbt::lang::ExpressionView
Type | Name |
---|---|
ExpressionView () |
|
ExpressionView (ExpressionView const &) = default |
|
ExpressionView (ExpressionView &&) = default |
|
ExpressionView (EncodingView v) |
|
ExpressionView (Encoding enc) |
|
boost::json::array const & | as_array () const |
bool | as_bool () const |
boost::json::object const & | as_object () const |
boost::json::string const & | as_string () const |
boost::json::value const & | data () const |
EncodingView | encoding_view () const |
boost::json::value | eval (boost::json::value const & x=nullptr, EvalContext ctx={}) const Evaluate expression. |
bool | eval_as_predicate (ExpressionView const & x, Expression & err_sts, EvalContext ctx) const |
bool | eval_as_predicate (boost::json::value const & x, Expression & err_sts, EvalContext ctx) const |
Expression | eval_e (ExpressionView const & x, EvalContext ctx) const Evaluate expression. |
Expression | eval_maybe_predicate (ExpressionView const & x, EvalContext ctx) const |
bool | has_subexpr () const |
boost::json::array const * | if_array () const |
bool const * | if_bool () const |
boost::json::object const * | if_object () const |
boost::json::string const * | if_string () const |
bool | is (Keyword const kwrd) const |
bool | is_boolean () const |
bool | is_complete_flip () const |
bool | is_compose () const |
bool | is_const () const |
bool | is_error () const |
bool | is_fork () const |
bool | is_infix_fork () const |
bool | is_infix_pipe () const |
bool | is_infix_tuple () const |
bool | is_link () const |
bool | is_literal () const |
bool | is_noop () const |
bool | is_null () const |
bool | is_preproc () const |
bool | is_tuple () const |
bool | is_valid_link () const |
Keyword | keyword () const |
boost::json::string_view | keyword_to_str () const |
bool | match (boost::json::value const & x, Operator const & op={}) const Eval and cast to boolean, return false on error. |
bool | operator!= (ExpressionView const & o) const |
ExpressionView & | operator= (ExpressionView const &) = default |
ExpressionView & | operator= (ExpressionView &&) = default |
bool | operator== (ExpressionView const & o) const |
std::list< std::pair< std::string, std::string > > | preprocessing_parameters () const List of [param, json ptr]. |
std::string | prettify () const |
std::ostream & | prettify_to (std::ostream & os) const |
void | prettify_to (char(&) buff) const |
void | prettify_to (char * buff, std::size_t n) const |
std::string | serialize () const |
std::list< ExpressionView > | subexpressions_list () const Subexpressions. |
boost::json::value | to_json () const |
std::list< ExpressionView > | tuple_parameters () const |
virtual | ~ExpressionView () = default |
Public Static Functions inherited from zmbt::lang::Expression¶
Type | Name |
---|---|
Encoding | encodeLiteral (boost::json::value const & params) |
Encoding | encodeNested (Keyword const & keyword, std::initializer_list< Expression > subexpressions) |
Encoding | encodeNested (Keyword const & keyword, std::vector< Expression > && subexpressions) |
Encoding | encodePreProc (boost::json::value const & params) |
bool | to_predicate_if_const (Expression & e) |
Protected Attributes inherited from zmbt::lang::ExpressionView¶
See zmbt::lang::ExpressionView
Type | Name |
---|---|
EncodingView | encoding_view_ |
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/3]¶
Make parametrized expression.
function operator() [2/3]¶
function operator() [3/3]¶
Make parametrized expression with initializer list.
inline Expression zmbt::lang::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/expr/api_signatures.hpp