• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<html>
2<head>
3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4<title>Examples</title>
5<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
6<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7<link rel="home" href="../index.html" title="Chapter 1. Boost.Icl">
8<link rel="up" href="../index.html" title="Chapter 1. Boost.Icl">
9<link rel="prev" href="../index.html" title="Chapter 1. Boost.Icl">
10<link rel="next" href="examples/party.html" title="Party">
11</head>
12<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13<table cellpadding="2" width="100%"><tr>
14<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
15<td align="center"><a href="../../../../../index.html">Home</a></td>
16<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
17<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19<td align="center"><a href="../../../../../more/index.htm">More</a></td>
20</tr></table>
21<hr>
22<div class="spirit-nav">
23<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="examples/party.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
24</div>
25<div class="section">
26<div class="titlepage"><div><div><h2 class="title" style="clear: both">
27<a name="boost_icl.examples"></a><a class="link" href="examples.html" title="Examples">Examples</a>
28</h2></div></div></div>
29<div class="toc"><dl class="toc">
30<dt><span class="section"><a href="examples.html#boost_icl.examples.overview">Overview</a></span></dt>
31<dt><span class="section"><a href="examples/party.html">Party</a></span></dt>
32<dt><span class="section"><a href="examples/interval.html">Interval</a></span></dt>
33<dt><span class="section"><a href="examples/dynamic_interval.html">Dynamic interval</a></span></dt>
34<dt><span class="section"><a href="examples/static_interval.html">Static interval</a></span></dt>
35<dt><span class="section"><a href="examples/interval_container.html">Interval container</a></span></dt>
36<dt><span class="section"><a href="examples/overlap_counter.html">Overlap counter</a></span></dt>
37<dt><span class="section"><a href="examples/partys_height_average.html">Party's height
38      average</a></span></dt>
39<dt><span class="section"><a href="examples/partys_tallest_guests.html">Party's tallest
40      guests</a></span></dt>
41<dt><span class="section"><a href="examples/time_grids.html">Time grids for months
42      and weeks</a></span></dt>
43<dt><span class="section"><a href="examples/man_power.html">Man power</a></span></dt>
44<dt><span class="section"><a href="examples/user_groups.html">User groups</a></span></dt>
45<dt><span class="section"><a href="examples/std_copy.html">Std copy</a></span></dt>
46<dt><span class="section"><a href="examples/std_transform.html">Std transform</a></span></dt>
47<dt><span class="section"><a href="examples/custom_interval.html">Custom interval</a></span></dt>
48</dl></div>
49<div class="section">
50<div class="titlepage"><div><div><h3 class="title">
51<a name="boost_icl.examples.overview"></a><a class="link" href="examples.html#boost_icl.examples.overview" title="Overview">Overview</a>
52</h3></div></div></div>
53<div class="table">
54<a name="boost_icl.examples.overview.t0"></a><p class="title"><b>Table 1.5. Overview over Icl Examples</b></p>
55<div class="table-contents"><table class="table" summary="Overview over Icl Examples">
56<colgroup>
57<col>
58<col>
59<col>
60<col>
61</colgroup>
62<thead><tr>
63<th>
64                <p>
65                  level
66                </p>
67              </th>
68<th>
69                <p>
70                  example
71                </p>
72              </th>
73<th>
74                <p>
75                  classes
76                </p>
77              </th>
78<th>
79                <p>
80                  features
81                </p>
82              </th>
83</tr></thead>
84<tbody>
85<tr>
86<td>
87                <p>
88                  intro
89                </p>
90              </td>
91<td>
92                <p>
93                  <a class="link" href="examples/party.html" title="Party">Party</a>
94                </p>
95              </td>
96<td>
97                <p>
98                  <code class="computeroutput"><a class="link" href="../boost/icl/interval_map.html" title="Class template interval_map">interval_map</a></code>
99                </p>
100              </td>
101<td>
102                <p>
103                  Generates an attendance history of a party by inserting into an
104                  <code class="computeroutput"><a class="link" href="../boost/icl/interval_map.html" title="Class template interval_map">interval_map</a></code>.
105                  Demonstrating <span class="emphasis"><em><span class="bold"><strong>aggregate on overlap</strong></span></em></span>.
106                </p>
107              </td>
108</tr>
109<tr>
110<td>
111                <p>
112                  basic
113                </p>
114              </td>
115<td>
116                <p>
117                  <a class="link" href="examples/interval.html" title="Interval">Interval</a>
118                </p>
119              </td>
120<td>
121                <p>
122                  <code class="computeroutput"><a class="link" href="../boost/icl/discrete_interval.html" title="Class template discrete_interval">discrete_interval</a></code>,
123                  <code class="computeroutput"><a class="link" href="../boost/icl/continuous_interval.html" title="Class template continuous_interval">continuous_interval</a></code>
124                </p>
125              </td>
126<td>
127                <p>
128                  Intervals for discrete and continuous instance types. Closed and
129                  open interval borders.
130                </p>
131              </td>
132</tr>
133<tr>
134<td>
135                <p>
136                  basic
137                </p>
138              </td>
139<td>
140                <p>
141                  <a class="link" href="examples/dynamic_interval.html" title="Dynamic interval">Dynamic intervals</a>
142                </p>
143              </td>
144<td>
145                <p>
146                  <code class="computeroutput"><a class="link" href="../boost/icl/discrete_interval.html" title="Class template discrete_interval">discrete_interval</a></code>,
147                  <code class="computeroutput"><a class="link" href="../boost/icl/continuous_interval.html" title="Class template continuous_interval">continuous_interval</a></code>,
148                  <code class="computeroutput"><a class="link" href="../boost/icl/interval.html" title="Struct template interval">interval</a></code>
149                </p>
150              </td>
151<td>
152                <p>
153                  Intervals with dynamic interval bounds as library default.
154                </p>
155              </td>
156</tr>
157<tr>
158<td>
159                <p>
160                  basic
161                </p>
162              </td>
163<td>
164                <p>
165                  <a class="link" href="examples/static_interval.html" title="Static interval">Static intervals</a>
166                </p>
167              </td>
168<td>
169                <p>
170                  <code class="computeroutput"><a class="link" href="../boost/icl/right_open_interval.html" title="Class template right_open_interval">right_open_interval</a></code>,
171                  <code class="computeroutput"><a class="link" href="../boost/icl/interval.html" title="Struct template interval">interval</a></code>
172                </p>
173              </td>
174<td>
175                <p>
176                  Intervals with static interval bounds and changing the library
177                  default.
178                </p>
179              </td>
180</tr>
181<tr>
182<td>
183                <p>
184                  basic
185                </p>
186              </td>
187<td>
188                <p>
189                  <a class="link" href="examples/interval_container.html" title="Interval container">Interval
190                  container</a>
191                </p>
192              </td>
193<td>
194                <p>
195                  <code class="computeroutput"><a class="link" href="../boost/icl/interval_set.html" title="Class template interval_set">interval_set</a></code>,<br>
196                  <code class="computeroutput"><a class="link" href="../boost/icl/separate_interval_set.html" title="Class template separate_interval_set">separate_interval_set</a></code>,<br>
197                  <code class="computeroutput"><a class="link" href="../boost/icl/split_interval_set.html" title="Class template split_interval_set">split_interval_set</a></code>,<br>
198                  <code class="computeroutput"><a class="link" href="../boost/icl/split_interval_map.html" title="Class template split_interval_map">split_interval_map</a></code>,<br>
199                  <code class="computeroutput"><a class="link" href="../boost/icl/interval_map.html" title="Class template interval_map">interval_map</a></code>
200                </p>
201              </td>
202<td>
203                <p>
204                  Basic characteristics of interval containers.
205                </p>
206              </td>
207</tr>
208<tr>
209<td>
210                <p>
211                  basic
212                </p>
213              </td>
214<td>
215                <p>
216                  <a class="link" href="examples/overlap_counter.html" title="Overlap counter">Overlap counter</a>
217                </p>
218              </td>
219<td>
220                <p>
221                  <code class="computeroutput"><a class="link" href="../boost/icl/interval_map.html" title="Class template interval_map">interval_map</a></code>
222                </p>
223              </td>
224<td>
225                <p>
226                  The most simple application of an interval map: Counting the overlaps
227                  of added intervals.
228                </p>
229              </td>
230</tr>
231<tr>
232<td>
233                <p>
234                  advanced
235                </p>
236              </td>
237<td>
238                <p>
239                  <a class="link" href="examples/partys_height_average.html" title="Party's height average">Party's
240                  height average</a>
241                </p>
242              </td>
243<td>
244                <p>
245                  <code class="computeroutput"><a class="link" href="../boost/icl/interval_map.html" title="Class template interval_map">interval_map</a></code>
246                </p>
247              </td>
248<td>
249                <p>
250                  Using <span class="emphasis"><em>aggregate on overlap</em></span> a history of height
251                  averages of party guests is computed. Associated values are user
252                  defined class objects, that implement an appropriate <code class="computeroutput"><span class="keyword">operator</span> <span class="special">+=</span></code>
253                  for the aggregation.
254                </p>
255              </td>
256</tr>
257<tr>
258<td>
259                <p>
260                  advanced
261                </p>
262              </td>
263<td>
264                <p>
265                  <a class="link" href="examples/partys_tallest_guests.html" title="Party's tallest guests">Party's
266                  tallest guests</a>
267                </p>
268              </td>
269<td>
270                <p>
271                  <code class="computeroutput"><a class="link" href="../boost/icl/interval_map.html" title="Class template interval_map">interval_map</a></code>,<br>
272                  <code class="computeroutput"><a class="link" href="../boost/icl/split_interval_map.html" title="Class template split_interval_map">split_interval_map</a></code>
273                </p>
274              </td>
275<td>
276                <p>
277                  Using <span class="emphasis"><em>aggregate on overlap</em></span> the heights of
278                  the party's tallest guests are computed. Associated values are
279                  aggregated via a maximum functor, that can be chosen as template
280                  parameter of an interval_map class template.
281                </p>
282              </td>
283</tr>
284<tr>
285<td>
286                <p>
287                  advanced
288                </p>
289              </td>
290<td>
291                <p>
292                  <a class="link" href="examples/time_grids.html" title="Time grids for months and weeks">Time grids for months
293                  and weeks</a>
294                </p>
295              </td>
296<td>
297                <p>
298                  <code class="computeroutput"><a class="link" href="../boost/icl/split_interval_set.html" title="Class template split_interval_set">split_interval_set</a></code>
299                </p>
300              </td>
301<td>
302                <p>
303                  Shows how the <span class="emphasis"><em><span class="bold"><strong>border preserving</strong></span></em></span>
304                  <code class="computeroutput"><a class="link" href="../boost/icl/split_interval_set.html" title="Class template split_interval_set">split_interval_set</a></code>
305                  can be used to create time partitions where different periodic
306                  time intervals overlay each other.
307                </p>
308              </td>
309</tr>
310<tr>
311<td>
312                <p>
313                  advanced
314                </p>
315              </td>
316<td>
317                <p>
318                  <a class="link" href="examples/man_power.html" title="Man power">Man power</a>
319                </p>
320              </td>
321<td>
322                <p>
323                  <code class="computeroutput"><a class="link" href="../boost/icl/interval_set.html" title="Class template interval_set">interval_set</a></code>,<br>
324                  <code class="computeroutput"><a class="link" href="../boost/icl/interval_map.html" title="Class template interval_map">interval_map</a></code>
325                </p>
326              </td>
327<td>
328                <p>
329                  Set style operations on <code class="computeroutput"><a class="link" href="../boost/icl/interval_set.html" title="Class template interval_set">interval_sets</a></code>
330                  and <code class="computeroutput"><a class="link" href="../boost/icl/interval_map.html" title="Class template interval_map">interval_maps</a></code>
331                  like union, difference and intersection can be used to obtain calculations
332                  in a flexible way. Example <span class="bold"><strong>man_power</strong></span>
333                  demonstrates such operations in the process of calculating the
334                  available man-power of a company in a given time interval.
335                </p>
336              </td>
337</tr>
338<tr>
339<td>
340                <p>
341                  advanced
342                </p>
343              </td>
344<td>
345                <p>
346                  <a class="link" href="examples/user_groups.html" title="User groups">User groups</a>
347                </p>
348              </td>
349<td>
350                <p>
351                  <code class="computeroutput"><a class="link" href="../boost/icl/interval_map.html" title="Class template interval_map">interval_map</a></code>
352                </p>
353              </td>
354<td>
355                <p>
356                  Example <span class="bold"><strong>user_groups</strong></span> shows how
357                  interval_maps can be unified or intersected to calculate desired
358                  information.
359                </p>
360              </td>
361</tr>
362<tr>
363<td>
364                <p>
365                  and std
366                </p>
367              </td>
368<td>
369                <p>
370                  <a class="link" href="examples/std_copy.html" title="Std copy">Std copy</a>
371                </p>
372              </td>
373<td>
374                <p>
375                  <code class="computeroutput"><a class="link" href="../boost/icl/interval_map.html" title="Class template interval_map">interval_map</a></code>
376                </p>
377              </td>
378<td>
379                <p>
380                  Fill interval containers using <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">copy</span></code>.
381                </p>
382              </td>
383</tr>
384<tr>
385<td>
386                <p>
387                  and std
388                </p>
389              </td>
390<td>
391                <p>
392                  <a class="link" href="examples/std_transform.html" title="Std transform">Std transform</a>
393                </p>
394              </td>
395<td>
396                <p>
397                  <code class="computeroutput"><a class="link" href="../boost/icl/interval_map.html" title="Class template interval_map">interval_map</a></code>,<br>
398                  <code class="computeroutput"><a class="link" href="../boost/icl/separate_interval_set.html" title="Class template separate_interval_set">separate_interval_set</a></code>
399                </p>
400              </td>
401<td>
402                <p>
403                  Fill interval containers from user defined objects using <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">transform</span></code>.
404                </p>
405              </td>
406</tr>
407<tr>
408<td>
409                <p>
410                  customize
411                </p>
412              </td>
413<td>
414                <p>
415                  <a class="link" href="examples/custom_interval.html" title="Custom interval">Custom interval</a>
416                </p>
417              </td>
418<td>
419                <p>
420                  <code class="computeroutput"><a class="link" href="../boost/icl/interval_traits.html" title="Struct template interval_traits">interval_traits</a></code>
421                </p>
422              </td>
423<td>
424                <p>
425                  Use interval containers with your own interval class types.
426                </p>
427              </td>
428</tr>
429</tbody>
430</table></div>
431</div>
432<br class="table-break">
433</div>
434</div>
435<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
436<td align="left"></td>
437<td align="right"><div class="copyright-footer">Copyright © 2007-2010 Joachim
438      Faulhaber<br>Copyright © 1999-2006 Cortex Software
439      GmbH<p>
440        Distributed under the Boost Software License, Version 1.0. (See accompanying
441        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
442      </p>
443</div></td>
444</tr></table>
445<hr>
446<div class="spirit-nav">
447<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="examples/party.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
448</div>
449</body>
450</html>
451