CBMC
|
Represents an interval of source locations covered by the static local variable search. More...
#include <instrument_spec_assigns.h>
Public Member Functions | |
location_intervalt () | |
Initializes to the empty interval. More... | |
void | anywhere () |
Grows the interval cover the maximum range [(size_t::min, size_t::min), (size_t::min, size_t::max)]. More... | |
void | update (const source_locationt &source_location) |
Grows the interval to include the given (line, col) location. More... | |
bool | contains (const source_locationt &source_location) |
True iff the interval contains the given location. More... | |
Private Member Functions | |
std::size_t | col_to_size_t (const source_locationt &source_location, std::size_t default_value) |
If line or col is missing use default. More... | |
std::size_t | line_to_size_t (const source_locationt &source_location, std::size_t default_value) |
If line is missing use default. More... | |
void | update_min (size_t line, size_t col) |
Updates the min_line and min_col in place using the given values iff they are smaller. More... | |
void | update_max (size_t line, size_t col) |
Updates the max_line and max_col in place using the given values iff they are larger. More... | |
Static Private Member Functions | |
static bool | is_lte (size_t line0, size_t col0, size_t line1, size_t col1) |
True iff (line0, col0) <= (line1, col1) in lexicographic ordering. More... | |
Private Attributes | |
std::size_t | min_line |
std::size_t | min_col |
std::size_t | max_line |
std::size_t | max_col |
Represents an interval of source locations covered by the static local variable search.
Interval bounds are represented with (line, col) positive integers. Lexicographic ordering is used for comparisons. Updates to the bounds and inclusion checks use pessimistic defaults when source locations are undefined or only partially defined.
Definition at line 264 of file instrument_spec_assigns.h.
|
inline |
Initializes to the empty interval.
Definition at line 268 of file instrument_spec_assigns.h.
|
inline |
Grows the interval cover the maximum range [(size_t::min, size_t::min), (size_t::min, size_t::max)].
Definition at line 278 of file instrument_spec_assigns.h.
|
inlineprivate |
If line or col is missing use default.
Definition at line 336 of file instrument_spec_assigns.h.
|
inline |
True iff the interval contains the given location.
Definition at line 306 of file instrument_spec_assigns.h.
|
inlinestaticprivate |
True iff (line0, col0) <= (line1, col1)
in lexicographic ordering.
Definition at line 374 of file instrument_spec_assigns.h.
|
inlineprivate |
If line is missing use default.
Definition at line 356 of file instrument_spec_assigns.h.
|
inline |
Grows the interval to include the given (line, col) location.
Definition at line 287 of file instrument_spec_assigns.h.
|
inlineprivate |
Updates the max_line and max_col in place using the given values iff they are larger.
Definition at line 392 of file instrument_spec_assigns.h.
|
inlineprivate |
Updates the min_line and min_col in place using the given values iff they are smaller.
Definition at line 381 of file instrument_spec_assigns.h.
|
private |
Definition at line 404 of file instrument_spec_assigns.h.
|
private |
Definition at line 403 of file instrument_spec_assigns.h.
|
private |
Definition at line 402 of file instrument_spec_assigns.h.
|
private |
Definition at line 401 of file instrument_spec_assigns.h.