I’m trying to remember a library I’d seen some time back. I didn’t have a use for it then, but I do now. And of course I now can’t remember what it was called
Basically, I want to manage sets of integer ranges (the classic use case was sets of read articles in NNTP newsreaders). So I might have a set “1-7,9-13,21-27” and a set “6-12,31-33”, and their union would be “1-13,21-27,31-33”. So overlapping ranges are combined, and there should be a method to iterate over the start,end pairs for each range in the set. The highest values in the ranges can be in the billions (my need is to represent “chunks” of files in the gigabyte size range) so a compact representation is needed.
I can easily enough write my own implementation, but re-using something that exists and is well-tested seems like a better strategy.
Can anyone think of a library that implements this type of data structure?