1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>Associative Iterator</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. Fusion 2.2"> 8<link rel="up" href="../concepts.html" title="Concepts"> 9<link rel="prev" href="random_access_iterator.html" title="Random Access Iterator"> 10<link rel="next" href="unbounded_iterator.html" title="Unbounded Iterator"> 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="random_access_iterator.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.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="unbounded_iterator.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> 24</div> 25<div class="section"> 26<div class="titlepage"><div><div><h4 class="title"> 27<a name="fusion.iterator.concepts.associative_iterator"></a><a class="link" href="associative_iterator.html" title="Associative Iterator">Associative 28 Iterator</a> 29</h4></div></div></div> 30<h6> 31<a name="fusion.iterator.concepts.associative_iterator.h0"></a> 32 <span class="phrase"><a name="fusion.iterator.concepts.associative_iterator.description"></a></span><a class="link" href="associative_iterator.html#fusion.iterator.concepts.associative_iterator.description">Description</a> 33 </h6> 34<p> 35 An Associative Iterator provides additional semantics to obtain the properties 36 of the element of an associative forward, bidirectional or random access 37 sequence. 38 </p> 39<div class="variablelist"> 40<p class="title"><b>Notation</b></p> 41<dl class="variablelist"> 42<dt><span class="term"><code class="computeroutput"><span class="identifier">i</span></code></span></dt> 43<dd><p> 44 Associative Iterator 45 </p></dd> 46<dt><span class="term"><code class="computeroutput"><span class="identifier">I</span></code></span></dt> 47<dd><p> 48 Associative Iterator type 49 </p></dd> 50</dl> 51</div> 52<h6> 53<a name="fusion.iterator.concepts.associative_iterator.h1"></a> 54 <span class="phrase"><a name="fusion.iterator.concepts.associative_iterator.refinement_of"></a></span><a class="link" href="associative_iterator.html#fusion.iterator.concepts.associative_iterator.refinement_of">Refinement 55 of</a> 56 </h6> 57<p> 58 <a class="link" href="forward_iterator.html" title="Forward Iterator">Forward Iterator</a>, 59 <a class="link" href="bidirectional_iterator.html" title="Bidirectional Iterator">Bidirectional 60 Iterator</a> or <a class="link" href="random_access_iterator.html" title="Random Access Iterator">Random 61 Access Iterator</a> 62 </p> 63<h6> 64<a name="fusion.iterator.concepts.associative_iterator.h2"></a> 65 <span class="phrase"><a name="fusion.iterator.concepts.associative_iterator.expression_requirements"></a></span><a class="link" href="associative_iterator.html#fusion.iterator.concepts.associative_iterator.expression_requirements">Expression 66 requirements</a> 67 </h6> 68<p> 69 In addition to the requirements defined in <a class="link" href="forward_iterator.html" title="Forward Iterator">Forward 70 Iterator</a>, <a class="link" href="bidirectional_iterator.html" title="Bidirectional Iterator">Bidirectional 71 Iterator</a> or <a class="link" href="random_access_iterator.html" title="Random Access Iterator">Random 72 Access Iterator</a> the following expressions must be valid: 73 </p> 74<div class="informaltable"><table class="table"> 75<colgroup> 76<col> 77<col> 78<col> 79</colgroup> 80<thead><tr> 81<th> 82 <p> 83 Expression 84 </p> 85 </th> 86<th> 87 <p> 88 Return type 89 </p> 90 </th> 91<th> 92 <p> 93 Runtime Complexity 94 </p> 95 </th> 96</tr></thead> 97<tbody><tr> 98<td> 99 <p> 100 <code class="computeroutput"><a class="link" href="../functions/deref_data.html" title="deref_data"><code class="computeroutput"><span class="identifier">deref_data</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code> 101 </p> 102 </td> 103<td> 104 <p> 105 <code class="computeroutput"><a class="link" href="../metafunctions/deref_data.html" title="deref_data"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref_data</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span></code> 106 </p> 107 </td> 108<td> 109 <p> 110 Constant 111 </p> 112 </td> 113</tr></tbody> 114</table></div> 115<h6> 116<a name="fusion.iterator.concepts.associative_iterator.h3"></a> 117 <span class="phrase"><a name="fusion.iterator.concepts.associative_iterator.meta_expressions"></a></span><a class="link" href="associative_iterator.html#fusion.iterator.concepts.associative_iterator.meta_expressions">Meta 118 Expressions</a> 119 </h6> 120<div class="informaltable"><table class="table"> 121<colgroup> 122<col> 123<col> 124</colgroup> 125<thead><tr> 126<th> 127 <p> 128 Expression 129 </p> 130 </th> 131<th> 132 <p> 133 Compile Time Complexity 134 </p> 135 </th> 136</tr></thead> 137<tbody> 138<tr> 139<td> 140 <p> 141 <code class="computeroutput"><a class="link" href="../metafunctions/key_of.html" title="key_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">key_of</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span></code> 142 </p> 143 </td> 144<td> 145 <p> 146 Amortized constant time 147 </p> 148 </td> 149</tr> 150<tr> 151<td> 152 <p> 153 <code class="computeroutput"><a class="link" href="../metafunctions/value_of_data.html" title="value_of_data"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of_data</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span></code> 154 </p> 155 </td> 156<td> 157 <p> 158 Amortized constant time 159 </p> 160 </td> 161</tr> 162<tr> 163<td> 164 <p> 165 <code class="computeroutput"><a class="link" href="../metafunctions/deref_data.html" title="deref_data"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref_data</span></code></a><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">type</span></code> 166 </p> 167 </td> 168<td> 169 <p> 170 Amortized constant time 171 </p> 172 </td> 173</tr> 174</tbody> 175</table></div> 176<h6> 177<a name="fusion.iterator.concepts.associative_iterator.h4"></a> 178 <span class="phrase"><a name="fusion.iterator.concepts.associative_iterator.models"></a></span><a class="link" href="associative_iterator.html#fusion.iterator.concepts.associative_iterator.models">Models</a> 179 </h6> 180<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 181<li class="listitem"> 182 <a class="link" href="../../container/map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a> 183 iterator 184 </li> 185<li class="listitem"> 186 <a class="link" href="../../container/set.html" title="set"><code class="computeroutput"><span class="identifier">set</span></code></a> 187 iterator 188 </li> 189<li class="listitem"> 190 <a class="link" href="../../view/filter_view.html" title="filter_view"><code class="computeroutput"><span class="identifier">filter_view</span></code></a> 191 iterator (where adapted sequence is an <a class="link" href="../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative 192 Sequence</a> and a <a class="link" href="../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward 193 Sequence</a>) 194 </li> 195<li class="listitem"> 196 <a class="link" href="../../view/iterator_range.html" title="iterator_range"><code class="computeroutput"><span class="identifier">iterator_range</span></code></a> 197 iterator (where adapted iterators are <a class="link" href="associative_iterator.html" title="Associative Iterator">Associative 198 Iterator</a>s) 199 </li> 200<li class="listitem"> 201 <a class="link" href="../../view/joint_view.html" title="joint_view"><code class="computeroutput"><span class="identifier">joint_view</span></code></a> 202 iterator (where adapted sequences are <a class="link" href="../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative 203 Sequence</a>s and <a class="link" href="../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward 204 Sequence</a>s) 205 </li> 206<li class="listitem"> 207 <a class="link" href="../../view/reverse_view.html" title="reverse_view"><code class="computeroutput"><span class="identifier">reverse_view</span></code></a> 208 iterator (where adapted sequence is an <a class="link" href="../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative 209 Sequence</a> and a <a class="link" href="../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional 210 Sequence</a>) 211 </li> 212</ul></div> 213</div> 214<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 215<td align="left"></td> 216<td align="right"><div class="copyright-footer">Copyright © 2001-2006, 2011, 2012 Joel de Guzman, 217 Dan Marsden, Tobias Schwinger<p> 218 Distributed under the Boost Software License, Version 1.0. (See accompanying 219 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>) 220 </p> 221</div></td> 222</tr></table> 223<hr> 224<div class="spirit-nav"> 225<a accesskey="p" href="random_access_iterator.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.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="unbounded_iterator.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> 226</div> 227</body> 228</html> 229