[boost][range] - Improved the implementation of strided range to eliminate requirements for boost::size(rng) to be a valid expression. Each traversal category of strided_iterator is now individually implemented.

[SVN r67461]
This commit is contained in:
Neil Groves
2010-12-26 20:33:33 +00:00
parent fd63de33e9
commit efb7b50a8a
101 changed files with 725 additions and 669 deletions

View File

@ -27,7 +27,7 @@
<a name="range.concepts.bidirectional_range"></a><a class="link" href="bidirectional_range.html" title="Bidirectional Range">Bidirectional Range</a>
</h3></div></div></div>
<a name="range.concepts.bidirectional_range.notation"></a><h5>
<a name="id660804"></a>
<a name="id673774"></a>
<a class="link" href="bidirectional_range.html#range.concepts.bidirectional_range.notation">Notation</a>
</h5>
<div class="informaltable"><table class="table">
@ -65,7 +65,7 @@
</tbody>
</table></div>
<a name="range.concepts.bidirectional_range.description"></a><h5>
<a name="id660892"></a>
<a name="id673862"></a>
<a class="link" href="bidirectional_range.html#range.concepts.bidirectional_range.description">Description</a>
</h5>
<p>
@ -75,7 +75,7 @@
Traversal Iterator</a>.
</p>
<a name="range.concepts.bidirectional_range.refinement_of"></a><h5>
<a name="id660950"></a>
<a name="id673921"></a>
<a class="link" href="bidirectional_range.html#range.concepts.bidirectional_range.refinement_of">Refinement
of</a>
</h5>
@ -83,7 +83,7 @@
<a class="link" href="forward_range.html" title="Forward Range">Forward Range</a>
</p>
<a name="range.concepts.bidirectional_range.associated_types"></a><h5>
<a name="id660973"></a>
<a name="id673944"></a>
<a class="link" href="bidirectional_range.html#range.concepts.bidirectional_range.associated_types">Associated
types</a>
</h5>
@ -136,7 +136,7 @@
</tbody>
</table></div>
<a name="range.concepts.bidirectional_range.valid_expressions"></a><h5>
<a name="id661129"></a>
<a name="id674099"></a>
<a class="link" href="bidirectional_range.html#range.concepts.bidirectional_range.valid_expressions">Valid
expressions</a>
</h5>
@ -221,7 +221,7 @@
</tbody>
</table></div>
<a name="range.concepts.bidirectional_range.complexity_guarantees"></a><h5>
<a name="id661589"></a>
<a name="id674560"></a>
<a class="link" href="bidirectional_range.html#range.concepts.bidirectional_range.complexity_guarantees">Complexity
guarantees</a>
</h5>
@ -232,7 +232,7 @@
<a class="link" href="forward_range.html" title="Forward Range">Forward Range</a>.
</p>
<a name="range.concepts.bidirectional_range.invariants"></a><h5>
<a name="id661729"></a>
<a name="id674700"></a>
<a class="link" href="bidirectional_range.html#range.concepts.bidirectional_range.invariants">Invariants</a>
</h5>
<div class="informaltable"><table class="table">
@ -272,7 +272,7 @@
</tbody>
</table></div>
<a name="range.concepts.bidirectional_range.see_also"></a><h5>
<a name="id661978"></a>
<a name="id674949"></a>
<a class="link" href="bidirectional_range.html#range.concepts.bidirectional_range.see_also">See also</a>
</h5>
<p>

View File

@ -79,7 +79,7 @@
</li>
</ul></div>
<a name="range.concepts.concept_checking.see_also"></a><h5>
<a name="id662924"></a>
<a name="id675895"></a>
<a class="link" href="concept_checking.html#range.concepts.concept_checking.see_also">See also</a>
</h5>
<p>

View File

@ -27,7 +27,7 @@
<a name="range.concepts.forward_range"></a><a class="link" href="forward_range.html" title="Forward Range">Forward Range</a>
</h3></div></div></div>
<a name="range.concepts.forward_range.notation"></a><h5>
<a name="id660433"></a>
<a name="id673403"></a>
<a class="link" href="forward_range.html#range.concepts.forward_range.notation">Notation</a>
</h5>
<div class="informaltable"><table class="table">
@ -65,7 +65,7 @@
</tbody>
</table></div>
<a name="range.concepts.forward_range.description"></a><h5>
<a name="id660521"></a>
<a name="id673492"></a>
<a class="link" href="forward_range.html#range.concepts.forward_range.description">Description</a>
</h5>
<p>
@ -73,14 +73,14 @@
Traversal Iterator</a>.
</p>
<a name="range.concepts.forward_range.refinement_of"></a><h5>
<a name="id660586"></a>
<a name="id673557"></a>
<a class="link" href="forward_range.html#range.concepts.forward_range.refinement_of">Refinement of</a>
</h5>
<p>
<a class="link" href="single_pass_range.html" title="Single Pass Range">Single Pass Range</a>
</p>
<a name="range.concepts.forward_range.associated_types"></a><h5>
<a name="id660609"></a>
<a name="id673580"></a>
<a class="link" href="forward_range.html#range.concepts.forward_range.associated_types">Associated
types</a>
</h5>
@ -132,7 +132,7 @@
</tbody>
</table></div>
<a name="range.concepts.forward_range.see_also"></a><h5>
<a name="id660758"></a>
<a name="id673729"></a>
<a class="link" href="forward_range.html#range.concepts.forward_range.see_also">See also</a>
</h5>
<p>

View File

@ -27,7 +27,7 @@
<a name="range.concepts.random_access_range"></a><a class="link" href="random_access_range.html" title="Random Access Range">Random Access Range</a>
</h3></div></div></div>
<a name="range.concepts.random_access_range.description"></a><h5>
<a name="id662025"></a>
<a name="id674995"></a>
<a class="link" href="random_access_range.html#range.concepts.random_access_range.description">Description</a>
</h5>
<p>
@ -35,7 +35,7 @@
Access Traversal Iterator</a>.
</p>
<a name="range.concepts.random_access_range.refinement_of"></a><h5>
<a name="id662090"></a>
<a name="id675061"></a>
<a class="link" href="random_access_range.html#range.concepts.random_access_range.refinement_of">Refinement
of</a>
</h5>
@ -43,7 +43,7 @@
<a class="link" href="bidirectional_range.html" title="Bidirectional Range">Bidirectional Range</a>
</p>
<a name="range.concepts.random_access_range.valid_expressions"></a><h5>
<a name="id662113"></a>
<a name="id675084"></a>
<a class="link" href="random_access_range.html#range.concepts.random_access_range.valid_expressions">Valid
expressions</a>
</h5>
@ -89,7 +89,7 @@
</tr></tbody>
</table></div>
<a name="range.concepts.random_access_range.expression_semantics"></a><h5>
<a name="id662251"></a>
<a name="id675222"></a>
<a class="link" href="random_access_range.html#range.concepts.random_access_range.expression_semantics">Expression
semantics</a>
</h5>
@ -139,7 +139,7 @@
</tr></tbody>
</table></div>
<a name="range.concepts.random_access_range.complexity_guarantees"></a><h5>
<a name="id662466"></a>
<a name="id675437"></a>
<a class="link" href="random_access_range.html#range.concepts.random_access_range.complexity_guarantees">Complexity
guarantees</a>
</h5>
@ -147,7 +147,7 @@
<code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">size</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code> completes in amortized constant time.
</p>
<a name="range.concepts.random_access_range.invariants"></a><h5>
<a name="id662514"></a>
<a name="id675485"></a>
<a class="link" href="random_access_range.html#range.concepts.random_access_range.invariants">Invariants</a>
</h5>
<div class="informaltable"><table class="table">

View File

@ -27,7 +27,7 @@
<a name="range.concepts.single_pass_range"></a><a class="link" href="single_pass_range.html" title="Single Pass Range">Single Pass Range</a>
</h3></div></div></div>
<a name="range.concepts.single_pass_range.notation"></a><h5>
<a name="id659140"></a>
<a name="id672111"></a>
<a class="link" href="single_pass_range.html#range.concepts.single_pass_range.notation">Notation</a>
</h5>
<div class="informaltable"><table class="table">
@ -65,7 +65,7 @@
</tbody>
</table></div>
<a name="range.concepts.single_pass_range.description"></a><h5>
<a name="id659233"></a>
<a name="id672203"></a>
<a class="link" href="single_pass_range.html#range.concepts.single_pass_range.description">Description</a>
</h5>
<p>
@ -73,7 +73,7 @@
Pass Iterator</a>.
</p>
<a name="range.concepts.single_pass_range.associated_types"></a><h5>
<a name="id659298"></a>
<a name="id672269"></a>
<a class="link" href="single_pass_range.html#range.concepts.single_pass_range.associated_types">Associated
types</a>
</h5>
@ -126,7 +126,7 @@
</tbody>
</table></div>
<a name="range.concepts.single_pass_range.valid_expressions"></a><h5>
<a name="id659461"></a>
<a name="id672432"></a>
<a class="link" href="single_pass_range.html#range.concepts.single_pass_range.valid_expressions">Valid
expressions</a>
</h5>
@ -198,7 +198,7 @@
</tbody>
</table></div>
<a name="range.concepts.single_pass_range.expression_semantics"></a><h5>
<a name="id659780"></a>
<a name="id672751"></a>
<a class="link" href="single_pass_range.html#range.concepts.single_pass_range.expression_semantics">Expression
semantics</a>
</h5>
@ -266,7 +266,7 @@
</tbody>
</table></div>
<a name="range.concepts.single_pass_range.complexity_guarantees"></a><h5>
<a name="id660037"></a>
<a name="id673008"></a>
<a class="link" href="single_pass_range.html#range.concepts.single_pass_range.complexity_guarantees">Complexity
guarantees</a>
</h5>
@ -276,7 +276,7 @@
constant time.
</p>
<a name="range.concepts.single_pass_range.invariants"></a><h5>
<a name="id660114"></a>
<a name="id673084"></a>
<a class="link" href="single_pass_range.html#range.concepts.single_pass_range.invariants">Invariants</a>
</h5>
<div class="informaltable"><table class="table">
@ -316,7 +316,7 @@
</tbody>
</table></div>
<a name="range.concepts.single_pass_range.see_also"></a><h5>
<a name="id660370"></a>
<a name="id673341"></a>
<a class="link" href="single_pass_range.html#range.concepts.single_pass_range.see_also">See also</a>
</h5>
<p>