• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<html>
2<head>
3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4<title>Get the Iterator pointing to the Begin of a Container Attribute</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="Spirit 2.5.8">
8<link rel="up" href="../iterate.html" title="Extract Attribute Values to Generate Output from a Container (Karma)">
9<link rel="prev" href="container_iterator.html" title="Determine the Type of the Iterator of a Container">
10<link rel="next" href="end_container.html" title="Get the Iterator pointing to the End of a Container Attribute">
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="../../../../../../../../libs/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="container_iterator.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iterate.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="end_container.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
24</div>
25<div class="section">
26<div class="titlepage"><div><div><h5 class="title">
27<a name="spirit.advanced.customize.iterate.begin_container"></a><a class="link" href="begin_container.html" title="Get the Iterator pointing to the Begin of a Container Attribute">Get
28          the Iterator pointing to the Begin of a Container Attribute</a>
29</h5></div></div></div>
30<h6>
31<a name="spirit.advanced.customize.iterate.begin_container.h0"></a>
32            <span class="phrase"><a name="spirit.advanced.customize.iterate.begin_container.begin_container"></a></span><a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.begin_container">begin_container</a>
33          </h6>
34<p>
35            The template <code class="computeroutput"><span class="identifier">begin_container</span></code>
36            is a type used as an attribute customization point. It is invoked by
37            the <span class="emphasis"><em>Karma</em></span> repetitive generators (such as <a class="link" href="../../../karma/reference/operator/list.html" title="List Generator (a % b)">List
38            (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star Generator (*a)">Kleene
39            (unary <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus Generator (+a)">Plus (unary <code class="computeroutput"><span class="special">+</span></code>)</a>, and <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Generator Directive (repeat[])">Repeat</a>)
40            in order to get an iterator pointing to the first element of the container
41            holding the attributes to generate output from.
42          </p>
43<h6>
44<a name="spirit.advanced.customize.iterate.begin_container.h1"></a>
45            <span class="phrase"><a name="spirit.advanced.customize.iterate.begin_container.module_headers"></a></span><a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.module_headers">Module
46            Headers</a>
47          </h6>
48<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">spirit</span><span class="special">/</span><span class="identifier">home</span><span class="special">/</span><span class="identifier">support</span><span class="special">/</span><span class="identifier">container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
49</pre>
50<p>
51            Also, see <a class="link" href="../../../structure/include.html" title="Include">Include Structure</a>.
52          </p>
53<div class="note"><table border="0" summary="Note">
54<tr>
55<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../images/note.png"></td>
56<th align="left">Note</th>
57</tr>
58<tr><td align="left" valign="top"><p>
59              This header file does not need to be included directly by any user
60              program as it is normally included by other Spirit header files relying
61              on its content.
62            </p></td></tr>
63</table></div>
64<h6>
65<a name="spirit.advanced.customize.iterate.begin_container.h2"></a>
66            <span class="phrase"><a name="spirit.advanced.customize.iterate.begin_container.namespace"></a></span><a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.namespace">Namespace</a>
67          </h6>
68<div class="informaltable"><table class="table">
69<colgroup><col></colgroup>
70<thead><tr><th>
71                    <p>
72                      Name
73                    </p>
74                  </th></tr></thead>
75<tbody><tr><td>
76                    <p>
77                      <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">traits</span></code>
78                    </p>
79                  </td></tr></tbody>
80</table></div>
81<h6>
82<a name="spirit.advanced.customize.iterate.begin_container.h3"></a>
83            <span class="phrase"><a name="spirit.advanced.customize.iterate.begin_container.synopsis"></a></span><a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.synopsis">Synopsis</a>
84          </h6>
85<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Container</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Enable</span><span class="special">&gt;</span>
86<span class="keyword">struct</span> <span class="identifier">begin_container</span>
87<span class="special">{</span>
88    <span class="keyword">static</span> <span class="keyword">typename</span> <span class="identifier">container_iterator</span><span class="special">&lt;</span><span class="identifier">Container</span><span class="special">&gt;::</span><span class="identifier">type</span>
89    <span class="identifier">call</span><span class="special">(</span><span class="identifier">Container</span><span class="special">&amp;</span> <span class="identifier">c</span><span class="special">);</span>
90<span class="special">};</span>
91</pre>
92<h6>
93<a name="spirit.advanced.customize.iterate.begin_container.h4"></a>
94            <span class="phrase"><a name="spirit.advanced.customize.iterate.begin_container.template_parameters"></a></span><a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.template_parameters">Template
95            parameters</a>
96          </h6>
97<div class="informaltable"><table class="table">
98<colgroup>
99<col>
100<col>
101<col>
102</colgroup>
103<thead><tr>
104<th>
105                    <p>
106                      Parameter
107                    </p>
108                  </th>
109<th>
110                    <p>
111                      Description
112                    </p>
113                  </th>
114<th>
115                    <p>
116                      Default
117                    </p>
118                  </th>
119</tr></thead>
120<tbody>
121<tr>
122<td>
123                    <p>
124                      <code class="computeroutput"><span class="identifier">Container</span></code>
125                    </p>
126                  </td>
127<td>
128                    <p>
129                      The type, <code class="computeroutput"><span class="identifier">Container</span></code>
130                      for which the iterator pointing to the first element has to
131                      be returned
132                    </p>
133                  </td>
134<td>
135                    <p>
136                      none
137                    </p>
138                  </td>
139</tr>
140<tr>
141<td>
142                    <p>
143                      <code class="computeroutput"><span class="identifier">Enable</span></code>
144                    </p>
145                  </td>
146<td>
147                    <p>
148                      Helper template parameter usable to selectively enable or disable
149                      certain specializations of <code class="computeroutput"><span class="identifier">begin_container</span></code>
150                      utilizing SFINAE (i.e. <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span></code>
151                      or <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">disable_if</span></code>).
152                    </p>
153                  </td>
154<td>
155                    <p>
156                      <code class="computeroutput"><span class="keyword">void</span></code>
157                    </p>
158                  </td>
159</tr>
160</tbody>
161</table></div>
162<div class="variablelist">
163<p class="title"><b>Notation</b></p>
164<dl class="variablelist">
165<dt><span class="term"><code class="computeroutput"><span class="identifier">C</span></code></span></dt>
166<dd><p>
167                  A container type the begin iterator needs to be returned for.
168                </p></dd>
169<dt><span class="term"><code class="computeroutput"><span class="identifier">c</span></code></span></dt>
170<dd><p>
171                  An instance of a container, <code class="computeroutput"><span class="identifier">C</span></code>.
172                </p></dd>
173</dl>
174</div>
175<h6>
176<a name="spirit.advanced.customize.iterate.begin_container.h5"></a>
177            <span class="phrase"><a name="spirit.advanced.customize.iterate.begin_container.expression_semantics"></a></span><a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.expression_semantics">Expression
178            Semantics</a>
179          </h6>
180<div class="informaltable"><table class="table">
181<colgroup>
182<col>
183<col>
184</colgroup>
185<thead><tr>
186<th>
187                    <p>
188                      Expression
189                    </p>
190                  </th>
191<th>
192                    <p>
193                      Semantics
194                    </p>
195                  </th>
196</tr></thead>
197<tbody><tr>
198<td>
199                    <p>
200                      <code class="computeroutput"><span class="identifier">begin_container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">call</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
201                    </p>
202                  </td>
203<td>
204                    <p>
205                      Return the iterator usable to dereference the first element
206                      of the given container, <code class="computeroutput"><span class="identifier">c</span></code>.
207                      The type of the returned iterator is expected to be the same
208                      as the type returned by the customization point <a class="link" href="container_iterator.html" title="Determine the Type of the Iterator of a Container"><code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">container_iterator</span></code></a>.
209                    </p>
210                  </td>
211</tr></tbody>
212</table></div>
213<p>
214            The returned instance conceptually needs to be equivalent to a standard
215            forward iterator. But it does not have to expose the standardized interface.
216            If this customization point is implemented for a certain container type,
217            all related customization points need to be implemented as well (see
218            <a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.related_attribute_customization_points">Related
219            Attribute Customization Points</a> below). This encapsulates the specific
220            iterator interface required for a given type. The minimal requirements
221            for a type to be exposed as an iterator in this context are:
222          </p>
223<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
224<li class="listitem">
225                it needs to be comparable for equality (see <a class="link" href="compare_iterators.html" title="Compare two Iterator pointing into a Container Attribute for Equality"><code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">compare_iterators</span></code></a>),
226              </li>
227<li class="listitem">
228                it needs to be incrementable (see <a class="link" href="next_iterator.html" title="Increment the Iterator pointing into a Container Attribute"><code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">next_iterator</span></code></a>),
229              </li>
230<li class="listitem">
231                it needs to be dereferencible (see <a class="link" href="deref_iterator.html" title="Dereference the Iterator pointing into a Container Attribute"><code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">deref_iterator</span></code></a>).
232              </li>
233</ul></div>
234<h6>
235<a name="spirit.advanced.customize.iterate.begin_container.h6"></a>
236            <span class="phrase"><a name="spirit.advanced.customize.iterate.begin_container.predefined_specializations"></a></span><a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.predefined_specializations">Predefined
237            Specializations</a>
238          </h6>
239<p>
240            <a href="http://boost-spirit.com" target="_top">Spirit</a> predefines specializations
241            of this customization point for several types. The following table lists
242            those types together with the types returned by the embedded typedef
243            <code class="computeroutput"><span class="identifier">type</span></code>:
244          </p>
245<div class="informaltable"><table class="table">
246<colgroup>
247<col>
248<col>
249</colgroup>
250<thead><tr>
251<th>
252                    <p>
253                      Template Parameters
254                    </p>
255                  </th>
256<th>
257                    <p>
258                      Semantics
259                    </p>
260                  </th>
261</tr></thead>
262<tbody>
263<tr>
264<td>
265                    <p>
266                      <code class="computeroutput"><span class="identifier">C</span></code>
267                    </p>
268                  </td>
269<td>
270                    <p>
271                      Returns <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">()</span></code>.
272                    </p>
273                  </td>
274</tr>
275<tr>
276<td>
277                    <p>
278                      <code class="computeroutput"><span class="identifier">C</span> <span class="keyword">const</span></code>
279                    </p>
280                  </td>
281<td>
282                    <p>
283                      Returns <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">()</span></code>.
284                    </p>
285                  </td>
286</tr>
287<tr>
288<td>
289                    <p>
290                      <code class="computeroutput"><span class="identifier">unused_type</span></code>
291                    </p>
292                  </td>
293<td>
294                    <p>
295                      Returns <code class="computeroutput"><span class="special">&amp;</span><span class="identifier">unused</span></code>.
296                    </p>
297                  </td>
298</tr>
299</tbody>
300</table></div>
301<h6>
302<a name="spirit.advanced.customize.iterate.begin_container.h7"></a>
303            <span class="phrase"><a name="spirit.advanced.customize.iterate.begin_container.when_to_implement"></a></span><a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.when_to_implement">When
304            to implement</a>
305          </h6>
306<p>
307            The customization point <code class="computeroutput"><span class="identifier">begin_container</span></code>
308            needs to be implemented for a specific type whenever this type is to
309            be used as an attribute in place of a STL container. It is applicable
310            for generators (<span class="emphasis"><em>Spirit.Karma</em></span>) only. As a rule of
311            thumb: it has to be implemented whenever a certain type is to be passed
312            as an attribute to a generator normally exposing a STL container, <code class="computeroutput"><span class="identifier">C</span></code> and if the type does not expose the
313            interface of a STL container (i.e. <code class="computeroutput"><span class="identifier">is_container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
314            would normally return <code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></code>).
315          </p>
316<h6>
317<a name="spirit.advanced.customize.iterate.begin_container.h8"></a>
318            <span class="phrase"><a name="spirit.advanced.customize.iterate.begin_container.related_attribute_customization_points"></a></span><a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.related_attribute_customization_points">Related
319            Attribute Customization Points</a>
320          </h6>
321<p>
322            If this customization point is implemented, the following other customization
323            points might need to be implemented as well.
324          </p>
325<div class="informaltable"><table class="table">
326<colgroup>
327<col>
328<col>
329</colgroup>
330<thead><tr>
331<th>
332                    <p>
333                      Name
334                    </p>
335                  </th>
336<th>
337                    <p>
338                      When to implement
339                    </p>
340                  </th>
341</tr></thead>
342<tbody>
343<tr>
344<td>
345                    <p>
346                      <a class="link" href="../is_container.html" title="Determine if a Type Should be Treated as a Container (Qi and Karma)"><code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">is_container</span></code></a>
347                    </p>
348                  </td>
349<td>
350                    <p>
351                      Needs to be implemented whenever a type is to be used as a
352                      container attribute in <span class="emphasis"><em>Karma</em></span>.
353                    </p>
354                  </td>
355</tr>
356<tr>
357<td>
358                    <p>
359                      <a class="link" href="container_iterator.html" title="Determine the Type of the Iterator of a Container"><code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">container_iterator</span></code></a>
360                    </p>
361                  </td>
362<td>
363                    <p>
364                      Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="List Generator (a % b)">List
365                      (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star Generator (*a)">Kleene (unary
366                      <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus Generator (+a)">Plus (unary
367                      <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Generator Directive (repeat[])">Repeat</a>.
368                    </p>
369                  </td>
370</tr>
371<tr>
372<td>
373                    <p>
374                      <a class="link" href="begin_container.html" title="Get the Iterator pointing to the Begin of a Container Attribute"><code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">begin_container</span></code></a>
375                    </p>
376                  </td>
377<td>
378                    <p>
379                      Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="List Generator (a % b)">List
380                      (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star Generator (*a)">Kleene (unary
381                      <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus Generator (+a)">Plus (unary
382                      <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Generator Directive (repeat[])">Repeat</a>.
383                    </p>
384                  </td>
385</tr>
386<tr>
387<td>
388                    <p>
389                      <a class="link" href="end_container.html" title="Get the Iterator pointing to the End of a Container Attribute"><code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">end_container</span></code></a>
390                    </p>
391                  </td>
392<td>
393                    <p>
394                      Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="List Generator (a % b)">List
395                      (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star Generator (*a)">Kleene (unary
396                      <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus Generator (+a)">Plus (unary
397                      <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Generator Directive (repeat[])">Repeat</a>.
398                    </p>
399                  </td>
400</tr>
401<tr>
402<td>
403                    <p>
404                      <a class="link" href="deref_iterator.html" title="Dereference the Iterator pointing into a Container Attribute"><code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">deref_iterator</span></code></a>
405                    </p>
406                  </td>
407<td>
408                    <p>
409                      Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="List Generator (a % b)">List
410                      (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star Generator (*a)">Kleene (unary
411                      <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus Generator (+a)">Plus (unary
412                      <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Generator Directive (repeat[])">Repeat</a>.
413                    </p>
414                  </td>
415</tr>
416<tr>
417<td>
418                    <p>
419                      <a class="link" href="next_iterator.html" title="Increment the Iterator pointing into a Container Attribute"><code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">next_iterator</span></code></a>
420                    </p>
421                  </td>
422<td>
423                    <p>
424                      Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="List Generator (a % b)">List
425                      (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star Generator (*a)">Kleene (unary
426                      <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus Generator (+a)">Plus (unary
427                      <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Generator Directive (repeat[])">Repeat</a>.
428                    </p>
429                  </td>
430</tr>
431<tr>
432<td>
433                    <p>
434                      <a class="link" href="compare_iterators.html" title="Compare two Iterator pointing into a Container Attribute for Equality"><code class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">compare_iterators</span></code></a>
435                    </p>
436                  </td>
437<td>
438                    <p>
439                      Karma: <a class="link" href="../../../karma/reference/operator/list.html" title="List Generator (a % b)">List
440                      (<code class="computeroutput"><span class="special">%</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/kleene.html" title="Kleene Star Generator (*a)">Kleene (unary
441                      <code class="computeroutput"><span class="special">*</span></code>)</a>, <a class="link" href="../../../karma/reference/operator/plus.html" title="Plus Generator (+a)">Plus (unary
442                      <code class="computeroutput"><span class="special">+</span></code>)</a>, <a class="link" href="../../../karma/reference/directive/repeat.html" title="Repetition Generator Directive (repeat[])">Repeat</a>.
443                    </p>
444                  </td>
445</tr>
446</tbody>
447</table></div>
448<h6>
449<a name="spirit.advanced.customize.iterate.begin_container.h9"></a>
450            <span class="phrase"><a name="spirit.advanced.customize.iterate.begin_container.example"></a></span><a class="link" href="begin_container.html#spirit.advanced.customize.iterate.begin_container.example">Example</a>
451          </h6>
452<p>
453            For examples of how to use the customization point <code class="computeroutput"><span class="identifier">begin_container</span></code>
454            please see here: <a class="link" href="container_iterator.html#spirit.advanced.customize.iterate.container_iterator.example">embedded_container_example</a>,
455            <a class="link" href="next_iterator.html#spirit.advanced.customize.iterate.next_iterator.example">use_as_container</a>,
456            and <a class="link" href="deref_iterator.html#spirit.advanced.customize.iterate.deref_iterator.example">counter_example</a>.
457          </p>
458</div>
459<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
460<td align="left"></td>
461<td align="right"><div class="copyright-footer">Copyright © 2001-2011 Joel de Guzman, Hartmut Kaiser<p>
462        Distributed under the Boost Software License, Version 1.0. (See accompanying
463        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>)
464      </p>
465</div></td>
466</tr></table>
467<hr>
468<div class="spirit-nav">
469<a accesskey="p" href="container_iterator.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iterate.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="end_container.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
470</div>
471</body>
472</html>
473