Template Class StructuralWalkEngine#
Defined in File structural_visit.h
Inheritance Relationships#
Base Type#
public Parent
Class Documentation#
-
template<typename Parent, WalkOrder order, typename ...Callbacks>
class StructuralWalkEngine : public Parent# Callback-dispatched walk engine with a state-carrying Parent layer.
Every callback receives all entries of
Parent::StateTupleTypepositionally after the value and may optionally takeTVMFFIDefRegionKindas the final argument.A Parent layer derives from
StructuralVisitorObj, declares a publicStateTupleType, accepts and forwardsconst StructuralVisitorVTable*in its constructor, and provides an at-least-protectedStateTuple() const noexceptthat returnsStateTupleTypeby value. The state references in that tuple must outlive the traversal. A layer customizes default descent by overridingDefaultVisitExpected, at least protected. Engine calls useParent::qualification; this is static layer dispatch, not virtual dispatch.- Template Parameters:
Parent – Traversal layer extended by the engine. Engine protocol and descent calls are
Parent::-qualified.order – Callback placement relative to child traversal.
Callbacks – Callback links, tested in declaration order.
Public Types