-
Notifications
You must be signed in to change notification settings - Fork 284
Closed
Description
@jasigal commented on Thu Jul 20 2017
Currently there is no good, unified way to do the following:
- Determine is any subexpression satisfies a predicate
- Find a subexpression that satisfies a predicate
- Count the number of subexpressions that satisfy a predicate
- Traverse an expression to create a new data structure
- Feed all subexpressions into a function one at a time
By adding iterators to exprts, we can use them to do all of the above more simply (as opposed to doing a stack based traversal by hand each time) and additionally make use of the <algorithm> standard library. Some functions may need to be back-ported from C++17/20.
The changes for exprt can be had in its class definition, and functions using these iterators specific to exprts can be put in util/expr.cpp.
@peterschrammel commented on Thu Jul 20 2017
@jasigal, move this issue to diffblue/cbmc please
Metadata
Metadata
Assignees
Labels
No labels