fusion: merge of associative iterators/views and the new fold interface

[SVN r58618]
This commit is contained in:
Christopher Schmidt
2010-01-01 22:00:21 +00:00
parent b605617c4f
commit cda74605fc
379 changed files with 28481 additions and 2185 deletions
@@ -4,7 +4,11 @@
<title>Associative
Sequence</title>
<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
<<<<<<< .working
<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
=======
<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
>>>>>>> .merge-right.r57125
<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../concepts.html" title="Concepts">
<link rel="previous" href="random_access_sequence.html" title="Random
@@ -30,6 +34,7 @@
<a name="fusion.sequence.concepts.associative_sequence"></a><a href="associative_sequence.html" title="Associative
Sequence">Associative
Sequence</a>
<<<<<<< .working
</h4></div></div>
<div></div>
</div>
@@ -37,17 +42,19 @@
<a name="id447542"></a>
<a href="associative_sequence.html#fusion.sequence.concepts.associative_sequence.description">Description</a>
</h5>
=======
</h4></div></div></div>
<a name="fusion.sequence.concepts.associative_sequence.description"></a><h6>
<a name="id651268"></a>
<a class="link" href="associative_sequence.html#fusion.sequence.concepts.associative_sequence.description">Description</a>
</h6>
>>>>>>> .merge-right.r57125
<p>
An Associative Sequence allows efficient retrieval of elements based on
keys. Like associative sequences in <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>,
and unlike associative containers in <a href="http://en.wikipedia.org/wiki/Standard_Template_Library" target="_top">STL</a>,
Fusion associative sequences have no implied ordering relation. Instead,
type identity is used to impose an equivalence relation on keys, and the
order in which sequence elements are traversed during iteration is left
unspecified. In addition, unlike <a href="http://en.wikipedia.org/wiki/Standard_Template_Library" target="_top">STL</a>,
Associative Sequences have mutable iterators. This is due to the fact that
there is no associated ordering relation and the runtime value of the keys
themselves do not have any effect on the associativity of the sequence.
type identity is used to impose an equivalence relation on keys.
</p>
<div class="variablelist">
<p class="title"><b>Notation</b></p>
@@ -74,9 +81,15 @@
</p></dd>
</dl>
</div>
<<<<<<< .working
<a name="fusion.sequence.concepts.associative_sequence.valid_expressions"></a><h5>
<a name="id447735"></a>
<a href="associative_sequence.html#fusion.sequence.concepts.associative_sequence.valid_expressions">Valid
=======
<a name="fusion.sequence.concepts.associative_sequence.valid_expressions"></a><h6>
<a name="id651402"></a>
<a class="link" href="associative_sequence.html#fusion.sequence.concepts.associative_sequence.valid_expressions">Valid
>>>>>>> .merge-right.r57125
Expressions</a>
</h5>
<p>
@@ -151,9 +164,15 @@
</tr>
</tbody>
</table></div>
<<<<<<< .working
<a name="fusion.sequence.concepts.associative_sequence.result_type_expressions"></a><h5>
<a name="id448116"></a>
<a href="associative_sequence.html#fusion.sequence.concepts.associative_sequence.result_type_expressions">Result
=======
<a name="fusion.sequence.concepts.associative_sequence.result_type_expressions"></a><h6>
<a name="id651688"></a>
<a class="link" href="associative_sequence.html#fusion.sequence.concepts.associative_sequence.result_type_expressions">Result
>>>>>>> .merge-right.r57125
Type Expressions</a>
</h5>
<div class="informaltable"><table class="table">
@@ -205,11 +224,20 @@
most cases, this is a reference. Hence, there is no way to know the exact
element type using <tt class="computeroutput"><a href="../intrinsic/metafunctions/at_key.html" title="at_key"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at_key</span></tt></a><span class="special">&lt;</span><span class="identifier">S</span><span class="special">,</span> <span class="identifier">K</span><span class="special">&gt;</span></tt>.The element at <tt class="computeroutput"><span class="identifier">K</span></tt>
may actually be a reference to begin with. For this purpose, you can use
<<<<<<< .working
<tt class="computeroutput"><a href="../intrinsic/metafunctions/value_at_key.html" title="value_at_key"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_key</span></tt></a><span class="special">&lt;</span><span class="identifier">S</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span></tt>.
</p></div>
<a name="fusion.sequence.concepts.associative_sequence.expression_semantics"></a><h5>
<a name="id448687"></a>
<a href="associative_sequence.html#fusion.sequence.concepts.associative_sequence.expression_semantics">Expression
=======
<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">&lt;</span><span class="identifier">S</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span></code>.
</p>
</div>
<a name="fusion.sequence.concepts.associative_sequence.expression_semantics"></a><h6>
<a name="id652092"></a>
<a class="link" href="associative_sequence.html#fusion.sequence.concepts.associative_sequence.expression_semantics">Expression
>>>>>>> .merge-right.r57125
Semantics</a>
</h5>
<div class="informaltable"><table class="table">
@@ -250,6 +278,7 @@
</tr>
</tbody>
</table></div>
<<<<<<< .working
<a name="fusion.sequence.concepts.associative_sequence.models"></a><h5>
<a name="id449008"></a>
<a href="associative_sequence.html#fusion.sequence.concepts.associative_sequence.models">Models</a>
@@ -257,6 +286,15 @@
<div class="itemizedlist"><ul type="disc">
<li><a href="../../container/set.html" title="set"><tt class="computeroutput"><span class="identifier">set</span></tt></a></li>
<li><a href="../../container/map.html" title="map"><tt class="computeroutput"><span class="identifier">map</span></tt></a></li>
=======
<a name="fusion.sequence.concepts.associative_sequence.models"></a><h6>
<a name="id652312"></a>
<a class="link" href="associative_sequence.html#fusion.sequence.concepts.associative_sequence.models">Models</a>
</h6>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem"><a class="link" href="../../container/set.html" title="set"><code class="computeroutput"><span class="identifier">set</span></code></a></li>
<li class="listitem"><a class="link" href="../../container/map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a></li>
>>>>>>> .merge-right.r57125
</ul></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
@@ -4,7 +4,11 @@
<title>Bidirectional
Sequence</title>
<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
<<<<<<< .working
<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
=======
<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
>>>>>>> .merge-right.r57125
<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../concepts.html" title="Concepts">
<link rel="previous" href="forward_sequence.html" title="Forward
@@ -31,6 +35,7 @@
<a name="fusion.sequence.concepts.bidirectional_sequence"></a><a href="bidirectional_sequence.html" title="Bidirectional
Sequence">Bidirectional
Sequence</a>
<<<<<<< .working
</h4></div></div>
<div></div>
</div>
@@ -38,6 +43,13 @@
<a name="id444601"></a>
<a href="bidirectional_sequence.html#fusion.sequence.concepts.bidirectional_sequence.description">Description</a>
</h5>
=======
</h4></div></div></div>
<a name="fusion.sequence.concepts.bidirectional_sequence.description"></a><h6>
<a name="id646988"></a>
<a class="link" href="bidirectional_sequence.html#fusion.sequence.concepts.bidirectional_sequence.description">Description</a>
</h6>
>>>>>>> .merge-right.r57125
<p>
A Bidirectional Sequence is a <a href="forward_sequence.html" title="Forward
Sequence">Forward
@@ -45,9 +57,15 @@
Iterator">Bidirectional
Iterator</a>.
</p>
<<<<<<< .working
<a name="fusion.sequence.concepts.bidirectional_sequence.refinement_of"></a><h5>
<a name="id444649"></a>
<a href="bidirectional_sequence.html#fusion.sequence.concepts.bidirectional_sequence.refinement_of">Refinement
=======
<a name="fusion.sequence.concepts.bidirectional_sequence.refinement_of"></a><h6>
<a name="id647019"></a>
<a class="link" href="bidirectional_sequence.html#fusion.sequence.concepts.bidirectional_sequence.refinement_of">Refinement
>>>>>>> .merge-right.r57125
of</a>
</h5>
<p>
@@ -75,9 +93,15 @@
</p></dd>
</dl>
</div>
<<<<<<< .working
<a name="fusion.sequence.concepts.bidirectional_sequence.valid_expressions"></a><h5>
<a name="id444786"></a>
<a href="bidirectional_sequence.html#fusion.sequence.concepts.bidirectional_sequence.valid_expressions">Valid
=======
<a name="fusion.sequence.concepts.bidirectional_sequence.valid_expressions"></a><h6>
<a name="id647122"></a>
<a class="link" href="bidirectional_sequence.html#fusion.sequence.concepts.bidirectional_sequence.valid_expressions">Valid
>>>>>>> .merge-right.r57125
Expressions</a>
</h5>
<p>
@@ -170,9 +194,15 @@
</tr>
</tbody>
</table></div>
<<<<<<< .working
<a name="fusion.sequence.concepts.bidirectional_sequence.result_type_expressions"></a><h5>
<a name="id445223"></a>
<a href="bidirectional_sequence.html#fusion.sequence.concepts.bidirectional_sequence.result_type_expressions">Result
=======
<a name="fusion.sequence.concepts.bidirectional_sequence.result_type_expressions"></a><h6>
<a name="id647446"></a>
<a class="link" href="bidirectional_sequence.html#fusion.sequence.concepts.bidirectional_sequence.result_type_expressions">Result
>>>>>>> .merge-right.r57125
Type Expressions</a>
</h5>
<div class="informaltable"><table class="table">
@@ -215,9 +245,15 @@
</tr>
</tbody>
</table></div>
<<<<<<< .working
<a name="fusion.sequence.concepts.bidirectional_sequence.expression_semantics"></a><h5>
<a name="id445497"></a>
<a href="bidirectional_sequence.html#fusion.sequence.concepts.bidirectional_sequence.expression_semantics">Expression
=======
<a name="fusion.sequence.concepts.bidirectional_sequence.expression_semantics"></a><h6>
<a name="id647649"></a>
<a class="link" href="bidirectional_sequence.html#fusion.sequence.concepts.bidirectional_sequence.expression_semantics">Expression
>>>>>>> .merge-right.r57125
Semantics</a>
</h5>
<p>
@@ -248,6 +284,7 @@
</p></td>
</tr></tbody>
</table></div>
<<<<<<< .working
<a name="fusion.sequence.concepts.bidirectional_sequence.models"></a><h5>
<a name="id445649"></a>
<a href="bidirectional_sequence.html#fusion.sequence.concepts.bidirectional_sequence.models">Models</a>
@@ -259,6 +296,19 @@
<li><a href="../../view/reverse_view.html" title="reverse_view"><tt class="computeroutput"><span class="identifier">reverse_view</span></tt></a></li>
<li>
<a href="../../view/iterator_range.html" title="iterator_range"><tt class="computeroutput"><span class="identifier">iterator_range</span></tt></a>
=======
<a name="fusion.sequence.concepts.bidirectional_sequence.models"></a><h6>
<a name="id647755"></a>
<a class="link" href="bidirectional_sequence.html#fusion.sequence.concepts.bidirectional_sequence.models">Models</a>
</h6>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem"><a class="link" href="../../adapted/std__pair.html" title="std::pair"><code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code></a></li>
<li class="listitem"><a class="link" href="../../adapted/boost__array.html" title="boost::array"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code></a></li>
<li class="listitem"><a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a></li>
<li class="listitem"><a class="link" href="../../view/reverse_view.html" title="reverse_view"><code class="computeroutput"><span class="identifier">reverse_view</span></code></a></li>
<li class="listitem">
<a class="link" href="../../view/iterator_range.html" title="iterator_range"><code class="computeroutput"><span class="identifier">iterator_range</span></code></a>
>>>>>>> .merge-right.r57125
(where adapted sequence is a Bidirectional Sequence)
</li>
<li>
@@ -4,7 +4,11 @@
<title>Forward
Sequence</title>
<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
<<<<<<< .working
<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
=======
<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
>>>>>>> .merge-right.r57125
<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../concepts.html" title="Concepts">
<link rel="previous" href="../concepts.html" title="Concepts">
@@ -30,6 +34,7 @@
<a name="fusion.sequence.concepts.forward_sequence"></a><a href="forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
<<<<<<< .working
</h4></div></div>
<div></div>
</div>
@@ -37,6 +42,13 @@
<a name="id442346"></a>
<a href="forward_sequence.html#fusion.sequence.concepts.forward_sequence.description">Description</a>
</h5>
=======
</h4></div></div></div>
<a name="fusion.sequence.concepts.forward_sequence.description"></a><h6>
<a name="id645322"></a>
<a class="link" href="forward_sequence.html#fusion.sequence.concepts.forward_sequence.description">Description</a>
</h6>
>>>>>>> .merge-right.r57125
<p>
A Forward Sequence is a Sequence whose elements are arranged in a definite
order. The ordering is guaranteed not to change from iteration to iteration.
@@ -65,9 +77,15 @@
</p></dd>
</dl>
</div>
<<<<<<< .working
<a name="fusion.sequence.concepts.forward_sequence.valid_expressions"></a><h5>
<a name="id442473"></a>
<a href="forward_sequence.html#fusion.sequence.concepts.forward_sequence.valid_expressions">Valid
=======
<a name="fusion.sequence.concepts.forward_sequence.valid_expressions"></a><h6>
<a name="id645420"></a>
<a class="link" href="forward_sequence.html#fusion.sequence.concepts.forward_sequence.valid_expressions">Valid
>>>>>>> .merge-right.r57125
Expressions</a>
</h5>
<p>
@@ -186,9 +204,15 @@
</tr>
</tbody>
</table></div>
<<<<<<< .working
<a name="fusion.sequence.concepts.forward_sequence.result_type_expressions"></a><h5>
<a name="id443053"></a>
<a href="forward_sequence.html#fusion.sequence.concepts.forward_sequence.result_type_expressions">Result
=======
<a name="fusion.sequence.concepts.forward_sequence.result_type_expressions"></a><h6>
<a name="id645924"></a>
<a class="link" href="forward_sequence.html#fusion.sequence.concepts.forward_sequence.result_type_expressions">Result
>>>>>>> .merge-right.r57125
Type Expressions</a>
</h5>
<div class="informaltable"><table class="table">
@@ -247,9 +271,15 @@
</tr>
</tbody>
</table></div>
<<<<<<< .working
<a name="fusion.sequence.concepts.forward_sequence.expression_semantics"></a><h5>
<a name="id443468"></a>
<a href="forward_sequence.html#fusion.sequence.concepts.forward_sequence.expression_semantics">Expression
=======
<a name="fusion.sequence.concepts.forward_sequence.expression_semantics"></a><h6>
<a name="id646230"></a>
<a class="link" href="forward_sequence.html#fusion.sequence.concepts.forward_sequence.expression_semantics">Expression
>>>>>>> .merge-right.r57125
Semantics</a>
</h5>
<div class="informaltable"><table class="table">
@@ -311,10 +341,17 @@
</tr>
</tbody>
</table></div>
<<<<<<< .working
<a name="fusion.sequence.concepts.forward_sequence.invariants"></a><h5>
<a name="id443935"></a>
<a href="forward_sequence.html#fusion.sequence.concepts.forward_sequence.invariants">Invariants</a>
</h5>
=======
<a name="fusion.sequence.concepts.forward_sequence.invariants"></a><h6>
<a name="id646558"></a>
<a class="link" href="forward_sequence.html#fusion.sequence.concepts.forward_sequence.invariants">Invariants</a>
</h6>
>>>>>>> .merge-right.r57125
<p>
For any Forward Sequence s the following invariants always hold:
</p>
@@ -337,6 +374,7 @@
will access its elements in the same order.
</li>
</ul></div>
<<<<<<< .working
<a name="fusion.sequence.concepts.forward_sequence.models"></a><h5>
<a name="id444246"></a>
<a href="forward_sequence.html#fusion.sequence.concepts.forward_sequence.models">Models</a>
@@ -356,6 +394,27 @@
<li><a href="../../view/transform_view.html" title="transform_view"><tt class="computeroutput"><span class="identifier">transform_view</span></tt></a></li>
<li><a href="../../view/reverse_view.html" title="reverse_view"><tt class="computeroutput"><span class="identifier">reverse_view</span></tt></a></li>
<li><a href="../../view/zip_view.html" title="zip_view"><tt class="computeroutput"><span class="identifier">zip_view</span></tt></a></li>
=======
<a name="fusion.sequence.concepts.forward_sequence.models"></a><h6>
<a name="id646759"></a>
<a class="link" href="forward_sequence.html#fusion.sequence.concepts.forward_sequence.models">Models</a>
</h6>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem"><a class="link" href="../../adapted/std__pair.html" title="std::pair"><code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code></a></li>
<li class="listitem"><a class="link" href="../../adapted/boost__array.html" title="boost::array"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code></a></li>
<li class="listitem"><a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a></li>
<li class="listitem"><a class="link" href="../../container/cons.html" title="cons"><code class="computeroutput"><span class="identifier">cons</span></code></a></li>
<li class="listitem"><a class="link" href="../../container/list.html" title="list"><code class="computeroutput"><span class="identifier">list</span></code></a></li>
<li class="listitem"><a class="link" href="../../container/set.html" title="set"><code class="computeroutput"><span class="identifier">set</span></code></a></li>
<li class="listitem"><a class="link" href="../../container/map.html" title="map"><code class="computeroutput"><span class="identifier">map</span></code></a></li>
<li class="listitem"><a class="link" href="../../view/single_view.html" title="single_view"><code class="computeroutput"><span class="identifier">single_view</span></code></a></li>
<li class="listitem"><a class="link" href="../../view/filter_view.html" title="filter_view"><code class="computeroutput"><span class="identifier">filter_view</span></code></a></li>
<li class="listitem"><a class="link" href="../../view/iterator_range.html" title="iterator_range"><code class="computeroutput"><span class="identifier">iterator_range</span></code></a></li>
<li class="listitem"><a class="link" href="../../view/joint_view.html" title="joint_view"><code class="computeroutput"><span class="identifier">joint_view</span></code></a></li>
<li class="listitem"><a class="link" href="../../view/transform_view.html" title="transform_view"><code class="computeroutput"><span class="identifier">transform_view</span></code></a></li>
<li class="listitem"><a class="link" href="../../view/reverse_view.html" title="reverse_view"><code class="computeroutput"><span class="identifier">reverse_view</span></code></a></li>
<li class="listitem"><a class="link" href="../../view/zip_view.html" title="zip_view"><code class="computeroutput"><span class="identifier">zip_view</span></code></a></li>
>>>>>>> .merge-right.r57125
</ul></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
@@ -4,7 +4,11 @@
<title>Random
Access Sequence</title>
<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
<<<<<<< .working
<meta name="generator" content="DocBook XSL Stylesheets V1.65.1">
=======
<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
>>>>>>> .merge-right.r57125
<link rel="home" href="../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../concepts.html" title="Concepts">
<link rel="previous" href="bidirectional_sequence.html" title="Bidirectional
@@ -31,6 +35,7 @@
<a name="fusion.sequence.concepts.random_access_sequence"></a><a href="random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a>
<<<<<<< .working
</h4></div></div>
<div></div>
</div>
@@ -38,6 +43,13 @@
<a name="id445865"></a>
<a href="random_access_sequence.html#fusion.sequence.concepts.random_access_sequence.description">Description</a>
</h5>
=======
</h4></div></div></div>
<a name="fusion.sequence.concepts.random_access_sequence.description"></a><h6>
<a name="id650077"></a>
<a class="link" href="random_access_sequence.html#fusion.sequence.concepts.random_access_sequence.description">Description</a>
</h6>
>>>>>>> .merge-right.r57125
<p>
A Random Access Sequence is a <a href="bidirectional_sequence.html" title="Bidirectional
Sequence">Bidirectional
@@ -46,9 +58,15 @@
Access Iterator</a>. It guarantees constant time access to arbitrary
sequence elements.
</p>
<<<<<<< .working
<a name="fusion.sequence.concepts.random_access_sequence.refinement_of"></a><h5>
<a name="id445915"></a>
<a href="random_access_sequence.html#fusion.sequence.concepts.random_access_sequence.refinement_of">Refinement
=======
<a name="fusion.sequence.concepts.random_access_sequence.refinement_of"></a><h6>
<a name="id650108"></a>
<a class="link" href="random_access_sequence.html#fusion.sequence.concepts.random_access_sequence.refinement_of">Refinement
>>>>>>> .merge-right.r57125
of</a>
</h5>
<p>
@@ -82,9 +100,15 @@
</p></dd>
</dl>
</div>
<<<<<<< .working
<a name="fusion.sequence.concepts.random_access_sequence.valid_expressions"></a><h5>
<a name="id446083"></a>
<a href="random_access_sequence.html#fusion.sequence.concepts.random_access_sequence.valid_expressions">Valid
=======
<a name="fusion.sequence.concepts.random_access_sequence.valid_expressions"></a><h6>
<a name="id650235"></a>
<a class="link" href="random_access_sequence.html#fusion.sequence.concepts.random_access_sequence.valid_expressions">Valid
>>>>>>> .merge-right.r57125
Expressions</a>
</h5>
<p>
@@ -177,9 +201,15 @@
</tr>
</tbody>
</table></div>
<<<<<<< .working
<a name="fusion.sequence.concepts.random_access_sequence.result_type_expressions"></a><h5>
<a name="id446539"></a>
<a href="random_access_sequence.html#fusion.sequence.concepts.random_access_sequence.result_type_expressions">Result
=======
<a name="fusion.sequence.concepts.random_access_sequence.result_type_expressions"></a><h6>
<a name="id650574"></a>
<a class="link" href="random_access_sequence.html#fusion.sequence.concepts.random_access_sequence.result_type_expressions">Result
>>>>>>> .merge-right.r57125
Type Expressions</a>
</h5>
<div class="informaltable"><table class="table">
@@ -238,11 +268,20 @@
most cases, this is a reference. Hence, there is no way to know the exact
element type using <tt class="computeroutput"><a href="../intrinsic/metafunctions/at.html" title="at"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">at</span></tt></a><span class="special">&lt;</span><span class="identifier">S</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span></tt>.The element at <tt class="computeroutput"><span class="identifier">N</span></tt>
may actually be a reference to begin with. For this purpose, you can use
<<<<<<< .working
<tt class="computeroutput"><a href="../intrinsic/metafunctions/value_at.html" title="value_at"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at</span></tt></a><span class="special">&lt;</span><span class="identifier">S</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span></tt>.
</p></div>
<a name="fusion.sequence.concepts.random_access_sequence.expression_semantics"></a><h5>
<a name="id447167"></a>
<a href="random_access_sequence.html#fusion.sequence.concepts.random_access_sequence.expression_semantics">Expression
=======
<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">&lt;</span><span class="identifier">S</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span></code>.
</p>
</div>
<a name="fusion.sequence.concepts.random_access_sequence.expression_semantics"></a><h6>
<a name="id651020"></a>
<a class="link" href="random_access_sequence.html#fusion.sequence.concepts.random_access_sequence.expression_semantics">Expression
>>>>>>> .merge-right.r57125
Semantics</a>
</h5>
<p>
@@ -273,6 +312,7 @@
</p></td>
</tr></tbody>
</table></div>
<<<<<<< .working
<a name="fusion.sequence.concepts.random_access_sequence.models"></a><h5>
<a name="id447327"></a>
<a href="random_access_sequence.html#fusion.sequence.concepts.random_access_sequence.models">Models</a>
@@ -284,6 +324,19 @@
<li><a href="../../view/reverse_view.html" title="reverse_view"><tt class="computeroutput"><span class="identifier">reverse_view</span></tt></a></li>
<li>
<a href="../../view/iterator_range.html" title="iterator_range"><tt class="computeroutput"><span class="identifier">iterator_range</span></tt></a>
=======
<a name="fusion.sequence.concepts.random_access_sequence.models"></a><h6>
<a name="id651132"></a>
<a class="link" href="random_access_sequence.html#fusion.sequence.concepts.random_access_sequence.models">Models</a>
</h6>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem"><a class="link" href="../../adapted/std__pair.html" title="std::pair"><code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code></a></li>
<li class="listitem"><a class="link" href="../../adapted/boost__array.html" title="boost::array"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code></a></li>
<li class="listitem"><a class="link" href="../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></a></li>
<li class="listitem"><a class="link" href="../../view/reverse_view.html" title="reverse_view"><code class="computeroutput"><span class="identifier">reverse_view</span></code></a></li>
<li class="listitem">
<a class="link" href="../../view/iterator_range.html" title="iterator_range"><code class="computeroutput"><span class="identifier">iterator_range</span></code></a>
>>>>>>> .merge-right.r57125
(where adapted sequence is a Random Access Sequence)
</li>
<li>