forked from boostorg/range
[boost][range] - Added documentation for the join() function. This is to resolve Trac ticket 4740.
[SVN r67428]
This commit is contained in:
@ -48,7 +48,7 @@
|
||||
type.
|
||||
</p>
|
||||
<a name="range.reference.utilities.iterator_range.synopsis"></a><h5>
|
||||
<a name="id728970"></a>
|
||||
<a name="id771261"></a>
|
||||
<a class="link" href="iterator_range.html#range.reference.utilities.iterator_range.synopsis">Synopsis</a>
|
||||
</h5>
|
||||
<p>
|
||||
@ -188,7 +188,7 @@
|
||||
iterators from the same container.
|
||||
</p>
|
||||
<a name="range.reference.utilities.iterator_range.details_member_functions"></a><h5>
|
||||
<a name="id732177"></a>
|
||||
<a name="id774468"></a>
|
||||
<a class="link" href="iterator_range.html#range.reference.utilities.iterator_range.details_member_functions">Details
|
||||
member functions</a>
|
||||
</h5>
|
||||
@ -207,7 +207,7 @@
|
||||
<span class="special">==</span> <span class="identifier">r</span><span class="special">.</span><span class="identifier">end</span><span class="special">();</span></code>
|
||||
</p></blockquote></div>
|
||||
<a name="range.reference.utilities.iterator_range.details_functions"></a><h5>
|
||||
<a name="id732411"></a>
|
||||
<a name="id774702"></a>
|
||||
<a class="link" href="iterator_range.html#range.reference.utilities.iterator_range.details_functions">Details
|
||||
functions</a>
|
||||
</h5>
|
||||
|
@ -39,33 +39,76 @@
|
||||
check if the end of a range has been reached internally during traversal.
|
||||
</p>
|
||||
<a name="range.reference.utilities.join.synposis"></a><h5>
|
||||
<a name="id734807"></a>
|
||||
<a name="id777098"></a>
|
||||
<a class="link" href="join.html#range.reference.utilities.join.synposis">Synposis</a>
|
||||
</h5>
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">SinglePassRange2</span><span class="special">></span>
|
||||
<span class="identifier">iterator_range</span><span class="special"><</span><span class="identifier">range_detail</span><span class="special">::</span><span class="identifier">join_iterator</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special"><</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">>::</span><span class="identifier">type</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special"><</span><span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">>::</span><span class="identifier">type</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">add_const</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">range_value</span><span class="special"><</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">>::</span><span class="identifier">type</span><span class="special">>::</span><span class="identifier">type</span><span class="special">></span>
|
||||
<span class="special">></span>
|
||||
<span class="identifier">joined_range</span><span class="special"><</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">></span>
|
||||
<span class="identifier">join</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&</span> <span class="identifier">rng2</span><span class="special">)</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">SinglePassRange2</span><span class="special">></span>
|
||||
<span class="identifier">iterator_range</span><span class="special"><</span><span class="identifier">range_detail</span><span class="special">::</span><span class="identifier">join_iterator</span><span class="special"><</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special"><</span><span class="identifier">SinglePassRange1</span><span class="special">>::</span><span class="identifier">type</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special"><</span><span class="identifier">SinglePassRange2</span><span class="special">>::</span><span class="identifier">type</span><span class="special">,</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">range_value</span><span class="special"><</span><span class="identifier">SinglePassRange1</span><span class="special">>::</span><span class="identifier">type</span><span class="special">></span>
|
||||
<span class="special">></span>
|
||||
<span class="identifier">joined_range</span><span class="special"><</span><span class="identifier">SinglePassRange1</span><span class="special">,</span> <span class="identifier">SinglePassRange2</span><span class="special">></span>
|
||||
<span class="identifier">join</span><span class="special">(</span><span class="identifier">SinglePassRange1</span><span class="special">&</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="identifier">SinglePassRange2</span><span class="special">&</span> <span class="identifier">rng2</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
For the const version:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Precondition:</strong></span> The <code class="computeroutput"><span class="identifier">range_value</span><span class="special"><</span><span class="identifier">SinglePassRange2</span><span class="special">>::</span><span class="identifier">type</span></code>
|
||||
must be convertible to <code class="computeroutput"><span class="identifier">range_value</span><span class="special"><</span><span class="identifier">SinglePassRange1</span><span class="special">>::</span><span class="identifier">type</span></code>.
|
||||
The <code class="computeroutput"><span class="identifier">range_reference</span><span class="special"><</span><span class="keyword">const</span>
|
||||
<span class="identifier">SinglePassRange2</span><span class="special">>::</span><span class="identifier">type</span></code> must be convertible to <code class="computeroutput"><span class="identifier">range_reference</span><span class="special"><</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">>::</span><span class="identifier">type</span></code>.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Range Category:</strong></span> Both <code class="computeroutput"><span class="identifier">rng1</span></code> and <code class="computeroutput"><span class="identifier">rng2</span></code>
|
||||
must be a model of <a class="link" href="../../concepts/single_pass_range.html" title="Single Pass Range">Single
|
||||
Pass Range</a> or better.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Range Return Type:</strong></span> <code class="computeroutput"><span class="identifier">joined_range</span><span class="special"><</span><span class="keyword">const</span>
|
||||
<span class="identifier">SinglePassRange1</span><span class="special">,</span>
|
||||
<span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">></span></code> which is a model of the lesser
|
||||
of the two range concepts passed.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Returned Range Category:</strong></span> The minimum
|
||||
of the range category of <code class="computeroutput"><span class="identifier">rng1</span></code>
|
||||
and <code class="computeroutput"><span class="identifier">rng2</span></code>.
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
For the mutable version:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Precondition:</strong></span> The <code class="computeroutput"><span class="identifier">range_value</span><span class="special"><</span><span class="identifier">SinglePassRange2</span><span class="special">>::</span><span class="identifier">type</span></code>
|
||||
must be convertible to <code class="computeroutput"><span class="identifier">range_value</span><span class="special"><</span><span class="identifier">SinglePassRange1</span><span class="special">>::</span><span class="identifier">type</span></code>.
|
||||
The <code class="computeroutput"><span class="identifier">range_reference</span><span class="special"><</span><span class="identifier">SinglePassRange2</span><span class="special">>::</span><span class="identifier">type</span></code>
|
||||
must be convertible to <code class="computeroutput"><span class="identifier">range_reference</span><span class="special"><</span><span class="identifier">SinglePassRange1</span><span class="special">>::</span><span class="identifier">type</span></code>.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Range Category:</strong></span> Both <code class="computeroutput"><span class="identifier">rng1</span></code> and <code class="computeroutput"><span class="identifier">rng2</span></code>
|
||||
must be a model of <a class="link" href="../../concepts/single_pass_range.html" title="Single Pass Range">Single
|
||||
Pass Range</a> or better.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Range Return Type:</strong></span> <code class="computeroutput"><span class="identifier">joined_range</span><span class="special"><</span><span class="identifier">SinglePassRange1</span><span class="special">,</span> <span class="identifier">SinglePassRange2</span><span class="special">></span></code> which is a model of the lesser
|
||||
of the two range concepts passed.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<span class="bold"><strong>Returned Range Category:</strong></span> The minimum
|
||||
of the range category of <code class="computeroutput"><span class="identifier">rng1</span></code>
|
||||
and <code class="computeroutput"><span class="identifier">rng2</span></code>.
|
||||
</li>
|
||||
</ul></div>
|
||||
<a name="range.reference.utilities.join.example"></a><h5>
|
||||
<a name="id735350"></a>
|
||||
<a name="id777934"></a>
|
||||
<a class="link" href="join.html#range.reference.utilities.join.example">Example</a>
|
||||
</h5>
|
||||
<p>
|
||||
|
@ -35,7 +35,7 @@
|
||||
is.
|
||||
</p>
|
||||
<a name="range.reference.utilities.sub_range.synopsis"></a><h5>
|
||||
<a name="id733543"></a>
|
||||
<a name="id775834"></a>
|
||||
<a class="link" href="sub_range.html#range.reference.utilities.sub_range.synopsis">Synopsis</a>
|
||||
</h5>
|
||||
<p>
|
||||
|
Reference in New Issue
Block a user