Document the restrictions on is_virtual_base_of.

Refs #3730.

[SVN r67913]
This commit is contained in:
John Maddock
2011-01-10 13:23:51 +00:00
parent a865f64c2f
commit 459e0bb6a0
11 changed files with 36 additions and 38 deletions

View File

@@ -57,7 +57,7 @@
method available to them.
</p>
<a name="boost_typetraits.background.type_traits"></a><h5>
<a name="id986977"></a>
<a name="id1005124"></a>
<a class="link" href="background.html#boost_typetraits.background.type_traits">Type Traits</a>
</h5>
<p>
@@ -85,7 +85,7 @@
given.
</p>
<a name="boost_typetraits.background.implementation"></a><h5>
<a name="id987041"></a>
<a name="id1005188"></a>
<a class="link" href="background.html#boost_typetraits.background.implementation">Implementation</a>
</h5>
<p>
@@ -175,7 +175,7 @@
in the default template.
</p>
<a name="boost_typetraits.background.optimized_copy"></a><h5>
<a name="id995492"></a>
<a name="id1014129"></a>
<a class="link" href="background.html#boost_typetraits.background.optimized_copy">Optimized copy</a>
</h5>
<p>
@@ -248,7 +248,7 @@
otherwise it will call the "slow but safe version".
</p>
<a name="boost_typetraits.background.was_it_worth_it_"></a><h5>
<a name="id995858"></a>
<a name="id1014495"></a>
<a class="link" href="background.html#boost_typetraits.background.was_it_worth_it_">Was it worth it?</a>
</h5>
<p>
@@ -380,7 +380,7 @@
</table></div>
</div>
<br class="table-break"><a name="boost_typetraits.background.pair_of_references"></a><h5>
<a name="id996055"></a>
<a name="id1014691"></a>
<a class="link" href="background.html#boost_typetraits.background.pair_of_references">Pair of References</a>
</h5>
<p>
@@ -598,7 +598,7 @@
easier to maintain and easier to understand.
</p>
<a name="boost_typetraits.background.conclusion"></a><h5>
<a name="id996899"></a>
<a name="id1015535"></a>
<a class="link" href="background.html#boost_typetraits.background.conclusion">Conclusion</a>
</h5>
<p>
@@ -611,7 +611,7 @@
can be optimal as well as generic.
</p>
<a name="boost_typetraits.background.acknowledgements"></a><h5>
<a name="id996916"></a>
<a name="id1015552"></a>
<a class="link" href="background.html#boost_typetraits.background.acknowledgements">Acknowledgements</a>
</h5>
<p>
@@ -619,7 +619,7 @@
comments when preparing this article.
</p>
<a name="boost_typetraits.background._anchor_id__background_references____references"></a><h5>
<a name="id996932"></a>
<a name="id1015569"></a>
<a class="link" href="background.html#boost_typetraits.background._anchor_id__background_references____references"><a name="background.references"></a> References</a>
</h5>
<div class="orderedlist"><ol type="1">

View File

@@ -104,7 +104,7 @@
<span class="keyword">struct</span> <a class="link" href="../reference/remove_volatile.html" title="remove_volatile">remove_volatile</a><span class="special">;</span>
</pre>
<a name="boost_typetraits.category.transform.broken_compiler_workarounds_"></a><h5>
<a name="id1000993"></a>
<a name="id1020176"></a>
<a class="link" href="transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">Broken
Compiler Workarounds:</a>
</h5>

View File

@@ -28,7 +28,7 @@
<a name="boost_typetraits.history"></a><a class="link" href="history.html" title="History">History</a>
</h2></div></div></div>
<a name="boost_typetraits.history.boost_1_45_0"></a><h5>
<a name="id1058463"></a>
<a name="id1077080"></a>
<a class="link" href="history.html#boost_typetraits.history.boost_1_45_0">Boost 1.45.0</a>
</h5>
<div class="itemizedlist"><ul type="disc">
@@ -44,7 +44,7 @@
</li>
</ul></div>
<a name="boost_typetraits.history.boost_1_44_0"></a><h5>
<a name="id1058523"></a>
<a name="id1077140"></a>
<a class="link" href="history.html#boost_typetraits.history.boost_1_44_0">Boost 1.44.0</a>
</h5>
<div class="itemizedlist"><ul type="disc">
@@ -60,7 +60,7 @@
</li>
</ul></div>
<a name="boost_typetraits.history.boost_1_42_0"></a><h5>
<a name="id1058578"></a>
<a name="id1077195"></a>
<a class="link" href="history.html#boost_typetraits.history.boost_1_42_0">Boost 1.42.0</a>
</h5>
<div class="itemizedlist"><ul type="disc"><li>

View File

@@ -74,7 +74,7 @@
template arguments is 3.
</p>
<a name="boost_typetraits.reference.common_type.configuration_macros"></a><h5>
<a name="id1015452"></a>
<a name="id1034093"></a>
<a class="link" href="common_type.html#boost_typetraits.reference.common_type.configuration_macros">Configuration
macros</a>
</h5>
@@ -104,7 +104,7 @@
Otherwise when BOOST_COMMON_TYPE_DONT_USE_TYPEOF is not defined it uses Boost.TypeOf.
</p>
<a name="boost_typetraits.reference.common_type.tutorial"></a><h5>
<a name="id1015510"></a>
<a name="id1034150"></a>
<a class="link" href="common_type.html#boost_typetraits.reference.common_type.tutorial">Tutorial</a>
</h5>
<p>
@@ -139,7 +139,7 @@
This is a very useful and broadly applicable utility.
</p>
<a name="boost_typetraits.reference.common_type.how_to_get_the_common_type_of_types_with_explicit_conversions_"></a><h5>
<a name="id1015811"></a>
<a name="id1034451"></a>
<a class="link" href="common_type.html#boost_typetraits.reference.common_type.how_to_get_the_common_type_of_types_with_explicit_conversions_">How
to get the common type of types with explicit conversions?</a>
</h5>
@@ -161,7 +161,7 @@
<span class="special">};</span>
</pre>
<a name="boost_typetraits.reference.common_type.how_important_is_the_order_of_the_common_type_lt__gt__template_arguments_"></a><h5>
<a name="id1016111"></a>
<a name="id1034751"></a>
<a class="link" href="common_type.html#boost_typetraits.reference.common_type.how_important_is_the_order_of_the_common_type_lt__gt__template_arguments_">How
important is the order of the common_type&lt;&gt; template arguments?</a>
</h5>
@@ -241,7 +241,7 @@
<span class="identifier">A</span><span class="special">&gt;</span></code>.
</p>
<a name="boost_typetraits.reference.common_type.can_the_common_type_of_two_types_be_a_third_type_"></a><h5>
<a name="id1016977"></a>
<a name="id1035618"></a>
<a class="link" href="common_type.html#boost_typetraits.reference.common_type.can_the_common_type_of_two_types_be_a_third_type_">Can
the common_type of two types be a third type?</a>
</h5>
@@ -268,7 +268,7 @@
<span class="identifier">B</span><span class="special">&gt;</span></code>.
</p>
<a name="boost_typetraits.reference.common_type.how_common_type_behaves_with_pointers_"></a><h5>
<a name="id1017257"></a>
<a name="id1035897"></a>
<a class="link" href="common_type.html#boost_typetraits.reference.common_type.how_common_type_behaves_with_pointers_">How
common_type behaves with pointers?</a>
</h5>
@@ -304,7 +304,7 @@
Of course the user can always make this specialization.
</p>
<a name="boost_typetraits.reference.common_type.can_you_explain_the_pros_cons_of_common_type_against_boost_typeof_"></a><h5>
<a name="id1017541"></a>
<a name="id1036182"></a>
<a class="link" href="common_type.html#boost_typetraits.reference.common_type.can_you_explain_the_pros_cons_of_common_type_against_boost_typeof_">Can
you explain the pros/cons of common_type against Boost.Typeof?</a>
</h5>

View File

@@ -56,24 +56,22 @@
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
<th align="left">Note</th>
</tr>
<tr><td align="left" valign="top">
<p>
<tr><td align="left" valign="top"><p>
There are a small number of cases where it's simply not possible for this
trait to work, and where attempting to instantiate the trait will cause
compiler errors (see bug report <a href="https://svn.boost.org/trac/boost/ticket/3730" target="_top">#3730).
compiler errors (see bug report <a href="https://svn.boost.org/trac/boost/ticket/3730" target="_top">#3730</a>).
Further more the issues may well be compiler specific. In this situation
the user should supply a full specialization of the trait to work around
the problem.</a>
</p>
<p>
<span class="bold"><strong>Examples:</strong></span>
</p>
<p>
[:Given: <code class="computeroutput"> <span class="keyword">class</span> <span class="identifier">Base</span><span class="special">{};</span> <span class="keyword">class</span> <span class="identifier">Derived</span> <span class="special">:</span> <span class="keyword">public</span> <span class="keyword">virtual</span>
<span class="identifier">Base</span><span class="special">{};</span></code>
</p>
</td></tr>
the problem.
</p></td></tr>
</table></div>
<p>
<span class="bold"><strong>Examples:</strong></span>
</p>
<div class="blockquote"><blockquote class="blockquote"><p>
Given: <code class="computeroutput"> <span class="keyword">class</span> <span class="identifier">Base</span><span class="special">{};</span> <span class="keyword">class</span> <span class="identifier">Derived</span> <span class="special">:</span> <span class="keyword">public</span> <span class="keyword">virtual</span>
<span class="identifier">Base</span><span class="special">{};</span></code>
</p></blockquote></div>
<div class="blockquote"><blockquote class="blockquote"><p>
<code class="computeroutput"><span class="identifier">is_virtual_base_of</span><span class="special">&lt;</span><span class="identifier">Base</span><span class="special">,</span> <span class="identifier">Derived</span><span class="special">&gt;</span></code>
inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.

View File

@@ -31,7 +31,7 @@
Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten Ottosen, Robert
Ramey and Jeremy Siek</p></div>
<div><div class="legalnotice">
<a name="id986829"></a><p>
<a name="id1004975"></a><p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
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>)
</p>

View File

@@ -25,7 +25,7 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id1058675"></a>Class Index</h2></div></div></div>
<a name="id1077292"></a>Class Index</h2></div></div></div>
<p><a class="link" href="s11.html#idx_id_0">A</a> <a class="link" href="s11.html#idx_id_1">C</a> <a class="link" href="s11.html#idx_id_2">D</a> <a class="link" href="s11.html#idx_id_3">E</a> <a class="link" href="s11.html#idx_id_4">F</a> <a class="link" href="s11.html#idx_id_5">H</a> <a class="link" href="s11.html#idx_id_6">I</a> <a class="link" href="s11.html#idx_id_7">M</a> <a class="link" href="s11.html#idx_id_8">P</a> <a class="link" href="s11.html#idx_id_9">R</a> <a class="link" href="s11.html#idx_id_10">T</a> </p>
<div class="variablelist"><dl>
<dt>

View File

@@ -25,7 +25,7 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id1059879"></a>Typedef Index</h2></div></div></div>
<a name="id1079037"></a>Typedef Index</h2></div></div></div>
<p><a class="link" href="s12.html#idx_id_11">F</a> <a class="link" href="s12.html#idx_id_12">R</a> <a class="link" href="s12.html#idx_id_13">T</a> </p>
<div class="variablelist"><dl>
<dt>

View File

@@ -25,7 +25,7 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id1059965"></a>Macro Index</h2></div></div></div>
<a name="id1079122"></a>Macro Index</h2></div></div></div>
<p><a class="link" href="s13.html#idx_id_14">B</a> </p>
<div class="variablelist"><dl>
<dt>

View File

@@ -24,7 +24,7 @@
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id1060293"></a>Index</h2></div></div></div>
<a name="id1079451"></a>Index</h2></div></div></div>
<p><a class="link" href="s14.html#idx_id_15">A</a> <a class="link" href="s14.html#idx_id_16">B</a> <a class="link" href="s14.html#idx_id_17">C</a> <a class="link" href="s14.html#idx_id_18">D</a> <a class="link" href="s14.html#idx_id_19">E</a> <a class="link" href="s14.html#idx_id_20">F</a> <a class="link" href="s14.html#idx_id_21">H</a> <a class="link" href="s14.html#idx_id_22">I</a> <a class="link" href="s14.html#idx_id_23">M</a> <a class="link" href="s14.html#idx_id_24">P</a> <a class="link" href="s14.html#idx_id_25">R</a> <a class="link" href="s14.html#idx_id_26">S</a> <a class="link" href="s14.html#idx_id_27">T</a> <a class="link" href="s14.html#idx_id_28">U</a> </p>
<div class="variablelist"><dl>
<dt>

View File

@@ -23,7 +23,7 @@ __compat this trait also requires a working __is_base_of trait.
[note
There are a small number of cases where it's simply not possible for this trait to work, and
where attempting to instantiate the trait will cause compiler errors (see bug report
[@https://svn.boost.org/trac/boost/ticket/3730 #3730). Further more the issues may well
[@https://svn.boost.org/trac/boost/ticket/3730 #3730]). Further more the issues may well
be compiler specific. In this situation the user should supply a full specialization of
the trait to work around the problem.]