Post‐order traversal using an external visited set.

Synopsis

Declared in <llvm/ADT/PostOrderIterator.h>

template<
    typename GraphT,
    typename SetType>
class PostOrderExtTraversal
    : public PostOrderTraversalBase<PostOrderExtTraversal<GraphT, SetType>, GraphTraits<GraphT>>

Description

The set can retain visited nodes after the walk and skip nodes already present. See PostOrderTraversal for lifetime restrictions.

Base Classes

Name

Description

PostOrderTraversalBase<PostOrderExtTraversal<GraphT, SetType>, GraphTraits<GraphT>>

CRTP base for a single post‐order graph walk.

Types

Name

Description

iterator

Input iterator yielding nodes in post‐order during a single traversal.

Member Functions

Name

Description

PostOrderExtTraversal [constructor]

Traverse G while recording visited nodes in external set S.

begin

Iterator to the current post‐order node, or end if none remain.

end

Past‐the‐end iterator for this traversal.

finishPostorder

Callback just before the iterator moves to the next block.

insertEdge

Record edge From ‐> To and return true if To should be visited.

Protected Member Functions

Name

Description

derived

Return this object cast to the CRTP derived type.

init

Initialize post‐order traversal at given start node.

Created with MrDocs