Skip to content

Namespace zmbt::lang

Namespace List > zmbt > lang

Expression Language implementation.

Namespaces

Type Name
namespace attr

Classes

Type Name
struct Encoding
class EncodingView
struct EvalContext
Expression evaluation context.
struct EvalImpl <K>
class EvalImplBase <K, class Validator>
struct EvalLog
Expression evaluation log.
class EvalParams
struct EvalValidator <K>
class Expression
struct ExpressionGrammar <typename OutputIterator>
class ExpressionView
struct FixedEvalParams <K>
struct KeywordGrammar
Boost.Sirit.Qi Grammar for zmbt::lang::Keyword parsing.
struct KeywordInfo <k>
struct KeywordSymbol
Boost.Sirit.Qi Symbol for zmbt::lang::Keyword parsing.
class LazyParam
class Operator
Signal transformation and comparison handler. Enables type erasure.
struct SignatureBase <K>
struct SignatureBinary <K>
Binary expression.
struct SignatureBinary< Keyword::PreProc > <>
struct SignatureCast
struct SignatureConst <K>
Const expression.
struct SignatureErr
struct SignatureOp
struct SignatureUnary <K>
Unary expression.
struct SignatureUncast
struct SignatureVariadic <K>
Variadic expression.

Public Types

Type Name
enum Keyword
ZMBT Expression keyword.

Public Functions

Type Name
constexpr std::uint32_t attributes (Keyword const & k)
Expression dispatch_eval (ExpressionView const & self, ExpressionView const & x, EvalContext context)
boost::json::string_view keyword_to_str (Keyword const &)
void tag_invoke (boost::json::value_from_tag const &, boost::json::value &, Keyword const & t)
Keyword tag_invoke (boost::json::value_to_tag< Keyword > const &, boost::json::value const &)

Public Types Documentation

enum Keyword

ZMBT Expression keyword.

enum zmbt::lang::Keyword {
    Undefined,
    Literal,
    Void,
    LazyToken,
    Noop,
    Null,
    True,
    False,
    Pi,
    E,
    Inf,
    Eps,
    NaN,
    Thread,
    Sin,
    Cos,
    Tan,
    Asin,
    Acos,
    Atan,
    Sinh,
    Cosh,
    Tanh,
    Asinh,
    Acosh,
    Atanh,
    Exp,
    Erf,
    Erfc,
    Gamma,
    Abs,
    Ceil,
    Floor,
    Round,
    Sqrt,
    Sign,
    Neg,
    Add,
    Sub,
    Mul,
    Div,
    Pow,
    Log,
    Mod,
    Quot,
    BitNot,
    BitAnd,
    BitOr,
    BitXor,
    Lshift,
    Rshift,
    Eq,
    Ne,
    Lt,
    Le,
    Gt,
    Ge,
    Near,
    Union,
    Intersect,
    Diff,
    SetEq,
    Subset,
    Superset,
    PSubset,
    PSuperset,
    In,
    NotIn,
    Ni,
    NotNi,
    Bool,
    Not,
    And,
    Or,
    Id,
    Transp,
    Cartesian,
    Reverse,
    Uniques,
    Items,
    Keys,
    Values,
    Enumerate,
    Flatten,
    ToList,
    Arange,
    Parse,
    Str,
    Re,
    Fmt,
    Card,
    Size,
    Sum,
    Prod,
    Avg,
    Slide,
    Stride,
    Chunks,
    Repeat,
    Cat,
    Push,
    At,
    Del,
    Lookup,
    Cast,
    Uncast,
    Fold,
    Map,
    Filter,
    Count,
    Each,
    Sort,
    Find,
    FindPtr,
    FindIdx,
    Min,
    Max,
    Argmin,
    Argmax,
    Recur,
    Unfold,
    Op,
    Bind,
    Fn,
    Link,
    Any,
    All,
    Saturate,
    Pipe,
    Tuple,
    Fork,
    Flip,
    Dbg,
    Eval,
    Try,
    Kwrd,
    Prms,
    Q,
    D,
    Err,
    IsErr,
    Assert,
    Trace,
    PreProc,
    _count
};


Public Functions Documentation

function attributes

constexpr std::uint32_t zmbt::lang::attributes (
    Keyword const & k
) 

function dispatch_eval

template<Keyword K>
Expression zmbt::lang::dispatch_eval (
    ExpressionView const & self,
    ExpressionView const & x,
    EvalContext context
) 

function keyword_to_str

boost::json::string_view zmbt::lang::keyword_to_str (
    Keyword const &
) 

function tag_invoke

void zmbt::lang::tag_invoke (
    boost::json::value_from_tag const &,
    boost::json::value &,
    Keyword const & t
) 

function tag_invoke

Keyword zmbt::lang::tag_invoke (
    boost::json::value_to_tag< Keyword > const &,
    boost::json::value const &
) 


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