Add macro to indicate when is_constructible is fully implemented.

Fixes: https://svn.boost.org/trac10/ticket/12003
[SKIP CI]
This commit is contained in:
jzmaddock
2018-02-02 19:24:52 +00:00
parent 30b029d937
commit 33bd73e26d
7 changed files with 25 additions and 6 deletions

View File

@ -70,7 +70,9 @@
the C++11 features <code class="computeroutput"><span class="keyword">decltype</span></code>
variadic templates and SFINAE-expression support for full support. While
there is some fallback code for cases where this is not the case, the trait
should really be considered broken in that case.
should really be considered broken in that case. The header will define the
macro <code class="computeroutput"><span class="identifier">BOOST_TT_IS_CONSTRUCTIBLE_CONFORMING</span></code>
when the full implementation is available.
</p>
<p>
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>

View File

@ -24,7 +24,7 @@
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id1660500"></a>Class Index</h2></div></div></div>
<a name="id1652848"></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>

View File

@ -24,7 +24,7 @@
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id1663998"></a>Typedef Index</h2></div></div></div>
<a name="id1657318"></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>

View File

@ -24,7 +24,7 @@
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id1664189"></a>Macro Index</h2></div></div></div>
<a name="id1657546"></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>
@ -167,6 +167,10 @@
<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>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_TT_IS_CONSTRUCTIBLE_CONFORMING</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_constructible.html" title="is_constructible"><span class="index-entry-level-1">is_constructible</span></a></p></li></ul></div>
</li>
</ul></div></dd>
</dl></div>
</div>

View File

@ -23,7 +23,7 @@
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id1662629"></a>Index</h2></div></div></div>
<a name="id1655963"></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>
@ -198,6 +198,10 @@
<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>
<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">BOOST_TT_IS_CONSTRUCTIBLE_CONFORMING</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_constructible.html" title="is_constructible"><span class="index-entry-level-1">is_constructible</span></a></p></li></ul></div>
</li>
</ul></div></dd>
<dt>
<a name="idx_id_50"></a><span class="term">C</span>
@ -733,7 +737,13 @@
<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><span class="index-entry-level-0">is_constructible</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_constructible.html" title="is_constructible"><span class="index-entry-level-1">BOOST_TT_IS_CONSTRUCTIBLE_CONFORMING</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_constructible.html" title="is_constructible"><span class="index-entry-level-1">is_constructible</span></a></strong></span></p></li>
</ul></div>
</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>

View File

@ -37,6 +37,7 @@ Indicates whether `T` is move-constructible.
__compat This trait requires the C++11 features `decltype` variadic templates and SFINAE-expression support for full support.
While there is some fallback code for cases where this is not the case, the trait should really be considered broken in that case.
The header will define the macro `BOOST_TT_IS_CONSTRUCTIBLE_CONFORMING` when the full implementation is available.
__header ` #include <boost/type_traits/is_copy_constructible.hpp>` or ` #include <boost/type_traits.hpp>`

View File

@ -19,6 +19,8 @@
#include <boost/type_traits/detail/yes_no_type.hpp>
#include <boost/type_traits/declval.hpp>
#define BOOST_TT_IS_CONSTRUCTIBLE_CONFORMING 1
namespace boost{
namespace detail{