Polly 22.0.0git
polly::RecursiveScheduleTreeVisitor< Derived, RetTy, Args > Struct Template Reference

Recursively visit all nodes of a schedule tree. More...

#include <ScheduleTreeTransform.h>

Inheritance diagram for polly::RecursiveScheduleTreeVisitor< Derived, RetTy, Args >:
[legend]

Public Types

using BaseTy = ScheduleTreeVisitor<Derived, RetTy, Args...>

Public Member Functions

BaseTygetBase ()
const BaseTygetBase () const
Derived & getDerived ()
const Derived & getDerived () const
RetTy visit (isl::schedule Schedule, Args... args)
 When visiting an entire schedule tree, start at its root node.
RetTy visit (isl::schedule_node Node, Args... args)
RetTy visitNode (isl::schedule_node Node, Args... args)
 By default, recursively visit the child nodes.
Public Member Functions inherited from polly::ScheduleTreeVisitor< Derived, void, Args... >
Derived & getDerived ()
void visit (isl::schedule_node Node, Args... args)
void visitDomain (isl::schedule_node_domain Domain, Args... args)
void visitBand (isl::schedule_node_band Band, Args... args)
void visitSequence (isl::schedule_node_sequence Sequence, Args... args)
void visitSet (isl::schedule_node_set Set, Args... args)
void visitLeaf (isl::schedule_node_leaf Leaf, Args... args)
void visitMark (isl::schedule_node_mark Mark, Args... args)
void visitExtension (isl::schedule_node_extension Extension, Args... args)
void visitFilter (isl::schedule_node_filter Filter, Args... args)
void visitSingleChild (isl::schedule_node Node, Args... args)
void visitMultiChild (isl::schedule_node Node, Args... args)
void visitNode (isl::schedule_node Node, Args... args)

Detailed Description

template<typename Derived, typename RetTy = void, typename... Args>
struct polly::RecursiveScheduleTreeVisitor< Derived, RetTy, Args >

Recursively visit all nodes of a schedule tree.

Definition at line 128 of file ScheduleTreeTransform.h.

Member Typedef Documentation

◆ BaseTy

template<typename Derived, typename RetTy = void, typename... Args>
using polly::RecursiveScheduleTreeVisitor< Derived, RetTy, Args >::BaseTy = ScheduleTreeVisitor<Derived, RetTy, Args...>

Definition at line 130 of file ScheduleTreeTransform.h.

Member Function Documentation

◆ getBase() [1/2]

template<typename Derived, typename RetTy = void, typename... Args>
BaseTy & polly::RecursiveScheduleTreeVisitor< Derived, RetTy, Args >::getBase ( )
inline

◆ getBase() [2/2]

template<typename Derived, typename RetTy = void, typename... Args>
const BaseTy & polly::RecursiveScheduleTreeVisitor< Derived, RetTy, Args >::getBase ( ) const
inline

Definition at line 132 of file ScheduleTreeTransform.h.

◆ getDerived() [1/2]

template<typename Derived, typename RetTy = void, typename... Args>
Derived & polly::RecursiveScheduleTreeVisitor< Derived, RetTy, Args >::getDerived ( )
inline

◆ getDerived() [2/2]

template<typename Derived, typename RetTy = void, typename... Args>
const Derived & polly::RecursiveScheduleTreeVisitor< Derived, RetTy, Args >::getDerived ( ) const
inline

Definition at line 134 of file ScheduleTreeTransform.h.

◆ visit() [1/2]

template<typename Derived, typename RetTy = void, typename... Args>
RetTy polly::RecursiveScheduleTreeVisitor< Derived, RetTy, Args >::visit ( isl::schedule Schedule,
Args... args )
inline

When visiting an entire schedule tree, start at its root node.

Definition at line 139 of file ScheduleTreeTransform.h.

◆ visit() [2/2]

template<typename Derived, typename RetTy = void, typename... Args>
RetTy polly::RecursiveScheduleTreeVisitor< Derived, RetTy, Args >::visit ( isl::schedule_node Node,
Args... args )
inline

Definition at line 145 of file ScheduleTreeTransform.h.

◆ visitNode()

template<typename Derived, typename RetTy = void, typename... Args>
RetTy polly::RecursiveScheduleTreeVisitor< Derived, RetTy, Args >::visitNode ( isl::schedule_node Node,
Args... args )
inline

By default, recursively visit the child nodes.

Definition at line 150 of file ScheduleTreeTransform.h.


The documentation for this struct was generated from the following file: