Boost.Icl in Boost-1.47.0 2011-07-11
Boost.Icl ships with Boost 1.47.0: Some adaptations for the seamless integration of the new library Boost.Chrono. Very stable version. No open bugs.
Boost.Icl in Boost-1.46.1 2011-03-12
Boost.Icl in Boost-1.46.0 2011-02-21
Boost.Icl is released with Boost 1.46.0: The core library of interval container ships with Boost 1.46.0 for the first time and is now part of the Boost c++ libraries.
Version for inclusion into boost 1.46.0 (update 1). Improved portability due to boost night tests on most available compilers and platforms. Improved usability for intervals and interval containers of pointers and boost date_time durations. Bugfixes for interval_bitset and addition of some functions and tests. Corrections and improvements of the documentation.
Version for inclusion into boost 1.46.0. The library's name was changed to Interval Container Library (ICL). Addition of statically bounded intervals. Addition of an interval concept and an interval traits class. Made user defined intervals customizable. Extracted member functions to sets of namespace global functions that build an interval_set and interval_map concept. Renamed some functions to conform existing standards (ISO/OGC) and notions (identity_element, unit_element).
Addition of doxygen generated documentation for extended library parts. Basic documentation and example for law based testing.
Implementation of element iterators for all interval containers. Implementation of bit iterators for interval bitsets. Added a commented example implementation "large bitset" to the quickbook documentation. Implementation of large interval_bitset including bit iterators. Added itl::insert_iterator itl::add_iterator to fill interval containers from stl containers of intervals. Implemented boost warning policy. Law based tests of element iteration, bit iteration and applicability of stl algorithms (SortedAssociativeContainer properties).
Algorithms are being refactored to improve efficiency. Documentation of complexity guarantees. Completion of quickbook documentation. Added time measurement to law based tests. Addition of law based tests to test suites.
The library files are reorganized to comply the boost centric project structure. All set theoretic functions are implemented as namspace global operators in an assigning o= and an infix variant. Overloads within and between interval containers and for elements and segments are implemented. Intersection operator changed form (*=, *) to (&=, &). The library has been validated for a number of semantic constraints using a law based tester. The results of these tests is documented in the boost quickbook documentation in section semantics. Added a test suite using Boost.Test. Tests for interoperability with Boost.Date_Time and Boost.Rational.
Redesign of all interval container class templates according to boost standards. Replacing virtual functions by means of static polymorphism using the CRT pattern. Adding the self minimizing interval_map and the separating separate_interval_set. Separation of add/subtract from insert/erase semantics. Starting to develop the law based tester and performing law based tests. Improvement of the doxygen generated documentation. Improved and new examples that use boost code particularly boost date and time classes.
This version is refactored from the initial version for some basic boost standards, like naming conventions, third library dependencies and basic portability. This version has been used for the first proposal on the boost developers list. Improving doxygen generated documentation and examples.
Initial version. Refactored version of the code released as open source by Cortex Software GmbH in 2006. Removed some dangling dependencies. Added initial doxygen generated documentation and some examples.
“This can be a really useful class of data structures.
I support 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 usecase
[...] did speak toward the richness of the interface. Each time we wanted to apply
a different 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