[#llvm-ReversePostOrderTraversal] = xref:llvm.adoc[llvm]::ReversePostOrderTraversal :relfileprefix: ../ :mrdocs: Precomputed reverse‐post‐order walk of a graph. == Synopsis Declared in `<llvm/ADT/PostOrderIterator.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class GraphT, class GT = xref:llvm/GraphTraits-061.adoc[GraphTraits<GraphT>]> class ReversePostOrderTraversal; ---- == Description Construction walks the entire graph once with a post‐order iterator and stores the nodes so later iteration is cheap. Prefer reusing one instance rather than creating many. == Type Aliases [cols="1,4"] |=== | Name| Description | xref:llvm/ReversePostOrderTraversal/const_rpo_iterator.adoc[`const_rpo_iterator`] | Const reverse iterator yielding nodes in reverse post‐order. | xref:llvm/ReversePostOrderTraversal/rpo_iterator.adoc[`rpo_iterator`] | Mutable reverse iterator yielding nodes in reverse post‐order. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/ReversePostOrderTraversal/2constructor.adoc[`ReversePostOrderTraversal`] [.small]#[constructor]# | Build a reverse‐post‐order listing of all nodes reachable from `G.` | xref:llvm/ReversePostOrderTraversal/begin-0d.adoc[`begin`] | `begin` overloads | xref:llvm/ReversePostOrderTraversal/end-0f.adoc[`end`] | `end` overloads |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#