forked from boostorg/type_traits
Revert "Move private-constructor tests into separate file."
This wasn't the right fix, and didn't fix the issue anyway.
This reverts commit fe5f4e2253
.
This commit is contained in:
@ -63,6 +63,9 @@
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span><span class="special">...</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../reference/common_type.html" title="common_type">common_type</a><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../reference/copy_cv.html" title="copy_cv">copy_cv</a><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../reference/decay.html" title="decay">decay</a><span class="special">;</span>
|
||||
|
||||
@ -101,6 +104,9 @@
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../reference/remove_volatile.html" title="remove_volatile">remove_volatile</a><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../reference/type_identity.html" title="type_identity">type_identity</a><span class="special">;</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
|
@ -54,6 +54,9 @@
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/has_nothrow_copy.html" title="has_nothrow_copy">has_nothrow_copy_constructor</a><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/has_nothrow_destruct.html" title="has_nothrow_destructor">has_nothrow_destructor</a><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/has_trivial_assign.html" title="has_trivial_assign">has_trivial_assign</a><span class="special">;</span>
|
||||
|
||||
@ -78,12 +81,33 @@
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_abstract.html" title="is_abstract">is_abstract</a><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_assignable.html" title="is_assignable">is_assignable</a><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_copy_constructible.html" title="is_copy_constructible">is_copy_constructible</a><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_copy_assignable.html" title="is_copy_assignable">is_copy_assignable</a><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span><span class="special">...</span> <span class="identifier">Args</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_constructible.html" title="is_constructible">is_constructible</a><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_default_constructible.html" title="is_default_constructible">is_default_constructible</a><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_destructible.html" title="is_destructible">is_destructible</a><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_const.html" title="is_const">is_const</a><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_empty.html" title="is_empty">is_empty</a><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_final.html" title="is_final">is_final</a><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_stateless.html" title="is_stateless">is_stateless</a><span class="special">;</span>
|
||||
|
||||
|
@ -38,7 +38,9 @@
|
||||
<dt><span class="section"><a href="reference/alignment_of.html">alignment_of</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/conditional.html">conditional</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/common_type.html">common_type</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/copy_cv.html">copy_cv</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/decay.html">decay</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/declval.html">declval</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/extent.html">extent</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/floating_point_promotion.html">floating_point_promotion</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/function_traits.html">function_traits</a></span></dt>
|
||||
@ -74,6 +76,7 @@
|
||||
<dt><span class="section"><a href="reference/has_nothrow_assign.html">has_nothrow_assign</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/has_nothrow_constructor.html">has_nothrow_constructor</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/has_nothrow_copy.html">has_nothrow_copy</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/has_nothrow_destruct.html">has_nothrow_destructor</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/has_nothrow_cp_cons.html">has_nothrow_copy_constructor</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/has_no_throw_def_cons.html">has_nothrow_default_constructor</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/has_plus.html">has_plus</a></span></dt>
|
||||
@ -100,14 +103,18 @@
|
||||
<dt><span class="section"><a href="reference/is_abstract.html">is_abstract</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/is_arithmetic.html">is_arithmetic</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/is_array.html">is_array</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/is_assignable.html">is_assignable</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/is_base_of.html">is_base_of</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/is_class.html">is_class</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/is_complex.html">is_complex</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/is_compound.html">is_compound</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/is_const.html">is_const</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/is_constructible.html">is_constructible</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/is_convertible.html">is_convertible</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/is_copy_constructible.html">is_copy_constructible</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/is_copy_assignable.html">is_copy_assignable</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/is_copy_constructible.html">is_copy_constructible</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/is_default_constructible.html">is_default_constructible</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/is_destructible.html">is_destructible</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/is_empty.html">is_empty</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/is_enum.html">is_enum</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/is_final.html">is_final</a></span></dt>
|
||||
@ -147,6 +154,7 @@
|
||||
<dt><span class="section"><a href="reference/remove_pointer.html">remove_pointer</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/remove_reference.html">remove_reference</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/remove_volatile.html">remove_volatile</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/type_identity.html">type_identity</a></span></dt>
|
||||
<dt><span class="section"><a href="reference/type_with_alignment.html">type_with_alignment</a></span></dt>
|
||||
</dl></div>
|
||||
</div>
|
||||
|
@ -7,7 +7,7 @@
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="conditional.html" title="conditional">
|
||||
<link rel="next" href="decay.html" title="decay">
|
||||
<link rel="next" href="copy_cv.html" title="copy_cv">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
@ -20,7 +20,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="conditional.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="decay.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="conditional.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="copy_cv.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
@ -32,115 +32,92 @@
|
||||
or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="special">...</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">struct</span> <a class="link" href="common_type.html" title="common_type">common_type</a><span class="special">;</span>
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span><span class="special">...</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">struct</span> <span class="identifier">common_type</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
<p>
|
||||
<a class="link" href="common_type.html" title="common_type">common_type</a>
|
||||
is a traits class used to deduce a type common to a several types, useful
|
||||
as the return type of functions operating on multiple input types such as
|
||||
in mixed-mode arithmetic..
|
||||
<code class="computeroutput"><span class="identifier">common_type</span></code> is a traits class
|
||||
used to deduce a type common to a several types, useful as the return type
|
||||
of functions operating on multiple input types such as in mixed-mode arithmetic..
|
||||
</p>
|
||||
<p>
|
||||
The nested typedef <code class="computeroutput"><span class="special">::</span><span class="identifier">type</span></code>
|
||||
could be defined as follows:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="special">...</span><span class="identifier">T</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span><span class="special">...</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">common_type</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">...</span><span class="identifier">V</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">common_type</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">U</span><span class="special">,...</span><span class="identifier">V</span><span class="special">></span> <span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="link" href="common_type.html" title="common_type">common_type</a><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="common_type.html" title="common_type">common_type</a><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">>::</span><span class="identifier">type</span><span class="special">,</span> <span class="identifier">V</span><span class="special">...>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span><span class="special">...</span> <span class="identifier">V</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">common_type</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">,</span> <span class="identifier">V</span><span class="special">...></span> <span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">common_type</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">common_type</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">>::</span><span class="identifier">type</span><span class="special">,</span> <span class="identifier">V</span><span class="special">...>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">common_type</span><span class="special"><></span> <span class="special">{</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">common_type</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="link" href="decay.html" title="decay">decay</a><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">common_type</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">decltype</span><span class="special">(</span><a href="../../../../../utility/doc/html/declval.html" target="_top">declval</a><span class="special"><</span><span class="keyword">bool</span><span class="special">>()</span> <span class="special">?</span> <a href="../../../../../utility/doc/html/declval.html" target="_top">declval</a><span class="special"><</span><span class="identifier">T</span><span class="special">>()</span> <span class="special">:</span> <a href="../../../../../utility/doc/html/declval.html" target="_top">declval</a><span class="special"><</span><span class="identifier">U</span><span class="special">>())</span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="link" href="decay.html" title="decay">decay</a><span class="special"><</span>
|
||||
<span class="keyword">decltype</span><span class="special">(</span> <a class="link" href="declval.html" title="declval">declval</a><span class="special"><</span><span class="keyword">bool</span><span class="special">>()?</span>
|
||||
<a class="link" href="declval.html" title="declval">declval</a><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="decay.html" title="decay">decay</a><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span><span class="special">>():</span>
|
||||
<a class="link" href="declval.html" title="declval">declval</a><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="decay.html" title="decay">decay</a><span class="special"><</span><span class="identifier">U</span><span class="special">>::</span><span class="identifier">type</span><span class="special">>()</span> <span class="special">)</span>
|
||||
<span class="special">>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<p>
|
||||
All parameter types must be complete. This trait is permitted to be specialized
|
||||
by a user if at least one template parameter is a user-defined type. <span class="bold"><strong>Note:</strong></span> Such specializations are required when only
|
||||
explicit conversions are desired among the <a class="link" href="common_type.html" title="common_type">common_type</a>
|
||||
explicit conversions are desired among the <code class="computeroutput"><span class="identifier">common_type</span></code>
|
||||
arguments.
|
||||
</p>
|
||||
<p>
|
||||
Note that when the compiler does not support variadic templates (and the
|
||||
macro BOOST_NO_VARIADIC_TEMPLATES is defined) then the maximum number of
|
||||
template arguments is 3.
|
||||
macro <code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_VARIADIC_TEMPLATES</span></code>
|
||||
is defined) then the maximum number of template arguments is 9.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="boost_typetraits.reference.common_type.h0"></a>
|
||||
<span class="phrase"><a name="boost_typetraits.reference.common_type.configuration_macros"></a></span><a class="link" href="common_type.html#boost_typetraits.reference.common_type.configuration_macros">Configuration
|
||||
macros</a>
|
||||
</h5>
|
||||
<p>
|
||||
When the compiler does not support static assertions then the user can select
|
||||
the way static assertions are reported. Define
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
|
||||
<li class="listitem">
|
||||
BOOST_COMMON_TYPE_USES_STATIC_ASSERT: define it if you want to use Boost.StaticAssert
|
||||
</li>
|
||||
<li class="listitem">
|
||||
BOOST_COMMON_TYPE_USES_MPL_ASSERT: define it if you want to use Boost.MPL
|
||||
static assertions
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
The default behavior is to use mpl assertions in this case, but setting BOOST_COMMON_TYPE_USES_STATIC_ASSERT
|
||||
may reduce compile times and header dependencies somewhat.
|
||||
</p>
|
||||
<p>
|
||||
Depending on the static assertion used you will have an hint of the failing
|
||||
assertion either through the symbol or through the text.
|
||||
</p>
|
||||
<p>
|
||||
When possible common_type is implemented using <code class="computeroutput"><span class="keyword">decltype</span></code>.
|
||||
Otherwise when BOOST_COMMON_TYPE_DONT_USE_TYPEOF is not defined it uses Boost.TypeOf.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="boost_typetraits.reference.common_type.h1"></a>
|
||||
<span class="phrase"><a name="boost_typetraits.reference.common_type.tutorial"></a></span><a class="link" href="common_type.html#boost_typetraits.reference.common_type.tutorial">Tutorial</a>
|
||||
</h5>
|
||||
<p>
|
||||
In a nutshell, <a class="link" href="common_type.html" title="common_type">common_type</a>
|
||||
In a nutshell, <code class="computeroutput"><span class="identifier">common_type</span></code>
|
||||
is a trait that takes 1 or more types, and returns a type which all of the
|
||||
types will convert to. The default definition demands this conversion be
|
||||
implicit. However the trait can be specialized for user-defined types which
|
||||
want to limit their inter-type conversions to explicit, and yet still want
|
||||
to interoperate with the <a class="link" href="common_type.html" title="common_type">common_type</a>
|
||||
to interoperate with the <code class="computeroutput"><span class="identifier">common_type</span></code>
|
||||
facility.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Example:</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">></span>
|
||||
<span class="identifier">complex</span><span class="special"><</span><span class="keyword">typename</span> <a class="link" href="common_type.html" title="common_type">common_type</a><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">>::</span><span class="identifier">type</span><span class="special">></span>
|
||||
<span class="identifier">complex</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">common_type</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">>::</span><span class="identifier">type</span><span class="special">></span>
|
||||
<span class="keyword">operator</span><span class="special">+(</span><span class="identifier">complex</span><span class="special"><</span><span class="identifier">T</span><span class="special">>,</span> <span class="identifier">complex</span><span class="special"><</span><span class="identifier">U</span><span class="special">>);</span>
|
||||
</pre>
|
||||
<p>
|
||||
In the above example, "mixed-mode" complex arithmetic is allowed.
|
||||
The return type is described by <a class="link" href="common_type.html" title="common_type">common_type</a>.
|
||||
The return type is described by <code class="computeroutput"><span class="identifier">common_type</span></code>.
|
||||
For example the resulting type of adding a <code class="computeroutput"><span class="identifier">complex</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span></code> and <code class="computeroutput"><span class="identifier">complex</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span></code> might be a <code class="computeroutput"><span class="identifier">complex</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span></code>.
|
||||
</p>
|
||||
<p>
|
||||
Here is how someone might produce a variadic comparison function:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="special">...</span><span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="common_type.html" title="common_type">common_type</a><span class="special"><</span><span class="identifier">T</span><span class="special">...>::</span><span class="identifier">type</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">common_type</span><span class="special"><</span><span class="identifier">T</span><span class="special">...>::</span><span class="identifier">type</span>
|
||||
<span class="identifier">min</span><span class="special">(</span><span class="identifier">T</span><span class="special">...</span> <span class="identifier">t</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
This is a very useful and broadly applicable utility.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="boost_typetraits.reference.common_type.h2"></a>
|
||||
<a name="boost_typetraits.reference.common_type.h1"></a>
|
||||
<span class="phrase"><a name="boost_typetraits.reference.common_type.how_to_get_the_common_type_of_types_with_explicit_conversions_"></a></span><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>
|
||||
@ -148,23 +125,23 @@
|
||||
Another choice for the author of the preceding operator could be
|
||||
</p>
|
||||
<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">></span>
|
||||
<span class="keyword">typename</span> <a class="link" href="common_type.html" title="common_type">common_type</a><span class="special"><</span><span class="identifier">complex</span><span class="special"><</span><span class="identifier">T</span><span class="special">>,</span> <span class="identifier">complex</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span> <span class="special">>::</span><span class="identifier">type</span>
|
||||
<span class="keyword">typename</span> <span class="identifier">common_type</span><span class="special"><</span><span class="identifier">complex</span><span class="special"><</span><span class="identifier">T</span><span class="special">>,</span> <span class="identifier">complex</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span> <span class="special">>::</span><span class="identifier">type</span>
|
||||
<span class="keyword">operator</span><span class="special">+(</span><span class="identifier">complex</span><span class="special"><</span><span class="identifier">T</span><span class="special">>,</span> <span class="identifier">complex</span><span class="special"><</span><span class="identifier">U</span><span class="special">>);</span>
|
||||
</pre>
|
||||
<p>
|
||||
As the default definition of <a class="link" href="common_type.html" title="common_type">common_type</a>
|
||||
As the default definition of <code class="computeroutput"><span class="identifier">common_type</span></code>
|
||||
demands the conversion be implicit, we need to specialize the trait for complex
|
||||
types as follows.
|
||||
</p>
|
||||
<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a class="link" href="common_type.html" title="common_type">common_type</a><span class="special"><</span><span class="identifier">complex</span><span class="special"><</span><span class="identifier">T</span><span class="special">>,</span> <span class="identifier">complex</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">complex</span><span class="special"><</span> <a class="link" href="common_type.html" title="common_type">common_type</a><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">common_type</span><span class="special"><</span><span class="identifier">complex</span><span class="special"><</span><span class="identifier">T</span><span class="special">>,</span> <span class="identifier">complex</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">complex</span><span class="special"><</span> <span class="identifier">common_type</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">></span> <span class="special">></span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
<h5>
|
||||
<a name="boost_typetraits.reference.common_type.h3"></a>
|
||||
<span class="phrase"><a name="boost_typetraits.reference.common_type.how_important_is_the_order_of_the_common_type_lt__gt__template_arguments_"></a></span><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<> template arguments?</a>
|
||||
<a name="boost_typetraits.reference.common_type.h2"></a>
|
||||
<span class="phrase"><a name="boost_typetraits.reference.common_type.how_important_is_the_order_of_the__code__phrase_role__identifier__common_type__phrase__phrase_role__special___lt__gt___phrase___code__template_arguments_"></a></span><a class="link" href="common_type.html#boost_typetraits.reference.common_type.how_important_is_the_order_of_the__code__phrase_role__identifier__common_type__phrase__phrase_role__special___lt__gt___phrase___code__template_arguments_">How
|
||||
important is the order of the <code class="computeroutput"><span class="identifier">common_type</span><span class="special"><></span></code> template arguments?</a>
|
||||
</h5>
|
||||
<p>
|
||||
The order of the template parameters is important.
|
||||
@ -242,9 +219,10 @@
|
||||
<span class="identifier">A</span><span class="special">></span></code>.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="boost_typetraits.reference.common_type.h4"></a>
|
||||
<span class="phrase"><a name="boost_typetraits.reference.common_type.can_the_common_type_of_two_types_be_a_third_type_"></a></span><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>
|
||||
<a name="boost_typetraits.reference.common_type.h3"></a>
|
||||
<span class="phrase"><a name="boost_typetraits.reference.common_type.can_the__code__phrase_role__identifier__common_type__phrase___code__of_two_types_be_a_third_type_"></a></span><a class="link" href="common_type.html#boost_typetraits.reference.common_type.can_the__code__phrase_role__identifier__common_type__phrase___code__of_two_types_be_a_third_type_">Can
|
||||
the <code class="computeroutput"><span class="identifier">common_type</span></code> of two types
|
||||
be a third type?</a>
|
||||
</h5>
|
||||
<p>
|
||||
Given the preceding example, one might expect <code class="computeroutput"><span class="identifier">common_type</span><span class="special"><</span><span class="identifier">A</span><span class="special">,</span><span class="identifier">B</span><span class="special">>::</span><span class="identifier">type</span></code> to be <code class="computeroutput"><span class="identifier">C</span></code>
|
||||
@ -269,9 +247,10 @@
|
||||
<span class="identifier">B</span><span class="special">></span></code>.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="boost_typetraits.reference.common_type.h5"></a>
|
||||
<span class="phrase"><a name="boost_typetraits.reference.common_type.how_common_type_behaves_with_pointers_"></a></span><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>
|
||||
<a name="boost_typetraits.reference.common_type.h4"></a>
|
||||
<span class="phrase"><a name="boost_typetraits.reference.common_type.how_does__code__phrase_role__identifier__common_type__phrase___code__behave_with_pointers_"></a></span><a class="link" href="common_type.html#boost_typetraits.reference.common_type.how_does__code__phrase_role__identifier__common_type__phrase___code__behave_with_pointers_">How
|
||||
does <code class="computeroutput"><span class="identifier">common_type</span></code> behave with
|
||||
pointers?</a>
|
||||
</h5>
|
||||
<p>
|
||||
Consider
|
||||
@ -305,26 +284,32 @@
|
||||
Of course the user can always make this specialization.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="boost_typetraits.reference.common_type.h6"></a>
|
||||
<span class="phrase"><a name="boost_typetraits.reference.common_type.can_you_explain_the_pros_cons_of_common_type_against_boost_typeof_"></a></span><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>
|
||||
<a name="boost_typetraits.reference.common_type.h5"></a>
|
||||
<span class="phrase"><a name="boost_typetraits.reference.common_type.can_you_explain_the_pros_cons_of__code__phrase_role__identifier__common_type__phrase___code__against_boost_typeof_"></a></span><a class="link" href="common_type.html#boost_typetraits.reference.common_type.can_you_explain_the_pros_cons_of__code__phrase_role__identifier__common_type__phrase___code__against_boost_typeof_">Can
|
||||
you explain the pros/cons of <code class="computeroutput"><span class="identifier">common_type</span></code>
|
||||
against Boost.Typeof?</a>
|
||||
</h5>
|
||||
<p>
|
||||
Even if they appear to be close, <code class="computeroutput"><a class="link" href="common_type.html" title="common_type">common_type</a></code>
|
||||
Even if they appear to be close, <code class="computeroutput"><span class="identifier">common_type</span></code>
|
||||
and <code class="computeroutput"><span class="identifier">typeof</span></code> have different
|
||||
purposes. You use <code class="computeroutput"><span class="identifier">typeof</span></code>
|
||||
to get the type of an expression, while you use <a class="link" href="common_type.html" title="common_type">common_type</a>
|
||||
to get the type of an expression, while you use <code class="computeroutput"><span class="identifier">common_type</span></code>
|
||||
to set explicitly the type returned of a template function. Both are complementary,
|
||||
and indeed <a class="link" href="common_type.html" title="common_type">common_type</a>
|
||||
is equivalent to <code class="computeroutput"><span class="keyword">decltype</span><span class="special">(</span><a href="../../../../../utility/doc/html/declval.html" target="_top">declval</a><span class="special"><</span><span class="keyword">bool</span><span class="special">>()</span> <span class="special">?</span> <a href="../../../../../utility/doc/html/declval.html" target="_top">declval</a><span class="special"><</span><span class="identifier">T</span><span class="special">>()</span>
|
||||
<span class="special">:</span> <a href="../../../../../utility/doc/html/declval.html" target="_top">declval</a><span class="special"><</span><span class="identifier">U</span><span class="special">>())</span></code>
|
||||
and indeed <code class="computeroutput"><span class="identifier">common_type</span></code> is
|
||||
approximately equivalent to <code class="computeroutput"><span class="keyword">decltype</span><span class="special">(</span><a class="link" href="declval.html" title="declval">declval</a><span class="special"><</span><span class="keyword">bool</span><span class="special">>()</span>
|
||||
<span class="special">?</span> <a class="link" href="declval.html" title="declval">declval</a><span class="special"><</span><span class="identifier">T</span><span class="special">>()</span>
|
||||
<span class="special">:</span> <a class="link" href="declval.html" title="declval">declval</a><span class="special"><</span><span class="identifier">U</span><span class="special">>())</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
<a class="link" href="common_type.html" title="common_type">common_type</a>
|
||||
is also similar to promote_args<class ...T> in boost/math/tools/promotion.hpp,
|
||||
though it is not exactly the same as promote_args either. <a class="link" href="common_type.html" title="common_type">common_type</a><T1,
|
||||
T2>::type simply represents the result of some operation on T1 and T2,
|
||||
and defaults to the type obtained by putting T1 and T2 into a conditional
|
||||
<code class="computeroutput"><span class="identifier">common_type</span></code> is also similar
|
||||
to <code class="computeroutput"><span class="identifier">promote_args</span><span class="special"><</span><span class="keyword">class</span> <span class="special">...</span><span class="identifier">T</span><span class="special">></span></code> in
|
||||
<code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span><span class="identifier">promotion</span><span class="special">.</span><span class="identifier">hpp</span></code>, though
|
||||
it is not exactly the same as <code class="computeroutput"><span class="identifier">promote_args</span></code>
|
||||
either. <code class="computeroutput"><span class="identifier">common_type</span><span class="special"><</span><span class="identifier">T1</span><span class="special">,</span> <span class="identifier">T2</span><span class="special">>::</span><span class="identifier">type</span></code>
|
||||
simply represents the result of some operation on <code class="computeroutput"><span class="identifier">T1</span></code>
|
||||
and <code class="computeroutput"><span class="identifier">T2</span></code>, and defaults to the
|
||||
type obtained by putting <code class="computeroutput"><span class="identifier">T1</span></code>
|
||||
and <code class="computeroutput"><span class="identifier">T2</span></code> into a conditional
|
||||
statement.
|
||||
</p>
|
||||
<p>
|
||||
@ -346,7 +331,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="conditional.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="decay.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="conditional.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="copy_cv.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -6,8 +6,8 @@
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="common_type.html" title="common_type">
|
||||
<link rel="next" href="extent.html" title="extent">
|
||||
<link rel="prev" href="copy_cv.html" title="copy_cv">
|
||||
<link rel="next" href="declval.html" title="declval">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
@ -20,7 +20,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="common_type.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="extent.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="copy_cv.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="declval.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
@ -48,7 +48,7 @@
|
||||
or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
<div class="table">
|
||||
<a name="boost_typetraits.reference.decay.examples"></a><p class="title"><b>Table 1.17. Examples</b></p>
|
||||
<a name="boost_typetraits.reference.decay.examples"></a><p class="title"><b>Table 1.18. Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
@ -149,7 +149,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="common_type.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="extent.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="copy_cv.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="declval.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -6,7 +6,7 @@
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="decay.html" title="decay">
|
||||
<link rel="prev" href="declval.html" title="declval">
|
||||
<link rel="next" href="floating_point_promotion.html" title="floating_point_promotion">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
@ -20,7 +20,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="decay.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="floating_point_promotion.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="declval.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="floating_point_promotion.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
@ -107,7 +107,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="decay.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="floating_point_promotion.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="declval.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="floating_point_promotion.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -48,7 +48,7 @@
|
||||
or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
<div class="table">
|
||||
<a name="boost_typetraits.reference.floating_point_promotion.examples"></a><p class="title"><b>Table 1.18. Examples</b></p>
|
||||
<a name="boost_typetraits.reference.floating_point_promotion.examples"></a><p class="title"><b>Table 1.19. Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -59,7 +59,7 @@
|
||||
</p></td></tr>
|
||||
</table></div>
|
||||
<div class="table">
|
||||
<a name="boost_typetraits.reference.function_traits.function_traits_members"></a><p class="title"><b>Table 1.19. Function Traits Members</b></p>
|
||||
<a name="boost_typetraits.reference.function_traits.function_traits_members"></a><p class="title"><b>Table 1.20. Function Traits Members</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Function Traits Members">
|
||||
<colgroup>
|
||||
<col>
|
||||
@ -122,7 +122,7 @@
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><div class="table">
|
||||
<a name="boost_typetraits.reference.function_traits.examples"></a><p class="title"><b>Table 1.20. Examples</b></p>
|
||||
<a name="boost_typetraits.reference.function_traits.examples"></a><p class="title"><b>Table 1.21. Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -37,9 +37,15 @@
|
||||
type.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> Either a compiler
|
||||
intrinsic (for example this is provided by Visual C++ 8 or later, plus all
|
||||
GCC versions in C++11 mode), alternatively support for the C++11 <code class="computeroutput"><span class="keyword">noexcept</span></code> feature.
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> Either requires
|
||||
C++11 <code class="computeroutput"><span class="keyword">noexcept</span></code> and <code class="computeroutput"><span class="keyword">decltype</span></code> or else some (unspecified) help from
|
||||
the compiler. Currently (June 2015) compilers more recent than Visual C++
|
||||
8, GCC-4.3, Greenhills 6.0, Intel-11.0, and Codegear and all recent GCC versions
|
||||
have the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
to ensure that this trait "just works". You may test to see if
|
||||
the necessary support is available by checking to see if <code class="computeroutput"><span class="identifier">defined</span><span class="special">(</span><span class="identifier">BOOST_HAS_NOTHROW_CONSTRUCTOR</span><span class="special">)</span> <span class="special">||</span> <span class="special">(!</span><span class="identifier">defined</span><span class="special">(</span><span class="identifier">BOOST_NO_CXX11_DECLTYPE</span><span class="special">)</span>
|
||||
<span class="special">&&</span> <span class="special">!</span><span class="identifier">defined</span><span class="special">(</span><span class="identifier">BOOST_NO_CXX11_NOEXCEPT</span><span class="special">))</span></code>
|
||||
is true.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
|
@ -43,20 +43,15 @@
|
||||
These two traits are synonyms for each other.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
|
||||
does not support partial-specialization of class templates, then this template
|
||||
can not be used with function types.
|
||||
</p>
|
||||
<p>
|
||||
Without some (unspecified) help from the compiler, <code class="computeroutput"><span class="identifier">has_nothrow_constructor</span></code>
|
||||
will never report that a class or struct has a non-throwing default-constructor;
|
||||
this is always safe, if possibly sub-optimal. Currently (May 2011) compilers
|
||||
more recent than Visual C++ 8, GCC-4.3, Greenhills 6.0, Intel-11.0, and Codegear
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> Either requires
|
||||
C++11 <code class="computeroutput"><span class="keyword">noexcept</span></code> and <code class="computeroutput"><span class="keyword">decltype</span></code> or else some (unspecified) help from
|
||||
the compiler. Currently (June 2015) compilers more recent than Visual C++
|
||||
8, GCC-4.3, Greenhills 6.0, Intel-11.0, and Codegear and all recent GCC versions
|
||||
have the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
to ensure that this trait "just works". You may also test to see
|
||||
if the necessary <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
are available by checking to see if the macro <code class="computeroutput"><span class="identifier">BOOST_HAS_NOTHROW_CONSTRUCTOR</span></code>
|
||||
is defined.
|
||||
to ensure that this trait "just works". You may test to see if
|
||||
the necessary support is available by checking to see if <code class="computeroutput"><span class="identifier">defined</span><span class="special">(</span><span class="identifier">BOOST_HAS_NOTHROW_CONSTRUCTOR</span><span class="special">)</span> <span class="special">||</span> <span class="special">(!</span><span class="identifier">defined</span><span class="special">(</span><span class="identifier">BOOST_NO_CXX11_DECLTYPE</span><span class="special">)</span>
|
||||
<span class="special">&&</span> <span class="special">!</span><span class="identifier">defined</span><span class="special">(</span><span class="identifier">BOOST_NO_CXX11_NOEXCEPT</span><span class="special">))</span></code>
|
||||
is true.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
|
@ -7,7 +7,7 @@
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="has_nothrow_constructor.html" title="has_nothrow_constructor">
|
||||
<link rel="next" href="has_nothrow_cp_cons.html" title="has_nothrow_copy_constructor">
|
||||
<link rel="next" href="has_nothrow_destruct.html" title="has_nothrow_destructor">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
@ -20,7 +20,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="has_nothrow_constructor.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_nothrow_cp_cons.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="has_nothrow_constructor.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_nothrow_destruct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
@ -43,20 +43,15 @@
|
||||
These two traits are synonyms for each other.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
|
||||
does not support partial-specialization of class templates, then this template
|
||||
can not be used with function types.
|
||||
</p>
|
||||
<p>
|
||||
Without some (as yet unspecified) help from the compiler, <code class="computeroutput"><span class="identifier">has_nothrow_copy</span></code>
|
||||
will never report that a class or struct has a non-throwing copy-constructor;
|
||||
this is always safe, if possibly sub-optimal. Currently (May 2011) compilers
|
||||
more recent than Visual C++ 8, GCC-4.3, Greenhills 6.0, Intel-11.0, and Codegear
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> Either requires
|
||||
C++11 <code class="computeroutput"><span class="keyword">noexcept</span></code> and <code class="computeroutput"><span class="keyword">decltype</span></code> or else some (unspecified) help from
|
||||
the compiler. Currently (June 2015) compilers more recent than Visual C++
|
||||
8, GCC-4.3, Greenhills 6.0, Intel-11.0, and Codegear and all recent GCC versions
|
||||
have the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
to ensure that this trait "just works". You may also test to see
|
||||
if the necessary <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
are available by checking to see if the macro <code class="computeroutput"><span class="identifier">BOOST_HAS_NOTHROW_COPY</span></code>
|
||||
is defined.
|
||||
to ensure that this trait "just works". You may test to see if
|
||||
the necessary support is available by checking to see if <code class="computeroutput"><span class="identifier">defined</span><span class="special">(</span><span class="identifier">BOOST_HAS_NOTHROW_COPY</span><span class="special">)</span> <span class="special">||</span> <span class="special">(!</span><span class="identifier">defined</span><span class="special">(</span><span class="identifier">BOOST_NO_CXX11_DECLTYPE</span><span class="special">)</span>
|
||||
<span class="special">&&</span> <span class="special">!</span><span class="identifier">defined</span><span class="special">(</span><span class="identifier">BOOST_NO_CXX11_NOEXCEPT</span><span class="special">))</span></code>
|
||||
is true.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
@ -78,7 +73,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="has_nothrow_constructor.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_nothrow_cp_cons.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="has_nothrow_constructor.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_nothrow_destruct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -6,7 +6,7 @@
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="has_nothrow_copy.html" title="has_nothrow_copy">
|
||||
<link rel="prev" href="has_nothrow_destruct.html" title="has_nothrow_destructor">
|
||||
<link rel="next" href="has_no_throw_def_cons.html" title="has_nothrow_default_constructor">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
@ -20,7 +20,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="has_nothrow_copy.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_no_throw_def_cons.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="has_nothrow_destruct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_no_throw_def_cons.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
@ -44,7 +44,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="has_nothrow_copy.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_no_throw_def_cons.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="has_nothrow_destruct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="has_no_throw_def_cons.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -40,15 +40,12 @@
|
||||
can be safely replaced with a call to <code class="computeroutput"><span class="identifier">memcpy</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
|
||||
does not support partial-specialization of class templates, then this template
|
||||
can not be used with function types.
|
||||
</p>
|
||||
<p>
|
||||
Without some (as yet unspecified) help from the compiler, has_trivial_assign
|
||||
will never report that a user-defined class or struct has a trivial constructor;
|
||||
this is always safe, if possibly sub-optimal. Currently (May 2011) compilers
|
||||
more recent than Visual C++ 8, GCC-4.3, Greenhills 6.0, Intel-11.0, and Codegear
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> Without some (as
|
||||
yet unspecified) help from the compiler, has_trivial_assign will never report
|
||||
that a user-defined class or struct has a trivial constructor; this is always
|
||||
safe, if possibly sub-optimal. In order to correctly handle deleted or private
|
||||
assignment operators, the compiler must also support C++11's <code class="computeroutput"><span class="keyword">decltype</span></code>. Currently (May 2015) compilers more
|
||||
recent than Visual C++ 8, GCC-4.3, Greenhills 6.0, Intel-11.0, and Codegear
|
||||
have the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
to ensure that this trait "just works". You may also test to see
|
||||
if the necessary <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
|
@ -48,16 +48,13 @@
|
||||
some benefit in terms of code size and speed can be obtained.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
|
||||
does not support partial-specialization of class templates, then this template
|
||||
can not be used with function types.
|
||||
</p>
|
||||
<p>
|
||||
Without some (as yet unspecified) help from the compiler, has_trivial_constructor
|
||||
will never report that a user-defined class or struct has a trivial constructor;
|
||||
this is always safe, if possibly sub-optimal. Currently (May 2011) compilers
|
||||
more recent than Visual C++ 8, GCC-4.3, Greenhills 6.0, Intel-11.0, and Codegear
|
||||
have the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> Without some (as
|
||||
yet unspecified) help from the compiler, has_trivial_constructor will never
|
||||
report that a user-defined class or struct has a trivial constructor; this
|
||||
is always safe, if possibly sub-optimal. In addition, in order to correctly
|
||||
handle private or deleted default-constructors then C++11's <code class="computeroutput"><span class="identifier">deltype</span></code> is required. Currently (May 2015)
|
||||
compilers more recent than Visual C++ 8, GCC-4.3, Greenhills 6.0, Intel-11.0,
|
||||
and Codegear have the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
to ensure that this trait "just works". You may also test to see
|
||||
if the necessary <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
are available by checking to see if the macro <code class="computeroutput"><span class="identifier">BOOST_HAS_TRIVIAL_CONSTRUCTOR</span></code>
|
||||
|
@ -46,19 +46,17 @@
|
||||
can be safely replaced with a call to <code class="computeroutput"><span class="identifier">memcpy</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
|
||||
does not support partial-specialization of class templates, then this template
|
||||
can not be used with function types.
|
||||
</p>
|
||||
<p>
|
||||
Without some (as yet unspecified) help from the compiler, has_trivial_copy
|
||||
will never report that a user-defined class or struct has a trivial constructor;
|
||||
this is always safe, if possibly sub-optimal. Currently (May 2011) compilers
|
||||
more recent than Visual C++ 8, GCC-4.3, Greenhills 6.0, Intel-11.0, and Codegear
|
||||
have the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
to ensure that this trait "just works". You may also test to see
|
||||
if the necessary <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
are available by checking to see if the macro <code class="computeroutput"><span class="identifier">BOOST_HAS_TRIVIAL_COPY</span></code>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> Without some (as
|
||||
yet unspecified) help from the compiler, has_trivial_copy will never report
|
||||
that a user-defined class or struct has a trivial constructor; this is always
|
||||
safe, if possibly sub-optimal. In addition, in order to correctly handle
|
||||
deleted or private copy-constructors then C++11's <code class="computeroutput"><span class="identifier">dectype</span></code>
|
||||
is required. Currently (May 2015) compilers more recent than Visual C++ 8,
|
||||
GCC-4.3, Greenhills 6.0, Intel-11.0, and Codegear have the necessary compiler
|
||||
<a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a> to ensure that
|
||||
this trait "just works". You may also test to see if the necessary
|
||||
<a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a> are available
|
||||
by checking to see if the macro <code class="computeroutput"><span class="identifier">BOOST_HAS_TRIVIAL_COPY</span></code>
|
||||
is defined.
|
||||
</p>
|
||||
<p>
|
||||
|
@ -42,16 +42,13 @@
|
||||
some benefit in terms of code size and speed can be obtained.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
|
||||
does not support partial-specialization of class templates, then this template
|
||||
can not be used with function types.
|
||||
</p>
|
||||
<p>
|
||||
Without some (as yet unspecified) help from the compiler, has_trivial_destructor
|
||||
will never report that a user-defined class or struct has a trivial destructor;
|
||||
this is always safe, if possibly sub-optimal. Currently (May 2011) compilers
|
||||
more recent than Visual C++ 8, GCC-4.3, Greenhills 6.0, Intel-11.0, and Codegear
|
||||
have the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> Without some (as
|
||||
yet unspecified) help from the compiler, has_trivial_destructor will never
|
||||
report that a user-defined class or struct has a trivial destructor; this
|
||||
is always safe, if possibly sub-optimal. In addition, in order to correctly
|
||||
handle deleted or private destructors then support for C++11's <code class="computeroutput"><span class="keyword">decltype</span></code> is required. Currently (June 2015)
|
||||
compilers more recent than Visual C++ 8, GCC-4.3, Greenhills 6.0, Intel-11.0,
|
||||
and Codegear have the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
to ensure that this trait "just works". You may also test to see
|
||||
if the necessary <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
are available by checking to see if the macro <code class="computeroutput"><span class="identifier">BOOST_HAS_TRIVIAL_DESTRUCTOR</span></code>
|
||||
|
@ -40,17 +40,14 @@
|
||||
operator can be safely replaced with a call to <code class="computeroutput"><span class="identifier">memcpy</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
|
||||
does not support partial-specialization of class templates, then this template
|
||||
can not be used with function types.
|
||||
</p>
|
||||
<p>
|
||||
Without some (as yet unspecified) help from the compiler, has_trivial_move_assign
|
||||
will never report that a user-defined class or struct has a trivial constructor;
|
||||
this is always safe, if possibly sub-optimal. Currently (February 2013) compilers
|
||||
have no necessary <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
to ensure that this trait "just works". You may also test to see
|
||||
if the necessary <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> Without some (as
|
||||
yet unspecified) help from the compiler, has_trivial_move_assign will never
|
||||
report that a user-defined class or struct has a trivial move assign; this
|
||||
is always safe, if possibly sub-optimal. In addition, in order to correctly
|
||||
handle private or deleted move assignment operators then c++11's <code class="computeroutput"><span class="keyword">decltype</span></code> is required. Currently (June 2015)
|
||||
compilers that have the necessary <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
to ensure that this trait "just works" include Clang, GCC-5.1 and
|
||||
MSVC-12.0. You may also test to see if the necessary <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
are available by checking to see if the macro <code class="computeroutput"><span class="identifier">BOOST_HAS_TRIVIAL_MOVE_ASSIGN</span></code>
|
||||
is defined.
|
||||
</p>
|
||||
|
@ -40,17 +40,14 @@
|
||||
can be safely replaced with a call to <code class="computeroutput"><span class="identifier">memcpy</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
|
||||
does not support partial-specialization of class templates, then this template
|
||||
can not be used with function types.
|
||||
</p>
|
||||
<p>
|
||||
Without some (as yet unspecified) help from the compiler, has_trivial_move_constructor
|
||||
will never report that a user-defined class or struct has a trivial constructor;
|
||||
this is always safe, if possibly sub-optimal. Currently (February 2013) compilers
|
||||
have no necessary <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
to ensure that this trait "just works". You may also test to see
|
||||
if the necessary <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> Without some (as
|
||||
yet unspecified) help from the compiler, has_trivial_move_constructor will
|
||||
never report that a user-defined class or struct has a trivial constructor;
|
||||
this is always safe, if possibly sub-optimal. In addition C++11's <code class="computeroutput"><span class="keyword">decltype</span></code> is required to correctly support
|
||||
deleted or private move constructors. Currently (June 2015) compilers that
|
||||
have the necessary <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
to ensure that this trait "just works" include Clang, GCC-5.1,
|
||||
and MSVC-12.0. You may also test to see if the necessary <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
are available by checking to see if the macro <code class="computeroutput"><span class="identifier">BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR</span></code>
|
||||
is defined.
|
||||
</p>
|
||||
|
@ -35,15 +35,14 @@
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> This trait is provided
|
||||
for completeness, since it's part of the Technical Report on C++ Library
|
||||
Extensions. However, there is currently no way to portably implement this
|
||||
trait. The default version provided always inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>,
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> There is currently
|
||||
no way to portably implement this trait: the default version always inherits
|
||||
from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>,
|
||||
and has to be explicitly specialized for types with virtual destructors unless
|
||||
the compiler used has compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
that enable the trait to do the right thing: Currently (May 2011) compilers
|
||||
more recent than Visual C++ 8, GCC-4.3, Greenhills 6.0, Intel-11.0, and Codegear
|
||||
have the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
that enable the trait to do the right thing: Currently (June 2015) compilers
|
||||
more recent than Visual C++ 8, GCC-4.3, Greenhills 6.0, Intel-11.0, plus
|
||||
Codegear and Clang have the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
to ensure that this trait "just works". You may also test to see
|
||||
if the necessary <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
are available by checking to see if the macro <code class="computeroutput"><span class="identifier">BOOST_HAS_VIRTUAL_DESTRUCTOR</span></code>
|
||||
|
@ -32,6 +32,7 @@
|
||||
<span class="keyword">typedef</span> <span class="identifier">integral_constant</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">val</span><span class="special">></span> <span class="identifier">type</span><span class="special">;</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">value_type</span><span class="special">;</span>
|
||||
<span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">T</span> <span class="identifier">value</span> <span class="special">=</span> <span class="identifier">val</span><span class="special">;</span>
|
||||
<span class="keyword">constexpr</span> <span class="keyword">operator</span> <span class="identifier">T</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="keyword">typedef</span> <span class="identifier">integral_constant</span><span class="special"><</span><span class="keyword">bool</span><span class="special">,</span> <span class="keyword">true</span><span class="special">></span> <span class="identifier">true_type</span><span class="special">;</span>
|
||||
|
@ -49,7 +49,7 @@
|
||||
or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
<div class="table">
|
||||
<a name="boost_typetraits.reference.integral_promotion.examples"></a><p class="title"><b>Table 1.21. Examples</b></p>
|
||||
<a name="boost_typetraits.reference.integral_promotion.examples"></a><p class="title"><b>Table 1.22. Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -7,7 +7,7 @@
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_arithmetic.html" title="is_arithmetic">
|
||||
<link rel="next" href="is_base_of.html" title="is_base_of">
|
||||
<link rel="next" href="is_assignable.html" title="is_assignable">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
@ -20,7 +20,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="is_arithmetic.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_base_of.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="is_arithmetic.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_assignable.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
@ -43,9 +43,8 @@
|
||||
or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
|
||||
does not support partial-specialization of class templates, then this template
|
||||
can give the wrong result with function types.
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Examples:</strong></span>
|
||||
@ -78,7 +77,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="is_arithmetic.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_base_of.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="is_arithmetic.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_assignable.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -6,7 +6,7 @@
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_array.html" title="is_array">
|
||||
<link rel="prev" href="is_assignable.html" title="is_assignable">
|
||||
<link rel="next" href="is_class.html" title="is_class">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
@ -20,7 +20,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="is_array.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_class.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="is_assignable.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_class.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
@ -57,15 +57,8 @@
|
||||
or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
|
||||
does not support partial-specialization of class templates, then this template
|
||||
can not be used with function types. There are some older compilers which
|
||||
will produce compiler errors if <code class="computeroutput"><span class="identifier">Base</span></code>
|
||||
is a private base class of <code class="computeroutput"><span class="identifier">Derived</span></code>,
|
||||
or if <code class="computeroutput"><span class="identifier">Base</span></code> is an ambiguous
|
||||
base of <code class="computeroutput"><span class="identifier">Derived</span></code>. These compilers
|
||||
include Borland C++, older versions of Sun Forte C++, Digital Mars C++, and
|
||||
older versions of EDG based compilers.
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Examples:</strong></span>
|
||||
@ -108,7 +101,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="is_array.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_class.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="is_assignable.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_class.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -43,16 +43,11 @@
|
||||
or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> Without (some as
|
||||
yet unspecified) help from the compiler, we cannot distinguish between union
|
||||
and class types, as a result this type will erroneously inherit from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a> for
|
||||
union types. See also <a class="link" href="is_union.html" title="is_union">is_union</a>.
|
||||
Currently (May 2011) compilers more recent than Visual C++ 8, GCC-4.3, Greenhills
|
||||
6.0, Intel-11.0, and Codegear have the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
to ensure that this trait "just works". You may also test to see
|
||||
if the necessary <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
are available by checking to see if the macro <code class="computeroutput"><span class="identifier">BOOST_IS_CLASS</span></code>
|
||||
is defined.
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> This trait works
|
||||
correctly for almost all current compilers (as of June 2015), with just a
|
||||
minority of older compilers not correctly detecting all the corner cases.
|
||||
You can check the macro <code class="computeroutput"><span class="identifier">BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION</span></code>
|
||||
which is defined to 1 when the class works correctly in all cases.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Examples:</strong></span>
|
||||
|
@ -38,6 +38,10 @@
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 26.2.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
<span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_complex</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
|
@ -38,6 +38,10 @@
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
<span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_compound</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
|
@ -7,7 +7,7 @@
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_compound.html" title="is_compound">
|
||||
<link rel="next" href="is_convertible.html" title="is_convertible">
|
||||
<link rel="next" href="is_constructible.html" title="is_constructible">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
@ -20,7 +20,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="is_compound.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_convertible.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="is_compound.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_constructible.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
@ -42,6 +42,10 @@
|
||||
<span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_const</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Examples:</strong></span>
|
||||
</p>
|
||||
@ -87,7 +91,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="is_compound.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_convertible.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="is_compound.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_constructible.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -6,8 +6,8 @@
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_const.html" title="is_const">
|
||||
<link rel="next" href="is_copy_constructible.html" title="is_copy_constructible">
|
||||
<link rel="prev" href="is_constructible.html" title="is_constructible">
|
||||
<link rel="next" href="is_copy_assignable.html" title="is_copy_assignable">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
@ -20,7 +20,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="is_const.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_copy_constructible.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="is_constructible.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_copy_assignable.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
@ -69,12 +69,8 @@
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 4 and 8.5.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> This template is
|
||||
currently broken with Borland C++ Builder 5 (and earlier), for constructor-based
|
||||
conversions, and for the Metrowerks 7 (and earlier) compiler in all cases.
|
||||
If the compiler does not support <code class="computeroutput"><a class="link" href="is_abstract.html" title="is_abstract">is_abstract</a></code>,
|
||||
then the template parameter <code class="computeroutput"><span class="identifier">To</span></code>
|
||||
must not be an abstract type.
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
@ -127,7 +123,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="is_const.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_copy_constructible.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="is_constructible.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_copy_assignable.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -6,8 +6,8 @@
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_copy_constructible.html" title="is_copy_constructible">
|
||||
<link rel="next" href="is_empty.html" title="is_empty">
|
||||
<link rel="prev" href="is_convertible.html" title="is_convertible">
|
||||
<link rel="next" href="is_copy_constructible.html" title="is_copy_constructible">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
@ -20,7 +20,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="is_copy_constructible.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_empty.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="is_convertible.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_copy_constructible.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
@ -47,9 +47,9 @@
|
||||
<code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">noncopyable</span></code> and is not marked with <code class="computeroutput"><span class="identifier">BOOST_MOVABLE_BUT_NOT_COPYABLE</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
|
||||
does not support partial-specialization of class templates, then this template
|
||||
can not be used.
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> Requires the C++11
|
||||
features <code class="computeroutput"><span class="keyword">decltype</span></code> and SFINAE-expressions
|
||||
for full support.
|
||||
</p>
|
||||
<p>
|
||||
If your compiler does not support C++11 deleted functions (<code class="computeroutput"><span class="special">=</span> <span class="keyword">delete</span></code>)
|
||||
@ -100,7 +100,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="is_copy_constructible.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_empty.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="is_convertible.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_copy_constructible.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -6,8 +6,8 @@
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_convertible.html" title="is_convertible">
|
||||
<link rel="next" href="is_copy_assignable.html" title="is_copy_assignable">
|
||||
<link rel="prev" href="is_copy_assignable.html" title="is_copy_assignable">
|
||||
<link rel="next" href="is_default_constructible.html" title="is_default_constructible">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
@ -20,7 +20,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="is_convertible.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_copy_assignable.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="is_copy_assignable.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_default_constructible.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
@ -45,9 +45,9 @@
|
||||
<code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">noncopyable</span></code> and does not marked with <code class="computeroutput"><span class="identifier">BOOST_MOVABLE_BUT_NOT_COPYABLE</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
|
||||
does not support partial-specialization of class templates, then this template
|
||||
can not be used.
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> This trait requires
|
||||
the C++11 features <code class="computeroutput"><span class="keyword">decltype</span></code>
|
||||
and SFINAE-expression support for full support.
|
||||
</p>
|
||||
<p>
|
||||
If your compiler does not support C++11 deleted functions (<code class="computeroutput"><span class="special">=</span> <span class="keyword">delete</span></code>)
|
||||
@ -56,7 +56,8 @@
|
||||
that class is noncopyable.
|
||||
</p>
|
||||
<p>
|
||||
Trait does not care about access modifiers, so if you see errors like this:
|
||||
The trait does not care about access modifiers, so if you see errors like
|
||||
this:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="char">'T::T(const T&)'</span> <span class="identifier">is</span> <span class="keyword">private</span>
|
||||
<span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_copy_constructible</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">:</span><span class="number">68</span><span class="special">:</span><span class="number">5</span><span class="special">:</span> <span class="identifier">error</span><span class="special">:</span> <span class="identifier">within</span> <span class="keyword">this</span> <span class="identifier">context</span>
|
||||
@ -97,7 +98,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="is_convertible.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_copy_assignable.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="is_copy_assignable.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_default_constructible.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -6,7 +6,7 @@
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_copy_assignable.html" title="is_copy_assignable">
|
||||
<link rel="prev" href="is_destructible.html" title="is_destructible">
|
||||
<link rel="next" href="is_enum.html" title="is_enum">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
@ -20,7 +20,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="is_copy_assignable.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_enum.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="is_destructible.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_enum.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
@ -59,13 +59,6 @@
|
||||
<p>
|
||||
Can not be used with incomplete types.
|
||||
</p>
|
||||
<p>
|
||||
Can not be used with union types, until is_union can be made to work.
|
||||
</p>
|
||||
<p>
|
||||
If the compiler does not support partial-specialization of class templates,
|
||||
then this template can not be used with abstract types.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Examples:</strong></span>
|
||||
</p>
|
||||
@ -103,7 +96,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="is_copy_assignable.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_enum.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="is_destructible.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="is_enum.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -43,11 +43,8 @@
|
||||
or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> Requires a correctly
|
||||
functioning <a class="link" href="is_convertible.html" title="is_convertible">is_convertible</a>
|
||||
template; this means that is_enum is currently broken under Borland C++ Builder
|
||||
5, and for the Metrowerks compiler prior to version 8, other compilers should
|
||||
handle this template just fine.
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Examples:</strong></span>
|
||||
|
@ -45,11 +45,12 @@
|
||||
never inherit from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
unless the user explicitly specializes the template for their user-defined
|
||||
final class types, or unless the compiler supplies some unspecified intrinsic
|
||||
that implements this functionality. Currently (Aug 2014) compilers more recent
|
||||
than GCC-4.7, and Clang have the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
to ensure that this trait "just works". You may also test to see
|
||||
if the necessary <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
are available by checking to see if the macro <code class="computeroutput"><span class="identifier">BOOST_IS_FINAL</span></code>
|
||||
that implements this functionality. Currently (June 2015) compilers more
|
||||
recent than GCC-4.7, Oracle-12.4, and Clang have the necessary compiler
|
||||
<a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a> to ensure that
|
||||
this trait "just works". You may also test to see if the necessary
|
||||
<a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a> are available
|
||||
by checking to see if the macro <code class="computeroutput"><span class="identifier">BOOST_IS_FINAL</span></code>
|
||||
is defined.
|
||||
</p>
|
||||
<p>
|
||||
|
@ -37,6 +37,10 @@
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.1p8.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
<span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_floating_point</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
|
@ -43,6 +43,10 @@
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2p1 and 8.3.5.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
<span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_function</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
|
@ -41,6 +41,10 @@
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.1.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
<span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_fundamental</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
|
@ -37,6 +37,10 @@
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.1p7.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
<span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_integral</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
|
@ -38,10 +38,8 @@
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 8.3.2.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
|
||||
does not support partial-specialization of class templates, then this template
|
||||
may report the wrong result for function types, and for types that are both
|
||||
const and volatile qualified.
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
|
@ -37,6 +37,10 @@
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 8.3.3.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
<span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_member_function_pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
|
@ -37,6 +37,10 @@
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 8.3.3.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
<span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_member_object_pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
|
@ -38,6 +38,10 @@
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 8.3.3.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
<span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_member_pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
|
@ -53,9 +53,9 @@
|
||||
Without some (C++11 noexcept shall work correctly) help from the compiler,
|
||||
<code class="computeroutput"><span class="identifier">is_nothrow_move_assignable</span></code>
|
||||
will never report that a class or struct has a non-throwing assignment-operator;
|
||||
this is always safe, if possibly sub-optimal. Currently (February 2013) Clang
|
||||
and GCC 4.7 have the necessary compiler support to ensure that this trait
|
||||
"just works".
|
||||
this is always safe, if possibly sub-optimal. Currently (June 2015) MSVC-12.0,
|
||||
Clang and GCC 4.7 have the necessary compiler support to ensure that this
|
||||
trait "just works".
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
|
@ -43,17 +43,12 @@
|
||||
is a variable of type <code class="computeroutput"><span class="identifier">T</span></code>).
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
|
||||
does not support partial-specialization of class templates, then this template
|
||||
can not be used with function types.
|
||||
</p>
|
||||
<p>
|
||||
Without some (C++11 noexcept shall work correctly) help from the compiler,
|
||||
<code class="computeroutput"><span class="identifier">is_nothrow_move_constructible</span></code>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> Without some (C++11
|
||||
noexcept shall work correctly) help from the compiler, <code class="computeroutput"><span class="identifier">is_nothrow_move_constructible</span></code>
|
||||
will never report that a class or struct has a non-throwing copy-constructor;
|
||||
this is always safe, if possibly sub-optimal. Currently (February 2013) Clang
|
||||
and GCC 4.7 have the necessary compiler support to ensure that this trait
|
||||
"just works".
|
||||
this is always safe, if possibly sub-optimal. Currently (February 2013) MSVC-12.0,
|
||||
Clang and GCC 4.7 have the necessary compiler support to ensure that this
|
||||
trait "just works".
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
|
@ -38,6 +38,10 @@
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9p9.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
<span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
|
@ -48,19 +48,14 @@
|
||||
that POD's are also aggregates, see 8.5.1).
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
|
||||
does not support partial-specialization of class templates, then this template
|
||||
can not be used with function types.
|
||||
</p>
|
||||
<p>
|
||||
Without some (as yet unspecified) help from the compiler, is_pod will never
|
||||
report that a class or struct is a POD; this is always safe, if possibly
|
||||
sub-optimal. Currently (May 2011) compilers more recent than Visual C++ 8,
|
||||
GCC-4.3, Greenhills 6.0, Intel-11.0, and Codegear have the necessary compiler
|
||||
<a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a> to ensure that
|
||||
this trait "just works". You may also test to see if the necessary
|
||||
<a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a> are available
|
||||
by checking to see if the macro <code class="computeroutput"><span class="identifier">BOOST_IS_POD</span></code>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> Without some (as
|
||||
yet unspecified) help from the compiler, is_pod will never report that a
|
||||
class or struct is a POD; this is always safe, if possibly sub-optimal. Currently
|
||||
(June 2015) compilers more recent than Visual C++ 8, Clang-3, GCC-4.3, Greenhills
|
||||
6.0, Intel-11.0, and Codegear have the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
to ensure that this trait "just works". You may also test to see
|
||||
if the necessary <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
are available by checking to see if the macro <code class="computeroutput"><span class="identifier">BOOST_IS_POD</span></code>
|
||||
is defined.
|
||||
</p>
|
||||
<p>
|
||||
|
@ -43,6 +43,10 @@
|
||||
<span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Examples:</strong></span>
|
||||
</p>
|
||||
|
@ -38,10 +38,8 @@
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 8.3.2.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
|
||||
does not support partial-specialization of class templates, then this template
|
||||
may report the wrong result for function types, and for types that are both
|
||||
const and volatile qualified.
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
|
@ -38,10 +38,8 @@
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 8.3.2.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
|
||||
does not support partial-specialization of class templates, then this template
|
||||
may report the wrong result for function types, and for types that are both
|
||||
const and volatile qualified.
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
|
@ -40,9 +40,8 @@
|
||||
or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
|
||||
does not support partial-specialization of class templates, then this template
|
||||
can not be used with abstract, incomplete or function types.
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Examples:</strong></span>
|
||||
|
@ -45,9 +45,8 @@
|
||||
or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
|
||||
does not support partial-specialization of class templates, then this template
|
||||
can not be used with function types.
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Examples:</strong></span>
|
||||
|
@ -38,6 +38,10 @@
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.1, 7.2.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
<span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_signed</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
|
@ -58,17 +58,12 @@
|
||||
or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
|
||||
does not support partial-specialization of class templates, then this template
|
||||
can not be used with function types.
|
||||
</p>
|
||||
<p>
|
||||
Without some (as yet unspecified) help from the compiler, is_stateless will
|
||||
never report that a class or struct is stateless; this is always safe, if
|
||||
possibly sub-optimal. Currently (May 2011) compilers more recent than Visual
|
||||
C++ 8, GCC-4.3, Greenhills 6.0, Intel-11.0, and Codegear have the necessary
|
||||
compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a> to
|
||||
ensure that this trait "just works".
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> Without some (as
|
||||
yet unspecified) help from the compiler, is_stateless will never report that
|
||||
a class or struct is stateless; this is always safe, if possibly sub-optimal.
|
||||
Currently (June 2015) compilers more recent than Visual C++ 8, Clang, GCC-4.3,
|
||||
Greenhills 6.0, Intel-11.0, and Codegear have the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a> to ensure that this
|
||||
trait "just works".
|
||||
</p>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
|
@ -46,9 +46,9 @@
|
||||
inherit from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
unless the user explicitly specializes the template for their user-defined
|
||||
union types, or unless the compiler supplies some unspecified intrinsic that
|
||||
implements this functionality. Currently (May 2011) compilers more recent
|
||||
than Visual C++ 8, GCC-4.3, Greenhills 6.0, Intel-11.0, and Codegear have
|
||||
the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
implements this functionality. Currently (June 2015) compilers more recent
|
||||
than Visual C++ 8, clang, GCC-4.3, Greenhills 6.0, Intel-11.0, and Codegear
|
||||
have the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
to ensure that this trait "just works". You may also test to see
|
||||
if the necessary <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
are available by checking to see if the macro <code class="computeroutput"><span class="identifier">BOOST_IS_UNION</span></code>
|
||||
|
@ -38,6 +38,10 @@
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.1, 7.2.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
<span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_unsigned</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
|
@ -46,9 +46,8 @@
|
||||
or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> this trait also
|
||||
requires a working <a class="link" href="is_base_of.html" title="is_base_of">is_base_of</a>
|
||||
trait.
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<div class="note"><table border="0" summary="Note">
|
||||
<tr>
|
||||
@ -58,7 +57,8 @@
|
||||
<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</a>).
|
||||
compiler errors (see bug reports <a href="https://svn.boost.org/trac/boost/ticket/3730" target="_top">#3730</a>
|
||||
and <a href="https://svn.boost.org/trac/boost/ticket/11323" target="_top">11323</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.
|
||||
|
@ -37,6 +37,10 @@
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.1p9.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
<span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_void</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
|
@ -37,6 +37,10 @@
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.3.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
<span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_volatile</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
|
@ -48,13 +48,17 @@
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.1.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
<span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">make_signed</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
<div class="table">
|
||||
<a name="boost_typetraits.reference.make_signed.examples"></a><p class="title"><b>Table 1.22. Examples</b></p>
|
||||
<a name="boost_typetraits.reference.make_signed.examples"></a><p class="title"><b>Table 1.23. Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -48,13 +48,17 @@
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.1.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
<span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">make_unsigned</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
<div class="table">
|
||||
<a name="boost_typetraits.reference.make_unsigned.examples"></a><p class="title"><b>Table 1.23. Examples</b></p>
|
||||
<a name="boost_typetraits.reference.make_unsigned.examples"></a><p class="title"><b>Table 1.24. Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -45,13 +45,17 @@
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 4.5 except 4.5/3
|
||||
(integral bit-field) and 4.6.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
<span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">promote</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
<div class="table">
|
||||
<a name="boost_typetraits.reference.promote.examples"></a><p class="title"><b>Table 1.24. Examples</b></p>
|
||||
<a name="boost_typetraits.reference.promote.examples"></a><p class="title"><b>Table 1.25. Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -39,6 +39,10 @@
|
||||
If <code class="computeroutput"><span class="identifier">T</span></code> is not a (built-in)
|
||||
array type, then <code class="computeroutput"><span class="identifier">RANK</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span></code> is zero.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
<span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">rank</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
|
@ -41,12 +41,8 @@
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 8.3.4.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
|
||||
does not support partial specialization of class-templates then this template
|
||||
will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code>
|
||||
will always be the same as type <code class="computeroutput"><span class="identifier">T</span></code>
|
||||
except where <a class="link" href="../../">compiler
|
||||
workarounds</a> have been applied.
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
@ -54,7 +50,7 @@
|
||||
or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
<div class="table">
|
||||
<a name="boost_typetraits.reference.remove_all_extents.examples"></a><p class="title"><b>Table 1.25. Examples</b></p>
|
||||
<a name="boost_typetraits.reference.remove_all_extents.examples"></a><p class="title"><b>Table 1.26. Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -40,12 +40,8 @@
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.3.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
|
||||
does not support partial specialization of class-templates then this template
|
||||
will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code>
|
||||
will always be the same as type <code class="computeroutput"><span class="identifier">T</span></code>
|
||||
except where <a class="link" href="../../">compiler
|
||||
workarounds</a> have been applied.
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
@ -53,7 +49,7 @@
|
||||
or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
<div class="table">
|
||||
<a name="boost_typetraits.reference.remove_const.examples"></a><p class="title"><b>Table 1.26. Examples</b></p>
|
||||
<a name="boost_typetraits.reference.remove_const.examples"></a><p class="title"><b>Table 1.27. Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -40,12 +40,8 @@
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.3.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
|
||||
does not support partial specialization of class-templates then this template
|
||||
will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code>
|
||||
will always be the same as type <code class="computeroutput"><span class="identifier">T</span></code>
|
||||
except where <a class="link" href="../../">compiler
|
||||
workarounds</a> have been applied.
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
@ -53,7 +49,7 @@
|
||||
or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
<div class="table">
|
||||
<a name="boost_typetraits.reference.remove_cv.examples"></a><p class="title"><b>Table 1.27. Examples</b></p>
|
||||
<a name="boost_typetraits.reference.remove_cv.examples"></a><p class="title"><b>Table 1.28. Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -41,12 +41,8 @@
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 8.3.4.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
|
||||
does not support partial specialization of class-templates then this template
|
||||
will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code>
|
||||
will always be the same as type <code class="computeroutput"><span class="identifier">T</span></code>
|
||||
except where <a class="link" href="../../">compiler
|
||||
workarounds</a> have been applied.
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
@ -54,7 +50,7 @@
|
||||
or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
<div class="table">
|
||||
<a name="boost_typetraits.reference.remove_extent.examples"></a><p class="title"><b>Table 1.28. Examples</b></p>
|
||||
<a name="boost_typetraits.reference.remove_extent.examples"></a><p class="title"><b>Table 1.29. Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -42,12 +42,8 @@
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 8.3.1.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
|
||||
does not support partial specialization of class-templates then this template
|
||||
will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code>
|
||||
will always be the same as type <code class="computeroutput"><span class="identifier">T</span></code>
|
||||
except where <a class="link" href="../../">compiler
|
||||
workarounds</a> have been applied.
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
@ -55,7 +51,7 @@
|
||||
or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
<div class="table">
|
||||
<a name="boost_typetraits.reference.remove_pointer.examples"></a><p class="title"><b>Table 1.29. Examples</b></p>
|
||||
<a name="boost_typetraits.reference.remove_pointer.examples"></a><p class="title"><b>Table 1.30. Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -40,12 +40,8 @@
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 8.3.2.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
|
||||
does not support partial specialization of class-templates then this template
|
||||
will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code>
|
||||
will always be the same as type <code class="computeroutput"><span class="identifier">T</span></code>
|
||||
except where <a class="link" href="../../">compiler
|
||||
workarounds</a> have been applied.
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
@ -53,7 +49,7 @@
|
||||
or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
<div class="table">
|
||||
<a name="boost_typetraits.reference.remove_reference.examples"></a><p class="title"><b>Table 1.30. Examples</b></p>
|
||||
<a name="boost_typetraits.reference.remove_reference.examples"></a><p class="title"><b>Table 1.31. Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -7,7 +7,7 @@
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="remove_reference.html" title="remove_reference">
|
||||
<link rel="next" href="type_with_alignment.html" title="type_with_alignment">
|
||||
<link rel="next" href="type_identity.html" title="type_identity">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
@ -20,7 +20,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="remove_reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_with_alignment.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="remove_reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_identity.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
@ -40,12 +40,8 @@
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.3.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> If the compiler
|
||||
does not support partial specialization of class-templates then this template
|
||||
will compile, but the member <code class="computeroutput"><span class="identifier">type</span></code>
|
||||
will always be the same as type <code class="computeroutput"><span class="identifier">T</span></code>
|
||||
except where <a class="link" href="../../">compiler
|
||||
workarounds</a> have been applied.
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers
|
||||
are supported by this trait.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
@ -53,7 +49,7 @@
|
||||
or <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
</p>
|
||||
<div class="table">
|
||||
<a name="boost_typetraits.reference.remove_volatile.examples"></a><p class="title"><b>Table 1.31. Examples</b></p>
|
||||
<a name="boost_typetraits.reference.remove_volatile.examples"></a><p class="title"><b>Table 1.32. Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
@ -155,7 +151,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="remove_reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_with_alignment.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="remove_reference.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_identity.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -6,7 +6,7 @@
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="remove_volatile.html" title="remove_volatile">
|
||||
<link rel="prev" href="type_identity.html" title="type_identity">
|
||||
<link rel="next" href="../history.html" title="History">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
@ -20,7 +20,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="remove_volatile.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../history.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="type_identity.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../history.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
@ -56,7 +56,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="remove_volatile.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../history.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="type_identity.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../history.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -94,7 +94,9 @@
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/alignment_of.html">alignment_of</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/conditional.html">conditional</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/common_type.html">common_type</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/copy_cv.html">copy_cv</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/decay.html">decay</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/declval.html">declval</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/extent.html">extent</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/floating_point_promotion.html">floating_point_promotion</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/function_traits.html">function_traits</a></span></dt>
|
||||
@ -130,6 +132,7 @@
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/has_nothrow_assign.html">has_nothrow_assign</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/has_nothrow_constructor.html">has_nothrow_constructor</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/has_nothrow_copy.html">has_nothrow_copy</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/has_nothrow_destruct.html">has_nothrow_destructor</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/has_nothrow_cp_cons.html">has_nothrow_copy_constructor</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/has_no_throw_def_cons.html">has_nothrow_default_constructor</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/has_plus.html">has_plus</a></span></dt>
|
||||
@ -156,14 +159,18 @@
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/is_abstract.html">is_abstract</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/is_arithmetic.html">is_arithmetic</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/is_array.html">is_array</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/is_assignable.html">is_assignable</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/is_base_of.html">is_base_of</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/is_class.html">is_class</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/is_complex.html">is_complex</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/is_compound.html">is_compound</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/is_const.html">is_const</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/is_constructible.html">is_constructible</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/is_convertible.html">is_convertible</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/is_copy_constructible.html">is_copy_constructible</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/is_copy_assignable.html">is_copy_assignable</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/is_copy_constructible.html">is_copy_constructible</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/is_default_constructible.html">is_default_constructible</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/is_destructible.html">is_destructible</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/is_empty.html">is_empty</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/is_enum.html">is_enum</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/is_final.html">is_final</a></span></dt>
|
||||
@ -203,6 +210,7 @@
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/remove_pointer.html">remove_pointer</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/remove_reference.html">remove_reference</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/remove_volatile.html">remove_volatile</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/type_identity.html">type_identity</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typetraits/reference/type_with_alignment.html">type_with_alignment</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="section"><a href="boost_typetraits/history.html">History</a></span></dt>
|
||||
|
@ -24,7 +24,7 @@
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="id1068512"></a>Class Index</h2></div></div></div>
|
||||
<a name="id1067464"></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>
|
||||
@ -48,13 +48,16 @@
|
||||
<dt>
|
||||
<a name="idx_id_2"></a><span class="term">C</span>
|
||||
</dt>
|
||||
<dd><div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none">
|
||||
<dd><div class="index"><ul class="index" style="list-style-type: none; ">
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">common_type</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; ">
|
||||
<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/common_type.html" title="common_type"><span class="index-entry-level-1">common_type</span></a></strong></span></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/examples/improved_min.html" title="Improving std::min with common_type"><span class="index-entry-level-1">Improving std::min with common_type</span></a></p></li>
|
||||
</ul></div>
|
||||
</li></ul></div></dd>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/copy_cv.html" title="copy_cv"><span class="index-entry-level-0">copy_cv</span></a></p></li>
|
||||
</ul></div></dd>
|
||||
<dt>
|
||||
<a name="idx_id_3"></a><span class="term">D</span>
|
||||
</dt>
|
||||
@ -164,6 +167,7 @@
|
||||
<p><span class="index-entry-level-0">has_nothrow_default_constructor</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_nothrow_constructor.html" title="has_nothrow_constructor"><span class="index-entry-level-1">has_nothrow_constructor</span></a></p></li></ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_nothrow_destruct.html" title="has_nothrow_destructor"><span class="index-entry-level-0">has_nothrow_destructor</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_not_equal_to.html" title="has_not_equal_to"><span class="index-entry-level-0">has_not_equal_to</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">has_operator</span></p>
|
||||
@ -177,6 +181,7 @@
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_pre_increment.html" title="has_pre_increment"><span class="index-entry-level-0">has_pre_increment</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_right_shift.html" title="has_right_shift"><span class="index-entry-level-0">has_right_shift</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_right_shift_assign.html" title="has_right_shift_assign"><span class="index-entry-level-0">has_right_shift_assign</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_assign.html" title="has_trivial_assign"><span class="index-entry-level-0">has_trivial_assign</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_copy.html" title="has_trivial_copy"><span class="index-entry-level-0">has_trivial_copy</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">has_trivial_copy_constructor</span></p>
|
||||
@ -187,6 +192,7 @@
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_constructor.html" title="has_trivial_constructor"><span class="index-entry-level-1">has_trivial_constructor</span></a></p></li></ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_destructor.html" title="has_trivial_destructor"><span class="index-entry-level-0">has_trivial_destructor</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_move_assign.html" title="has_trivial_move_assign"><span class="index-entry-level-0">has_trivial_move_assign</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_move_constructor.html" title="has_trivial_move_constructor"><span class="index-entry-level-0">has_trivial_move_constructor</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">has_unary_minus</span></p>
|
||||
@ -216,6 +222,7 @@
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_abstract.html" title="is_abstract"><span class="index-entry-level-0">is_abstract</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_arithmetic.html" title="is_arithmetic"><span class="index-entry-level-0">is_arithmetic</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_array.html" title="is_array"><span class="index-entry-level-0">is_array</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_assignable.html" title="is_assignable"><span class="index-entry-level-0">is_assignable</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_base_of.html" title="is_base_of"><span class="index-entry-level-0">is_base_of</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">is_class</span></p>
|
||||
@ -227,9 +234,12 @@
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_complex.html" title="is_complex"><span class="index-entry-level-0">is_complex</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_compound.html" title="is_compound"><span class="index-entry-level-0">is_compound</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_const.html" title="is_const"><span class="index-entry-level-0">is_const</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_constructible.html" title="is_constructible"><span class="index-entry-level-0">is_constructible</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_convertible.html" title="is_convertible"><span class="index-entry-level-0">is_convertible</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_copy_assignable.html" title="is_copy_assignable"><span class="index-entry-level-0">is_copy_assignable</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_copy_constructible.html" title="is_copy_constructible"><span class="index-entry-level-0">is_copy_constructible</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_default_constructible.html" title="is_default_constructible"><span class="index-entry-level-0">is_default_constructible</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_destructible.html" title="is_destructible"><span class="index-entry-level-0">is_destructible</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_empty.html" title="is_empty"><span class="index-entry-level-0">is_empty</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_enum.html" title="is_enum"><span class="index-entry-level-0">is_enum</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_final.html" title="is_final"><span class="index-entry-level-0">is_final</span></a></p></li>
|
||||
@ -388,6 +398,7 @@
|
||||
<p><span class="index-entry-level-0">trait_impl1</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/category/value_traits/operators.html" title="Operator Type Traits"><span class="index-entry-level-1">Operator Type Traits</span></a></p></li></ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/type_identity.html" title="type_identity"><span class="index-entry-level-0">type_identity</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/type_with_alignment.html" title="type_with_alignment"><span class="index-entry-level-0">type_with_alignment</span></a></p></li>
|
||||
</ul></div></dd>
|
||||
</dl></div>
|
||||
|
@ -24,7 +24,7 @@
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="id1071628"></a>Typedef Index</h2></div></div></div>
|
||||
<a name="id1071155"></a>Typedef Index</h2></div></div></div>
|
||||
<p><a class="link" href="s12.html#idx_id_21">F</a> <a class="link" href="s12.html#idx_id_28">R</a> <a class="link" href="s12.html#idx_id_29">T</a> <a class="link" href="s12.html#idx_id_31">V</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="id1071822"></a>Macro Index</h2></div></div></div>
|
||||
<a name="id1069153"></a>Macro Index</h2></div></div></div>
|
||||
<p><a class="link" href="s13.html#idx_id_33">B</a></p>
|
||||
<div class="variablelist"><dl class="variablelist">
|
||||
<dt>
|
||||
@ -36,16 +36,13 @@
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li></ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">BOOST_COMMON_TYPE_DONT_USE_TYPEOF</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/common_type.html" title="common_type"><span class="index-entry-level-1">common_type</span></a></p></li></ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">BOOST_HAS_NOTHROW_ASSIGN</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li></ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">BOOST_HAS_NOTHROW_CONSTRUCTOR</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; ">
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_nothrow_assign.html" title="has_nothrow_assign"><span class="index-entry-level-1">has_nothrow_assign</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_nothrow_constructor.html" title="has_nothrow_constructor"><span class="index-entry-level-1">has_nothrow_constructor</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li>
|
||||
</ul></div>
|
||||
@ -116,10 +113,7 @@
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">BOOST_IS_CLASS</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; ">
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_class.html" title="is_class"><span class="index-entry-level-1">is_class</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li>
|
||||
</ul></div>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li></ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">BOOST_IS_CONVERTIBLE</span></p>
|
||||
@ -169,6 +163,10 @@
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li>
|
||||
</ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_class.html" title="is_class"><span class="index-entry-level-1">is_class</span></a></p></li></ul></div>
|
||||
</li>
|
||||
</ul></div></dd>
|
||||
</dl></div>
|
||||
</div>
|
||||
|
@ -23,7 +23,7 @@
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="id1072464"></a>Index</h2></div></div></div>
|
||||
<a name="id1069797"></a>Index</h2></div></div></div>
|
||||
<p><a class="link" href="s14.html#idx_id_48">A</a> <a class="link" href="s14.html#idx_id_49">B</a> <a class="link" href="s14.html#idx_id_50">C</a> <a class="link" href="s14.html#idx_id_51">D</a> <a class="link" href="s14.html#idx_id_52">E</a> <a class="link" href="s14.html#idx_id_53">F</a> <a class="link" href="s14.html#idx_id_54">H</a> <a class="link" href="s14.html#idx_id_55">I</a> <a class="link" href="s14.html#idx_id_56">M</a> <a class="link" href="s14.html#idx_id_57">N</a> <a class="link" href="s14.html#idx_id_58">O</a> <a class="link" href="s14.html#idx_id_59">P</a> <a class="link" href="s14.html#idx_id_60">R</a> <a class="link" href="s14.html#idx_id_61">T</a> <a class="link" href="s14.html#idx_id_62">U</a> <a class="link" href="s14.html#idx_id_63">V</a></p>
|
||||
<div class="variablelist"><dl class="variablelist">
|
||||
<dt>
|
||||
@ -67,16 +67,13 @@
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li></ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">BOOST_COMMON_TYPE_DONT_USE_TYPEOF</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/common_type.html" title="common_type"><span class="index-entry-level-1">common_type</span></a></p></li></ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">BOOST_HAS_NOTHROW_ASSIGN</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li></ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">BOOST_HAS_NOTHROW_CONSTRUCTOR</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; ">
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_nothrow_assign.html" title="has_nothrow_assign"><span class="index-entry-level-1">has_nothrow_assign</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_nothrow_constructor.html" title="has_nothrow_constructor"><span class="index-entry-level-1">has_nothrow_constructor</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li>
|
||||
</ul></div>
|
||||
@ -147,10 +144,7 @@
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">BOOST_IS_CLASS</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; ">
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_class.html" title="is_class"><span class="index-entry-level-1">is_class</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li>
|
||||
</ul></div>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li></ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">BOOST_IS_CONVERTIBLE</span></p>
|
||||
@ -200,18 +194,24 @@
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/intrinsics.html#boost_typetraits.intrinsics.macros_for_compiler_intrinsics" title="Table 1.9. Macros for Compiler Intrinsics"><span class="index-entry-level-1">Macros for Compiler Intrinsics</span></a></p></li>
|
||||
</ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_class.html" title="is_class"><span class="index-entry-level-1">is_class</span></a></p></li></ul></div>
|
||||
</li>
|
||||
</ul></div></dd>
|
||||
<dt>
|
||||
<a name="idx_id_50"></a><span class="term">C</span>
|
||||
</dt>
|
||||
<dd><div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none">
|
||||
<dd><div class="index"><ul class="index" style="list-style-type: none; ">
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">common_type</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; ">
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/common_type.html" title="common_type"><span class="index-entry-level-1">BOOST_COMMON_TYPE_DONT_USE_TYPEOF</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/common_type.html" title="common_type"><span class="index-entry-level-1">common_type</span></a></strong></span></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/examples/improved_min.html" title="Improving std::min with common_type"><span class="index-entry-level-1">Improving std::min with common_type</span></a></p></li>
|
||||
</ul></div>
|
||||
</li></ul></div></dd>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/copy_cv.html" title="copy_cv"><span class="index-entry-level-0">copy_cv</span></a></p></li>
|
||||
</ul></div></dd>
|
||||
<dt>
|
||||
<a name="idx_id_51"></a><span class="term">D</span>
|
||||
</dt>
|
||||
@ -512,6 +512,10 @@
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_new_operator.html" title="has_new_operator"><span class="index-entry-level-0">has_new_operator</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">has_nothrow_assign</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_nothrow_assign.html" title="has_nothrow_assign"><span class="index-entry-level-1">BOOST_HAS_NOTHROW_CONSTRUCTOR</span></a></p></li></ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">has_nothrow_constructor</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; ">
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_nothrow_constructor.html" title="has_nothrow_constructor"><span class="index-entry-level-1">BOOST_HAS_NOTHROW_CONSTRUCTOR</span></a></p></li>
|
||||
@ -535,6 +539,7 @@
|
||||
<p><span class="index-entry-level-0">has_nothrow_default_constructor</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_nothrow_constructor.html" title="has_nothrow_constructor"><span class="index-entry-level-1">has_nothrow_constructor</span></a></p></li></ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_nothrow_destruct.html" title="has_nothrow_destructor"><span class="index-entry-level-0">has_nothrow_destructor</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">has_not_equal_to</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; ">
|
||||
@ -613,7 +618,10 @@
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">has_trivial_assign</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_assign.html" title="has_trivial_assign"><span class="index-entry-level-1">BOOST_HAS_TRIVIAL_ASSIGN</span></a></p></li></ul></div>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; ">
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_assign.html" title="has_trivial_assign"><span class="index-entry-level-1">BOOST_HAS_TRIVIAL_ASSIGN</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_trivial_assign.html" title="has_trivial_assign"><span class="index-entry-level-1">has_trivial_assign</span></a></strong></span></p></li>
|
||||
</ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">has_trivial_constructor</span></p>
|
||||
@ -647,7 +655,10 @@
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">has_trivial_move_assign</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_move_assign.html" title="has_trivial_move_assign"><span class="index-entry-level-1">BOOST_HAS_TRIVIAL_MOVE_ASSIGN</span></a></p></li></ul></div>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; ">
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/has_trivial_move_assign.html" title="has_trivial_move_assign"><span class="index-entry-level-1">BOOST_HAS_TRIVIAL_MOVE_ASSIGN</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/has_trivial_move_assign.html" title="has_trivial_move_assign"><span class="index-entry-level-1">has_trivial_move_assign</span></a></strong></span></p></li>
|
||||
</ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">has_trivial_move_constructor</span></p>
|
||||
@ -706,11 +717,12 @@
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_abstract.html" title="is_abstract"><span class="index-entry-level-0">is_abstract</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_arithmetic.html" title="is_arithmetic"><span class="index-entry-level-0">is_arithmetic</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_array.html" title="is_array"><span class="index-entry-level-0">is_array</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_assignable.html" title="is_assignable"><span class="index-entry-level-0">is_assignable</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_base_of.html" title="is_base_of"><span class="index-entry-level-0">is_base_of</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">is_class</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; ">
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_class.html" title="is_class"><span class="index-entry-level-1">BOOST_IS_CLASS</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_class.html" title="is_class"><span class="index-entry-level-1">BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../boost_typetraits/reference/is_class.html" title="is_class"><span class="index-entry-level-1">is_class</span></a></strong></span></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/user_defined.html" title="User Defined Specializations"><span class="index-entry-level-1">User Defined Specializations</span></a></p></li>
|
||||
</ul></div>
|
||||
@ -718,6 +730,7 @@
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_complex.html" title="is_complex"><span class="index-entry-level-0">is_complex</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_compound.html" title="is_compound"><span class="index-entry-level-0">is_compound</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_const.html" title="is_const"><span class="index-entry-level-0">is_const</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_constructible.html" title="is_constructible"><span class="index-entry-level-0">is_constructible</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_convertible.html" title="is_convertible"><span class="index-entry-level-0">is_convertible</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">is_convertible_to_Ret</span></p>
|
||||
@ -725,6 +738,8 @@
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_copy_assignable.html" title="is_copy_assignable"><span class="index-entry-level-0">is_copy_assignable</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_copy_constructible.html" title="is_copy_constructible"><span class="index-entry-level-0">is_copy_constructible</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_default_constructible.html" title="is_default_constructible"><span class="index-entry-level-0">is_default_constructible</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/is_destructible.html" title="is_destructible"><span class="index-entry-level-0">is_destructible</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">is_empty</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; ">
|
||||
@ -984,6 +999,7 @@
|
||||
<p><span class="index-entry-level-0">true_type</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/integral_constant.html" title="integral_constant"><span class="index-entry-level-1">integral_constant</span></a></p></li></ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/type_identity.html" title="type_identity"><span class="index-entry-level-0">type_identity</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/type_with_alignment.html" title="type_with_alignment"><span class="index-entry-level-0">type_with_alignment</span></a></p></li>
|
||||
</ul></div></dd>
|
||||
<dt>
|
||||
|
@ -37,6 +37,15 @@ struct deleted_default_construct
|
||||
|
||||
#endif
|
||||
|
||||
struct private_default_construct
|
||||
{
|
||||
private:
|
||||
private_default_construct();
|
||||
public:
|
||||
private_default_construct(char val) : member(val) {}
|
||||
char member;
|
||||
};
|
||||
|
||||
#ifndef BOOST_NO_CXX11_NOEXCEPT
|
||||
struct noexcept_default_construct
|
||||
{
|
||||
@ -201,6 +210,7 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<bug11324_derived>::v
|
||||
#ifndef BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<deleted_default_construct>::value, false);
|
||||
#endif
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<private_default_construct>::value, false);
|
||||
#ifndef BOOST_NO_CXX11_NOEXCEPT
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<noexcept_default_construct>::value, true);
|
||||
#endif
|
||||
|
@ -12,6 +12,13 @@
|
||||
# include <boost/type_traits/has_nothrow_copy.hpp>
|
||||
#endif
|
||||
|
||||
struct non_copy
|
||||
{
|
||||
non_copy();
|
||||
private:
|
||||
non_copy(const non_copy&);
|
||||
};
|
||||
|
||||
#ifndef BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
|
||||
struct delete_copy
|
||||
@ -230,6 +237,10 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<delete_copy>::value, false)
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<noexcept_copy>::value, true);
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_NO_CXX11_DECLTYPE) && !BOOST_WORKAROUND(BOOST_MSVC, < 1800)
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<non_copy>::value, false);
|
||||
#endif
|
||||
|
||||
TT_TEST_END
|
||||
|
||||
|
||||
|
@ -12,6 +12,13 @@
|
||||
# include <boost/type_traits/has_trivial_assign.hpp>
|
||||
#endif
|
||||
|
||||
struct non_assignable
|
||||
{
|
||||
non_assignable();
|
||||
private:
|
||||
non_assignable& operator=(const non_assignable&);
|
||||
};
|
||||
|
||||
#ifndef BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
|
||||
struct non_assignable2
|
||||
@ -217,6 +224,7 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<test_abc1>::value, false)
|
||||
#ifndef BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<non_assignable2>::value, false);
|
||||
#endif
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<non_assignable>::value, false);
|
||||
|
||||
TT_TEST_END
|
||||
|
||||
|
@ -27,6 +27,13 @@ public:
|
||||
explicit bug11324_derived(char arg) : data(arg) {}
|
||||
};
|
||||
|
||||
struct private_construct
|
||||
{
|
||||
private_construct(int);
|
||||
private:
|
||||
private_construct();
|
||||
};
|
||||
|
||||
#ifndef BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
|
||||
struct deleted_construct
|
||||
@ -197,6 +204,7 @@ BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<wrap<trivial_ex
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<test_abc1>::value, false);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<bug11324_derived>::value, false);
|
||||
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<private_construct>::value, false);
|
||||
#ifndef BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<deleted_construct>::value, false);
|
||||
#endif
|
||||
|
@ -25,6 +25,13 @@ public:
|
||||
|
||||
#endif
|
||||
|
||||
struct private_copy
|
||||
{
|
||||
private_copy();
|
||||
private:
|
||||
private_copy(const private_copy&);
|
||||
};
|
||||
|
||||
TT_TEST_BEGIN(has_trivial_copy)
|
||||
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<bool>::value, true);
|
||||
@ -220,6 +227,7 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<test_abc1>::value, false);
|
||||
#ifndef BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<bug_10389>::value, false);
|
||||
#endif
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<private_copy>::value, false);
|
||||
|
||||
TT_TEST_END
|
||||
|
||||
|
@ -22,6 +22,13 @@ struct deleted_destruct
|
||||
|
||||
#endif
|
||||
|
||||
struct private_destruct
|
||||
{
|
||||
private_destruct();
|
||||
private:
|
||||
~private_destruct();
|
||||
};
|
||||
|
||||
TT_TEST_BEGIN(has_trivial_destructor)
|
||||
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<bool>::value, true);
|
||||
@ -180,6 +187,7 @@ BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<wrap<trivial_exc
|
||||
BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<wrap<trivial_except_construct> >::value, true, false);
|
||||
BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<wrap<trivial_except_assign> >::value, true, false);
|
||||
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<private_destruct>::value, false);
|
||||
#ifndef BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<deleted_destruct>::value, false);
|
||||
#endif
|
||||
|
@ -37,6 +37,15 @@ struct deleted_default_construct
|
||||
|
||||
#endif
|
||||
|
||||
struct private_default_construct
|
||||
{
|
||||
private:
|
||||
private_default_construct();
|
||||
public:
|
||||
private_default_construct(char val) : member(val) {}
|
||||
char member;
|
||||
};
|
||||
|
||||
TT_TEST_BEGIN(is_default_constructible)
|
||||
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_default_constructible<bool>::value, true);
|
||||
@ -189,6 +198,7 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_default_constructible<bug11324_derived>::
|
||||
#ifndef BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_default_constructible<deleted_default_construct>::value, false);
|
||||
#endif
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_default_constructible<private_default_construct>::value, false);
|
||||
|
||||
TT_TEST_END
|
||||
|
||||
|
@ -14,6 +14,13 @@
|
||||
# include <boost/type_traits/is_nothrow_move_constructible.hpp>
|
||||
#endif
|
||||
|
||||
struct non_copy
|
||||
{
|
||||
non_copy();
|
||||
private:
|
||||
non_copy(const non_copy&);
|
||||
};
|
||||
|
||||
#ifndef BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
|
||||
struct delete_copy
|
||||
@ -238,6 +245,8 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_constructible<nothrow_assign
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_constructible<nothrow_construct_UDT>::value, false);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_constructible<test_abc1>::value, false);
|
||||
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_constructible<non_copy>::value, false);
|
||||
|
||||
#ifndef BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_constructible<delete_copy>::value, false);
|
||||
#endif
|
||||
|
@ -1,71 +0,0 @@
|
||||
|
||||
// (C) Copyright John Maddock 2015.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#include "test.hpp"
|
||||
#include "check_integral_constant.hpp"
|
||||
#ifdef TEST_STD
|
||||
# include <type_traits>
|
||||
#else
|
||||
# include <boost/type_traits.hpp>
|
||||
#endif
|
||||
|
||||
struct private_default_construct
|
||||
{
|
||||
private:
|
||||
private_default_construct();
|
||||
public:
|
||||
private_default_construct(char val) : member(val) {}
|
||||
char member;
|
||||
};
|
||||
|
||||
struct non_copy
|
||||
{
|
||||
non_copy();
|
||||
private:
|
||||
non_copy(const non_copy&);
|
||||
};
|
||||
|
||||
struct non_assignable
|
||||
{
|
||||
non_assignable();
|
||||
private:
|
||||
non_assignable& operator=(const non_assignable&);
|
||||
};
|
||||
|
||||
struct private_copy
|
||||
{
|
||||
private_copy();
|
||||
private:
|
||||
private_copy(const private_copy&);
|
||||
};
|
||||
|
||||
struct private_destruct
|
||||
{
|
||||
private_destruct();
|
||||
private:
|
||||
~private_destruct();
|
||||
};
|
||||
|
||||
|
||||
|
||||
TT_TEST_BEGIN(tricky_private_members_test)
|
||||
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<private_default_construct>::value, false);
|
||||
#if !defined(BOOST_NO_CXX11_DECLTYPE) && !BOOST_WORKAROUND(BOOST_MSVC, < 1800)
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<non_copy>::value, false);
|
||||
#endif
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<non_assignable>::value, false);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<private_default_construct>::value, false);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<private_copy>::value, false);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_destructor<private_destruct>::value, false);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_default_constructible<private_default_construct>::value, false);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_constructible<non_copy>::value, false);
|
||||
|
||||
|
||||
|
||||
TT_TEST_END
|
||||
|
||||
|
Reference in New Issue
Block a user