
BoostCommit : 
Subject: [Boostcommit] svn:boost r56091  sandbox/itl/libs/itl/doc
From: afojgo_at_[hidden]
Date: 20090907 12:06:33
Author: jofaber
Date: 20090907 12:06:32 EDT (Mon, 07 Sep 2009)
New Revision: 56091
URL: http://svn.boost.org/trac/boost/changeset/56091
Log:
Added documentation. Added to introduction.qbk, Removed typos.
Stable {msvc8.0r+d, 9.0r+d; gcc3.4.4r+d, 4.1.0r+d, 4.3.2r+d, inspected}
Text files modified:
sandbox/itl/libs/itl/doc/concepts.qbk  2 +
sandbox/itl/libs/itl/doc/examples.qbk  8 ++++
sandbox/itl/libs/itl/doc/functions.qbk  4 ++
sandbox/itl/libs/itl/doc/functions_intersection.qbk  2 +
sandbox/itl/libs/itl/doc/implementation.qbk  2 +
sandbox/itl/libs/itl/doc/introduction.qbk  33 +++++++++++++++++++
6 files changed, 28 insertions(+), 23 deletions()
Modified: sandbox/itl/libs/itl/doc/concepts.qbk
==============================================================================
 sandbox/itl/libs/itl/doc/concepts.qbk (original)
+++ sandbox/itl/libs/itl/doc/concepts.qbk 20090907 12:06:32 EDT (Mon, 07 Sep 2009)
@@ 74,7 +74,7 @@
[[Practical][interval_sets(maps) can be used as sets(maps)
of elements(element value pairs) ]
[Segmentation information is available.
 See e.g. [link boost_itl.examples.month_and_week_grid Timegrids for months and weeks]]]
+ See e.g. [link boost_itl.examples.month_and_week_grid Time grids for months and weeks]]]
[[] [no iteration over elements] [iteration over intervals]]
]
Modified: sandbox/itl/libs/itl/doc/examples.qbk
==============================================================================
 sandbox/itl/libs/itl/doc/examples.qbk (original)
+++ sandbox/itl/libs/itl/doc/examples.qbk 20090907 12:06:32 EDT (Mon, 07 Sep 2009)
@@ 35,10 +35,10 @@
[Using /aggregate on overlap/ the height of the party's tallest guests is computed.
Associated values are aggregated via a maximum functor, that can
be chosen as template parameter of an interval_map class template.]]
 [[advanced][[link boost_itl.examples.month_and_week_grid Timegrids for months and weeks]]
+ [[advanced][[link boost_itl.examples.month_and_week_grid Time grids for months and weeks]]
[__spl_itv_set__]
[Shows how the ['*border preserving*]
 __spl_itv_set__ can be used to create time partitionigs where different
+ __spl_itv_set__ can be used to create time partitions where different
periodic time intervals overlay each other.]]
[[advanced][[link boost_itl.examples.man_power Man power]]
[__itv_set__,\n__itv_map__]
@@ 48,7 +48,7 @@
available manpower of a company in a given time interval.]]
[[advanced][[link boost_itl.examples.user_groups User groups]][__itv_map__]
[Example [*user_groups] shows how interval_maps can be unified or
 intersected to calculate desired informations.]]
+ intersected to calculate desired information.]]
]
[endsect]
@@ 95,7 +95,7 @@
We are introducing __itv_maps__ using an
['interval map ['*of sets of strings*]],
because of it's didactical advantages. The party example is
+because of it's didactic advantages. The party example is
used to give an immediate and depictive access to the basic ideas of
interval maps and /aggregate on overlap/.
For real world applications, an interval_map of sets is
Modified: sandbox/itl/libs/itl/doc/functions.qbk
==============================================================================
 sandbox/itl/libs/itl/doc/functions.qbk (original)
+++ sandbox/itl/libs/itl/doc/functions.qbk 20090907 12:06:32 EDT (Mon, 07 Sep 2009)
@@ 137,8 +137,8 @@
`P` and `Q`. If both `P` and `Q` are candidates for the result
type `T`, one of them must be chosen by the compiler.
We choose the type that is segmentational finer as
result type `T`. This way we do not loose the ['*segment informations*]
that are stored in the ['*finer*] one of the container types `P` and `Q`.
+result type `T`. This way we do not loose the ['*segment information*]
+that is stored in the ['*finer*] one of the container types `P` and `Q`.
``
// overload tables for
Modified: sandbox/itl/libs/itl/doc/functions_intersection.qbk
==============================================================================
 sandbox/itl/libs/itl/doc/functions_intersection.qbk (original)
+++ sandbox/itl/libs/itl/doc/functions_intersection.qbk 20090907 12:06:32 EDT (Mon, 07 Sep 2009)
@@ 92,7 +92,7 @@
The overload tables below are giving admissable
type combinations for the intersection `operator &=`.
As for the overload patterns of /subtraction/
intersectons are possible within Sets and Maps
+intersections are possible within Sets and Maps
but also for Maps combined with /key objects/
which are /key elements, intervals/ and /Sets of keys/.
Modified: sandbox/itl/libs/itl/doc/implementation.qbk
==============================================================================
 sandbox/itl/libs/itl/doc/implementation.qbk (original)
+++ sandbox/itl/libs/itl/doc/implementation.qbk 20090907 12:06:32 EDT (Mon, 07 Sep 2009)
@@ 18,7 +18,7 @@
[link boost_itl.function_reference next section],
that describes the *itl's* polymorphic functions in
more detail together with ['*complexity characteristics*],
this section summarizes some general informations on
+this section summarizes some general information on
implementation and performance.
[h5 STL based implementation]
Modified: sandbox/itl/libs/itl/doc/introduction.qbk
==============================================================================
 sandbox/itl/libs/itl/doc/introduction.qbk (original)
+++ sandbox/itl/libs/itl/doc/introduction.qbk 20090907 12:06:32 EDT (Mon, 07 Sep 2009)
@@ 23,26 +23,31 @@
lower and upper bound and thus a set. But unlike sets, intervals
usually can not be added to a single new interval.
If you want to add intervals to a collection of
intervals that does still represent a set,
you arrive at the idea of interval_sets that the *itl* provides.
+intervals that does still represent a /set/,
+you arrive at the idea of /interval_sets/ provided by this library.
Interval containers of the *itl* have been developed initially at
[@http://www.cortexsoftware.de/desktopdefault.aspx Cortex Software GmbH]
to solve problems related to date and time interval
computations in the context of a Hospital Information System.
Time intervals with associated values like ['amount of invoice]
or ['set of therapies] had to be maipulated in statistics,
+or ['set of therapies] had to be manipulated in statistics,
billing programs and therapy scheduling programs.
So the *itl* emerged out of those industrial use cases.
It extracts generic code that helps to solve common
problems from the date and time problem domain and can be
beneficial in other fields as well.
From those use cases, specifically the computations for
statistics, also stems the quite useful idea of ['aggregating
associated] values, when ['intervals overlap]. This idea is
fundamental for the way *itl's* interval_maps are
designed.
+One of the most advantageous aspects of interval containers is
+their very compact representation of sets and maps. Working with
+sets and maps /of elements/ can be very inefficient, if in a given
+problem domain, elements are typically occurring in contiguous
+chunks.
+Besides a compact representation of associative containers, that
+can reduce the cost of space and time drastically, the itl
+comes with a universal mechanism of aggregation, that allows
+to combine associated values in meaningful ways when intervals
+overlap on insertion.
[section Definition and Basic Example]
@@ 50,8 +55,8 @@
The [*Interval Template Library (ITL)] provides __itvs__ and two kinds of
interval containers: __itv_sets__ and __itv_maps__.
* An __itv_bset__ implements a [*set] as a set of intervals.
* An __itv_bmap__ implements a [*map] as a map of interval value pairs.
+* An __itv_bset__ is a *set* that is implemented as a set of intervals.
+* An __itv_bmap__ is a *map* that is implemented as a map of interval value pairs.
[h4 Two Aspects]
@@ 112,7 +117,7 @@
[h4 Aggregate on Overlap]
This is a first motivating example of a very small party, demonstrationg the
+This is a first motivating example of a very small party, demonstrating the
['*aggregate on overlap*] principle ['*(aggrovering)*] on __itv_maps__:
In the example Mary enters the party first. She attends during the
@@ 178,7 +183,7 @@
When we add intervals or interval value pairs to interval containers,
the intervals can be added in different ways: Intervals can be
joined or splitted or kept separate. The different interval combining
+joined or split or kept separate. The different interval combining
styles are shown by example in the tables below.
[table Interval container's ways to combine intervals
@@ 247,7 +252,7 @@
__Itv_set__ and __itv_map__ are always
in a ['*minimal representation*]. This is useful in many cases, where the
points of insertion or intersecton of intervals are not relevant. So in most
+points of insertion or intersection of intervals are not relevant. So in most
instances __itv_set__ and
__itv_map__ will be the first choice
for an interval container.
@@ 258,7 +263,7 @@
have an ['*insertion memory*]. They do accumulate interval borders both
from additions and intersections. This is specifically useful, if we want
to enrich an interval container with certain time grids, like e.g. months
or calendar weeks or both. See example [link boost_itl.examples.month_and_week_grid timegrids for months and weeks].
+or calendar weeks or both. See example [link boost_itl.examples.month_and_week_grid time grids for months and weeks].
[h4 Separating interval containers]
BoostCommit 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