diff options
author | DongHun Kwak <dh0128.kwak@samsung.com> | 2017-09-13 11:08:07 +0900 |
---|---|---|
committer | DongHun Kwak <dh0128.kwak@samsung.com> | 2017-09-13 11:09:00 +0900 |
commit | b5c87084afaef42b2d058f68091be31988a6a874 (patch) | |
tree | adef9a65870a41181687e11d57fdf98e7629de3c /libs/type_traits | |
parent | 34bd32e225e2a8a94104489b31c42e5801cc1f4a (diff) | |
download | boost-b5c87084afaef42b2d058f68091be31988a6a874.tar.gz boost-b5c87084afaef42b2d058f68091be31988a6a874.tar.bz2 boost-b5c87084afaef42b2d058f68091be31988a6a874.zip |
Imported Upstream version 1.64.0upstream/1.64.0
Change-Id: Id9212edd016dd55f21172c427aa7894d1d24148b
Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
Diffstat (limited to 'libs/type_traits')
29 files changed, 337 insertions, 46 deletions
diff --git a/libs/type_traits/doc/history.qbk b/libs/type_traits/doc/history.qbk index 45abeef476..ed49f57fa3 100644 --- a/libs/type_traits/doc/history.qbk +++ b/libs/type_traits/doc/history.qbk @@ -7,7 +7,11 @@ [section:history History] -[h4 Boost 1.60.0 ???] +[h4 Boost 1.64.0] + +* Added new trait __make_void. + +[h4 Boost 1.60.0] * Refactored traits to depend only on Boost.Config. Greatly simplified code to improve readability and remove workarounds for old compilers no longer supported. * Fix __decay to follow C++11 semantics, see [@https://svn.boost.org/trac/boost/ticket/7760 #7760]. diff --git a/libs/type_traits/doc/html/boost_typetraits/history.html b/libs/type_traits/doc/html/boost_typetraits/history.html index 966697528b..3dcf2fb204 100644 --- a/libs/type_traits/doc/html/boost_typetraits/history.html +++ b/libs/type_traits/doc/html/boost_typetraits/history.html @@ -28,8 +28,16 @@ </h2></div></div></div> <h5> <a name="boost_typetraits.history.h0"></a> - <span class="phrase"><a name="boost_typetraits.history.boost_1_60_0____"></a></span><a class="link" href="history.html#boost_typetraits.history.boost_1_60_0____">Boost - 1.60.0 ???</a> + <span class="phrase"><a name="boost_typetraits.history.boost_1_64_0"></a></span><a class="link" href="history.html#boost_typetraits.history.boost_1_64_0">Boost + 1.64.0</a> + </h5> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> + Added new trait <a class="link" href="reference/make_void.html" title="make_void">make_void</a>. + </li></ul></div> +<h5> +<a name="boost_typetraits.history.h1"></a> + <span class="phrase"><a name="boost_typetraits.history.boost_1_60_0"></a></span><a class="link" href="history.html#boost_typetraits.history.boost_1_60_0">Boost + 1.60.0</a> </h5> <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> <li class="listitem"> @@ -50,7 +58,7 @@ </li> </ul></div> <h5> -<a name="boost_typetraits.history.h1"></a> +<a name="boost_typetraits.history.h2"></a> <span class="phrase"><a name="boost_typetraits.history.boost_1_58_0"></a></span><a class="link" href="history.html#boost_typetraits.history.boost_1_58_0">Boost 1.58.0</a> </h5> @@ -65,7 +73,7 @@ </li> </ul></div> <h5> -<a name="boost_typetraits.history.h2"></a> +<a name="boost_typetraits.history.h3"></a> <span class="phrase"><a name="boost_typetraits.history.boost_1_57_0"></a></span><a class="link" href="history.html#boost_typetraits.history.boost_1_57_0">Boost 1.57.0</a> </h5> @@ -79,7 +87,7 @@ </li> </ul></div> <h5> -<a name="boost_typetraits.history.h3"></a> +<a name="boost_typetraits.history.h4"></a> <span class="phrase"><a name="boost_typetraits.history.boost_1_56_0"></a></span><a class="link" href="history.html#boost_typetraits.history.boost_1_56_0">Boost 1.56.0</a> </h5> @@ -88,7 +96,7 @@ <a href="https://svn.boost.org/trac/boost/ticket/9474" target="_top">#9474</a>. </li></ul></div> <h5> -<a name="boost_typetraits.history.h4"></a> +<a name="boost_typetraits.history.h5"></a> <span class="phrase"><a name="boost_typetraits.history.boost_1_55_0"></a></span><a class="link" href="history.html#boost_typetraits.history.boost_1_55_0">Boost 1.55.0</a> </h5> @@ -96,7 +104,7 @@ Added new trait <a class="link" href="reference/is_copy_constructible.html" title="is_copy_constructible">is_copy_constructible</a>. </li></ul></div> <h5> -<a name="boost_typetraits.history.h5"></a> +<a name="boost_typetraits.history.h6"></a> <span class="phrase"><a name="boost_typetraits.history.boost_1_54_0"></a></span><a class="link" href="history.html#boost_typetraits.history.boost_1_54_0">Boost 1.54.0</a> </h5> @@ -107,7 +115,7 @@ <a class="link" href="reference/has_trivial_move_constructor.html" title="has_trivial_move_constructor">has_trivial_move_constructor</a>. </li></ul></div> <h5> -<a name="boost_typetraits.history.h6"></a> +<a name="boost_typetraits.history.h7"></a> <span class="phrase"><a name="boost_typetraits.history.boost_1_47_0"></a></span><a class="link" href="history.html#boost_typetraits.history.boost_1_47_0">Boost 1.47.0</a> </h5> @@ -122,7 +130,7 @@ </li> </ul></div> <h5> -<a name="boost_typetraits.history.h7"></a> +<a name="boost_typetraits.history.h8"></a> <span class="phrase"><a name="boost_typetraits.history.boost_1_45_0"></a></span><a class="link" href="history.html#boost_typetraits.history.boost_1_45_0">Boost 1.45.0</a> </h5> @@ -139,7 +147,7 @@ </li> </ul></div> <h5> -<a name="boost_typetraits.history.h8"></a> +<a name="boost_typetraits.history.h9"></a> <span class="phrase"><a name="boost_typetraits.history.boost_1_44_0"></a></span><a class="link" href="history.html#boost_typetraits.history.boost_1_44_0">Boost 1.44.0</a> </h5> @@ -156,7 +164,7 @@ </li> </ul></div> <h5> -<a name="boost_typetraits.history.h9"></a> +<a name="boost_typetraits.history.h10"></a> <span class="phrase"><a name="boost_typetraits.history.boost_1_42_0"></a></span><a class="link" href="history.html#boost_typetraits.history.boost_1_42_0">Boost 1.42.0</a> </h5> diff --git a/libs/type_traits/doc/html/boost_typetraits/reference.html b/libs/type_traits/doc/html/boost_typetraits/reference.html index bd14b22537..86a32f10a0 100644 --- a/libs/type_traits/doc/html/boost_typetraits/reference.html +++ b/libs/type_traits/doc/html/boost_typetraits/reference.html @@ -145,6 +145,7 @@ <dt><span class="section"><a href="reference/is_volatile.html">is_volatile</a></span></dt> <dt><span class="section"><a href="reference/make_signed.html">make_signed</a></span></dt> <dt><span class="section"><a href="reference/make_unsigned.html">make_unsigned</a></span></dt> +<dt><span class="section"><a href="reference/make_void.html">make_void</a></span></dt> <dt><span class="section"><a href="reference/promote.html">promote</a></span></dt> <dt><span class="section"><a href="reference/rank.html">rank</a></span></dt> <dt><span class="section"><a href="reference/remove_all_extents.html">remove_all_extents</a></span></dt> diff --git a/libs/type_traits/doc/html/boost_typetraits/reference/make_unsigned.html b/libs/type_traits/doc/html/boost_typetraits/reference/make_unsigned.html index 5f72aa233a..42f8b818dc 100644 --- a/libs/type_traits/doc/html/boost_typetraits/reference/make_unsigned.html +++ b/libs/type_traits/doc/html/boost_typetraits/reference/make_unsigned.html @@ -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="make_signed.html" title="make_signed"> -<link rel="next" href="promote.html" title="promote"> +<link rel="next" href="make_void.html" title="make_void"> </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="make_signed.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="promote.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +<a accesskey="p" href="make_signed.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="make_void.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> </div> <div class="section"> <div class="titlepage"><div><div><h3 class="title"> @@ -160,7 +160,7 @@ </tr></table> <hr> <div class="spirit-nav"> -<a accesskey="p" href="make_signed.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="promote.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +<a accesskey="p" href="make_signed.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="make_void.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> </div> </body> </html> diff --git a/libs/type_traits/doc/html/boost_typetraits/reference/make_void.html b/libs/type_traits/doc/html/boost_typetraits/reference/make_void.html new file mode 100644 index 0000000000..c5ca4f2e94 --- /dev/null +++ b/libs/type_traits/doc/html/boost_typetraits/reference/make_void.html @@ -0,0 +1,179 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> +<title>make_void</title> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.79.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="make_unsigned.html" title="make_unsigned"> +<link rel="next" href="promote.html" title="promote"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table cellpadding="2" width="100%"><tr> +<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td> +<td align="center"><a href="../../../../../../index.html">Home</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> +<td align="center"><a href="../../../../../../more/index.htm">More</a></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="make_unsigned.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="promote.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="boost_typetraits.reference.make_void"></a><a class="link" href="make_void.html" title="make_void">make_void</a> +</h3></div></div></div> +<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span><span class="special">...></span> +<span class="keyword">struct</span> <span class="identifier">make_void</span> +<span class="special">{</span> + <span class="keyword">typedef</span> <span class="keyword">void</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="special">...</span> <span class="identifier">Ts</span><span class="special">></span> +<span class="keyword">using</span> <span class="identifier">void_t</span> <span class="special">=</span> <span class="keyword">typename</span> <span class="identifier">make_void</span><span class="special"><</span><span class="identifier">Ts</span><span class="special">...>::</span><span class="identifier">type</span><span class="special">;</span> +</pre> +<p> + <span class="bold"><strong>type:</strong></span> The type <code class="computeroutput"><span class="keyword">void</span></code> + for all <code class="computeroutput"><span class="identifier">T</span></code>. + </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_void</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_void.examples"></a><p class="title"><b>Table 1.25. Examples</b></p> +<div class="table-contents"><table class="table" summary="Examples"> +<colgroup> +<col> +<col> +</colgroup> +<thead><tr> +<th> + <p> + Expression + </p> + </th> +<th> + <p> + Result Type + </p> + </th> +</tr></thead> +<tbody> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">make_void</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + <code class="computeroutput"><span class="keyword">void</span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">make_void</span><span class="special"><</span><span class="keyword">int</span><span class="special">&>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + <code class="computeroutput"><span class="keyword">void</span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">make_void</span><span class="special"><</span><span class="keyword">int</span><span class="special">(*)(</span><span class="keyword">int</span><span class="special">)>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + <code class="computeroutput"><span class="keyword">void</span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">make_void</span><span class="special"><</span><span class="keyword">int</span><span class="special">[]>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + <code class="computeroutput"><span class="keyword">void</span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">make_void</span><span class="special"><</span><span class="keyword">int</span><span class="special">[</span><span class="number">1</span><span class="special">]>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + <code class="computeroutput"><span class="keyword">void</span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">make_void</span><span class="special"><>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + <code class="computeroutput"><span class="keyword">void</span></code> + </p> + </td> +</tr> +<tr> +<td> + <p> + <code class="computeroutput"><span class="identifier">make_void</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">>::</span><span class="identifier">type</span></code> + </p> + </td> +<td> + <p> + <code class="computeroutput"><span class="keyword">void</span></code> + </p> + </td> +</tr> +</tbody> +</table></div> +</div> +<br class="table-break"><p> + <span class="bold"><strong>Compiler Compatibility:</strong></span> All current compilers + are supported by this trait. However, the type alias <code class="computeroutput"><span class="identifier">void_t</span></code> + is only available if the compiler supports template aliases. Further, in + the absence of variadic-template support, <code class="computeroutput"><span class="identifier">make_void</span></code> + only supports up to 5 parameters. + </p> +</div> +<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> +<td align="left"></td> +<td align="right"><div class="copyright-footer">Copyright © 2000, 2011 Adobe Systems Inc, David Abrahams, + Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant, + Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten + Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven + Watanabe<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) + </p> +</div></td> +</tr></table> +<hr> +<div class="spirit-nav"> +<a accesskey="p" href="make_unsigned.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="promote.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +</div> +</body> +</html> diff --git a/libs/type_traits/doc/html/boost_typetraits/reference/promote.html b/libs/type_traits/doc/html/boost_typetraits/reference/promote.html index be0df6325d..9b1faada22 100644 --- a/libs/type_traits/doc/html/boost_typetraits/reference/promote.html +++ b/libs/type_traits/doc/html/boost_typetraits/reference/promote.html @@ -6,7 +6,7 @@ <meta name="generator" content="DocBook XSL Stylesheets V1.79.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="make_unsigned.html" title="make_unsigned"> +<link rel="prev" href="make_void.html" title="make_void"> <link rel="next" href="rank.html" title="rank"> </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="make_unsigned.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="rank.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +<a accesskey="p" href="make_void.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="rank.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> </div> <div class="section"> <div class="titlepage"><div><div><h3 class="title"> @@ -55,7 +55,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.promote.examples"></a><p class="title"><b>Table 1.25. Examples</b></p> +<a name="boost_typetraits.reference.promote.examples"></a><p class="title"><b>Table 1.26. Examples</b></p> <div class="table-contents"><table class="table" summary="Examples"> <colgroup> <col> @@ -129,7 +129,7 @@ </tr></table> <hr> <div class="spirit-nav"> -<a accesskey="p" href="make_unsigned.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="rank.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> +<a accesskey="p" href="make_void.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="rank.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> </div> </body> </html> diff --git a/libs/type_traits/doc/html/boost_typetraits/reference/remove_all_extents.html b/libs/type_traits/doc/html/boost_typetraits/reference/remove_all_extents.html index 9f1d999b82..b3723552a2 100644 --- a/libs/type_traits/doc/html/boost_typetraits/reference/remove_all_extents.html +++ b/libs/type_traits/doc/html/boost_typetraits/reference/remove_all_extents.html @@ -50,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.26. Examples</b></p> +<a name="boost_typetraits.reference.remove_all_extents.examples"></a><p class="title"><b>Table 1.27. Examples</b></p> <div class="table-contents"><table class="table" summary="Examples"> <colgroup> <col> diff --git a/libs/type_traits/doc/html/boost_typetraits/reference/remove_const.html b/libs/type_traits/doc/html/boost_typetraits/reference/remove_const.html index 31bd8df5cf..706e40fcdb 100644 --- a/libs/type_traits/doc/html/boost_typetraits/reference/remove_const.html +++ b/libs/type_traits/doc/html/boost_typetraits/reference/remove_const.html @@ -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.remove_const.examples"></a><p class="title"><b>Table 1.27. Examples</b></p> +<a name="boost_typetraits.reference.remove_const.examples"></a><p class="title"><b>Table 1.28. Examples</b></p> <div class="table-contents"><table class="table" summary="Examples"> <colgroup> <col> diff --git a/libs/type_traits/doc/html/boost_typetraits/reference/remove_cv.html b/libs/type_traits/doc/html/boost_typetraits/reference/remove_cv.html index ee2ddf6d16..262437df5f 100644 --- a/libs/type_traits/doc/html/boost_typetraits/reference/remove_cv.html +++ b/libs/type_traits/doc/html/boost_typetraits/reference/remove_cv.html @@ -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.remove_cv.examples"></a><p class="title"><b>Table 1.28. Examples</b></p> +<a name="boost_typetraits.reference.remove_cv.examples"></a><p class="title"><b>Table 1.29. Examples</b></p> <div class="table-contents"><table class="table" summary="Examples"> <colgroup> <col> diff --git a/libs/type_traits/doc/html/boost_typetraits/reference/remove_extent.html b/libs/type_traits/doc/html/boost_typetraits/reference/remove_extent.html index c9918a31a7..09b50dd104 100644 --- a/libs/type_traits/doc/html/boost_typetraits/reference/remove_extent.html +++ b/libs/type_traits/doc/html/boost_typetraits/reference/remove_extent.html @@ -50,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.29. Examples</b></p> +<a name="boost_typetraits.reference.remove_extent.examples"></a><p class="title"><b>Table 1.30. Examples</b></p> <div class="table-contents"><table class="table" summary="Examples"> <colgroup> <col> diff --git a/libs/type_traits/doc/html/boost_typetraits/reference/remove_pointer.html b/libs/type_traits/doc/html/boost_typetraits/reference/remove_pointer.html index fdcd481003..f7be89b289 100644 --- a/libs/type_traits/doc/html/boost_typetraits/reference/remove_pointer.html +++ b/libs/type_traits/doc/html/boost_typetraits/reference/remove_pointer.html @@ -51,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.30. Examples</b></p> +<a name="boost_typetraits.reference.remove_pointer.examples"></a><p class="title"><b>Table 1.31. Examples</b></p> <div class="table-contents"><table class="table" summary="Examples"> <colgroup> <col> diff --git a/libs/type_traits/doc/html/boost_typetraits/reference/remove_reference.html b/libs/type_traits/doc/html/boost_typetraits/reference/remove_reference.html index 7f320c9413..535a5e2dfa 100644 --- a/libs/type_traits/doc/html/boost_typetraits/reference/remove_reference.html +++ b/libs/type_traits/doc/html/boost_typetraits/reference/remove_reference.html @@ -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.remove_reference.examples"></a><p class="title"><b>Table 1.31. Examples</b></p> +<a name="boost_typetraits.reference.remove_reference.examples"></a><p class="title"><b>Table 1.32. Examples</b></p> <div class="table-contents"><table class="table" summary="Examples"> <colgroup> <col> diff --git a/libs/type_traits/doc/html/boost_typetraits/reference/remove_volatile.html b/libs/type_traits/doc/html/boost_typetraits/reference/remove_volatile.html index d3c1b9c378..4a940a4579 100644 --- a/libs/type_traits/doc/html/boost_typetraits/reference/remove_volatile.html +++ b/libs/type_traits/doc/html/boost_typetraits/reference/remove_volatile.html @@ -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.remove_volatile.examples"></a><p class="title"><b>Table 1.32. Examples</b></p> +<a name="boost_typetraits.reference.remove_volatile.examples"></a><p class="title"><b>Table 1.33. Examples</b></p> <div class="table-contents"><table class="table" summary="Examples"> <colgroup> <col> diff --git a/libs/type_traits/doc/html/boost_typetraits/reference/type_identity.html b/libs/type_traits/doc/html/boost_typetraits/reference/type_identity.html index b549a7e36b..090bf823ef 100644 --- a/libs/type_traits/doc/html/boost_typetraits/reference/type_identity.html +++ b/libs/type_traits/doc/html/boost_typetraits/reference/type_identity.html @@ -38,7 +38,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.type_identity.examples"></a><p class="title"><b>Table 1.33. Examples</b></p> +<a name="boost_typetraits.reference.type_identity.examples"></a><p class="title"><b>Table 1.34. Examples</b></p> <div class="table-contents"><table class="table" summary="Examples"> <colgroup> <col> diff --git a/libs/type_traits/doc/html/index.html b/libs/type_traits/doc/html/index.html index d4b268183c..4929fad62c 100644 --- a/libs/type_traits/doc/html/index.html +++ b/libs/type_traits/doc/html/index.html @@ -201,6 +201,7 @@ <dt><span class="section"><a href="boost_typetraits/reference/is_volatile.html">is_volatile</a></span></dt> <dt><span class="section"><a href="boost_typetraits/reference/make_signed.html">make_signed</a></span></dt> <dt><span class="section"><a href="boost_typetraits/reference/make_unsigned.html">make_unsigned</a></span></dt> +<dt><span class="section"><a href="boost_typetraits/reference/make_void.html">make_void</a></span></dt> <dt><span class="section"><a href="boost_typetraits/reference/promote.html">promote</a></span></dt> <dt><span class="section"><a href="boost_typetraits/reference/rank.html">rank</a></span></dt> <dt><span class="section"><a href="boost_typetraits/reference/remove_all_extents.html">remove_all_extents</a></span></dt> diff --git a/libs/type_traits/doc/html/index/s11.html b/libs/type_traits/doc/html/index/s11.html index 8dcc99a764..0bbbcd8241 100644 --- a/libs/type_traits/doc/html/index/s11.html +++ b/libs/type_traits/doc/html/index/s11.html @@ -24,7 +24,7 @@ </div> <div class="section"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> -<a name="idp100113776"></a>Class Index</h2></div></div></div> +<a name="idp113212912"></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> @@ -292,6 +292,7 @@ <dd><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/make_signed.html" title="make_signed"><span class="index-entry-level-0">make_signed</span></a></p></li> <li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/make_unsigned.html" title="make_unsigned"><span class="index-entry-level-0">make_unsigned</span></a></p></li> +<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/make_void.html" title="make_void"><span class="index-entry-level-0">make_void</span></a></p></li> </ul></div></dd> <dt> <a name="idx_id_9"></a><span class="term">N</span> diff --git a/libs/type_traits/doc/html/index/s12.html b/libs/type_traits/doc/html/index/s12.html index 6a0505182d..8f19af4011 100644 --- a/libs/type_traits/doc/html/index/s12.html +++ b/libs/type_traits/doc/html/index/s12.html @@ -24,7 +24,7 @@ </div> <div class="section"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> -<a name="idp100503056"></a>Typedef Index</h2></div></div></div> +<a name="idp113603184"></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> diff --git a/libs/type_traits/doc/html/index/s13.html b/libs/type_traits/doc/html/index/s13.html index c51e19d636..9e701e1264 100644 --- a/libs/type_traits/doc/html/index/s13.html +++ b/libs/type_traits/doc/html/index/s13.html @@ -24,7 +24,7 @@ </div> <div class="section"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> -<a name="idp100538176"></a>Macro Index</h2></div></div></div> +<a name="idp113638384"></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> diff --git a/libs/type_traits/doc/html/index/s14.html b/libs/type_traits/doc/html/index/s14.html index 03e8f20b14..ecc9eba1e8 100644 --- a/libs/type_traits/doc/html/index/s14.html +++ b/libs/type_traits/doc/html/index/s14.html @@ -23,7 +23,7 @@ </div> <div class="section"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> -<a name="idp100638048"></a>Index</h2></div></div></div> +<a name="idp113738304"></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> @@ -839,6 +839,7 @@ </li> <li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/make_signed.html" title="make_signed"><span class="index-entry-level-0">make_signed</span></a></p></li> <li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/make_unsigned.html" title="make_unsigned"><span class="index-entry-level-0">make_unsigned</span></a></p></li> +<li class="listitem" style="list-style-type: none"><p><a class="link" href="../boost_typetraits/reference/make_void.html" title="make_void"><span class="index-entry-level-0">make_void</span></a></p></li> </ul></div></dd> <dt> <a name="idx_id_57"></a><span class="term">N</span> diff --git a/libs/type_traits/doc/html/standalone_HTML.manifest b/libs/type_traits/doc/html/standalone_HTML.manifest index 129989d87c..832e4a7bd5 100644 --- a/libs/type_traits/doc/html/standalone_HTML.manifest +++ b/libs/type_traits/doc/html/standalone_HTML.manifest @@ -139,6 +139,7 @@ boost_typetraits/reference/is_void.html boost_typetraits/reference/is_volatile.html boost_typetraits/reference/make_signed.html boost_typetraits/reference/make_unsigned.html +boost_typetraits/reference/make_void.html boost_typetraits/reference/promote.html boost_typetraits/reference/rank.html boost_typetraits/reference/remove_all_extents.html diff --git a/libs/type_traits/doc/make_void.qbk b/libs/type_traits/doc/make_void.qbk new file mode 100644 index 0000000000..3ae0e3dc4a --- /dev/null +++ b/libs/type_traits/doc/make_void.qbk @@ -0,0 +1,48 @@ +[/ +Copyright 2017 Glen Joseph Fernandes +<glenjofe -at- gmail.com> + +Distributed under 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). +] + +[section:make_void make_void] + + template<class...> + struct make_void + { + typedef void type; + }; + + template<class... Ts> + using void_t = typename make_void<Ts...>::type; + +__type The type `void` for all `T`. + +__header ` #include <boost/type_traits/make_void.hpp>` or ` #include <boost/type_traits.hpp>` + +[table Examples + +[[Expression] [Result Type]] + +[[`make_void<int>::type`][`void`]] + +[[`make_void<int&>::type`] [`void`]] + +[[`make_void<int(*)(int)>::type`] [`void`]] + +[[`make_void<int[]>::type`] [`void`]] + +[[`make_void<int[1]>::type`] [`void`]] + +[[`make_void<>::type`] [`void`]] + +[[`make_void<int, int>::type`] [`void`]] + +] + +[all_compilers] However, the type alias `void_t` is only available if the compiler supports template aliases. +Further, in the absence of variadic-template support, `make_void` only supports up to 5 parameters. + +[endsect] diff --git a/libs/type_traits/doc/type_traits.qbk b/libs/type_traits/doc/type_traits.qbk index 8a914a4ae9..dd9bfc6312 100644 --- a/libs/type_traits/doc/type_traits.qbk +++ b/libs/type_traits/doc/type_traits.qbk @@ -134,6 +134,7 @@ [def __make_signed [link boost_typetraits.reference.make_signed make_signed]] [def __make_unsigned [link boost_typetraits.reference.make_unsigned make_unsigned]] +[def __make_void [link boost_typetraits.reference.make_void make_void]] [def __decay [link boost_typetraits.reference.decay decay]] [def __is_complex [link boost_typetraits.reference.is_complex is_complex]] @@ -316,6 +317,7 @@ See __has_trivial_constructor. [include make_signed.qbk] [include make_unsigned.qbk] +[include make_void.qbk] [include promote.qbk] [include rank.qbk] diff --git a/libs/type_traits/test/common_type_2_test.cpp b/libs/type_traits/test/common_type_2_test.cpp index 8a4e74655d..114b4c281f 100644 --- a/libs/type_traits/test/common_type_2_test.cpp +++ b/libs/type_traits/test/common_type_2_test.cpp @@ -90,18 +90,18 @@ TT_TEST_BEGIN(common_type) #ifndef __SUNPRO_CC assignation_2<C1C2, C1>(); typedef tt::common_type<C1C2&, C1&>::type T1; - BOOST_CHECK_TYPE(T1, C1C2); + BOOST_CHECK_TYPE(T1, C1C2); typedef tt::common_type<C3*, C2*>::type T2; - BOOST_CHECK_TYPE(T2, C2*); + BOOST_CHECK_TYPE(T2, C2*); typedef tt::common_type<int*, int const*>::type T3; - BOOST_CHECK_TYPE(T3, int const*); + BOOST_CHECK_TYPE(T3, int const*); #if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF) // fails if BOOST_COMMON_TYPE_DONT_USE_TYPEOF: typedef tt::common_type<int volatile*, int const*>::type T4; - BOOST_CHECK_TYPE(T4, int const volatile*); + BOOST_CHECK_TYPE(T4, int const volatile*); #endif typedef tt::common_type<int*, int volatile*>::type T5; - BOOST_CHECK_TYPE(T5, int volatile*); + BOOST_CHECK_TYPE(T5, int volatile*); assignation_2<C1, C1C2>(); assignation_2<C1C2, C2>(); diff --git a/libs/type_traits/test/common_type_test.cpp b/libs/type_traits/test/common_type_test.cpp index 047b65fc02..3695a46b35 100644 --- a/libs/type_traits/test/common_type_test.cpp +++ b/libs/type_traits/test/common_type_test.cpp @@ -87,18 +87,18 @@ TT_TEST_BEGIN(common_type) { assignation_2<C1C2, C1>(); typedef tt::common_type<C1C2&, C1&>::type T1; - BOOST_CHECK_TYPE(T1, C1C2); + BOOST_CHECK_TYPE(T1, C1C2); typedef tt::common_type<C3*, C2*>::type T2; - BOOST_CHECK_TYPE(T2, C2*); + BOOST_CHECK_TYPE(T2, C2*); typedef tt::common_type<int*, int const*>::type T3; - BOOST_CHECK_TYPE(T3, int const*); + BOOST_CHECK_TYPE(T3, int const*); #if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF) // fails if BOOST_COMMON_TYPE_DONT_USE_TYPEOF: typedef tt::common_type<int volatile*, int const*>::type T4; - BOOST_CHECK_TYPE(T4, int const volatile*); + BOOST_CHECK_TYPE(T4, int const volatile*); #endif typedef tt::common_type<int*, int volatile*>::type T5; - BOOST_CHECK_TYPE(T5, int volatile*); + BOOST_CHECK_TYPE(T5, int volatile*); assignation_2<C1, C1C2>(); assignation_2<C1C2, C2>(); diff --git a/libs/type_traits/test/is_convertible_test.cpp b/libs/type_traits/test/is_convertible_test.cpp index 40764c033b..22b32019d4 100644 --- a/libs/type_traits/test/is_convertible_test.cpp +++ b/libs/type_traits/test/is_convertible_test.cpp @@ -29,8 +29,8 @@ struct derived2 : public middle2 { }; template<typename T> struct test_bug_4530 { - template<typename A> - test_bug_4530(A&&, typename boost::enable_if< ::tt::is_convertible<A&&, T> >::type* =0); + template<typename A> + test_bug_4530(A&&, typename boost::enable_if< ::tt::is_convertible<A&&, T> >::type* =0); }; struct A4530 diff --git a/libs/type_traits/test/make_void_test.cpp b/libs/type_traits/test/make_void_test.cpp new file mode 100644 index 0000000000..986cdc4430 --- /dev/null +++ b/libs/type_traits/test/make_void_test.cpp @@ -0,0 +1,45 @@ +/* +Copyright 2017 Glen Joseph Fernandes +<glenjofe -at- gmail.com> + +Distributed under 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_type.hpp" + +#ifdef TEST_STD +#include <type_traits> +#else +#include <boost/type_traits/make_void.hpp> +#endif + +TT_TEST_BEGIN(make_void) + +BOOST_CHECK_TYPE(::tt::make_void<int>::type, void); +BOOST_CHECK_TYPE(::tt::make_void<const volatile int>::type, void); +BOOST_CHECK_TYPE(::tt::make_void<int&>::type, void); +BOOST_CHECK_TYPE(::tt::make_void<void>::type, void); +BOOST_CHECK_TYPE(::tt::make_void<int(*)(int)>::type, void); +BOOST_CHECK_TYPE(::tt::make_void<int[]>::type, void); +BOOST_CHECK_TYPE(::tt::make_void<int[1]>::type, void); + +BOOST_CHECK_TYPE(::tt::make_void<>::type, void); +BOOST_CHECK_TYPE3(::tt::make_void<int, int>::type, void); + +#ifndef BOOST_NO_CXX11_TEMPLATE_ALIASES +BOOST_CHECK_TYPE(::tt::void_t<int>, void); +BOOST_CHECK_TYPE(::tt::void_t<const volatile int>, void); +BOOST_CHECK_TYPE(::tt::void_t<int&>, void); +BOOST_CHECK_TYPE(::tt::void_t<void>, void); +BOOST_CHECK_TYPE(::tt::void_t<int(*)(int)>, void); +BOOST_CHECK_TYPE(::tt::void_t<int[]>, void); +BOOST_CHECK_TYPE(::tt::void_t<int[1]>, void); + +BOOST_CHECK_TYPE(::tt::void_t<>, void); +BOOST_CHECK_TYPE3(::tt::void_t<int, int>, void); +#endif + +TT_TEST_END diff --git a/libs/type_traits/test/mpl_interop_test1.cpp b/libs/type_traits/test/mpl_interop_test1.cpp index 214c951317..3b90418e9e 100644 --- a/libs/type_traits/test/mpl_interop_test1.cpp +++ b/libs/type_traits/test/mpl_interop_test1.cpp @@ -27,4 +27,4 @@ int dispatch_test() int main() { return (dispatch_test<int>() == 1) && (dispatch_test<void>() == 0) ? 0 : 1; -}
\ No newline at end of file +} diff --git a/libs/type_traits/test/mpl_interop_test2.cpp b/libs/type_traits/test/mpl_interop_test2.cpp index 4624e0baa1..85805c89fc 100644 --- a/libs/type_traits/test/mpl_interop_test2.cpp +++ b/libs/type_traits/test/mpl_interop_test2.cpp @@ -22,4 +22,4 @@ if_test<double>::type t2 = 0; int main() { return (int)(t1 + t2); -}
\ No newline at end of file +} diff --git a/libs/type_traits/test/mpl_interop_test3.cpp b/libs/type_traits/test/mpl_interop_test3.cpp index 0a4c8ac29f..e89d50e5a9 100644 --- a/libs/type_traits/test/mpl_interop_test3.cpp +++ b/libs/type_traits/test/mpl_interop_test3.cpp @@ -27,4 +27,4 @@ int main() lambda_test<list_type>::type i = 0; return i; -}
\ No newline at end of file +} |