Polly 19.0.0git
Public Types | Public Member Functions | List of all members
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 >:
Inheritance graph
[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, RetTy, Args >
Derived & getDerived ()
 
const Derived & getDerived () const
 
RetTy visit (isl::schedule_node Node, Args... args)
 
RetTy visitDomain (isl::schedule_node_domain Domain, Args... args)
 
RetTy visitBand (isl::schedule_node_band Band, Args... args)
 
RetTy visitSequence (isl::schedule_node_sequence Sequence, Args... args)
 
RetTy visitSet (isl::schedule_node_set Set, Args... args)
 
RetTy visitLeaf (isl::schedule_node_leaf Leaf, Args... args)
 
RetTy visitMark (isl::schedule_node_mark Mark, Args... args)
 
RetTy visitExtension (isl::schedule_node_extension Extension, Args... args)
 
RetTy visitFilter (isl::schedule_node_filter Filter, Args... args)
 
RetTy visitSingleChild (isl::schedule_node Node, Args... args)
 
RetTy visitMultiChild (isl::schedule_node Node, Args... args)
 
RetTy 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.

References isl::schedule::get_root(), and polly::RecursiveScheduleTreeVisitor< Derived, RetTy, Args >::getDerived().

◆ 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

◆ visitNode()

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

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