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 261 of file instrument_spec_assigns.h.
|
inline |
Initializes to the empty interval.
Definition at line 265 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 275 of file instrument_spec_assigns.h.
|
inlineprivate |
If line or col is missing use default.
Definition at line 333 of file instrument_spec_assigns.h.
|
inline |
True iff the interval contains the given location.
Definition at line 303 of file instrument_spec_assigns.h.
|
inlinestaticprivate |
True iff (line0, col0) <= (line1, col1)
in lexicographic ordering.
Definition at line 371 of file instrument_spec_assigns.h.
|
inlineprivate |
If line is missing use default.
Definition at line 353 of file instrument_spec_assigns.h.
|
inline |
Grows the interval to include the given (line, col) location.
Definition at line 284 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 389 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 378 of file instrument_spec_assigns.h.
|
private |
Definition at line 401 of file instrument_spec_assigns.h.
|
private |
Definition at line 400 of file instrument_spec_assigns.h.
|
private |
Definition at line 399 of file instrument_spec_assigns.h.
|
private |
Definition at line 398 of file instrument_spec_assigns.h.