• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<html>
2<head>
3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4<title>Size</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="../function_reference.html" title="Function Reference">
9<link rel="prev" href="equivalences_and_orderings.html" title="Equivalences and Orderings">
10<link rel="next" href="range.html" title="Range">
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="equivalences_and_orderings.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../function_reference.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="range.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
24</div>
25<div class="section">
26<div class="titlepage"><div><div><h3 class="title">
27<a name="boost_icl.function_reference.size"></a><a class="link" href="size.html" title="Size">Size</a>
28</h3></div></div></div>
29<div class="informaltable"><table class="table">
30<colgroup>
31<col>
32<col>
33<col>
34<col>
35<col>
36<col>
37</colgroup>
38<thead><tr>
39<th>
40                <p>
41                  <span class="emphasis"><em><span class="bold"><strong>Size</strong></span></em></span>
42                </p>
43              </th>
44<th>
45                <p>
46                  intervals
47                </p>
48              </th>
49<th>
50                <p>
51                  interval<br> sets
52                </p>
53              </th>
54<th>
55                <p>
56                  interval<br> maps
57                </p>
58              </th>
59<th>
60                <p>
61                  element<br> sets
62                </p>
63              </th>
64<th>
65                <p>
66                  element<br> maps
67                </p>
68              </th>
69</tr></thead>
70<tbody>
71<tr>
72<td>
73                <p>
74                  <code class="computeroutput"><span class="identifier">size_type</span> <span class="identifier">T</span><span class="special">::</span><span class="identifier">size</span><span class="special">()</span><span class="keyword">const</span></code><br>
75                  <code class="computeroutput"><span class="identifier">size_type</span> <span class="identifier">size</span><span class="special">(</span><span class="keyword">const</span>
76                  <span class="identifier">T</span><span class="special">&amp;)</span></code>
77                </p>
78              </td>
79<td>
80                <p>
81                  <span class="emphasis"><em>O(1)</em></span>
82                </p>
83              </td>
84<td>
85                <p>
86                  <span class="emphasis"><em>O(n)</em></span>
87                </p>
88              </td>
89<td>
90                <p>
91                  <span class="emphasis"><em>O(n)</em></span>
92                </p>
93              </td>
94<td>
95                <p>
96                  <span class="emphasis"><em>O(1)</em></span>
97                </p>
98              </td>
99<td>
100                <p>
101                  <span class="emphasis"><em>O(1)</em></span>
102                </p>
103              </td>
104</tr>
105<tr>
106<td>
107                <p>
108                  <code class="computeroutput"><span class="identifier">size_type</span> <span class="identifier">cardinality</span><span class="special">(</span><span class="keyword">const</span>
109                  <span class="identifier">T</span><span class="special">&amp;)</span></code>
110                </p>
111              </td>
112<td>
113                <p>
114                  <span class="emphasis"><em>O(1)</em></span>
115                </p>
116              </td>
117<td>
118                <p>
119                  <span class="emphasis"><em>O(n)</em></span>
120                </p>
121              </td>
122<td>
123                <p>
124                  <span class="emphasis"><em>O(n)</em></span>
125                </p>
126              </td>
127<td>
128                <p>
129                  <span class="emphasis"><em>O(1)</em></span>
130                </p>
131              </td>
132<td>
133                <p>
134                  <span class="emphasis"><em>O(1)</em></span>
135                </p>
136              </td>
137</tr>
138<tr>
139<td>
140                <p>
141                  <code class="computeroutput"><span class="identifier">difference_type</span> <span class="identifier">length</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;)</span></code>
142                </p>
143              </td>
144<td>
145                <p>
146                  <span class="emphasis"><em>O(1)</em></span>
147                </p>
148              </td>
149<td>
150                <p>
151                  <span class="emphasis"><em>O(n)</em></span>
152                </p>
153              </td>
154<td>
155                <p>
156                  <span class="emphasis"><em>O(n)</em></span>
157                </p>
158              </td>
159<td>
160              </td>
161<td>
162              </td>
163</tr>
164<tr>
165<td>
166                <p>
167                  <code class="computeroutput"><span class="identifier">size_type</span> <span class="identifier">iterative_size</span><span class="special">(</span><span class="keyword">const</span>
168                  <span class="identifier">T</span><span class="special">&amp;)</span></code>
169                </p>
170              </td>
171<td>
172              </td>
173<td>
174                <p>
175                  <span class="emphasis"><em>O(1)</em></span>
176                </p>
177              </td>
178<td>
179                <p>
180                  <span class="emphasis"><em>O(1)</em></span>
181                </p>
182              </td>
183<td>
184                <p>
185                  <span class="emphasis"><em>O(1)</em></span>
186                </p>
187              </td>
188<td>
189                <p>
190                  <span class="emphasis"><em>O(1)</em></span>
191                </p>
192              </td>
193</tr>
194<tr>
195<td>
196                <p>
197                  <code class="computeroutput"><span class="identifier">size_type</span> <span class="identifier">interval_count</span><span class="special">(</span><span class="keyword">const</span>
198                  <span class="identifier">T</span><span class="special">&amp;)</span></code>
199                </p>
200              </td>
201<td>
202              </td>
203<td>
204                <p>
205                  <span class="emphasis"><em>O(1)</em></span>
206                </p>
207              </td>
208<td>
209                <p>
210                  <span class="emphasis"><em>O(1)</em></span>
211                </p>
212              </td>
213<td>
214              </td>
215<td>
216              </td>
217</tr>
218</tbody>
219</table></div>
220<p>
221        For <span class="bold"><strong>icl</strong></span> containers the single <code class="computeroutput"><span class="identifier">size</span></code> function known from std containers
222        branches into tree to five different members functions. The table above shows
223        the types, <code class="computeroutput"><span class="identifier">size</span></code> functions
224        are implemented for, together with their <span class="bold"><strong>complexities</strong></span>.
225        Linear complexities <span class="emphasis"><em>O(n)</em></span> refer to the container's <code class="computeroutput"><span class="identifier">iterative_size</span></code>:
226</p>
227<pre class="programlisting"><span class="identifier">n</span> <span class="special">=</span> <span class="identifier">y</span><span class="special">.</span><span class="identifier">iterative_size</span><span class="special">()</span>
228</pre>
229<p>
230      </p>
231<p>
232        The next table gives a short definition for the different size functions.
233      </p>
234<div class="informaltable"><table class="table">
235<colgroup>
236<col>
237<col>
238<col>
239</colgroup>
240<thead><tr>
241<th>
242                <p>
243                  <span class="emphasis"><em><span class="bold"><strong>Size</strong></span></em></span>
244                </p>
245              </th>
246<th>
247                <p>
248                  Types
249                </p>
250              </th>
251<th>
252                <p>
253                  Description
254                </p>
255              </th>
256</tr></thead>
257<tbody>
258<tr>
259<td>
260                <p>
261                  <code class="computeroutput"><span class="identifier">size_type</span> <span class="identifier">interval_count</span><span class="special">(</span><span class="keyword">const</span>
262                  <span class="identifier">T</span><span class="special">&amp;)</span></code>
263                </p>
264              </td>
265<td>
266                <p>
267                  <a class="link" href="../interface/function_synopsis.html#interval_set_types"><span class="bold"><strong>S</strong></span></a>
268                  <a class="link" href="../interface/function_synopsis.html#interval_map_types"><span class="bold"><strong>M</strong></span></a>
269                </p>
270              </td>
271<td>
272                <p>
273                  The number of intervals of an interval container.
274                </p>
275              </td>
276</tr>
277<tr>
278<td>
279                <p>
280                  <code class="computeroutput"><span class="identifier">size_type</span> <span class="identifier">iterative_size</span><span class="special">(</span><span class="keyword">const</span>
281                  <span class="identifier">T</span><span class="special">&amp;)</span></code>
282                </p>
283              </td>
284<td>
285                <p>
286                  <a class="link" href="../interface/function_synopsis.html#interval_set_types"><span class="bold"><strong>S</strong></span></a>
287                  <a class="link" href="../interface/function_synopsis.html#interval_map_types"><span class="bold"><strong>M</strong></span></a>
288                  <a class="link" href="../interface/function_synopsis.html#itl_set_type"><span class="bold"><strong>s</strong></span></a>
289                  <a class="link" href="../interface/function_synopsis.html#itl_map_type"><span class="bold"><strong>m</strong></span></a>
290                </p>
291              </td>
292<td>
293                <p>
294                  The number of objects in an icl container that can be iterated
295                  over.
296                </p>
297              </td>
298</tr>
299<tr>
300<td>
301                <p>
302                  <code class="computeroutput"><span class="identifier">difference_type</span> <span class="identifier">length</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;)</span></code>
303                </p>
304              </td>
305<td>
306                <p>
307                  <a class="link" href="../interface/function_synopsis.html#interval_type"><span class="bold"><strong>i</strong></span></a>
308                  <a class="link" href="../interface/function_synopsis.html#interval_set_types"><span class="bold"><strong>S</strong></span></a>
309                  <a class="link" href="../interface/function_synopsis.html#interval_map_types"><span class="bold"><strong>M</strong></span></a>
310                </p>
311              </td>
312<td>
313                <p>
314                  The length of an interval or the sum of lengths of an interval
315                  container's intervals, that's <code class="computeroutput"><span class="identifier">domain_type</span></code>
316                  has a <code class="computeroutput"><span class="identifier">difference_type</span></code>.
317                </p>
318              </td>
319</tr>
320<tr>
321<td>
322                <p>
323                  <code class="computeroutput"><span class="identifier">size_type</span> <span class="identifier">cardinality</span><span class="special">(</span><span class="keyword">const</span>
324                  <span class="identifier">T</span><span class="special">&amp;)</span></code>
325                </p>
326              </td>
327<td>
328                <p>
329                  <a class="link" href="../interface/function_synopsis.html#interval_type"><span class="bold"><strong>i</strong></span></a>
330                  <a class="link" href="../interface/function_synopsis.html#interval_set_types"><span class="bold"><strong>S</strong></span></a>
331                  <a class="link" href="../interface/function_synopsis.html#interval_map_types"><span class="bold"><strong>M</strong></span></a>
332                  <a class="link" href="../interface/function_synopsis.html#itl_set_type"><span class="bold"><strong>s</strong></span></a>
333                  <a class="link" href="../interface/function_synopsis.html#itl_map_type"><span class="bold"><strong>m</strong></span></a>
334                </p>
335              </td>
336<td>
337                <p>
338                  The number of elements of an interval or a container. For continuous
339                  data types cardinality can be <span class="emphasis"><em>infinite</em></span>.
340                </p>
341              </td>
342</tr>
343<tr>
344<td>
345                <p>
346                  <code class="computeroutput"><span class="identifier">size_type</span> <span class="identifier">T</span><span class="special">::</span><span class="identifier">size</span><span class="special">()</span><span class="keyword">const</span></code><br>
347                  <code class="computeroutput"><span class="identifier">size_type</span> <span class="identifier">size</span><span class="special">(</span><span class="keyword">const</span>
348                  <span class="identifier">T</span><span class="special">&amp;)</span></code>
349                </p>
350              </td>
351<td>
352                <p>
353                  <a class="link" href="../interface/function_synopsis.html#interval_type"><span class="bold"><strong>i</strong></span></a>
354                  <a class="link" href="../interface/function_synopsis.html#interval_set_types"><span class="bold"><strong>S</strong></span></a>
355                  <a class="link" href="../interface/function_synopsis.html#interval_map_types"><span class="bold"><strong>M</strong></span></a>
356                  <a class="link" href="../interface/function_synopsis.html#itl_set_type"><span class="bold"><strong>s</strong></span></a>
357                  <a class="link" href="../interface/function_synopsis.html#itl_map_type"><span class="bold"><strong>m</strong></span></a>
358                </p>
359              </td>
360<td>
361                <p>
362                  The number of elements of an interval or a container, which is
363                  also it's <code class="computeroutput"><span class="identifier">cardinality</span></code>.
364                </p>
365              </td>
366</tr>
367</tbody>
368</table></div>
369<p>
370        <span class="emphasis"><em><span class="bold"><strong>Back to section . . .</strong></span></em></span>
371      </p>
372<div class="informaltable"><table class="table">
373<colgroup><col></colgroup>
374<thead><tr></tr></thead>
375<tbody>
376<tr><td>
377                <p>
378                  <a class="link" href="../interface/function_synopsis.html#function_synopsis_table"><span class="emphasis"><em><span class="bold"><strong>Function
379                  Synopsis</strong></span></em></span></a>
380                </p>
381              </td></tr>
382<tr><td>
383                <p>
384                  <a class="link" href="../interface.html" title="Interface"><span class="emphasis"><em><span class="bold"><strong>Interface</strong></span></em></span></a>
385                </p>
386              </td></tr>
387</tbody>
388</table></div>
389</div>
390<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
391<td align="left"></td>
392<td align="right"><div class="copyright-footer">Copyright © 2007-2010 Joachim
393      Faulhaber<br>Copyright © 1999-2006 Cortex Software
394      GmbH<p>
395        Distributed under the Boost Software License, Version 1.0. (See accompanying
396        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>)
397      </p>
398</div></td>
399</tr></table>
400<hr>
401<div class="spirit-nav">
402<a accesskey="p" href="equivalences_and_orderings.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../function_reference.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="range.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
403</div>
404</body>
405</html>
406