4 Commits

Author SHA1 Message Date
Lang Hames
ad4b66fd9b [ORC-RT] Specialize non-coalescing-IntervalMap to allow non-comparable values.
In non-coalescing IntervalMaps the value type should not be requried to be
equality-comparable.
2023-01-18 17:39:45 -08:00
Lang Hames
bbb73fbceb [ORC-RT] Reapply ab59185fbfb (Add IntervalMap/Set), with missing files included.
The original commit was reverted in c151e8428a due missing files (thanks Kazu!).
2023-01-17 13:47:47 -08:00
Kazu Hirata
c151e8428a Revert "[ORC-RT] Add IntervalMap and IntervalSet collections."
This reverts commit ab59185fbfb15c9ce5a64e3aacd3a8c7f6a97621.

It looks like this commit is missing interval_set_test.cpp.
2023-01-17 13:36:03 -08:00
Lang Hames
ab59185fbf [ORC-RT] Add IntervalMap and IntervalSet collections.
IntervalMap is an optionally-coalescing map -- it uses half-open ranges as keys,
allows lookups based on elements of the ranges (returning an iterator to the
containing range) and optionally coalesces adjacent ranges that have the same
value.

IntervalSet is an optionally-coalescing set based on IntervalMap.

These collections will be used to store and lookup metadata section ranges,
e.g. unwind-info ranges.
2023-01-17 13:25:25 -08:00