forked from boostorg/type_traits
Clarify that base classes include indirect ancestors.
Refs #8407. [SVN r84761]
This commit is contained in:
@ -36,6 +36,9 @@
|
||||
</p>
|
||||
<p>
|
||||
This template will detect non-public base classes, and ambiguous base classes.
|
||||
It also detects indirect base classes - which is to say <a class="link" href="is_base_of.html" title="is_base_of">is_base_of</a><B,
|
||||
D> inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>
|
||||
if B is located anywhere in the inheritance tree of D.
|
||||
</p>
|
||||
<p>
|
||||
Note that <code class="computeroutput"><span class="identifier">is_base_of</span><span class="special"><</span><span class="identifier">X</span><span class="special">,</span><span class="identifier">X</span><span class="special">></span></code> will inherit from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>
|
||||
|
@ -24,7 +24,7 @@
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="id1054448"></a>Class Index</h2></div></div></div>
|
||||
<a name="id1045725"></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_2">C</a> <a class="link" href="s11.html#idx_id_3">D</a> <a class="link" href="s11.html#idx_id_4">E</a> <a class="link" href="s11.html#idx_id_5">F</a> <a class="link" href="s11.html#idx_id_6">H</a> <a class="link" href="s11.html#idx_id_7">I</a> <a class="link" href="s11.html#idx_id_8">M</a> <a class="link" href="s11.html#idx_id_9">N</a> <a class="link" href="s11.html#idx_id_10">O</a> <a class="link" href="s11.html#idx_id_11">P</a> <a class="link" href="s11.html#idx_id_12">R</a> <a class="link" href="s11.html#idx_id_13">T</a></p>
|
||||
<div class="variablelist"><dl class="variablelist">
|
||||
<dt>
|
||||
|
@ -24,7 +24,7 @@
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="id1059650"></a>Typedef Index</h2></div></div></div>
|
||||
<a name="id1050926"></a>Typedef Index</h2></div></div></div>
|
||||
<p><a class="link" href="s12.html#idx_id_20">F</a> <a class="link" href="s12.html#idx_id_27">R</a> <a class="link" href="s12.html#idx_id_28">T</a></p>
|
||||
<div class="variablelist"><dl class="variablelist">
|
||||
<dt>
|
||||
|
@ -24,7 +24,7 @@
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="id1059818"></a>Macro Index</h2></div></div></div>
|
||||
<a name="id1051094"></a>Macro Index</h2></div></div></div>
|
||||
<p><a class="link" href="s13.html#idx_id_31">B</a></p>
|
||||
<div class="variablelist"><dl class="variablelist">
|
||||
<dt>
|
||||
|
@ -23,7 +23,7 @@
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="id1060419"></a>Index</h2></div></div></div>
|
||||
<a name="id1051696"></a>Index</h2></div></div></div>
|
||||
<p><a class="link" href="s14.html#idx_id_45">A</a> <a class="link" href="s14.html#idx_id_46">B</a> <a class="link" href="s14.html#idx_id_47">C</a> <a class="link" href="s14.html#idx_id_48">D</a> <a class="link" href="s14.html#idx_id_49">E</a> <a class="link" href="s14.html#idx_id_50">F</a> <a class="link" href="s14.html#idx_id_51">H</a> <a class="link" href="s14.html#idx_id_52">I</a> <a class="link" href="s14.html#idx_id_53">M</a> <a class="link" href="s14.html#idx_id_54">N</a> <a class="link" href="s14.html#idx_id_55">O</a> <a class="link" href="s14.html#idx_id_56">P</a> <a class="link" href="s14.html#idx_id_57">R</a> <a class="link" href="s14.html#idx_id_58">T</a> <a class="link" href="s14.html#idx_id_59">U</a></p>
|
||||
<div class="variablelist"><dl class="variablelist">
|
||||
<dt>
|
||||
|
@ -15,6 +15,8 @@ class type then inherits from __true_type,
|
||||
otherwise inherits from __false_type.
|
||||
|
||||
This template will detect non-public base classes, and ambiguous base classes.
|
||||
It also detects indirect base classes - which is to say __is_base_of<B, D> inherits
|
||||
from __true_type if B is located anywhere in the inheritance tree of D.
|
||||
|
||||
Note that `is_base_of<X,X>` will inherit from __true_type if X is a class type.
|
||||
This is a change in behaviour
|
||||
@ -51,3 +53,4 @@ expression that evaluates to /true/: a class is regarded as it's own base.]
|
||||
[endsect]
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user