Polly 19.0.0git
Public Member Functions | List of all members
polly::ScheduleNodeRewriter< Derived, Args > Struct Template Reference

Recursively visit all nodes of a schedule tree while allowing changes. More...

#include <ScheduleTreeTransform.h>

Inheritance diagram for polly::ScheduleNodeRewriter< Derived, Args >:
Inheritance graph
[legend]

Public Member Functions

Derived & getDerived ()
 
const Derived & getDerived () const
 
isl::schedule_node visitNode (isl::schedule_node Node, Args... args)
 
isl::schedule_node visitChildren (isl::schedule_node Node, Args... args)
 
- Public Member Functions inherited from polly::RecursiveScheduleTreeVisitor< Derived, isl::schedule_node, Args... >
BaseTygetBase ()
 
const BaseTygetBase () const
 
Derived & getDerived ()
 
const Derived & getDerived () const
 
isl::schedule_node visit (isl::schedule Schedule, Args... args)
 When visiting an entire schedule tree, start at its root node.
 
isl::schedule_node visit (isl::schedule_node Node, Args... args)
 
isl::schedule_node 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)
 

Additional Inherited Members

- Public Types inherited from polly::RecursiveScheduleTreeVisitor< Derived, isl::schedule_node, Args... >
using BaseTy = ScheduleTreeVisitor< Derived, isl::schedule_node, Args... >
 

Detailed Description

template<typename Derived, typename... Args>
struct polly::ScheduleNodeRewriter< Derived, Args >

Recursively visit all nodes of a schedule tree while allowing changes.

The visit methods return an isl::schedule_node that is used to continue visiting the tree. Structural changes such as returning a different node will confuse the visitor.

Definition at line 163 of file ScheduleTreeTransform.h.

Member Function Documentation

◆ getDerived() [1/2]

template<typename Derived , typename... Args>
Derived & polly::ScheduleNodeRewriter< Derived, Args >::getDerived ( )
inline

◆ getDerived() [2/2]

template<typename Derived , typename... Args>
const Derived & polly::ScheduleNodeRewriter< Derived, Args >::getDerived ( ) const
inline

Definition at line 167 of file ScheduleTreeTransform.h.

◆ visitChildren()

template<typename Derived , typename... Args>
isl::schedule_node polly::ScheduleNodeRewriter< Derived, Args >::visitChildren ( isl::schedule_node  Node,
Args...  args 
)
inline

◆ visitNode()

template<typename Derived , typename... Args>
isl::schedule_node polly::ScheduleNodeRewriter< Derived, Args >::visitNode ( isl::schedule_node  Node,
Args...  args 
)
inline

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