Boost logo

Boost :

From: Paul A Bristow (pbristow_at_[hidden])
Date: 2008-05-16 11:55:31


>-----Original Message-----
>From: boost-bounces_at_[hidden]
>[mailto:boost-bounces_at_[hidden]] On Behalf Of Joachim Faulhaber
>Sent: 12 May 2008 16:36
>To: boost_at_[hidden]
>Subject: [boost] proposal: interval containers
>I would like to contribute some library code that covers the field of
>interval containers, specifically interval_set and interval_map.
>My design of interval sets is based on the fact that an
>interval<T> is a set<T>, which implies that a set<T> t can be
>represented as a set<interval<T>> s, where t is the union over
>all intervals contained in s.
>The implementation of a set<T> as a set<interval<T>> can be
>beneficial whenever in a given problem domain the elements of
>sets appear in contiguous chunks: intervals. This is obviously the
>case in many problem domains, namely in fields that deal with problems
>related to date and time.
>The benefits of interval sets and maps are
>1. The implementation of sets/maps via interval_set/map is very
>space and also time efficient.
>2. All problems concerning overlaps of intervals and their
>handling can be encapsulated in the implementation and thus ...
>3. A higher abstraction level dealing with interval and specifically
>time interval related problems can be obtained.
>I wrote a library that provides generic classes for interval_sets
>and interval_maps and a few more things called "Interval
>Template Library (itl)". I'd like to give a very brief
>description of the library in this post. For more detailed
>information and the current source code you might want to download
>the itl from

A very brief reading of this (html) shows the code and documentation to be in mature shape with some interesting examples, that I
feel sure will find application elsewhere.

I found interesting the most simple example of people attending a party, and the more complex, attending hospital.

(The examples might be more convincing to Boosters if the examples used Boost.TimeDate - to prove that the two work together).

As ever, there is a problem connecting with the people who could use this code.
You have obviously not found a horde of people desparate to use this ;-)
(but perhaps they have already downloaded it and are using it?)

I recommend exposing these examples so people don't have download the zip and unpack it before you can read the docs. (Yes I know
people are idle - mea culpa).

Personally, I think this would be a useful addition to Boost.


Paul A Bristow
Prizet Farmhouse, Kendal, Cumbria UK LA8 8AB
+44 1539561830 & SMS, Mobile +44 7714 330204 & SMS

Boost list run by bdawes at, gregod at, cpdaniel at, john at