#include <expr_iterator.h>
|
std::function< exprt &()> | mutate_root |
| If this is non-empty then the root is currently const and this function must be called before any mutations occur.
|
|
Definition at line 228 of file expr_iterator.h.
◆ depth_iteratort() [1/3]
depth_iteratort::depth_iteratort |
( |
| ) |
|
|
default |
◆ depth_iteratort() [2/3]
depth_iteratort::depth_iteratort |
( |
exprt & |
expr | ) |
|
|
inlineexplicit |
Create iterator starting at the supplied node (root) All mutations of the child nodes will be reflected on this node.
- Parameters
-
expr | The root node to begin iteration at |
Definition at line 243 of file expr_iterator.h.
◆ depth_iteratort() [3/3]
depth_iteratort::depth_iteratort |
( |
const exprt & |
expr, |
|
|
std::function< exprt &()> |
mutate_root |
|
) |
| |
|
inlineexplicit |
Create iterator starting at the supplied node (root) If mutations of the child nodes are required then the passed mutate_root function will be called to get a non-const copy of the same root on which the mutations will be done.
- Parameters
-
expr | The root node to begin iteration at |
mutate_root | The function to call to get a non-const copy of the same root expression passed in the expr parameter |
Definition at line 254 of file expr_iterator.h.
◆ mutate()
exprt & depth_iteratort::mutate |
( |
| ) |
|
|
inline |
Obtain non-const reference to the exprt instance currently pointed to by the iterator.
If the iterator is currently using a const root exprt then calls mutate_root to get a non-const root and copies it if it is shared
- Returns
- A non-const reference to the element this iterator is currently pointing to
Definition at line 270 of file expr_iterator.h.
◆ mutate_root
std::function<exprt &()> depth_iteratort::mutate_root |
|
private |
If this is non-empty then the root is currently const and this function must be called before any mutations occur.
Definition at line 234 of file expr_iterator.h.
The documentation for this class was generated from the following file: