Class ExprRange

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

  • public ranges::view_facade< ExprRange >

Class Documentation

class ExprRange : public ranges::view_facade<ExprRange>

a view of the leaves/atoms of an Expr tree

See also

Expr::visit

Note

this is just like view::join, except fully recursive and its iterator provides not only elements but also their indices as well as the host ranges.

Note

to traverse all nodes, not just the leaves, use Expr::visit

Public Types

using base_type = ranges::view_facade<ExprRange>

Public Functions

ExprRange() = default
inline explicit ExprRange(ExprPtr top)
ExprRange(const ExprRange&) = default
ExprRange(ExprRange&&) = default
ExprRange &operator=(const ExprRange&) = default
ExprRange &operator=(ExprRange&&) = default
inline ExprPtr top() const