-
Kirill Smelkov authored
RangedMap is Key->VALUE map with adjacent keys mapped to the same value coalesced into Ranges. RangedKeySet is set of Keys with adjacent keys coalesced into Ranges. This data structures will be needed for ΔBtail. For now the implementation is simple since it keeps whole map in a linear slice because both RangedMap and RangedKeySet will be used in ΔBtail to keep something proportional to δ of a change, which is assumed to be small or medium most of the time. Some preliminary history: kirr/wendelin.core@6ea5920a X xbtree: Less copy/garbage in RangedKeySet ops kirr/wendelin.core@3ecacd99 X need to keep Value first so that sizeof(set-entry) = sizeof(KeyRange) kirr/wendelin.core@a5b9b19b X SetRange draftly works kirr/wendelin.core@ed2de0de X Tests for Get kirr/wendelin.core@3b7b69e6 X fixes for empty set/range kirr/wendelin.core@6972f999 X xbtree/blib: RangedMap, RangedSet += IntersectsRange, Intersection kirr/wendelin.core@57be0126 X RangedMap - like RangedSet but for dict
1f2cd49d