|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r51432 - in sandbox/itl: boost/itl boost/itl/detail boost/itl/type_traits libs/itl/doc libs/itl/example libs/itl/example/boost_party libs/itl/example/interval libs/itl/example/itvset_shell libs/itl/example/splititvmap_shell
From: afojgo_at_[hidden]
Date: 2009-02-24 13:00:13
Author: jofaber
Date: 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
New Revision: 51432
URL: http://svn.boost.org/trac/boost/changeset/51432
Log:
Reviewed documentation. Replaced headers with shorter versions. Stable {msvc-9.0, partly congcc-4.3-a7}
Text files modified:
sandbox/itl/boost/itl/detail/element_comparer.hpp | 8
sandbox/itl/boost/itl/detail/notate.hpp | 36 +----
sandbox/itl/boost/itl/detail/subset_comparer.hpp | 8
sandbox/itl/boost/itl/functors.hpp | 34 +----
sandbox/itl/boost/itl/gregorian.hpp | 41 +-----
sandbox/itl/boost/itl/interval.hpp | 231 ---------------------------------------
sandbox/itl/boost/itl/interval_base_map.hpp | 1
sandbox/itl/boost/itl/interval_base_set.hpp | 1
sandbox/itl/boost/itl/interval_map.hpp | 94 ---------------
sandbox/itl/boost/itl/interval_map_algo.hpp | 8
sandbox/itl/boost/itl/interval_maps.hpp | 8
sandbox/itl/boost/itl/interval_morphism.hpp | 34 +----
sandbox/itl/boost/itl/interval_set.hpp | 99 +---------------
sandbox/itl/boost/itl/interval_set_algo.hpp | 8
sandbox/itl/boost/itl/interval_sets.hpp | 6
sandbox/itl/boost/itl/map.hpp | 2
sandbox/itl/boost/itl/map_algo.hpp | 34 +----
sandbox/itl/boost/itl/operators.hpp | 8
sandbox/itl/boost/itl/predicates.hpp | 40 +-----
sandbox/itl/boost/itl/ptime.hpp | 10
sandbox/itl/boost/itl/rational.hpp | 10
sandbox/itl/boost/itl/separate_interval_set.hpp | 56 ---------
sandbox/itl/boost/itl/set.hpp | 2
sandbox/itl/boost/itl/set_algo.hpp | 36 +----
sandbox/itl/boost/itl/split_interval_map.hpp | 121 +-------------------
sandbox/itl/boost/itl/split_interval_set.hpp | 85 +-------------
sandbox/itl/boost/itl/type_traits/absorbs_neutrons.hpp | 6
sandbox/itl/boost/itl/type_traits/difference.hpp | 6
sandbox/itl/boost/itl/type_traits/to_string.hpp | 37 +-----
sandbox/itl/boost/itl/type_traits/type_to_string.hpp | 34 +----
sandbox/itl/boost/itl/type_traits/unon.hpp | 8
sandbox/itl/boost/itl/type_traits/value_size.hpp | 41 +-----
sandbox/itl/libs/itl/doc/acknowledgments.qbk | 15 ++
sandbox/itl/libs/itl/example/boost_party/boost_party.cpp | 6
sandbox/itl/libs/itl/example/interval/interval.cpp | 6
sandbox/itl/libs/itl/example/itvset_shell/itvset_shell.cpp | 34 +----
sandbox/itl/libs/itl/example/splititvmap_shell/splititvmap_shell.cpp | 40 +-----
sandbox/itl/libs/itl/example/toytime.h | 35 +----
38 files changed, 204 insertions(+), 1085 deletions(-)
Modified: sandbox/itl/boost/itl/detail/element_comparer.hpp
==============================================================================
--- sandbox/itl/boost/itl/detail/element_comparer.hpp (original)
+++ sandbox/itl/boost/itl/detail/element_comparer.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,10 +1,10 @@
-/*----------------------------------------------------------------------------+
-Copyright (c) 2008-2008: Joachim Faulhaber
-+-----------------------------------------------------------------------------+
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2008-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENCE.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
-+----------------------------------------------------------------------------*/
++-----------------------------------------------------------------------------*/
#ifndef __itl_element_comparer_JOFA_090202_H__
#define __itl_element_comparer_JOFA_090202_H__
Modified: sandbox/itl/boost/itl/detail/notate.hpp
==============================================================================
--- sandbox/itl/boost/itl/detail/notate.hpp (original)
+++ sandbox/itl/boost/itl/detail/notate.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,32 +1,12 @@
-/*----------------------------------------------------------------------------+
-Copyright (c) 2007-2008: Joachim Faulhaber
-+-----------------------------------------------------------------------------+
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2007-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
Copyright (c) 1999-2006: Cortex Software GmbH, Kantstrasse 57, Berlin
-+-----------------------------------------------------------------------------+
-Boost Software License - Version 1.0 - August 17th, 2003
-
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
-+----------------------------------------------------------------------------*/
++------------------------------------------------------------------------------+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENCE.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
Macro definitions for useful and abstract notations e.g. iteration headers
-----------------------------------------------------------------------------*/
Modified: sandbox/itl/boost/itl/detail/subset_comparer.hpp
==============================================================================
--- sandbox/itl/boost/itl/detail/subset_comparer.hpp (original)
+++ sandbox/itl/boost/itl/detail/subset_comparer.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,10 +1,10 @@
-/*----------------------------------------------------------------------------+
-Copyright (c) 2008-2008: Joachim Faulhaber
-+-----------------------------------------------------------------------------+
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2008-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENCE.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
-+----------------------------------------------------------------------------*/
++-----------------------------------------------------------------------------*/
#ifndef __itl_subset_comparer_JOFA_090202_H__
#define __itl_subset_comparer_JOFA_090202_H__
Modified: sandbox/itl/boost/itl/functors.hpp
==============================================================================
--- sandbox/itl/boost/itl/functors.hpp (original)
+++ sandbox/itl/boost/itl/functors.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,30 +1,10 @@
-/*----------------------------------------------------------------------------+
-Copyright (c) 2007-2008: Joachim Faulhaber
-+-----------------------------------------------------------------------------+
-Boost Software License - Version 1.0 - August 17th, 2003
-
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
-+----------------------------------------------------------------------------*/
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2007-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENCE.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
#ifndef __itl_functors_H_JOFA_080315__
#define __itl_functors_H_JOFA_080315__
Modified: sandbox/itl/boost/itl/gregorian.hpp
==============================================================================
--- sandbox/itl/boost/itl/gregorian.hpp (original)
+++ sandbox/itl/boost/itl/gregorian.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,37 +1,10 @@
-/*----------------------------------------------------------------------------+
-Copyright (c) 2007-2008: Joachim Faulhaber
-+-----------------------------------------------------------------------------+
-Boost Software License - Version 1.0 - August 17th, 2003
-
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
-+----------------------------------------------------------------------------*/
-
-
-/*-----------------------------------------------------------------------------
-Function-templates for discrete Datatypes like int, unsigned or
- any class that provides a ++ operator c.f. iterators
------------------------------------------------------------------------------*/
-
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2008-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENCE.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
#ifndef __itl_gregorian_date_JOFA_080416_H__
#define __itl_gregorian_date_JOFA_080416_H__
Modified: sandbox/itl/boost/itl/interval.hpp
==============================================================================
--- sandbox/itl/boost/itl/interval.hpp (original)
+++ sandbox/itl/boost/itl/interval.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,5 +1,4 @@
/*-----------------------------------------------------------------------------+
-Author: Joachim Faulhaber
Copyright (c) 2007-2009: Joachim Faulhaber
Copyright (c) 1999-2006: Cortex Software GmbH, Kantstrasse 57, Berlin
+------------------------------------------------------------------------------+
@@ -43,234 +42,6 @@
namespace boost{namespace itl
{
-/**
- \mainpage The Interval Template Library
-
- \section news_sec News
-
- New examples are available showing applications of interval containers
- that use boost::date_time. Boost::gregorian dates and boost::posix times
- are used in examples boost_party.cpp, man_power.cpp, user_groups.cpp
- and month_and_week_grid.cpp.
-
- \section intro_sec Introduction
-
- The Interval Template Library (ITL) is a collection of
- generic c++ template classes for computations on <em>collections of
- intervals</em>. The most important instance of their use is the computation
- with containers of time intervals that are associated to values. We call
- such containers \e histories and their elements \e episodes. In addition to
- intervals and interval containers the library provides classes for
- generalized crosstables, which are tuple containers. We call such
- containers <em>tuple computers</em> or \e cubes.
- \n \n
- The Interval Template Library is currently hosted at the open source
- platform sourceforge and can be downloaded from http://sourceforge.net/projects/itl .
- This doxygen generated html documentation is part of the library release.
- In addition it is available at http://www.herold-faulhaber.de/itl .
- \n \n
- Basic parts of the ITL (interval conainers) are currently discussed at the
- boost developers mailing list as a contribution to the boost libraries.
- Although the sourcecode of the ITL is mature and very well tested it's
- design may be refactored significantly in a process of adapting to the
- boost library design principles and coding standards.
- \n \n \n
-
- \section sample_sec Examples
-
- We do provide a collection of examples that demonstrate the purpose and basic
- characteristics of the classes offered by the library. To get an instant
- impression you may browse these examples first.
- \n \n \n
-
- \subsection party_subsec Party
-
- boost_party.cpp is the ITL's <em>flagship example</em> because it demonstrates
- at least two important aspects of the library design in a
- comprehensible way.
- In boost_party.cpp the change of guests of a party in time is calculated using
- an interval_map simply by adding pairs of intervals and guest sets
- to the interval_map. As can be seen from this example interval_map has a
- <em>decompositional behavior</em> on the time part: time intervals are
- split up whenever the set of guests is changing. And it has an
- <em>aggregational behavior</em> on the associated values: Guest sets are
- added up on insertion. (party.cpp is a variant of the example that does not use
- boost::date_time).
- \n \n
-
- \subsection interval_subsec Intervals
-
- Interval.cpp gives a short example of different instances of the class interval
- \n \n
-
- \subsection interval_container_subsec Interval container
-
- Sample interval_container.cpp demonstrates basic charactersistics of
- interval container objects: interval_set, split_interval_set and split_interval_map.
- \n \n
-
- \subsection month_and_week_grid Partitioning of times using split_interval_set
-
- Example month_and_week_grid.cpp shows how the <em>border preserving</em>
- split_interval_set can be used to create time partitionigs where different
- periodic time intervals overlay each other. The example uses boost::date_time.
- \n \n
-
-
-
- \subsection overlap_counter_subsec Overlap counter: The most basic interval_map application
-
- The most basic application of an interval_map is a counter counting
- the number of overlaps of intervals inserted into it as shown in overlap_counter.cpp.
- \n \n
-
- \subsection man_power Man-power: Set operations on interval containers
-
- Set style operations on interval_sets and interval_maps like union, difference
- and intersection can be used to obtain calculations in a flexible way. Example
- man_power.cpp demontrates such operations in the process of calculating the
- available man-power of a company in a given time interval. The example uses
- boost::date_time.
- \n \n
-
- \subsection history_subsec History
-
- History is a more sophisticated application of an interval_map to decompose
- data in time. Sample history.cpp shows how we can monitor a set of attributes in a history.
- \n \n
-
-
- \subsection user_groups_subsec User Groups: Union and intersecion of histories
-
- Example user_groups.cpp shows how interval_maps can be unified (+=) or
- intersected (&=) to calculate desired informations.
-
- We have a group of
- admin users and of medcial staff, who have different authorisations in
- a ficticious system. The interval_maps for
- the groups show the history of the group membership: The members
- and how they change in time. The union of the groups is a
- history that shows the memberships of employees who have
- any rights (admin or medical). And the intersection represents the
- group of employees who have both rights: The superusers.
-
-
- \subsection amount_cube_subsec Amount cube
-
- Cubes or tuple computers allow to perform computations on values associated
- to tuples. A ITL tuple computer works similar to pivot tables (in spreadsheet programs)
- olap cubes (online analytic processing) or crosstables (in statistical programs).
- Sample amount_cube.cpp presents an application where values are \e 'amounts',
- which is the simplest instance.
- \n \n \n
-
- \section content_sec Content of the ITL
-
- \subsection itv_subsec Intervals and sets of intervals
-
- A set of intervals represents again a set. The implementation of a set as a set of
- intervals is a very efficient implementation of a set if it's elements are
- clustered in intervals. Examples for interval sets are given in sample
- interval_container.cpp.
- \n \n
-
- \subsection aov_subsec Interval maps and 'aggregation on overlap'
-
- On of the most fruitful concept of the ITL is the <em>aggregation on overlap</em>
- mechanism on interval maps. The associated values of an interval map are
- aggregated on insertion, whenever an interval value pair is added and
- the added interval overlaps intervals within the map. Depending on the value
- type this aggregation can be summation (for numbers), concatentation
- (for lists, strings), set union (for sets) and more. Samples of the
- <em>aggreation on overlap</em> mechanics are demonstrated in
- files boost_party.cpp (party.cpp), overlap_counter.cpp, man_power.cpp
- and history.cpp.
- \n \n \n
-
- \subsection itv_cont_subsec Overview over interval containers
-
- Interval containers are sets or maps that are implemented as sets or maps of
- intervals. They are efficient and useful containers in all problem domains
- where elements of sets apperar in continguous chunks (intervals).
-
- The design of the itl provides five kinds of interval containers: 3 set
- class templates and 2 map class templated. The above table presents an
- overview over interval containers:
-
- <table>
- <tr>
- <th></td>
- <th>joining</td>
- <th>separating</td>
- <th>splitting</td>
- </tr>
- <tr>
- <td>set</td>
- <td>interval_set</td>
- <td>separate_interval_set</td>
- <td>split_interval_set</td>
- </tr>
- <tr>
- <td>map</td>
- <td>interval_map</td>
- <td></td>
- <td>split_interval_map</td>
- </tr>
- <tr>
- <td></td>
- <td><em>intervals are joined on overlap or touch<br>
- (if associated values are equal)</em></td>
- <td><em>intervals are joined on overlap, not on touch</em></td>
- <td><em>intervals are split on overlap.<br>All interval borders are thus preserved</em></td>
- </tr>
- <tr>
- <td></td><td colspan=3 align="center">
- The different behavior of interval_containers is clarified
- in interval_container_conduct.h by example.
- </td>
- </tr>
- </table>
-
- Aspects of the interval container's desing are presented in interval_container_design.h .
-
-
- \subsection decom_subsec Decomposition of Histories
-
- Using interval maps we can build a so called <em>product history</em>,
- where a product of attributes (or objects) is associated to intervals
- and then inserted to a history. A product history keeps itself always
- in a normal form. Whenever any of the attributes changes, the intervals
- are split such that all attributes associated to an interval are constant.
- So here we get a general mechanism for decomposition of (time) intervals for
- the change of monitored attributes. An example for product histories is
- given in file history.cpp.
- \n \n
-
-
- \subsection cubes_subsec Cubes
-
- Tuple computer or cubes are implemented as maps of tuples in the ITL.
- Cubes are known as crosstables from statistical packages, OLAP
- (online analytic processing) cubes from data warehouse technology
- and pivot tables from spradsheet programs (e.g. excel). In the ITL
- we offer a generic implementation of such cubes in c++. Aggregation
- (e.g. summation) can be expressed by omitting elements of the tuple
- type of the cube, which we call projection. Other things like grouping
- and sorting can be done quite elegantly. An example for cubes is
- provided by file amount_cube.cpp.
- \n \n
-
- \section thanks_sec Acknowledgements
-
- I would like to thank CEO Hermann Steppe and Chief Developer Peter Wuttke
- of Cortex Software GmbH for their friendly support of my work on the
- ITL and their permission to release the library as open source.
-
-*/
-
-
-
-
/// Constants for intervalbounds
enum BoundTypes {
/// Both open: <tt>(x,y)</tt>
@@ -285,7 +56,7 @@
typedef unsigned char bound_type;
-/// A class template for intervals
+/** A class template for intervals */
template <class DomainT, ITL_COMPARE Compare = ITL_COMPARE_INSTANCE(std::less, DomainT)>
#ifdef USE_CONCEPTS
requires std::LessThanComparable<DomainT>
Modified: sandbox/itl/boost/itl/interval_base_map.hpp
==============================================================================
--- sandbox/itl/boost/itl/interval_base_map.hpp (original)
+++ sandbox/itl/boost/itl/interval_base_map.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,5 +1,4 @@
/*-----------------------------------------------------------------------------+
-Author: Joachim Faulhaber
Copyright (c) 2007-2009: Joachim Faulhaber
Copyright (c) 1999-2006: Cortex Software GmbH, Kantstrasse 57, Berlin
+------------------------------------------------------------------------------+
Modified: sandbox/itl/boost/itl/interval_base_set.hpp
==============================================================================
--- sandbox/itl/boost/itl/interval_base_set.hpp (original)
+++ sandbox/itl/boost/itl/interval_base_set.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,5 +1,4 @@
/*-----------------------------------------------------------------------------+
-Author: Joachim Faulhaber
Copyright (c) 2007-2009: Joachim Faulhaber
Copyright (c) 1999-2006: Cortex Software GmbH, Kantstrasse 57, Berlin
+------------------------------------------------------------------------------+
Modified: sandbox/itl/boost/itl/interval_map.hpp
==============================================================================
--- sandbox/itl/boost/itl/interval_map.hpp (original)
+++ sandbox/itl/boost/itl/interval_map.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,14 +1,10 @@
-/*----------------------------------------------------------------------------+
-Copyright (c) 2008-2008: Joachim Faulhaber
-+-----------------------------------------------------------------------------+
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2008-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENCE.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
-+----------------------------------------------------------------------------*/
-
-/* ------------------------------------------------------------------
-class interval_map
---------------------------------------------------------------------*/
++-----------------------------------------------------------------------------*/
#ifndef __interval_map_h_JOFA_080705__
#define __interval_map_h_JOFA_080705__
@@ -26,87 +22,7 @@
template<class,ITL_COMPARE>class Interval, ITL_ALLOC Alloc>
class split_interval_map;
-/// implements a map as a map of intervals - on insertion overlapping intervals are split and associated values are combined.
-/**
- Template-class <b>interval_map</b>
- implements a map as a map of intervals - On insertion overlapping intervals are
- <b>split</b> and associated values are combined.
-
- Template parameter <b>DomainT</b>: Domain type of the map. Also type of the
- map's keys.
-
- Suitable as domain types are all datatypes that posess a partial order.
- In particular all discrete atomic datatypes like <tt>int, short, long</tt> and
- atomic pseudo-continuous datatypes <tt>float, double</tt> may be instantiated.
-
- Datatypes for the codomain parameter have to <b>implement</b> operations
- <tt>+=</tt>, <tt>-=</tt>, <tt>==</tt> (equality) and <tt>CodomainT()</tt> (default constructor).
-
- The default constructor <tt>CodomainT()</tt> has to contruct a neutral element
- such that the following holds:
-
- If <tt>x = y; y += CodomainT();</tt> then <tt>x==y;</tt> and
- If <tt>x = y; y -= CodomainT();</tt> then <tt>x==y;</tt>
-
- Template parameter <b>Interval=itl::interval</b>: Template type of interval used
- to implement the map. The default <b>itl::interval</b> uses the
- interval class template that comes with this library. Own implementation of interval
- classes are possible (but not trivial).
-
- <b>interval_map</b> implements a map <tt>map<DomainT, CodomainT></tt> as a map
- of intervals <tt>map<interval<DomainT>, CodomainT, ExclusiveLessT<Interval> ></tt>
-
- Interval maps <tt>interval_map<DomainT,CodomainT></tt> can be used similar (and in many
- aspects exactly like) common stl-maps. Unlike to stl-maps where you store
- a value for every key an interval map stores a contents value for an interval of
- keys. In it's degenerated form the key intervals contain a single element
- only. Then the interval map works like a normal stl-map. But if you work in problem
- domains where you associate values to large contiguous intervals, interval maps
- are very useful and efficient.
-
-
- Class <tt>interval_base_map</tt> yields the following benefits:
-
- <ul>
- <li> A set of intervals is conceived as the domain set of the map.
- The complexity involved with
- operations on intervals maps is encapsulated. The user of the class who
- wants to perform operations on interval maps is no more concerned
- with questions of overlapping, joining and bordering intervals.
- <li>
- <b>interval_map</b> gives an efficient implementation of maps consisting
- of larger contiguous chunks. Very large, even uncountably infinite maps
- can be represented in a compact way and handled efficiently.
- <li>
- <b>interval_map</b> serves as a overlay- or collision-computer.
- </ul>
-
- <b>interval_map as overlay computer</b>
-
- An object <tt>interval_map<int,int> overlays;</tt> computes the overlays or
- collisions of intervalls which have been inserted into it, if they are
- associated with the <tt>int</tt>-value <tt>1</tt> as the codommain value.
-
- If a newly inserted interval overlaps with intervals which are already in the
- map, the interval is split up at the borders of the collisions. The assiciated
- values of the overlapping intervals are incremented by 1, thus counting
- the numbers of overlaps.
-
- If sets are used as codomain types, interval_maps will compute unions of
- associated maps in case of interval collisions.
-
- <b>Restrictions: </b>
-
- A small number of functions can only be used for <b>discrete</b> domain datatypes
- (<tt>short, int, Date</tt> etc.) that implement operators <tt>++</tt> and <tt>--</tt>.
-
- These functions are tagged in the documentation. Using such functions
- for continuous domain datatypes yields compiletime errors. C.f. getting
- the <tt>first()</tt> element of a left open interval makes sense for intervals of
- int but not for intervals of double.
-
- @author Joachim Faulhaber
-*/
+/** implements a map as a map of intervals - on insertion overlapping intervals are split and associated values are combined.*/
template
<
typename DomainT,
Modified: sandbox/itl/boost/itl/interval_map_algo.hpp
==============================================================================
--- sandbox/itl/boost/itl/interval_map_algo.hpp (original)
+++ sandbox/itl/boost/itl/interval_map_algo.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,10 +1,10 @@
-/*----------------------------------------------------------------------------+
-Copyright (c) 2008-2008: Joachim Faulhaber
-+-----------------------------------------------------------------------------+
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2008-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENCE.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
-+----------------------------------------------------------------------------*/
++-----------------------------------------------------------------------------*/
#ifndef __itl_interval_map_algo_JOFA_081026_H__
#define __itl_interval_map_algo_JOFA_081026_H__
Modified: sandbox/itl/boost/itl/interval_maps.hpp
==============================================================================
--- sandbox/itl/boost/itl/interval_maps.hpp (original)
+++ sandbox/itl/boost/itl/interval_maps.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,10 +1,10 @@
-/*----------------------------------------------------------------------------+
-Copyright (c) 2008-2008: Joachim Faulhaber
-+-----------------------------------------------------------------------------+
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2008-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENCE.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
-+----------------------------------------------------------------------------*/
++-----------------------------------------------------------------------------*/
#ifndef __itl_interval_maps_h_JOFA_081008__
#define __itl_interval_maps_h_JOFA_081008__
Modified: sandbox/itl/boost/itl/interval_morphism.hpp
==============================================================================
--- sandbox/itl/boost/itl/interval_morphism.hpp (original)
+++ sandbox/itl/boost/itl/interval_morphism.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,30 +1,10 @@
-/*----------------------------------------------------------------------------+
-Copyright (c) 2007-2008: Joachim Faulhaber
-+-----------------------------------------------------------------------------+
-Boost Software License - Version 1.0 - August 17th, 2003
-
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
-+----------------------------------------------------------------------------*/
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2008-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENCE.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
#ifndef __itl_interval_morphism_H_JOFA_080315__
#define __itl_interval_morphism_H_JOFA_080315__
Modified: sandbox/itl/boost/itl/interval_set.hpp
==============================================================================
--- sandbox/itl/boost/itl/interval_set.hpp (original)
+++ sandbox/itl/boost/itl/interval_set.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,35 +1,11 @@
-/*----------------------------------------------------------------------------+
-Copyright (c) 2007-2008: Joachim Faulhaber
-+-----------------------------------------------------------------------------+
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2007-2009: Joachim Faulhaber
Copyright (c) 1999-2006: Cortex Software GmbH, Kantstrasse 57, Berlin
-+-----------------------------------------------------------------------------+
-Boost Software License - Version 1.0 - August 17th, 2003
-
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
-+----------------------------------------------------------------------------*/
-/* ------------------------------------------------------------------
-class interval_set
---------------------------------------------------------------------*/
++------------------------------------------------------------------------------+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENCE.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
#ifndef __itl_interval_set_hpp_JOFA_990223__
#define __itl_interval_set_hpp_JOFA_990223__
@@ -40,66 +16,7 @@
namespace boost{namespace itl
{
-/// Implements a set as a set of intervals - merging adjoining intervals
-/**
- Template-class <b>interval_set</b>
- implements a set as a set of intervals - interval bounds are merged if
- inserted intervals overlap or adjoin.
-
- Template parameter <b>DomainT</b>: The set's domain-type. Type of the
- set's elements.
-
- Suitable as domain types are all datatypes that posess a partial order.
- In particular all discrete atomic datatypes like <tt>int, short, long</tt> and
- atomic pseudo-continuous datatypes <tt>float, double</tt> may be instantiated.
-
- Template parameter <b>Interval=itl::interval</b>: Type of interval used
- to implement the set. The default <b>itl::interval</b> uses the
- interval class that comes with this library. Own implementation of interval
- classes are possible (but not trivial).
-
- <b>interval_set</b> implements a set <tt>set<DomainT></tt> as a set of intervals
- <tt>set<interval<DomainT>></tt>. Intervals will be merged on insertion, if they
- border each other or overlap.
-
- interval_base_set<DomainT> can thus be used like a set. As it is known from mathematics
- the union over a set of intervls is a set itself.
-
- <b>Class <tt>interval_set</tt> yields the following benefits: </b>
-
- <ul>
- <li>
- A set of intervals is conceived as a set. The complexity involved with
- operations on intervals and sets of intervals is encapsulated.
- The user of the class who
- wants to perform set operations on sets of intervals is no more concerned
- with questions of overlapping, joining and bordering intervals.
- <li>
- <b>interval_set</b> gives an efficient implementation of sets consisting
- of larger contiguous chunks. Very large, even uncountably infinite sets of
- elements can be represented in a compact way and handled efficiently.
- </ul>
-
- Intervals in <b>interval_sets</b> are always unified, if intervals are adjoint. So the number
- of interval in an <b>interval_set</b> is always minimal. So informations about bounds
- of inserted intervals are lost if those intervals are adjoint to or overlapping
- with intervals within the <b>interval_set</b>.
-
- <b>Restrictions: </b>
-
- A small number of functions can only be used for <b>discrete</b> domain datatypes
- (<tt>short, int, Date</tt> etc.) that implement operators <tt>++</tt> and <tt>--</tt>.
- These functions are tagged in the documentation.
-
- @author Joachim Faulhaber
-*/
-
-/* JODO Using such functions
- for continuous domain datatypes yields compiletime errors. E.g. getting
- the <tt>first()</tt> element of a left open interval makes sense for intervals of
- int but not for intervals of double.
-*/
-
+/** Implements a set as a set of intervals - merging adjoining intervals */
template
<
typename DomainT,
Modified: sandbox/itl/boost/itl/interval_set_algo.hpp
==============================================================================
--- sandbox/itl/boost/itl/interval_set_algo.hpp (original)
+++ sandbox/itl/boost/itl/interval_set_algo.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,10 +1,10 @@
-/*----------------------------------------------------------------------------+
-Copyright (c) 2008-2008: Joachim Faulhaber
-+-----------------------------------------------------------------------------+
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2008-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENCE.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
-+----------------------------------------------------------------------------*/
++-----------------------------------------------------------------------------*/
#ifndef __itl_interval_set_algo_JOFA_081005_H__
#define __itl_interval_set_algo_JOFA_081005_H__
Modified: sandbox/itl/boost/itl/interval_sets.hpp
==============================================================================
--- sandbox/itl/boost/itl/interval_sets.hpp (original)
+++ sandbox/itl/boost/itl/interval_sets.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,10 +1,10 @@
-/*----------------------------------------------------------------------------+
+/*-----------------------------------------------------------------------------+
Copyright (c) 2008-2008: Joachim Faulhaber
-+-----------------------------------------------------------------------------+
++------------------------------------------------------------------------------+
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENCE.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
-+----------------------------------------------------------------------------*/
++-----------------------------------------------------------------------------*/
#ifndef __itl_interval_sets_hpp_JOFA_080930__
#define __itl_interval_sets_hpp_JOFA_080930__
Modified: sandbox/itl/boost/itl/map.hpp
==============================================================================
--- sandbox/itl/boost/itl/map.hpp (original)
+++ sandbox/itl/boost/itl/map.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -63,7 +63,7 @@
inline std::string type_to_string<total_enricher>::apply() { return "e^0"; }
-/// adds addition, subtraction and intersection to std::maps
+/** adds addition, subtraction and intersection to std::maps */
template
<
typename DomainT,
Modified: sandbox/itl/boost/itl/map_algo.hpp
==============================================================================
--- sandbox/itl/boost/itl/map_algo.hpp (original)
+++ sandbox/itl/boost/itl/map_algo.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,30 +1,10 @@
-/*----------------------------------------------------------------------------+
-Copyright (c) 2007-2008: Joachim Faulhaber
-+-----------------------------------------------------------------------------+
-Boost Software License - Version 1.0 - August 17th, 2003
-
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
-+----------------------------------------------------------------------------*/
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2007-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENCE.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
#ifndef __itl_MAPALGO_H_JOFA_080225__
#define __itl_MAPALGO_H_JOFA_080225__
Modified: sandbox/itl/boost/itl/operators.hpp
==============================================================================
--- sandbox/itl/boost/itl/operators.hpp (original)
+++ sandbox/itl/boost/itl/operators.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,10 +1,10 @@
-/*----------------------------------------------------------------------------+
-Copyright (c) 2008-2008: Joachim Faulhaber
-+-----------------------------------------------------------------------------+
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2008-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENCE.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
-+----------------------------------------------------------------------------*/
++-----------------------------------------------------------------------------*/
#ifndef __itl_operators_JOFA_090115_H__
#define __itl_operators_JOFA_090115_H__
Modified: sandbox/itl/boost/itl/predicates.hpp
==============================================================================
--- sandbox/itl/boost/itl/predicates.hpp (original)
+++ sandbox/itl/boost/itl/predicates.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,36 +1,12 @@
-/*----------------------------------------------------------------------------+
-Copyright (c) 2007-2008: Joachim Faulhaber
-+-----------------------------------------------------------------------------+
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2008-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
Copyright (c) 1999-2006: Cortex Software GmbH, Kantstrasse 57, Berlin
-+-----------------------------------------------------------------------------+
-Boost Software License - Version 1.0 - August 17th, 2003
-
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
-+----------------------------------------------------------------------------*/
-/* ------------------------------------------------------------------
-Predicates
- general classes for Predicates
---------------------------------------------------------------------*/
++------------------------------------------------------------------------------+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENCE.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
#ifndef __itl_predicates_H_JOFA_990224__
#define __itl_predicates_H_JOFA_990224__
Modified: sandbox/itl/boost/itl/ptime.hpp
==============================================================================
--- sandbox/itl/boost/itl/ptime.hpp (original)
+++ sandbox/itl/boost/itl/ptime.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,16 +1,16 @@
-/*----------------------------------------------------------------------------+
+/*-----------------------------------------------------------------------------+
Copyright (c) 2008-2008: Joachim Faulhaber
-+-----------------------------------------------------------------------------+
++------------------------------------------------------------------------------+
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENCE.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
-+----------------------------------------------------------------------------*/
++-----------------------------------------------------------------------------*/
-/*-----------------------------------------------------------------------------
+/*------------------------------------------------------------------------------
itl_ptime provides adapter code for boost::posix_time::ptime.
It implements incrementation (++) decrementation (--) and a neutral element
w.r.t. addition (neutron()).
------------------------------------------------------------------------------*/
+------------------------------------------------------------------------------*/
#ifndef __itl_ptime_JOFA_080416_H__
#define __itl_ptime_JOFA_080416_H__
Modified: sandbox/itl/boost/itl/rational.hpp
==============================================================================
--- sandbox/itl/boost/itl/rational.hpp (original)
+++ sandbox/itl/boost/itl/rational.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,14 +1,14 @@
-/*----------------------------------------------------------------------------+
+/*-----------------------------------------------------------------------------+
Copyright (c) 2008-2008: Joachim Faulhaber
-+-----------------------------------------------------------------------------+
++------------------------------------------------------------------------------+
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENCE.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
-+----------------------------------------------------------------------------*/
++-----------------------------------------------------------------------------*/
-/*-----------------------------------------------------------------------------
+/*------------------------------------------------------------------------------
itl_rational provides adapter code for boost::rational.
------------------------------------------------------------------------------*/
+------------------------------------------------------------------------------*/
#ifndef __itl_rational_JOFA_080913_H__
#define __itl_rational_JOFA_080913_H__
Modified: sandbox/itl/boost/itl/separate_interval_set.hpp
==============================================================================
--- sandbox/itl/boost/itl/separate_interval_set.hpp (original)
+++ sandbox/itl/boost/itl/separate_interval_set.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,10 +1,10 @@
-/*----------------------------------------------------------------------------+
+/*-----------------------------------------------------------------------------+
Copyright (c) 2007-2008: Joachim Faulhaber
-+-----------------------------------------------------------------------------+
++------------------------------------------------------------------------------+
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENCE.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
-+----------------------------------------------------------------------------*/
++-----------------------------------------------------------------------------*/
#ifndef __itl_separate_interval_set_h_JOFA_080608__
#define __itl_separate_interval_set_h_JOFA_080608__
@@ -15,55 +15,7 @@
namespace boost{namespace itl
{
-/// Implements a set as a set of intervals - leaving adjoining intervals separate
-/**
- Template-class <b>split_interval_set</b>
- implements a set as a set of intervals - bordering interval bounds are not merged
-
- Template parameter <b>DomainT</b>: The set's domain-type. Type of the
- set's elements.
-
- Suitable as domain types are all datatypes that posess a partial order.
- In particular all discrete atomic datatypes like <tt>int, short, long</tt> and
- atomic pseudo-continuous datatypes <tt>float, double</tt> may be instantiated.
-
- Template parameter <b>Interval=itl::interval</b>: Type of interval used
- to implement the set. The default <b>itl::interval</b> uses the
- interval class template that comes with this library. Own implementation of interval
- classes are possible (but not trivial).
-
- <b>split_interval_set</b> implements a set <tt>set<DomainT></tt> as a set of intervals
- <tt>set<interval<DomainT>></tt>. Intervals will not be <b>not</b> merged on
- insertion, if they border each other or overlap. The inserted intervalls will be
- be preserved.
-
- interval_base_set<DomainT> can thus be used like a set. As it is known from mathematics
- the union over a set of intervls is a set itself.
-
- <b>Class <tt>interval_set</tt> yields the following benefits: </b>
-
- <ul>
- <li>
- A set of intervals is conceived as a set. The complexity involved with
- operations on intervals and sets of intervals is encapsulated.
- The user of the class who
- wants to perform set operations on sets of intervals is no more concerned
- with questions of overlapping, joining and bordering intervals.
- <li>
- <b>interval_set</b> gives an efficient implementation of sets consisting
- of larger contiguous chunks. Very large, even uncountably infinite sets of
- elements can be represented in a compact way and handled efficiently.
- </ul>
-
- <b>Restrictions: </b>
-
- A small number of functions can only be used for <b>discrete</b> domain datatypes
- (<tt>short, int, Date</tt> etc.) that implement operators <tt>++</tt> and <tt>--</tt>.
- These functions are tagged in the documentation.
-
- @author Joachim Faulhaber
-
-*/
+/** Implements a set as a set of intervals - leaving adjoining intervals separate */
template
<
typename DomainT,
Modified: sandbox/itl/boost/itl/set.hpp
==============================================================================
--- sandbox/itl/boost/itl/set.hpp (original)
+++ sandbox/itl/boost/itl/set.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -26,7 +26,7 @@
namespace boost{namespace itl
{
-/// adds addition, subtraction and intersection to std::set
+/** adds addition, subtraction and intersection to std::set */
template
<
typename DomainT,
Modified: sandbox/itl/boost/itl/set_algo.hpp
==============================================================================
--- sandbox/itl/boost/itl/set_algo.hpp (original)
+++ sandbox/itl/boost/itl/set_algo.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,32 +1,12 @@
-/*----------------------------------------------------------------------------+
-Copyright (c) 2007-2008: Joachim Faulhaber
-+-----------------------------------------------------------------------------+
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2007-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
Copyright (c) 1999-2006: Cortex Software GmbH, Kantstrasse 57, Berlin
-+-----------------------------------------------------------------------------+
-Boost Software License - Version 1.0 - August 17th, 2003
-
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
-+----------------------------------------------------------------------------*/
++------------------------------------------------------------------------------+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENCE.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
#ifndef __itl_set_algo_H_JOFA_990225__
#define __itl_set_algo_H_JOFA_990225__
Modified: sandbox/itl/boost/itl/split_interval_map.hpp
==============================================================================
--- sandbox/itl/boost/itl/split_interval_map.hpp (original)
+++ sandbox/itl/boost/itl/split_interval_map.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,36 +1,11 @@
-/*----------------------------------------------------------------------------+
-Copyright (c) 2007-2008: Joachim Faulhaber
-+-----------------------------------------------------------------------------+
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2007-2009: Joachim Faulhaber
Copyright (c) 1999-2006: Cortex Software GmbH, Kantstrasse 57, Berlin
-+-----------------------------------------------------------------------------+
-Boost Software License - Version 1.0 - August 17th, 2003
-
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
-+----------------------------------------------------------------------------*/
-
-/* ------------------------------------------------------------------
-class split_interval_map
---------------------------------------------------------------------*/
++------------------------------------------------------------------------------+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENCE.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
#ifndef __split_interval_map_h_JOFA_000706__
#define __split_interval_map_h_JOFA_000706__
@@ -43,87 +18,7 @@
namespace boost{namespace itl
{
-/// implements a map as a map of intervals - on insertion overlapping intervals are split and associated values are combined.
-/**
- Template-class <b>split_interval_map</b>
- implements a map as a map of intervals - On insertion overlapping intervals are
- <b>split</b> and associated values are combined.
-
- Template parameter <b>DomainT</b>: Domain type of the map. Also type of the
- map's keys.
-
- Suitable as domain types are all datatypes that posess a partial order.
- In particular all discrete atomic datatypes like <tt>int, short, long</tt> and
- atomic pseudo-continuous datatypes <tt>float, double</tt> may be instantiated.
-
- Datatypes for the codomain parameter have to <b>implement</b> operations
- <tt>+=</tt>, <tt>-=</tt>, <tt>==</tt> (equality) and <tt>CodomainT()</tt> (default constructor).
-
- The default constructor <tt>CodomainT()</tt> has to contruct a neutral element
- such that the following holds:
-
- If <tt>x = y; y += CodomainT();</tt> then <tt>x==y;</tt> and
- If <tt>x = y; y -= CodomainT();</tt> then <tt>x==y;</tt>
-
- Template parameter <b>Interval=itl::interval</b>: Template type of interval used
- to implement the map. The default <b>itl::interval</b> uses the
- interval class template that comes with this library. Own implementation of interval
- classes are possible (but not trivial).
-
- <b>split_interval_map</b> implements a map <tt>map<DomainT, CodomainT></tt> as a map
- of intervals <tt>map<interval<DomainT>, CodomainT, ExclusiveLessT<Interval> ></tt>
-
- Interval maps <tt>split_interval_map<DomainT,CodomainT></tt> can be used similar (and in many
- aspects exactly like) common stl-maps. Unlike to stl-maps where you store
- a value for every key an interval map stores a contents value for an interval of
- keys. In it's degenerated form the key intervals contain a single element
- only. Then the interval map works like a normal stl-map. But if you work in problem
- domains where you associate values to large contiguous intervals, interval maps
- are very useful and efficient.
-
-
- Class <tt>interval_base_map</tt> yields the following benefits:
-
- <ul>
- <li> A set of intervals is conceived as the domain set of the map.
- The complexity involved with
- operations on intervals maps is encapsulated. The user of the class who
- wants to perform operations on interval maps is no more concerned
- with questions of overlapping, joining and bordering intervals.
- <li>
- <b>split_interval_map</b> gives an efficient implementation of maps consisting
- of larger contiguous chunks. Very large, even uncountably infinite maps
- can be represented in a compact way and handled efficiently.
- <li>
- <b>split_interval_map</b> serves as a overlay- or collision-computer.
- </ul>
-
- <b>split_interval_map as overlay computer</b>
-
- An object <tt>split_interval_map<int,int> overlays;</tt> computes the overlays or
- collisions of intervalls which have been inserted into it, if they are
- associated with the <tt>int</tt>-value <tt>1</tt> as the codommain value.
-
- If a newly inserted interval overlaps with intervals which are already in the
- map, the interval is split up at the borders of the collisions. The assiciated
- values of the overlapping intervals are incremented by 1, thus counting
- the numbers of overlaps.
-
- If sets are used as codomain types, interval_maps will compute unions of
- associated maps in case of interval collisions.
-
- <b>Restrictions: </b>
-
- A small number of functions can only be used for <b>discrete</b> domain datatypes
- (<tt>short, int, Date</tt> etc.) that implement operators <tt>++</tt> and <tt>--</tt>.
-
- These functions are tagged in the documentation. Using such functions
- for continuous domain datatypes yields compiletime errors. C.f. getting
- the <tt>first()</tt> element of a left open interval makes sense for intervals of
- int but not for intervals of double.
-
- @author Joachim Faulhaber
-*/
+/** implements a map as a map of intervals - on insertion overlapping intervals are split and associated values are combined. */
template
<
typename DomainT,
Modified: sandbox/itl/boost/itl/split_interval_set.hpp
==============================================================================
--- sandbox/itl/boost/itl/split_interval_set.hpp (original)
+++ sandbox/itl/boost/itl/split_interval_set.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,32 +1,11 @@
-/*----------------------------------------------------------------------------+
-Copyright (c) 2007-2008: Joachim Faulhaber
-+-----------------------------------------------------------------------------+
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2007-2009: Joachim Faulhaber
Copyright (c) 1999-2006: Cortex Software GmbH, Kantstrasse 57, Berlin
-+-----------------------------------------------------------------------------+
-Boost Software License - Version 1.0 - August 17th, 2003
-
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
-+----------------------------------------------------------------------------*/
++------------------------------------------------------------------------------+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENCE.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
#ifndef __split_interval_set_JOFA_990223__
#define __split_interval_set_JOFA_990223__
@@ -36,55 +15,7 @@
namespace boost{namespace itl
{
-/// implements a set as a set of intervals - on insertion overlapping intervals are split
-/**
- Template-class <b>split_interval_set</b>
- implements a set as a set of intervals - bordering interval bounds are not merged
-
- Template parameter <b>DomainT</b>: The set's domain-type. Type of the
- set's elements.
-
- Suitable as domain types are all datatypes that posess a partial order.
- In particular all discrete atomic datatypes like <tt>int, short, long</tt> and
- atomic pseudo-continuous datatypes <tt>float, double</tt> may be instantiated.
-
- Template parameter <b>Interval=itl::interval</b>: Type of interval used
- to implement the set. The default <b>itl::interval</b> uses the
- interval class template that comes with this library. Own implementation of interval
- classes are possible (but not trivial).
-
- <b>split_interval_set</b> implements a set <tt>set<DomainT></tt> as a set of intervals
- <tt>set<interval<DomainT>></tt>. Intervals will not be <b>not</b> merged on
- insertion, if they border each other or overlap. The inserted intervalls will be
- be preserved.
-
- interval_base_set<DomainT> can thus be used like a set. As it is known from mathematics
- the union over a set of intervls is a set itself.
-
- <b>Class <tt>interval_set</tt> yields the following benefits: </b>
-
- <ul>
- <li>
- A set of intervals is conceived as a set. The complexity involved with
- operations on intervals and sets of intervals is encapsulated.
- The user of the class who
- wants to perform set operations on sets of intervals is no more concerned
- with questions of overlapping, joining and bordering intervals.
- <li>
- <b>interval_set</b> gives an efficient implementation of sets consisting
- of larger contiguous chunks. Very large, even uncountably infinite sets of
- elements can be represented in a compact way and handled efficiently.
- </ul>
-
- <b>Restrictions: </b>
-
- A small number of functions can only be used for <b>discrete</b> domain datatypes
- (<tt>short, int, Date</tt> etc.) that implement operators <tt>++</tt> and <tt>--</tt>.
- These functions are tagged in the documentation.
-
- @author Joachim Faulhaber
-
-*/
+/** implements a set as a set of intervals - on insertion overlapping intervals are split */
template
<
typename DomainT,
Modified: sandbox/itl/boost/itl/type_traits/absorbs_neutrons.hpp
==============================================================================
--- sandbox/itl/boost/itl/type_traits/absorbs_neutrons.hpp (original)
+++ sandbox/itl/boost/itl/type_traits/absorbs_neutrons.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,10 +1,10 @@
-/*----------------------------------------------------------------------------+
+/*-----------------------------------------------------------------------------+
Copyright (c) 2008-2008: Joachim Faulhaber
-+-----------------------------------------------------------------------------+
++------------------------------------------------------------------------------+
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENCE.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
-+----------------------------------------------------------------------------*/
++-----------------------------------------------------------------------------*/
#ifndef __itl_type_traits_absorbs_neutrons_JOFA_081004_H__
#define __itl_type_traits_absorbs_neutrons_JOFA_081004_H__
Modified: sandbox/itl/boost/itl/type_traits/difference.hpp
==============================================================================
--- sandbox/itl/boost/itl/type_traits/difference.hpp (original)
+++ sandbox/itl/boost/itl/type_traits/difference.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,10 +1,10 @@
-/*----------------------------------------------------------------------------+
+/*-----------------------------------------------------------------------------+
Copyright (c) 2008-2008: Joachim Faulhaber
-+-----------------------------------------------------------------------------+
++------------------------------------------------------------------------------+
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENCE.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
-+----------------------------------------------------------------------------*/
++-----------------------------------------------------------------------------*/
#ifndef __itl_type_traits_difference_JOFA_080911_H__
#define __itl_type_traits_difference_JOFA_080911_H__
Modified: sandbox/itl/boost/itl/type_traits/to_string.hpp
==============================================================================
--- sandbox/itl/boost/itl/type_traits/to_string.hpp (original)
+++ sandbox/itl/boost/itl/type_traits/to_string.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,33 +1,12 @@
-/*----------------------------------------------------------------------------+
-Copyright (c) 2007-2008: Joachim Faulhaber
-+-----------------------------------------------------------------------------+
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2007-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
Copyright (c) 1999-2006: Cortex Software GmbH, Kantstrasse 57, Berlin
-+-----------------------------------------------------------------------------+
-Boost Software License - Version 1.0 - August 17th, 2003
-
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
-+----------------------------------------------------------------------------*/
-
++------------------------------------------------------------------------------+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENCE.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
Function-templates for discrete Datatypes like int, unsigned or
Modified: sandbox/itl/boost/itl/type_traits/type_to_string.hpp
==============================================================================
--- sandbox/itl/boost/itl/type_traits/type_to_string.hpp (original)
+++ sandbox/itl/boost/itl/type_traits/type_to_string.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,30 +1,10 @@
-/*----------------------------------------------------------------------------+
-Copyright (c) 2007-2008: Joachim Faulhaber
-+-----------------------------------------------------------------------------+
-Boost Software License - Version 1.0 - August 17th, 2003
-
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
-+----------------------------------------------------------------------------*/
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2007-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENCE.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
#ifndef __itl_TYPE_TO_STRING_JOFA_080416_H__
#define __itl_TYPE_TO_STRING_JOFA_080416_H__
Modified: sandbox/itl/boost/itl/type_traits/unon.hpp
==============================================================================
--- sandbox/itl/boost/itl/type_traits/unon.hpp (original)
+++ sandbox/itl/boost/itl/type_traits/unon.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,10 +1,10 @@
-/*----------------------------------------------------------------------------+
-Copyright (c) 2008-2008: Joachim Faulhaber
-+-----------------------------------------------------------------------------+
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2008-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENCE.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
-+----------------------------------------------------------------------------*/
++-----------------------------------------------------------------------------*/
#ifndef __itl_type_traits_unon_JOFA_080912_H__
#define __itl_type_traits_unon_JOFA_080912_H__
Modified: sandbox/itl/boost/itl/type_traits/value_size.hpp
==============================================================================
--- sandbox/itl/boost/itl/type_traits/value_size.hpp (original)
+++ sandbox/itl/boost/itl/type_traits/value_size.hpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,39 +1,12 @@
-/*----------------------------------------------------------------------------+
-Copyright (c) 2007-2008: Joachim Faulhaber
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2008-2009: Joachim Faulhaber
+-----------------------------------------------------------------------------+
Copyright (c) 1999-2006: Cortex Software GmbH, Kantstrasse 57, Berlin
-+-----------------------------------------------------------------------------+
-Boost Software License - Version 1.0 - August 17th, 2003
-
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
-+----------------------------------------------------------------------------*/
-
-
-/*-----------------------------------------------------------------------------
-Function-templates for discrete Datatypes like int, unsigned or
- any class that provides a ++ operator c.f. iterators
------------------------------------------------------------------------------*/
-
++------------------------------------------------------------------------------+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENCE.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
#ifndef __itl_VALUE_SIZE_JOFA_081004_H__
#define __itl_VALUE_SIZE_JOFA_081004_H__
Modified: sandbox/itl/libs/itl/doc/acknowledgments.qbk
==============================================================================
--- sandbox/itl/libs/itl/doc/acknowledgments.qbk (original)
+++ sandbox/itl/libs/itl/doc/acknowledgments.qbk 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -8,5 +8,20 @@
[section Acknowledgments]
+I would like to thank CEO Hermann Steppe and Chief Developer Peter Wuttke
+of Cortex Software GmbH for their friendly support of my work on the
+Itl and their permission to release the library as open source.
+For her genuine intersest in my work and many creative and
+uplifting talks I want to thank my colleague Axinja Ott who
+contributed a lot to the success of the project.
+For her long lasting support and so many evenings and weekends of
+sacrificed shared time I deeply thank my partner Christina.
+
+Many thanks to Paul A. Bristow, Vicente Botet, Luke Simonson,
+Alp Mestan, David Abrahams, Steven Watanabe and other developers
+form the Boost community who supported the development of the
+Interval Template Library by numerous hints and feedbacks on
+the boost mailing list.
+
[endsect]
Modified: sandbox/itl/libs/itl/example/boost_party/boost_party.cpp
==============================================================================
--- sandbox/itl/libs/itl/example/boost_party/boost_party.cpp (original)
+++ sandbox/itl/libs/itl/example/boost_party/boost_party.cpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,13 +1,13 @@
-/*---------------------------------------------------------------------------+
+/*-----------------------------------------------------------------------------+
Interval Template Library
Author: Joachim Faulhaber
Copyright (c) 2007-2008: Joachim Faulhaber
Copyright (c) 1999-2006: Cortex Software GmbH, Kantstrasse 57, Berlin
-+-----------------------------------------------------------------------------+
++------------------------------------------------------------------------------+
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENCE.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
-+----------------------------------------------------------------------------*/
++-----------------------------------------------------------------------------*/
/** Example boost_party.cpp \file boost_party.cpp
Modified: sandbox/itl/libs/itl/example/interval/interval.cpp
==============================================================================
--- sandbox/itl/libs/itl/example/interval/interval.cpp (original)
+++ sandbox/itl/libs/itl/example/interval/interval.cpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,13 +1,13 @@
-/*----------------------------------------------------------------------------+
+/*-----------------------------------------------------------------------------+
Interval Template Library
Author: Joachim Faulhaber
Copyright (c) 2007-2008: Joachim Faulhaber
Copyright (c) 1999-2006: Cortex Software GmbH, Kantstrasse 57, Berlin
-+-----------------------------------------------------------------------------+
++------------------------------------------------------------------------------+
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENCE.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
-+----------------------------------------------------------------------------*/
++-----------------------------------------------------------------------------*/
/** Example interval.cpp \file interval.cpp
Of course much of the library code deals with intervals which are implemented
Modified: sandbox/itl/libs/itl/example/itvset_shell/itvset_shell.cpp
==============================================================================
--- sandbox/itl/libs/itl/example/itvset_shell/itvset_shell.cpp (original)
+++ sandbox/itl/libs/itl/example/itvset_shell/itvset_shell.cpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,30 +1,12 @@
-/*----------------------------------------------------------------------------+
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2007-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
Copyright (c) 1999-2006: Cortex Software GmbH, Kantstrasse 57, Berlin
-+-----------------------------------------------------------------------------+
-Boost Software License - Version 1.0 - August 17th, 2003
-
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
-+----------------------------------------------------------------------------*/
++------------------------------------------------------------------------------+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENCE.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------+
itvset_shell.cpp provides a simple test shells for interval sets.
Modified: sandbox/itl/libs/itl/example/splititvmap_shell/splititvmap_shell.cpp
==============================================================================
--- sandbox/itl/libs/itl/example/splititvmap_shell/splititvmap_shell.cpp (original)
+++ sandbox/itl/libs/itl/example/splititvmap_shell/splititvmap_shell.cpp 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,37 +1,17 @@
-/*----------------------------------------------------------------------------+
-Copyright (c) 2007-2008: Joachim Faulhaber
-+-----------------------------------------------------------------------------+
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2007-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
Copyright (c) 1999-2006: Cortex Software GmbH, Kantstrasse 57, Berlin
-+-----------------------------------------------------------------------------+
-Boost Software License - Version 1.0 - August 17th, 2003
++------------------------------------------------------------------------------+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENCE.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
-+----------------------------------------------------------------------------*/
-
-/*----------------------------------------------------------------------------+
+/*-----------------------------------------------------------------------------+
splititvmap_shell.cpp provides a simple test shell for splitting interval maps.
The shell also gives you a good idea how interval container are working.
-+----------------------------------------------------------------------------*/
++-----------------------------------------------------------------------------*/
#include <iostream>
#include <boost/itl/split_interval_set.hpp>
Modified: sandbox/itl/libs/itl/example/toytime.h
==============================================================================
--- sandbox/itl/libs/itl/example/toytime.h (original)
+++ sandbox/itl/libs/itl/example/toytime.h 2009-02-24 13:00:09 EST (Tue, 24 Feb 2009)
@@ -1,31 +1,12 @@
-/*----------------------------------------------------------------------------+
+/*-----------------------------------------------------------------------------+
+Copyright (c) 2007-2009: Joachim Faulhaber
++------------------------------------------------------------------------------+
Copyright (c) 1999-2006: Cortex Software GmbH, Kantstrasse 57, Berlin
-+-----------------------------------------------------------------------------+
-Boost Software License - Version 1.0 - August 17th, 2003
-
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
-+----------------------------------------------------------------------------*/
-
++------------------------------------------------------------------------------+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENCE.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
++-----------------------------------------------------------------------------*/
namespace boost{namespace itl
{
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk