Interval Container Library

by Joachim Faulhaber

Reviews

The application was a digital video/event recording system. […]
Separate ICL containers were used to capture "activity" for each video
stream and event source. As a result, the intersection of various events
with video for a specific time span was easily extracted. The library
was also used to extract monthly, daily, and hourly "visuals" of recorded data.

[…] In addition to the above use-case I have two other applications that
I am eager to apply the library to. I have found that the concept of an
interval container shows up in many of my client's domains.

— What is your evaluation of the documentation?
Excellent! The documentation was enough to get me going and be
successful with the library. I found the tutorials and examples
very useful and they provide "food for thought" on implementing
various patterns.

— What is your evaluation of the potential usefulness of the library?
I have found the library to be very useful and intend to use it on more projects
in the very near future.

At the outset, I want to say that I enthusiastically support the
inclusion of this library in Boost. I also encourage others without a
specific application in mind to check out the library, as there are a
lot of fun examples that you might later find useful in other coding
projects.
[…] I develop combined hardware and software systems for
recording from high-throughput neural systems. One of the primary
challenges we face with such systems is the aggressive demands that 10
GB/hour of time-series data places on a typical workstation when you
want to visualize it […] ICL solved this problem for me, in a way
that honestly freed me from having to think about a lot of the unsavory
low-level details.

— What is your evaluation of the potential usefulness of the library?
For my applications, it was crucial -- they would have been far less
optimal (both from a software-engineering and asymptotic perspective)
without ICL.

This is my review of the Interval Container Library (ICL). YES, I vote +1,
this library should be accepted into Boost. It is very very useful. During
my review my enthusiasm was only growing. Even if there was a thing confusing
on the operators (for me). Yes, I can use this library in real life and it will
solve problems for me. […]

“This can be a really useful class of data structures.
I sup­port continued work on getting this into Boost.”
—
Dave Abrahams

“So I love ICL — it really solved the visualization problem I was
having. [...] Visualizing that amount of data, in real time, is quite a challenge. I'm
using ICL to track pre-rendered regions of this time series data. It
does exactly what I want.”
— Eric M. Jonas, coauthor of
The Soma Project

My experience with this use­case
[...] did speak toward the richness of the interface. Each time we wanted to apply
a dif­ferent operation or extract a different view of the data we found that the scenario
had already been considered and a solution was readily available.
—
Michael Caisse