After the review of the Interval Template Library in February
and its acceptance for inclusion, I worked on a number of
suggestions and proposals from the reviewers, in order to
improve the design and quality of the library. The library
is now renamed to Boost.Icl: Interval Container Library.
I have completed a release icl-4.0.0, where those suggestions
are implemented. Apart from typos and flaws in the docs that
might be there after renaming, this will be the version
for inclusion into the next boost release (1.46.0).
The now renamed library has a new path in the sandbox:
https://svn.boost.org/svn/boost/sandbox/icl/
The sources are also in the vault
http://www.boostpro.com/vault/index.php?&direction=0&order=&directory=Containers
and on sourceforge (extended version)
http://sourceforge.net/projects/itl/
The BoostBook docs are online available here:
http://www.joachim-faulhaber.de/boost_icl/doc/libs/icl/doc/html/index.html
Many of the proposals from the reviewers were agreed upon
during the discussion on the library. In particular I took
into account suggestions by Jeff Flinn (JF), Luke Simonson (LS),
Barend Gehrels (BG), Vicente Botet (VB), Thomas Klimpel (TK),
Paul A. Bristow (PB), Robert Stewart (RS), John Reid (JR) and
Markus Werle (MW).
Some suggestions by Phil Endecott, Jerry Jeremiah, Brian Wood,
Barend Gehrels, Luke Simonson and John Reid are not or not yet
implemented for different reasons but they may be considered
for the future evolution of the library.
* The library has been renamed from
Interval Template Library (ITL) to
Interval Container Library (ICL)
Its namespace is now icl instead of itl.
(Renaming was suggested by MW).
* Introduction of dynamically bounded and statically bounded intervals
(JF,JR,VB)
+ The 'universal' interval class itl::interval has been replaced by
+ dynamically bounded discrete_interval and continuous_interval
http://www.herold-faulhaber.de/boost_icl/doc/libs/icl/doc/html/boost_icl/examples/dynamic_interval.html
+ statically bounded right_open_interval, left_open_interval
closed_interval and open_interval and a uniform set of
namespace global functions or interval_concept for them.
Statically bounded intervals don't carry information about
their interval bounds and use less memory. (JF,JR)
http://www.herold-faulhaber.de/boost_icl/doc/libs/icl/doc/html/boost_icl/examples/static_interval.html
+ The interval class templates are now quite small. The functions
are namespace global functions that make up an interval
concept (JF,LS)
+ Added functions 'distance' and 'inner_complement' for
intervals.(JR)
http://www.herold-faulhaber.de/boost_icl/doc/libs/icl/doc/html/boost_icl/function_reference/miscellaneous_interval_functions.html
* User defined interval types are now customizable (JF)
+ An interval_traits and dynamic_interval_traits template
describes the generic properties of the interval concept ...
+ and allows to customize the icl library for user defined
interval types.
http://www.herold-faulhaber.de/boost_icl/doc/libs/icl/doc/html/boost_icl/examples/custom_interval.html
* Extraction of namespace global functions. (LS,JF,RS)
+ Member functions have been extracted form class templates
as long as they are not needed to maintain type invariants.
+ The sets of namespace global functions build concepts
icl::element_set, icl::element_map,
icl::interval_set, icl::interval_map
+ Some functions have been renamed to conform existing standards
(ISO/OGC). (BG)
+ std::set and other stl conformant set types are models of the
icl's element_set concept. Class template icl::set has been
removed.
+ Member functions for element iterations are extracted from
the interval container class templates. (LS)
* Names, referred to as 'colorful terminology' have been renamed
(TK,VB,PB)
+ neutron -> identity_element
+ unon -> unit_element
+ ... and also their occurrence in composite identifiers
If you find bugs in the library or typos or other flaws in the
docs, please let me know so I can fix them before inclusion of
the library into the next boost release.
Enjoy,
Joachim
_______________________________________________
Boost-users mailing list
Boost...@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users
Joachim, that's great news. Many people are waiting for this!
Why don't you just go ahead and move everything into Boost trunk. That does
not disrupt any release procedures, but gives you the benefit of running the
tests on a daily basis on a broad range of platforms. Additionally it
simplifies things for people working from Boost SVN trunk wanting to use
your library.
Regards Hartmut
---------------
http://boost-spirit.com
+1
> Why don't you just go ahead and move everything into Boost trunk.
+1
> That does
> not disrupt any release procedures, but gives you the benefit of running the
> tests on a daily basis on a broad range of platforms. Additionally it
> simplifies things for people working from Boost SVN trunk wanting to use
> your library.
>
It also allows more people to go ahead and play with the library and
give you feedback from the wild. :)
Great job again Joachim and I definitely look forward to ICL to get
into Boost's trunk.
Have a great day!
--
Dean Michael Berris
deanberris.com
This is wonderful news! Thank you for your hard work Joachim. I am
looking forward to using the latest version on a new project that I am
starting in December.
Take care -
michael
--
Michael Caisse
Object Modeling Designs
www.objectmodelingdesigns.com
Awesome! I'm looking forward to working with the final result.
> Why don't you just go ahead and move everything into Boost trunk. That does
> not disrupt any release procedures, but gives you the benefit of running the
> tests on a daily basis on a broad range of platforms. Additionally it
> simplifies things for people working from Boost SVN trunk wanting to use
> your library.
Yep, that would be great.
Thanks again for your hard work.
Jeff
+1 !