Polly 22.0.0git
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 >:
[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 ()
Derived & getDerived ()
isl::schedule_node visit (isl::schedule Schedule, Args... args)
 When visiting an entire schedule tree, start at its root node.
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, isl::schedule_node, Args... >
Derived & getDerived ()
isl::schedule_node visit (isl::schedule_node Node, Args... args)
isl::schedule_node visitDomain (isl::schedule_node_domain Domain, Args... args)
isl::schedule_node visitBand (isl::schedule_node_band Band, Args... args)
isl::schedule_node visitSequence (isl::schedule_node_sequence Sequence, Args... args)
isl::schedule_node visitSet (isl::schedule_node_set Set, Args... args)
isl::schedule_node visitLeaf (isl::schedule_node_leaf Leaf, Args... args)
isl::schedule_node visitMark (isl::schedule_node_mark Mark, Args... args)
isl::schedule_node visitExtension (isl::schedule_node_extension Extension, Args... args)
isl::schedule_node visitFilter (isl::schedule_node_filter Filter, Args... args)
isl::schedule_node visitSingleChild (isl::schedule_node Node, Args... args)
isl::schedule_node visitMultiChild (isl::schedule_node Node, Args... args)
isl::schedule_node visitNode (isl::schedule_node Node, Args... args)

Additional Inherited Members

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

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

Definition at line 175 of file ScheduleTreeTransform.h.

◆ visitNode()

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

Definition at line 171 of file ScheduleTreeTransform.h.


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