Crate eater_rangeset

Source
Expand description

A simple library with some boilerplate code to work with Range’s and RangeSet’s

Currently every set operation depends on a mix of RangeSet::union and RangeSet::invert as those are the only 2 operations needed to implement all other operations.

This also reduces surface for errors, as only 2 functions have to be proven correct.

This will change in the future

Macros§

r
Create a new range alike the range operator (range is an alias for r)
range
Create a new range alike the range operator (range is an alias for r)
range_set
Create a new range set based on given ranges

Structs§

Range
A range between point A and B, start and end are both std Bound objects
RangeSet
A set of ranges

Enums§

Bound
Re-export for ease An endpoint of a range of keys.
PositionalBound
A small wrapper around the std Bound enum, that stores if the boundary is the start or end boundary

Traits§

BoundExt
An extension trait for Bound, implements as_ref and invert

Type Aliases§

RangeVec
The list type used for storing multiple ranges in a set