Back to Alisql

Concept Expr

extra/boost/boost_1_77_0/doc/html/Expr.html

latest2.0 KB
Original Source

| | Home | Libraries | People | FAQ | More |


Concept Expr

Expr

Description

An Expr represents a tagged node in an expression tree. The children of the Expr must themselves satisfy the Expr concept. The Expr has an arity representing the number of children. If the number of children is zero, the Expr also has a value. An Expr also has an associated Domain.

Associated types

  • proto_tag

  • proto_args

  • proto_arity

  • proto_grammar

  • proto_base_expr

  • proto_derived_expr

  • proto_domain

  • proto_childN

Notation

ExprA type playing the role of expession-type in the Expr concept.TagA type playing the role of tag-type in the Expr concept.DomainA type playing the role of domain-type in the Expr concept.NA type playing the role of mpl-integral-constant-type in the Expr concept.eObject of type Expr

Valid expressions

NameExpressionTypeSemantics

Get N-th Child

|

boost::proto::child< N >(e)

|

proto_childN

|

Extracts the Nth child from this Expr. Requires N::value < proto_arity::value.

| |

Get Terminal Value

|

boost::proto::value(e)

|

proto_child0

|

Extracts the value from a terminal Expr. Requires 0 == proto_arity::value.

| |

Get Base

|

e.proto_base()

|

proto_base_expr

|

Returns an object of type proto::expr<> or proto::basic_expr<> that is equivalent to e.

|

Models

  • boost::proto::literal< int >

| | Copyright © 2008 Eric Niebler

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

|