CBMC
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

struct  depth_iterator_expr_statet
 Helper class for depth_iterator_baset. More...
 
class  depth_iterator_baset< depth_iterator_t >
 Depth first search iterator base - iterates over supplied expression and all its operands recursively. More...
 
class  const_depth_iteratort
 
class  depth_iteratort
 
class  const_unique_depth_iteratort
 

Functions

bool operator== (const depth_iterator_expr_statet &left, const depth_iterator_expr_statet &right)
 

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==()

bool operator== ( const depth_iterator_expr_statet left,
const depth_iterator_expr_statet right 
)
inline

Definition at line 52 of file expr_iterator.h.