1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>Unbounded Sequence</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="associative_sequence.html" title="Associative Sequence"> 10<link rel="next" href="../intrinsic.html" title="Intrinsic"> 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="associative_sequence.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="../intrinsic.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.sequence.concepts.unbounded_sequence"></a><a class="link" href="unbounded_sequence.html" title="Unbounded Sequence">Unbounded 28 Sequence</a> 29</h4></div></div></div> 30<h6> 31<a name="fusion.sequence.concepts.unbounded_sequence.h0"></a> 32 <span class="phrase"><a name="fusion.sequence.concepts.unbounded_sequence.description"></a></span><a class="link" href="unbounded_sequence.html#fusion.sequence.concepts.unbounded_sequence.description">Description</a> 33 </h6> 34<p> 35 A Unbounded Sequence allows Out-of-Bounds access: it will achieve something 36 like a <a href="http://en.wikipedia.org/wiki/Window_function" target="_top">Window 37 Function</a>. Most of the sequences do not meet this concept, but some 38 special usecases do. 39 </p> 40<div class="important"><table border="0" summary="Important"> 41<tr> 42<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../../../../../doc/src/images/important.png"></td> 43<th align="left">Important</th> 44</tr> 45<tr><td align="left" valign="top"><p> 46 User extending sequences should handle any parameters or be SFINAE-friendly. 47 </p></td></tr> 48</table></div> 49<div class="variablelist"> 50<p class="title"><b>Notation</b></p> 51<dl class="variablelist"> 52<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt> 53<dd><p> 54 An Fusion Sequence 55 </p></dd> 56<dt><span class="term"><code class="computeroutput"><span class="identifier">S</span></code></span></dt> 57<dd><p> 58 An Fusion Sequence type 59 </p></dd> 60<dt><span class="term"><code class="computeroutput"><span class="identifier">M</span></code></span></dt> 61<dd><p> 62 An <a href="http://www.boost.org/libs/mpl" target="_top">MPL</a> integral 63 constant 64 </p></dd> 65<dt><span class="term"><code class="computeroutput"><span class="identifier">N</span></code></span></dt> 66<dd><p> 67 An integral constant 68 </p></dd> 69<dt><span class="term"><code class="computeroutput"><span class="identifier">K</span></code></span></dt> 70<dd><p> 71 An arbitrary <span class="emphasis"><em>key</em></span> type 72 </p></dd> 73<dt><span class="term"><code class="computeroutput"><span class="identifier">o</span></code></span></dt> 74<dd><p> 75 An arbitrary object 76 </p></dd> 77<dt><span class="term"><code class="computeroutput"><span class="identifier">e</span></code></span></dt> 78<dd><p> 79 A Sequence element 80 </p></dd> 81</dl> 82</div> 83<h6> 84<a name="fusion.sequence.concepts.unbounded_sequence.h1"></a> 85 <span class="phrase"><a name="fusion.sequence.concepts.unbounded_sequence.valid_expressions"></a></span><a class="link" href="unbounded_sequence.html#fusion.sequence.concepts.unbounded_sequence.valid_expressions">Valid 86 Expressions</a> 87 </h6> 88<div class="informaltable"><table class="table"> 89<colgroup> 90<col> 91<col> 92<col> 93<col> 94</colgroup> 95<thead><tr> 96<th> 97 <p> 98 Expression 99 </p> 100 </th> 101<th> 102 <p> 103 Return type 104 </p> 105 </th> 106<th> 107 <p> 108 Type Requirements 109 </p> 110 </th> 111<th> 112 <p> 113 Runtime Complexity 114 </p> 115 </th> 116</tr></thead> 117<tbody> 118<tr> 119<td> 120 <p> 121 <code class="computeroutput"><a class="link" href="../intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="identifier">N</span><span class="special">>(</span><span class="identifier">s</span><span class="special">)</span></code> 122 </p> 123 </td> 124<td> 125 <p> 126 Any type 127 </p> 128 </td> 129<td> 130 </td> 131<td> 132 <p> 133 Depends on its traversability 134 </p> 135 </td> 136</tr> 137<tr> 138<td> 139 <p> 140 <code class="computeroutput"><a class="link" href="../intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="identifier">N</span><span class="special">>(</span><span class="identifier">s</span><span class="special">)</span> 141 <span class="special">=</span> <span class="identifier">o</span></code> 142 </p> 143 </td> 144<td> 145 <p> 146 Any type 147 </p> 148 </td> 149<td> 150 </td> 151<td> 152 <p> 153 Depends on its traversability 154 </p> 155 </td> 156</tr> 157<tr> 158<td> 159 <p> 160 <code class="computeroutput"><a class="link" href="../intrinsic/functions/at.html" title="at"><code class="computeroutput"><span class="identifier">at</span></code></a><span class="special"><</span><span class="identifier">M</span><span class="special">>(</span><span class="identifier">s</span><span class="special">)</span></code> 161 </p> 162 </td> 163<td> 164 <p> 165 Any type 166 </p> 167 </td> 168<td> 169 </td> 170<td> 171 <p> 172 Depends on its traversability 173 </p> 174 </td> 175</tr> 176<tr> 177<td> 178 <p> 179 <code class="computeroutput"><a class="link" href="../intrinsic/functions/at.html" title="at"><code class="computeroutput"><span class="identifier">at</span></code></a><span class="special"><</span><span class="identifier">M</span><span class="special">>(</span><span class="identifier">s</span><span class="special">)</span> 180 <span class="special">=</span> <span class="identifier">o</span></code> 181 </p> 182 </td> 183<td> 184 <p> 185 Any type 186 </p> 187 </td> 188<td> 189 </td> 190<td> 191 <p> 192 Depends on its traversability 193 </p> 194 </td> 195</tr> 196<tr> 197<td> 198 <p> 199 <code class="computeroutput"><a class="link" href="../intrinsic/functions/at_key.html" title="at_key"><code class="computeroutput"><span class="identifier">at_key</span></code></a><span class="special"><</span><span class="identifier">K</span><span class="special">>(</span><span class="identifier">s</span><span class="special">)</span></code> 200 </p> 201 </td> 202<td> 203 <p> 204 Any type 205 </p> 206 </td> 207<td> 208 <p> 209 <code class="computeroutput"><span class="identifier">S</span></code> should be 210 <a class="link" href="associative_sequence.html" title="Associative Sequence">Associative 211 Sequence</a> 212 </p> 213 </td> 214<td> 215 <p> 216 Depends on its traversability 217 </p> 218 </td> 219</tr> 220<tr> 221<td> 222 <p> 223 <code class="computeroutput"><a class="link" href="../intrinsic/functions/at_key.html" title="at_key"><code class="computeroutput"><span class="identifier">at_key</span></code></a><span class="special"><</span><span class="identifier">K</span><span class="special">>(</span><span class="identifier">s</span><span class="special">)</span> 224 <span class="special">=</span> <span class="identifier">o</span></code> 225 </p> 226 </td> 227<td> 228 <p> 229 Any type 230 </p> 231 </td> 232<td> 233 <p> 234 <code class="computeroutput"><span class="identifier">S</span></code> should be 235 <a class="link" href="associative_sequence.html" title="Associative Sequence">Associative 236 Sequence</a> 237 </p> 238 </td> 239<td> 240 <p> 241 Depends on its traversability 242 </p> 243 </td> 244</tr> 245</tbody> 246</table></div> 247<h6> 248<a name="fusion.sequence.concepts.unbounded_sequence.h2"></a> 249 <span class="phrase"><a name="fusion.sequence.concepts.unbounded_sequence.result_type_expressions"></a></span><a class="link" href="unbounded_sequence.html#fusion.sequence.concepts.unbounded_sequence.result_type_expressions">Result 250 Type Expressions</a> 251 </h6> 252<div class="informaltable"><table class="table"> 253<colgroup> 254<col> 255<col> 256</colgroup> 257<thead><tr> 258<th> 259 <p> 260 Expression 261 </p> 262 </th> 263<th> 264 <p> 265 Compile Time Complexity 266 </p> 267 </th> 268</tr></thead> 269<tbody> 270<tr> 271<td> 272 <p> 273 <code class="computeroutput"><a class="link" href="../intrinsic/metafunctions/at.html" title="at"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at</span></code></a><span class="special"><</span><span class="identifier">S</span><span class="special">,</span> 274 <span class="identifier">M</span><span class="special">>::</span><span class="identifier">type</span></code> 275 </p> 276 </td> 277<td> 278 <p> 279 Depends on its traversability 280 </p> 281 </td> 282</tr> 283<tr> 284<td> 285 <p> 286 <code class="computeroutput"><a class="link" href="../intrinsic/metafunctions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at_c</span></code></a><span class="special"><</span><span class="identifier">S</span><span class="special">,</span> 287 <span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span></code> 288 </p> 289 </td> 290<td> 291 <p> 292 Depends on its traversability 293 </p> 294 </td> 295</tr> 296<tr> 297<td> 298 <p> 299 <code class="computeroutput"><a class="link" href="../intrinsic/metafunctions/value_at.html" title="value_at"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at</span></code></a><span class="special"><</span><span class="identifier">S</span><span class="special">,</span> 300 <span class="identifier">M</span><span class="special">>::</span><span class="identifier">type</span></code> 301 </p> 302 </td> 303<td> 304 <p> 305 Depends on its traversability 306 </p> 307 </td> 308</tr> 309<tr> 310<td> 311 <p> 312 <code class="computeroutput"><a class="link" href="../intrinsic/metafunctions/value_at_c.html" title="value_at_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_c</span></code></a><span class="special"><</span><span class="identifier">S</span><span class="special">,</span> 313 <span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span></code> 314 </p> 315 </td> 316<td> 317 <p> 318 Depends on its traversability 319 </p> 320 </td> 321</tr> 322<tr> 323<td> 324 <p> 325 <code class="computeroutput"><a class="link" href="../intrinsic/metafunctions/at_key.html" title="at_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at_key</span></code></a><span class="special"><</span><span class="identifier">S</span><span class="special">,</span> 326 <span class="identifier">K</span><span class="special">>::</span><span class="identifier">type</span></code> 327 </p> 328 </td> 329<td> 330 <p> 331 Depends on its traversability 332 </p> 333 </td> 334</tr> 335<tr> 336<td> 337 <p> 338 <code class="computeroutput"><a class="link" href="../intrinsic/metafunctions/value_at_key.html" title="value_at_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_key</span></code></a><span class="special"><</span><span class="identifier">S</span><span class="special">,</span> <span class="identifier">K</span><span class="special">>::</span><span class="identifier">type</span></code> 339 </p> 340 </td> 341<td> 342 <p> 343 Depends on its traversability 344 </p> 345 </td> 346</tr> 347</tbody> 348</table></div> 349<h6> 350<a name="fusion.sequence.concepts.unbounded_sequence.h3"></a> 351 <span class="phrase"><a name="fusion.sequence.concepts.unbounded_sequence.models"></a></span><a class="link" href="unbounded_sequence.html#fusion.sequence.concepts.unbounded_sequence.models">Models</a> 352 </h6> 353<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> 354 none. 355 </li></ul></div> 356</div> 357<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 358<td align="left"></td> 359<td align="right"><div class="copyright-footer">Copyright © 2001-2006, 2011, 2012 Joel de Guzman, 360 Dan Marsden, Tobias Schwinger<p> 361 Distributed under the Boost Software License, Version 1.0. (See accompanying 362 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>) 363 </p> 364</div></td> 365</tr></table> 366<hr> 367<div class="spirit-nav"> 368<a accesskey="p" href="associative_sequence.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="../intrinsic.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> 369</div> 370</body> 371</html> 372