Classes | Public Types | Static Public Attributes | List of all members
BT::Grammar::Expression Struct Reference

#include <operators.hpp>

Inheritance diagram for BT::Grammar::Expression:
Inheritance graph
[legend]

Classes

struct  assignment
 
struct  bit_and
 
struct  bit_or
 
struct  bit_prefix
 
struct  comparison
 
struct  conditional
 
struct  expected_operand
 
struct  logical
 
struct  math_prefix
 
struct  math_product
 
struct  math_sum
 
struct  string_concat
 

Public Types

using operation = assignment
 
- Public Types inherited from lexy::expression_production
using operator_chain_error = lexy::operator_chain_error
 
using operator_group_error = lexy::operator_group_error
 
using operator_nesting_error = lexy::max_operator_nesting_exceeded
 

Static Public Attributes

static constexpr auto atom
 
static constexpr auto value
 
- Static Public Attributes inherited from lexy::expression_production
static constexpr auto max_operator_nesting = 256
 
static constexpr auto rule = lexyd::_expr<void>{}
 

Detailed Description

Definition at line 684 of file operators.hpp.

Member Typedef Documentation

◆ operation

Definition at line 842 of file operators.hpp.

Member Data Documentation

◆ atom

constexpr auto BT::Grammar::Expression::atom
staticconstexpr
Initial value:
= [] {
auto paren_expr = dsl::parenthesized(dsl::p<nested_expr>);
auto boolean = dsl::p<BooleanLiteral>;
auto var = dsl::p<Name>;
auto literal = dsl::p<AnyValue>;
return paren_expr | boolean | var | literal | dsl::error<expected_operand>;
}()

Definition at line 692 of file operators.hpp.

◆ value

constexpr auto BT::Grammar::Expression::value
staticconstexpr
Initial value:
=
lexy::fold_inplace<std::unique_ptr<Ast::ExprComparison>>(
[] { return std::make_unique<Ast::ExprComparison>(); },
[](auto& node, Ast::expr_ptr opr) { node->operands.push_back(LEXY_MOV(opr)); },
[](auto& node, Ast::ExprComparison::op_t op) { node->ops.push_back(op); })
lexy::forward<Ast::expr_ptr>, lexy::new_<Ast::ExprLiteral, Ast::expr_ptr>,
lexy::new_<Ast::ExprName, Ast::expr_ptr>,
lexy::new_<Ast::ExprUnaryArithmetic, Ast::expr_ptr>,
lexy::new_<Ast::ExprBinaryArithmetic, Ast::expr_ptr>,
lexy::new_<Ast::ExprIf, Ast::expr_ptr>,
lexy::new_<Ast::ExprAssignment, Ast::expr_ptr>)

Definition at line 844 of file operators.hpp.


The documentation for this struct was generated from the following file:
LEXY_MOV
#define LEXY_MOV(...)
Definition: config.hpp:21
BT::Ast::ExprComparison::op_t
op_t
Definition: operators.hpp:313
lexyd::parenthesized
constexpr auto parenthesized
Definition: brackets.hpp:112
lexy::callback
constexpr auto callback(Fns &&... fns)
Creates a callback.
Definition: adapter.hpp:21
BT::Ast::expr_ptr
std::shared_ptr< struct ExprBase > expr_ptr
Definition: operators.hpp:28
lexy::op
typename LEXY_DECAY_DECLTYPE(Operator)::op_tag_type op
Definition: operator.hpp:41


behaviortree_cpp_v4
Author(s): Davide Faconti
autogenerated on Fri Jun 28 2024 02:20:09