morph 0.1.0
Asynchronous bridge between GUI thread and business models
Loading...
Searching...
No Matches
morph::ui::Expr Struct Reference

One node of a parsed expression. Immutable once parsed; shared between the document and its readers. More...

#include <expression.hpp>

Public Attributes

ExprKind kind = ExprKind::Literal
 The form.
std::string path
 The JSON Pointer of the node inside its document, for refusals and diagnostics.
Value literal
 The constant of a Literal.
std::string name
 The name a form reads: a ref's head, a query or mutation, a pref's point, a comprehension's variable, an env, session or host name.
std::vector< std::string > fieldPath
 The path after the head of a Ref or Pref, or the path of a Row.
FunctionId function = FunctionId::And
 The function of a Call.
std::vector< ExprPtr > args
 Operands: a call's arguments; if's condition, then and else; a list's items; a comprehension's source and body.
std::vector< std::pair< std::string, ExprPtr > > fields
 The fields of an Object, in the order written.

Detailed Description

One node of a parsed expression. Immutable once parsed; shared between the document and its readers.

Definition at line 136 of file expression.hpp.

Member Data Documentation

◆ kind

ExprKind morph::ui::Expr::kind = ExprKind::Literal

The form.

Definition at line 138 of file expression.hpp.

◆ path

std::string morph::ui::Expr::path

The JSON Pointer of the node inside its document, for refusals and diagnostics.

Definition at line 140 of file expression.hpp.

◆ literal

Value morph::ui::Expr::literal

The constant of a Literal.

Definition at line 142 of file expression.hpp.

◆ name

std::string morph::ui::Expr::name

The name a form reads: a ref's head, a query or mutation, a pref's point, a comprehension's variable, an env, session or host name.

Definition at line 145 of file expression.hpp.

◆ fieldPath

std::vector<std::string> morph::ui::Expr::fieldPath

The path after the head of a Ref or Pref, or the path of a Row.

Definition at line 147 of file expression.hpp.

◆ function

FunctionId morph::ui::Expr::function = FunctionId::And

The function of a Call.

Definition at line 149 of file expression.hpp.

◆ args

std::vector<ExprPtr> morph::ui::Expr::args

Operands: a call's arguments; if's condition, then and else; a list's items; a comprehension's source and body.

Definition at line 152 of file expression.hpp.

◆ fields

std::vector<std::pair<std::string, ExprPtr> > morph::ui::Expr::fields

The fields of an Object, in the order written.

Definition at line 154 of file expression.hpp.


The documentation for this struct was generated from the following file: