angr.utils.cow_interval_map¶
- class angr.utils.cow_interval_map.IntervalMapCOW¶
Bases:
Generic[V]A piecewise-constant map from integers to values, stored as sorted, non-overlapping segments
[start, end) -> value.- __init__(coalesce_equal=False)¶
- Parameters:
coalesce_equal (
bool) – Merge adjacent segments whose values are equal (==). Otherwise only adjacent segments bound to the very same object are merged. Use it only for immutable values.
- copy()¶
- Return type:
- next_key(key)¶
Return the smallest bound key that is >= key, or None.
- overlapping(lo, hi)¶
Yield (unclipped) segments that overlap [lo, hi), in ascending order.
Yield segments of other that live in chunks this map does not share. Every other segment of other is bound identically in this map.
- Return type:
- Parameters:
other (IntervalMapCOW[V])
- assign(lo, hi, value)¶
Bind every key in [lo, hi) to value.
- pop_range(lo, hi)¶
Unbind every key in [lo, hi) and return the removed bindings, clipped to [lo, hi).