CBMC
Loading...
Searching...
No Matches
Classes | Functions
expr_iterator.h File Reference

Forward depth-first search iterators These iterators' copy operations are expensive, so use auto&, and avoid std::next(), std::prev() and post-increment iterator. More...

#include <deque>
#include <iterator>
#include <functional>
#include <set>
#include <algorithm>
#include "expr.h"
#include "invariant.h"
+ Include dependency graph for expr_iterator.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

  Helper class for depth_iterator_baset. More...
 
  Depth first search iterator base - iterates over supplied expression and all its operands recursively. More...
 
 
class   depth_iteratort
 
 
  An adapter to yield a range (expected to satisfy C++20 std::ranges::range) of const_depth_iteratort. More...
 
  Post-order depth-first-search iterator. More...
 
  An adapter to yield a range of const_post_depth_iteratort. More...
 

Functions

 
 
 

Detailed Description

Forward depth-first search iterators These iterators' copy operations are expensive, so use auto&, and avoid std::next(), std::prev() and post-increment iterator.

Non-const iterators dereference to const exprt (for use with STL algorithms) but have an extra .mutate() method. That method is used to access non-const exprt reference but is an expensive operation

Definition in file expr_iterator.h.

Function Documentation

◆  operator==()

Definition at line 54 of file expr_iterator.h.

◆  post_traversal()

inlinestatic

Definition at line 463 of file expr_iterator.h.

◆  pre_traversal()

inlinestatic

Definition at line 334 of file expr_iterator.h.

AltStyle によって変換されたページ (->オリジナル) /