|
CBMC
|
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 |
| class | const_depth_iterator_range_adaptert |
| An adapter to yield a range (expected to satisfy C++20 std::ranges::range) of const_depth_iteratort. More... | |
| class | const_post_depth_iteratort |
| Post-order depth-first-search iterator. More... | |
| class | const_post_depth_iterator_range_adaptert |
| An adapter to yield a range of const_post_depth_iteratort. More... | |
Functions | |
| bool | operator== (const depth_iterator_expr_statet &left, const depth_iterator_expr_statet &right) |
| static const_depth_iterator_range_adaptert | pre_traversal (const exprt &root) |
| static const_post_depth_iterator_range_adaptert | post_traversal (const exprt &root) |
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.
|
inline |
Definition at line 54 of file expr_iterator.h.
|
inlinestatic |
Definition at line 463 of file expr_iterator.h.
|
inlinestatic |
Definition at line 334 of file expr_iterator.h.