[boost][range] - Updated begin/end to be protected against accidental ADL to improve compatibility with C++0x. Added any_range which adds type erasure support. Added a type_erased adaptor to utilise the any_range. Implemented the any_iterator using a small buffer optimization to avoid heap usage.

[SVN r67541]
This commit is contained in:
Neil Groves
2011-01-01 16:46:32 +00:00
parent c506d2537f
commit 55fd3ca5b2
122 changed files with 4087 additions and 594 deletions

View File

@ -27,7 +27,7 @@
<a name="range.reference.algorithms.heap.make_heap"></a><a class="link" href="make_heap.html" title="make_heap">make_heap</a>
</h5></div></div></div>
<a name="range.reference.algorithms.heap.make_heap.prototype"></a><h6>
<a name="id761889"></a>
<a name="id741272"></a>
<a class="link" href="make_heap.html#range.reference.algorithms.heap.make_heap.prototype">Prototype</a>
</h6>
<p>
@ -48,7 +48,7 @@
<p>
</p>
<a name="range.reference.algorithms.heap.make_heap.description"></a><h6>
<a name="id762263"></a>
<a name="id741648"></a>
<a class="link" href="make_heap.html#range.reference.algorithms.heap.make_heap.description">Description</a>
</h6>
<p>
@ -60,14 +60,14 @@
the predicate versions.
</p>
<a name="range.reference.algorithms.heap.make_heap.definition"></a><h6>
<a name="id762338"></a>
<a name="id741722"></a>
<a class="link" href="make_heap.html#range.reference.algorithms.heap.make_heap.definition">Definition</a>
</h6>
<p>
Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">heap_algorithm</span><span class="special">.</span><span class="identifier">hpp</span></code>
</p>
<a name="range.reference.algorithms.heap.make_heap.requirements"></a><h6>
<a name="id762407"></a>
<a name="id741791"></a>
<a class="link" href="make_heap.html#range.reference.algorithms.heap.make_heap.requirements">Requirements</a>
</h6>
<p>
@ -118,7 +118,7 @@
</li>
</ul></div>
<a name="range.reference.algorithms.heap.make_heap.complexity"></a><h6>
<a name="id762655"></a>
<a name="id742039"></a>
<a class="link" href="make_heap.html#range.reference.algorithms.heap.make_heap.complexity">Complexity</a>
</h6>
<p>

View File

@ -27,7 +27,7 @@
<a name="range.reference.algorithms.heap.pop_heap"></a><a class="link" href="pop_heap.html" title="pop_heap">pop_heap</a>
</h5></div></div></div>
<a name="range.reference.algorithms.heap.pop_heap.prototype"></a><h6>
<a name="id760883"></a>
<a name="id740266"></a>
<a class="link" href="pop_heap.html#range.reference.algorithms.heap.pop_heap.prototype">Prototype</a>
</h6>
<p>
@ -48,7 +48,7 @@
<p>
</p>
<a name="range.reference.algorithms.heap.pop_heap.description"></a><h6>
<a name="id761259"></a>
<a name="id740642"></a>
<a class="link" href="pop_heap.html#range.reference.algorithms.heap.pop_heap.description">Description</a>
</h6>
<p>
@ -62,14 +62,14 @@
the predicate versions.
</p>
<a name="range.reference.algorithms.heap.pop_heap.definition"></a><h6>
<a name="id761413"></a>
<a name="id740796"></a>
<a class="link" href="pop_heap.html#range.reference.algorithms.heap.pop_heap.definition">Definition</a>
</h6>
<p>
Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">heap_algorithm</span><span class="special">.</span><span class="identifier">hpp</span></code>
</p>
<a name="range.reference.algorithms.heap.pop_heap.requirements"></a><h6>
<a name="id761483"></a>
<a name="id740866"></a>
<a class="link" href="pop_heap.html#range.reference.algorithms.heap.pop_heap.requirements">Requirements</a>
</h6>
<p>
@ -120,7 +120,7 @@
</li>
</ul></div>
<a name="range.reference.algorithms.heap.pop_heap.precondition_"></a><h6>
<a name="id761730"></a>
<a name="id741114"></a>
<a class="link" href="pop_heap.html#range.reference.algorithms.heap.pop_heap.precondition_">Precondition:</a>
</h6>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
@ -132,7 +132,7 @@
</li>
</ul></div>
<a name="range.reference.algorithms.heap.pop_heap.complexity"></a><h6>
<a name="id761805"></a>
<a name="id741189"></a>
<a class="link" href="pop_heap.html#range.reference.algorithms.heap.pop_heap.complexity">Complexity</a>
</h6>
<p>

View File

@ -27,7 +27,7 @@
<a name="range.reference.algorithms.heap.push_heap"></a><a class="link" href="push_heap.html" title="push_heap">push_heap</a>
</h5></div></div></div>
<a name="range.reference.algorithms.heap.push_heap.prototype"></a><h6>
<a name="id759838"></a>
<a name="id739222"></a>
<a class="link" href="push_heap.html#range.reference.algorithms.heap.push_heap.prototype">Prototype</a>
</h6>
<p>
@ -48,7 +48,7 @@
<p>
</p>
<a name="range.reference.algorithms.heap.push_heap.description"></a><h6>
<a name="id760214"></a>
<a name="id739596"></a>
<a class="link" href="push_heap.html#range.reference.algorithms.heap.push_heap.description">Description</a>
</h6>
<p>
@ -62,14 +62,14 @@
the predicate versions.
</p>
<a name="range.reference.algorithms.heap.push_heap.definition"></a><h6>
<a name="id760372"></a>
<a name="id739755"></a>
<a class="link" href="push_heap.html#range.reference.algorithms.heap.push_heap.definition">Definition</a>
</h6>
<p>
Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">heap_algorithm</span><span class="special">.</span><span class="identifier">hpp</span></code>
</p>
<a name="range.reference.algorithms.heap.push_heap.requirements"></a><h6>
<a name="id760442"></a>
<a name="id739825"></a>
<a class="link" href="push_heap.html#range.reference.algorithms.heap.push_heap.requirements">Requirements</a>
</h6>
<p>
@ -120,7 +120,7 @@
</li>
</ul></div>
<a name="range.reference.algorithms.heap.push_heap.precondition_"></a><h6>
<a name="id760690"></a>
<a name="id740073"></a>
<a class="link" href="push_heap.html#range.reference.algorithms.heap.push_heap.precondition_">Precondition:</a>
</h6>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
@ -132,7 +132,7 @@
</li>
</ul></div>
<a name="range.reference.algorithms.heap.push_heap.complexity"></a><h6>
<a name="id760810"></a>
<a name="id740193"></a>
<a class="link" href="push_heap.html#range.reference.algorithms.heap.push_heap.complexity">Complexity</a>
</h6>
<p>

View File

@ -27,7 +27,7 @@
<a name="range.reference.algorithms.heap.sort_heap"></a><a class="link" href="sort_heap.html" title="sort_heap">sort_heap</a>
</h5></div></div></div>
<a name="range.reference.algorithms.heap.sort_heap.prototype"></a><h6>
<a name="id762731"></a>
<a name="id742115"></a>
<a class="link" href="sort_heap.html#range.reference.algorithms.heap.sort_heap.prototype">Prototype</a>
</h6>
<p>
@ -48,7 +48,7 @@
<p>
</p>
<a name="range.reference.algorithms.heap.sort_heap.description"></a><h6>
<a name="id763106"></a>
<a name="id742491"></a>
<a class="link" href="sort_heap.html#range.reference.algorithms.heap.sort_heap.description">Description</a>
</h6>
<p>
@ -61,14 +61,14 @@
the predicate versions.
</p>
<a name="range.reference.algorithms.heap.sort_heap.definition"></a><h6>
<a name="id763171"></a>
<a name="id742555"></a>
<a class="link" href="sort_heap.html#range.reference.algorithms.heap.sort_heap.definition">Definition</a>
</h6>
<p>
Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">heap_algorithm</span><span class="special">.</span><span class="identifier">hpp</span></code>
</p>
<a name="range.reference.algorithms.heap.sort_heap.requirements"></a><h6>
<a name="id763242"></a>
<a name="id742626"></a>
<a class="link" href="sort_heap.html#range.reference.algorithms.heap.sort_heap.requirements">Requirements</a>
</h6>
<p>
@ -119,14 +119,14 @@
</li>
</ul></div>
<a name="range.reference.algorithms.heap.sort_heap.precondition_"></a><h6>
<a name="id763489"></a>
<a name="id742873"></a>
<a class="link" href="sort_heap.html#range.reference.algorithms.heap.sort_heap.precondition_">Precondition:</a>
</h6>
<p>
<code class="computeroutput"><span class="identifier">rng</span></code> is a heap.
</p>
<a name="range.reference.algorithms.heap.sort_heap.complexity"></a><h6>
<a name="id763522"></a>
<a name="id742906"></a>
<a class="link" href="sort_heap.html#range.reference.algorithms.heap.sort_heap.complexity">Complexity</a>
</h6>
<p>