Hartmut Kaiser wrote:
Interval containers allow to access and manipulate collections of intervals on an abstract level as sets and maps (of elements), but also to exploit segmental information that is given by the interval borders. Interval containers are fairly generic. They can be instantiated with discrete domain (or key) types like integral numeric types or boost::date or time types. But they also work with continuous domain types like double, rational or string. Using the latter allows to represent infinite sets and maps.
The interface of the interval containers strives to be very intuitive and in line with the stl and other boost libraries.
* The set theoretic operations union, difference, intersection and symmetric difference are available as operators for all interval containers and for many useful overloads between them.
I have no knowledge of the problem domain (nor did I actually look at the library yet, sorry about that), but I simply have a question: how does this compare to geometry libraries or spatial indexes that provide that kind of facilities for arbitrary dimensions? I certainly wouldn't want to force over-generalization to the authors, but I am wondering how much is gained by limiting things to one dimension.