Lines Matching refs:po_iterator

96 class po_iterator : public po_iterator_storage<SetType, ExtStorage> {
112 po_iterator(NodeRef BB) { in po_iterator() function
118 po_iterator() = default; // End is when stack is empty.
120 po_iterator(NodeRef BB, SetType &S) in po_iterator() function
128 po_iterator(SetType &S) in po_iterator() function
144 static po_iterator begin(const GraphT &G) { in begin()
145 return po_iterator(GT::getEntryNode(G)); in begin()
147 static po_iterator end(const GraphT &G) { return po_iterator(); } in end()
149 static po_iterator begin(const GraphT &G, SetType &S) { in begin()
150 return po_iterator(GT::getEntryNode(G), S); in begin()
152 static po_iterator end(const GraphT &G, SetType &S) { return po_iterator(S); } in end()
154 bool operator==(const po_iterator &x) const {
157 bool operator!=(const po_iterator &x) const { return !(*this == x); }
167 po_iterator &operator++() { // Preincrement
175 po_iterator operator++(int) { // Postincrement
176 po_iterator tmp = *this;
185 po_iterator<T> po_begin(const T &G) { return po_iterator<T>::begin(G); } in po_begin()
187 po_iterator<T> po_end (const T &G) { return po_iterator<T>::end(G); } in po_end()
189 template <class T> iterator_range<po_iterator<T>> post_order(const T &G) { in post_order()
195 struct po_ext_iterator : public po_iterator<T, SetType, true> {
196 po_ext_iterator(const po_iterator<T, SetType, true> &V) : in po_ext_iterator()
197 po_iterator<T, SetType, true>(V) {} in po_ext_iterator()
218 struct ipo_iterator : public po_iterator<Inverse<T>, SetType, External> {
219 ipo_iterator(const po_iterator<Inverse<T>, SetType, External> &V) : in ipo_iterator()
220 po_iterator<Inverse<T>, SetType, External> (V) {} in ipo_iterator()
243 ipo_ext_iterator(const po_iterator<Inverse<T>, SetType, true> &V) : in ipo_ext_iterator()