OpenVDB: VisitNodeType< NodeT, OpT, Derived > Struct Template Reference

OpenVDB 10.1.0

Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
VisitNodeType< NodeT, OpT, Derived > Struct Template Reference

`#include <openvdb_ax/ast/Scanners.h>`

Inheritance diagram for VisitNodeType< NodeT, OpT, Derived >:

## Public Types
using | VisitorT = typename std::conditional< std::is_same< Derived, void >::value, VisitNodeType< NodeT, OpT >, Derived >::type
template<typename NodeT >
using | NodeType = typename std::conditional< ConstVisit, const NodeT, NodeT >::type
| Templated conditional which resolves to a const NodeT if ConstVisit is true, or a non-const NodeT if ConstVisit is false.

## Public Member Functions
bool | visitNodeHierarchies () const
| VisitNodeType (const OpT &op)
| ~VisitNodeType ()=default
bool | visit (const NodeT *node)
Derived & | derived ()
| Accesses the derived class by static casting the current object. Assumes use of the Curiously Recursive Template Pattern (CRTP).
Options
bool | postOrderNodes () const
| Default behavior option. If true, this results in post-order traversal, where node children are traversed and visited before their parent node. If false, this results in pre-order traversal, where by the current node is visited before the node's children.
bool | reverseChildVisits () const
| Default behavior option. Reverses the traversal order of child nodes. If true, child nodes are accessed from last to first index .i.e. Node::children() -> 0. If false, child nodes are accessed from first to last .i.e. 0 -> Node::children()
bool | reverseHierarchyVisits () const
| Default behavior option. Reverses the traversal order of node hierarchies. If true, hierarchical visits start at the very top of their inheritance structure (always a Node AST node) and visit downwards until the lowest derived concrete node is reached. If false, hierarchical visits start at the lowest derived concrete node and visit upwards until the very top of their inheritance structure (always a Node AST node) is reached.
Traversals
bool | traverse (NodeType< ast::Tree > *tree)
| Default traversals for a given concrete AST node type.
bool | traverse (NodeType< ast::StatementList > *cond)
| Default traversals for a given concrete AST node type.
bool | traverse (NodeType< ast::Block > *block)
| Default traversals for a given concrete AST node type.
bool | traverse (NodeType< ast::CommaOperator > *comma)
| Default traversals for a given concrete AST node type.
bool | traverse (NodeType< ast::Loop > *loop)
| Default traversals for a given concrete AST node type.
bool | traverse (NodeType< ast::Keyword > *keyw)
| Default traversals for a given concrete AST node type.
bool | traverse (NodeType< ast::ConditionalStatement > *cond)
| Default traversals for a given concrete AST node type.
bool | traverse (NodeType< ast::AssignExpression > *asgn)
| Default traversals for a given concrete AST node type.
bool | traverse (NodeType< ast::Crement > *crmt)
| Default traversals for a given concrete AST node type.
bool | traverse (NodeType< ast::UnaryOperator > *unry)
| Default traversals for a given concrete AST node type.
bool | traverse (NodeType< ast::BinaryOperator > *bin)
| Default traversals for a given concrete AST node type.
bool | traverse (NodeType< ast::TernaryOperator > *tern)
| Default traversals for a given concrete AST node type.
bool | traverse (NodeType< ast::Cast > *cast)
| Default traversals for a given concrete AST node type.
bool | traverse (NodeType< ast::FunctionCall > *call)
| Default traversals for a given concrete AST node type.
bool | traverse (NodeType< ast::Attribute > *attr)
| Default traversals for a given concrete AST node type.
bool | traverse (NodeType< ast::ExternalVariable > *ext)
| Default traversals for a given concrete AST node type.
bool | traverse (NodeType< ast::DeclareLocal > *decl)
| Default traversals for a given concrete AST node type.
bool | traverse (NodeType< ast::Local > *loc)
| Default traversals for a given concrete AST node type.
bool | traverse (NodeType< ast::ArrayPack > *pack)
| Default traversals for a given concrete AST node type.
bool | traverse (NodeType< ast::ArrayUnpack > *pack)
| Default traversals for a given concrete AST node type.
bool | traverse (NodeType< ast::Value< bool > > *val)
| Default traversals for a given concrete AST node type.
bool | traverse (NodeType< ast::Value< int16_t > > *val)
| Default traversals for a given concrete AST node type.
bool | traverse (NodeType< ast::Value< int32_t > > *val)
| Default traversals for a given concrete AST node type.
bool | traverse (NodeType< ast::Value< int64_t > > *val)
| Default traversals for a given concrete AST node type.
bool | traverse (NodeType< ast::Value< float > > *val)
| Default traversals for a given concrete AST node type.
bool | traverse (NodeType< ast::Value< double > > *val)
| Default traversals for a given concrete AST node type.
bool | traverse (NodeType< ast::Value< std::string > > *val)
| Default traversals for a given concrete AST node type.
bool | traverse (NodeType< ast::Node > *node)
| The default traversal method which is hit for all child traversals. The correct derived traversal scheme is selected by using the node enumerated type.
Visits
bool | visit (NodeType< ast::Node > *)
| Visits for abstract (pure-virtual) Node types.
bool | visit (NodeType< ast::Statement > *)
| Visits for abstract (pure-virtual) Node types.
bool | visit (NodeType< ast::Expression > *)
| Visits for abstract (pure-virtual) Node types.
bool | visit (NodeType< ast::Variable > *)
| Visits for abstract (pure-virtual) Node types.
bool | visit (NodeType< ast::ValueBase > *)
| Visits for abstract (pure-virtual) Node types.
bool | visit (NodeType< ast::Tree > *)
| Visits for concrete Node types.
bool | visit (NodeType< ast::StatementList > *)
| Visits for abstract (pure-virtual) Node types.
bool | visit (NodeType< ast::Block > *)
| Visits for abstract (pure-virtual) Node types.
bool | visit (NodeType< ast::CommaOperator > *)
| Visits for abstract (pure-virtual) Node types.
bool | visit (NodeType< ast::Loop > *)
| Visits for abstract (pure-virtual) Node types.
bool | visit (NodeType< ast::Keyword > *)
| Visits for abstract (pure-virtual) Node types.
bool | visit (NodeType< ast::ConditionalStatement > *)
| Visits for abstract (pure-virtual) Node types.
bool | visit (NodeType< ast::AssignExpression > *)
| Visits for abstract (pure-virtual) Node types.
bool | visit (NodeType< ast::Crement > *)
| Visits for abstract (pure-virtual) Node types.
bool | visit (NodeType< ast::UnaryOperator > *)
| Visits for abstract (pure-virtual) Node types.
bool | visit (NodeType< ast::BinaryOperator > *)
| Visits for abstract (pure-virtual) Node types.
bool | visit (NodeType< ast::TernaryOperator > *)
| Visits for abstract (pure-virtual) Node types.
bool | visit (NodeType< ast::Cast > *)
| Visits for abstract (pure-virtual) Node types.
bool | visit (NodeType< ast::FunctionCall > *)
| Visits for abstract (pure-virtual) Node types.
bool | visit (NodeType< ast::Attribute > *)
| Visits for abstract (pure-virtual) Node types.
bool | visit (NodeType< ast::ExternalVariable > *)
| Visits for abstract (pure-virtual) Node types.
bool | visit (NodeType< ast::DeclareLocal > *)
| Visits for abstract (pure-virtual) Node types.
bool | visit (NodeType< ast::Local > *)
| Visits for abstract (pure-virtual) Node types.
bool | visit (NodeType< ast::ArrayPack > *)
| Visits for abstract (pure-virtual) Node types.
bool | visit (NodeType< ast::ArrayUnpack > *)
| Visits for abstract (pure-virtual) Node types.
bool | visit (NodeType< ast::Value< bool > > *)
| Visits for abstract (pure-virtual) Node types.
bool | visit (NodeType< ast::Value< int16_t > > *)
| Visits for abstract (pure-virtual) Node types.
bool | visit (NodeType< ast::Value< int32_t > > *)
| Visits for abstract (pure-virtual) Node types.
bool | visit (NodeType< ast::Value< int64_t > > *)
| Visits for abstract (pure-virtual) Node types.
bool | visit (NodeType< ast::Value< float > > *)
| Visits for abstract (pure-virtual) Node types.
bool | visit (NodeType< ast::Value< double > > *)
| Visits for abstract (pure-virtual) Node types.
bool | visit (NodeType< ast::Value< std::string > > *)
| Visits for abstract (pure-virtual) Node types.

## Member Typedef Documentation

## ◆ NodeType

template<typename Derived , bool ConstVisit = true>
template<typename NodeT >

using NodeType = typename std::conditional<ConstVisit, const NodeT, NodeT>::type
| inherited

Templated conditional which resolves to a const NodeT if ConstVisit is true, or a non-const NodeT if ConstVisit is false.

## ◆ VisitorT

template<typename NodeT , typename OpT , typename Derived = void>

using VisitorT = typename std::conditional< std::is_same<Derived, void>::value, VisitNodeType<NodeT, OpT>, Derived>::type

## Constructor & Destructor Documentation

## ◆ VisitNodeType()

template<typename NodeT , typename OpT , typename Derived = void>

VisitNodeType | ( | const OpT & | op | ) |
| inline

## ◆ ~VisitNodeType()

template<typename NodeT , typename OpT , typename Derived = void>

~VisitNodeType | ( |  | ) |
| default

## Member Function Documentation

## ◆ derived()

template<typename Derived , bool ConstVisit = true>

Derived & derived | ( |  | ) |
| inlineinherited

Accesses the derived class by static casting the current object. Assumes use of the Curiously Recursive Template Pattern (CRTP).

## ◆ postOrderNodes()

template<typename Derived , bool ConstVisit = true>

bool postOrderNodes | ( |  | ) | const
| inlineinherited

Default behavior option. If true, this results in post-order traversal, where node children are traversed and visited before their parent node. If false, this results in pre-order traversal, where by the current node is visited before the node's children.

Post-order traversal (for each node):

1. Traverse all children.
2. Visit the current node. Pre-order traversal (for each node):

1. Visit the current node.
2. Traverse all children.

## ◆ reverseChildVisits()

template<typename Derived , bool ConstVisit = true>

bool reverseChildVisits | ( |  | ) | const
| inlineinherited

Default behavior option. Reverses the traversal order of child nodes. If true, child nodes are accessed from last to first index .i.e. Node::children() -> 0. If false, child nodes are accessed from first to last .i.e. 0 -> Node::children()

## ◆ reverseHierarchyVisits()

template<typename Derived , bool ConstVisit = true>

bool reverseHierarchyVisits | ( |  | ) | const
| inlineinherited

Default behavior option. Reverses the traversal order of node hierarchies. If true, hierarchical visits start at the very top of their inheritance structure (always a Node AST node) and visit downwards until the lowest derived concrete node is reached. If false, hierarchical visits start at the lowest derived concrete node and visit upwards until the very top of their inheritance structure (always a Node AST node) is reached.

Note
  Has no effect if visitNodeHierarchies() is false

## ◆ traverse() [1/28]

template<typename Derived , bool ConstVisit = true>

bool traverse | ( | NodeType< ast::ArrayPack > * | pack | ) |
| inlineinherited

Default traversals for a given concrete AST node type.

Returns
  True if traversal should continue, false to terminate

## ◆ traverse() [2/28]

template<typename Derived , bool ConstVisit = true>

bool traverse | ( | NodeType< ast::ArrayUnpack > * | pack | ) |
| inlineinherited

Default traversals for a given concrete AST node type.

Returns
  True if traversal should continue, false to terminate

## ◆ traverse() [3/28]

template<typename Derived , bool ConstVisit = true>

bool traverse | ( | NodeType< ast::AssignExpression > * | asgn | ) |
| inlineinherited

Default traversals for a given concrete AST node type.

Returns
  True if traversal should continue, false to terminate

## ◆ traverse() [4/28]

template<typename Derived , bool ConstVisit = true>

bool traverse | ( | NodeType< ast::Attribute > * | attr | ) |
| inlineinherited

Default traversals for a given concrete AST node type.

Returns
  True if traversal should continue, false to terminate

## ◆ traverse() [5/28]

template<typename Derived , bool ConstVisit = true>

bool traverse | ( | NodeType< ast::BinaryOperator > * | bin | ) |
| inlineinherited

Default traversals for a given concrete AST node type.

Returns
  True if traversal should continue, false to terminate

## ◆ traverse() [6/28]

template<typename Derived , bool ConstVisit = true>

bool traverse | ( | NodeType< ast::Block > * | block | ) |
| inlineinherited

Default traversals for a given concrete AST node type.

Returns
  True if traversal should continue, false to terminate

## ◆ traverse() [7/28]

template<typename Derived , bool ConstVisit = true>

bool traverse | ( | NodeType< ast::Cast > * | cast | ) |
| inlineinherited

Default traversals for a given concrete AST node type.

Returns
  True if traversal should continue, false to terminate

## ◆ traverse() [8/28]

template<typename Derived , bool ConstVisit = true>

bool traverse | ( | NodeType< ast::CommaOperator > * | comma | ) |
| inlineinherited

Default traversals for a given concrete AST node type.

Returns
  True if traversal should continue, false to terminate

## ◆ traverse() [9/28]

template<typename Derived , bool ConstVisit = true>

bool traverse | ( | NodeType< ast::ConditionalStatement > * | cond | ) |
| inlineinherited

Default traversals for a given concrete AST node type.

Returns
  True if traversal should continue, false to terminate

## ◆ traverse() [10/28]

template<typename Derived , bool ConstVisit = true>

bool traverse | ( | NodeType< ast::Crement > * | crmt | ) |
| inlineinherited

Default traversals for a given concrete AST node type.

Returns
  True if traversal should continue, false to terminate

## ◆ traverse() [11/28]

template<typename Derived , bool ConstVisit = true>

bool traverse | ( | NodeType< ast::DeclareLocal > * | decl | ) |
| inlineinherited

Default traversals for a given concrete AST node type.

Returns
  True if traversal should continue, false to terminate

## ◆ traverse() [12/28]

template<typename Derived , bool ConstVisit = true>

bool traverse | ( | NodeType< ast::ExternalVariable > * | ext | ) |
| inlineinherited

Default traversals for a given concrete AST node type.

Returns
  True if traversal should continue, false to terminate

## ◆ traverse() [13/28]

template<typename Derived , bool ConstVisit = true>

bool traverse | ( | NodeType< ast::FunctionCall > * | call | ) |
| inlineinherited

Default traversals for a given concrete AST node type.

Returns
  True if traversal should continue, false to terminate

## ◆ traverse() [14/28]

template<typename Derived , bool ConstVisit = true>

bool traverse | ( | NodeType< ast::Keyword > * | keyw | ) |
| inlineinherited

Default traversals for a given concrete AST node type.

Returns
  True if traversal should continue, false to terminate

## ◆ traverse() [15/28]

template<typename Derived , bool ConstVisit = true>

bool traverse | ( | NodeType< ast::Local > * | loc | ) |
| inlineinherited

Default traversals for a given concrete AST node type.

Returns
  True if traversal should continue, false to terminate

## ◆ traverse() [16/28]

template<typename Derived , bool ConstVisit = true>

bool traverse | ( | NodeType< ast::Loop > * | loop | ) |
| inlineinherited

Default traversals for a given concrete AST node type.

Returns
  True if traversal should continue, false to terminate

## ◆ traverse() [17/28]

template<typename Derived , bool ConstVisit = true>

bool traverse | ( | NodeType< ast::Node > * | node | ) |
| inlineinherited

The default traversal method which is hit for all child traversals. The correct derived traversal scheme is selected by using the node enumerated type.

Note
  Only handles traversal on concrete node types.

## ◆ traverse() [18/28]

template<typename Derived , bool ConstVisit = true>

bool traverse | ( | NodeType< ast::StatementList > * | cond | ) |
| inlineinherited

Default traversals for a given concrete AST node type.

Returns
  True if traversal should continue, false to terminate

## ◆ traverse() [19/28]

template<typename Derived , bool ConstVisit = true>

bool traverse | ( | NodeType< ast::TernaryOperator > * | tern | ) |
| inlineinherited

Default traversals for a given concrete AST node type.

Returns
  True if traversal should continue, false to terminate

## ◆ traverse() [20/28]

template<typename Derived , bool ConstVisit = true>

bool traverse | ( | NodeType< ast::Tree > * | tree | ) |
| inlineinherited

Default traversals for a given concrete AST node type.

Returns
  True if traversal should continue, false to terminate

## ◆ traverse() [21/28]

template<typename Derived , bool ConstVisit = true>

bool traverse | ( | NodeType< ast::UnaryOperator > * | unry | ) |
| inlineinherited

Default traversals for a given concrete AST node type.

Returns
  True if traversal should continue, false to terminate

## ◆ traverse() [22/28]

template<typename Derived , bool ConstVisit = true>

bool traverse | ( | NodeType< ast::Value< bool > > * | val | ) |
| inlineinherited

Default traversals for a given concrete AST node type.

Returns
  True if traversal should continue, false to terminate

## ◆ traverse() [23/28]

template<typename Derived , bool ConstVisit = true>

bool traverse | ( | NodeType< ast::Value< double > > * | val | ) |
| inlineinherited

Default traversals for a given concrete AST node type.

Returns
  True if traversal should continue, false to terminate

## ◆ traverse() [24/28]

template<typename Derived , bool ConstVisit = true>

bool traverse | ( | NodeType< ast::Value< float > > * | val | ) |
| inlineinherited

Default traversals for a given concrete AST node type.

Returns
  True if traversal should continue, false to terminate

## ◆ traverse() [25/28]

template<typename Derived , bool ConstVisit = true>

bool traverse | ( | NodeType< ast::Value< int16_t > > * | val | ) |
| inlineinherited

Default traversals for a given concrete AST node type.

Returns
  True if traversal should continue, false to terminate

## ◆ traverse() [26/28]

template<typename Derived , bool ConstVisit = true>

bool traverse | ( | NodeType< ast::Value< int32_t > > * | val | ) |
| inlineinherited

Default traversals for a given concrete AST node type.

Returns
  True if traversal should continue, false to terminate

## ◆ traverse() [27/28]

template<typename Derived , bool ConstVisit = true>

bool traverse | ( | NodeType< ast::Value< int64_t > > * | val | ) |
| inlineinherited

Default traversals for a given concrete AST node type.

Returns
  True if traversal should continue, false to terminate

## ◆ traverse() [28/28]

template<typename Derived , bool ConstVisit = true>

bool traverse | ( | NodeType< ast::Value< std::string > > * | val | ) |
| inlineinherited

Default traversals for a given concrete AST node type.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [1/33]

template<typename NodeT , typename OpT , typename Derived = void>

bool visit | ( | const NodeT * | node | ) |
| inline

## ◆ visit() [2/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::ArrayPack > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [3/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::ArrayUnpack > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [4/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::AssignExpression > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [5/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::Attribute > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [6/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::BinaryOperator > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [7/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::Block > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [8/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::Cast > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [9/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::CommaOperator > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [10/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::ConditionalStatement > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [11/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::Crement > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [12/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::DeclareLocal > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [13/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::Expression > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [14/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::ExternalVariable > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [15/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::FunctionCall > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [16/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::Keyword > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [17/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::Local > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [18/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::Loop > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [19/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::Node > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [20/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::Statement > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [21/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::StatementList > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [22/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::TernaryOperator > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [23/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::Tree > * |  | ) |
| inlineinherited

Visits for concrete Node types.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [24/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::UnaryOperator > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [25/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::Value< bool > > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [26/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::Value< double > > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [27/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::Value< float > > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [28/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::Value< int16_t > > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [29/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::Value< int32_t > > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [30/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::Value< int64_t > > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [31/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::Value< std::string > > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [32/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::ValueBase > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visit() [33/33]

template<typename Derived , bool ConstVisit = true>

bool visit | ( | NodeType< ast::Variable > * |  | ) |
| inlineinherited

Visits for abstract (pure-virtual) Node types.

Note
  These are only hit through the default behavior if Visitor::visitNodeHierarchies is enabled.

Returns
  True if traversal should continue, false to terminate

## ◆ visitNodeHierarchies()

template<typename NodeT , typename OpT , typename Derived = void>

bool visitNodeHierarchies | ( |  | ) | const
| inline