forked from boostorg/type_traits
Merged revisions 43621-43622 via svnmerge from
https://svn.boost.org/svn/boost/trunk Fixes #1686. ........ r43621 | danieljames | 2008-03-15 12:59:21 +0000 (Sat, 15 Mar 2008) | 1 line Update type traits links for new location. ........ r43622 | danieljames | 2008-03-15 13:04:57 +0000 (Sat, 15 Mar 2008) | 1 line Regenerate the type traits docs, to get changes from [43621]. Refs #1686. ........ [SVN r43623]
This commit is contained in:
@ -8,8 +8,8 @@
|
||||
[section:credits Credits]
|
||||
|
||||
This documentation was pulled together by John Maddock, using
|
||||
[@../../tools/quickbook/doc/html/index.html Boost.Quickbook]
|
||||
and [@boostbook.html Boost.DocBook].
|
||||
[@../../../../tools/quickbook/doc/html/index.html Boost.Quickbook]
|
||||
and [@../../../../doc/html/boostbook.html Boost.DocBook].
|
||||
|
||||
The original version of this library was created by Steve Cleary,
|
||||
Beman Dawes, Howard Hinnant, and John Maddock. John Maddock is the
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
Demonstrates a version of `std::copy` that uses `__has_trivial_assign` to
|
||||
determine whether to use `memcpy` to optimise the copy operation
|
||||
(see [@../../libs/type_traits/examples/copy_example.cpp copy_example.cpp]):
|
||||
(see [@../../examples/copy_example.cpp copy_example.cpp]):
|
||||
|
||||
//
|
||||
// opt::copy
|
||||
@ -62,7 +62,7 @@ determine whether to use `memcpy` to optimise the copy operation
|
||||
|
||||
Demonstrates a version of `std::fill` that uses `__has_trivial_assign` to
|
||||
determine whether to use `memset` to optimise the fill operation
|
||||
(see [@../../libs/type_traits/examples/fill_example.cpp fill_example.cpp]):
|
||||
(see [@../../examples/fill_example.cpp fill_example.cpp]):
|
||||
|
||||
//
|
||||
// fill
|
||||
@ -107,7 +107,7 @@ determine whether to use `memset` to optimise the fill operation
|
||||
|
||||
Demonstrates a simple algorithm that uses `__has_trivial_destruct` to
|
||||
determine whether to destructors need to be called
|
||||
(see [@../../libs/type_traits/examples/trivial_destructor_example.cpp trivial_destructor_example.cpp]):
|
||||
(see [@../../examples/trivial_destructor_example.cpp trivial_destructor_example.cpp]):
|
||||
|
||||
//
|
||||
// algorithm destroy_array:
|
||||
@ -153,7 +153,7 @@ same as `std::iter_swap` does), however if they are proxying iterators
|
||||
then takes special care over the swap to ensure that the algorithm
|
||||
works correctly for both proxying iterators, and even iterators of
|
||||
different types
|
||||
(see [@../../libs/type_traits/examples/iter_swap_example.cpp iter_swap_example.cpp]):
|
||||
(see [@../../examples/iter_swap_example.cpp iter_swap_example.cpp]):
|
||||
|
||||
//
|
||||
// iter_swap:
|
||||
@ -203,7 +203,8 @@ different types
|
||||
[section:to_double Convert Numeric Types and Enums to double]
|
||||
|
||||
Demonstrates a conversion of
|
||||
[@../../libs/numeric/conversion/doc/definitions.html#numtypes Numeric Types]
|
||||
[@../../../../libs/numeric/conversion/doc/html/boost_numericconversion/definitions.html#boost_numericconversion.definitions.numeric_types
|
||||
Numeric Types]
|
||||
and enum types to double:
|
||||
|
||||
template<class T>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Background and Tutorial</title>
|
||||
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="prev" href="intro.html" title="Introduction">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,7 +24,7 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_typetraits.background"></a><a href="background.html" title="Background and Tutorial"> Background and Tutorial</a>
|
||||
<a name="boost_typetraits.background"></a><a class="link" href="background.html" title="Background and Tutorial"> Background and Tutorial</a>
|
||||
</h2></div></div></div>
|
||||
<p>
|
||||
The following is an updated version of the article "C++ Type traits"
|
||||
@ -56,19 +56,19 @@
|
||||
method available to them.
|
||||
</p>
|
||||
<a name="boost_typetraits.background.type_traits"></a><h5>
|
||||
<a name="id436266"></a>
|
||||
<a href="background.html#boost_typetraits.background.type_traits">Type Traits</a>
|
||||
<a name="id2586461"></a>
|
||||
<a class="link" href="background.html#boost_typetraits.background.type_traits">Type Traits</a>
|
||||
</h5>
|
||||
<p>
|
||||
Class <code class="computeroutput"><span class="identifier">char_traits</span></code> is a classic
|
||||
example of a collection of type specific properties wrapped up in a single
|
||||
class - what Nathan Myers termed a <span class="emphasis"><em>baggage class</em></span><a href="background.html#background.references">[1]</a>. In the Boost type-traits library,
|
||||
we<a href="background.html#background.references">[2]</a> have written a set of very
|
||||
class - what Nathan Myers termed a <span class="emphasis"><em>baggage class</em></span><a class="link" href="background.html#background.references">[1]</a>. In the Boost type-traits library,
|
||||
we<a class="link" href="background.html#background.references">[2]</a> have written a set of very
|
||||
specific traits classes, each of which encapsulate a single trait from the
|
||||
C++ type system; for example, is a type a pointer or a reference type? Or does
|
||||
a type have a trivial constructor, or a const-qualifier? The type-traits classes
|
||||
share a unified design: each class inherits from a the type <a href="reference/integral_constant.html" title="integral_constant">true_type</a>
|
||||
if the type has the specified property and inherits from <a href="reference/integral_constant.html" title="integral_constant">false_type</a>
|
||||
share a unified design: each class inherits from a the type <a class="link" href="reference/integral_constant.html" title="integral_constant">true_type</a>
|
||||
if the type has the specified property and inherits from <a class="link" href="reference/integral_constant.html" title="integral_constant">false_type</a>
|
||||
otherwise. As we will show, these classes can be used in generic programming
|
||||
to determine the properties of a given type and introduce optimizations that
|
||||
are appropriate for that case.
|
||||
@ -84,8 +84,8 @@
|
||||
given.
|
||||
</p>
|
||||
<a name="boost_typetraits.background.implementation"></a><h5>
|
||||
<a name="id436376"></a>
|
||||
<a href="background.html#boost_typetraits.background.implementation">Implementation</a>
|
||||
<a name="id2585291"></a>
|
||||
<a class="link" href="background.html#boost_typetraits.background.implementation">Implementation</a>
|
||||
</h5>
|
||||
<p>
|
||||
There are far too many separate classes contained in the type-traits library
|
||||
@ -94,17 +94,18 @@
|
||||
anyway, so here we will just give you a flavor for how some of the classes
|
||||
are implemented. Beginning with possibly the simplest class in the library,
|
||||
<code class="computeroutput"><span class="identifier">is_void</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span></code> inherits
|
||||
from <code class="computeroutput"><a href="reference/integral_constant.html" title="integral_constant">true_type</a></code>
|
||||
from <code class="computeroutput"><a class="link" href="reference/integral_constant.html" title="integral_constant">true_type</a></code>
|
||||
only if <code class="computeroutput"><span class="identifier">T</span></code> is <code class="computeroutput"><span class="keyword">void</span></code>.
|
||||
</p>
|
||||
<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a href="reference/is_void.html" title="is_void">is_void</a> <span class="special">:</span> <span class="keyword">public</span> <a href="reference/integral_constant.html" title="integral_constant">false_type</a><span class="special">{};</span>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a class="link" href="reference/is_void.html" title="is_void">is_void</a> <span class="special">:</span> <span class="keyword">public</span> <a class="link" href="reference/integral_constant.html" title="integral_constant">false_type</a><span class="special">{};</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><></span>
|
||||
<span class="keyword">struct</span> <a href="reference/is_void.html" title="is_void">is_void</a><span class="special"><</span><span class="keyword">void</span><span class="special">></span> <span class="special">:</span> <span class="keyword">public</span> <a href="reference/integral_constant.html" title="integral_constant">true_type</a><span class="special">{};</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="reference/is_void.html" title="is_void">is_void</a><span class="special"><</span><span class="keyword">void</span><span class="special">></span> <span class="special">:</span> <span class="keyword">public</span> <a class="link" href="reference/integral_constant.html" title="integral_constant">true_type</a><span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
Here we define a primary version of the template class <code class="computeroutput"><a href="reference/is_void.html" title="is_void">is_void</a></code>,
|
||||
Here we define a primary version of the template class <code class="computeroutput"><a class="link" href="reference/is_void.html" title="is_void">is_void</a></code>,
|
||||
and provide a full-specialization when <code class="computeroutput"><span class="identifier">T</span></code>
|
||||
is <code class="computeroutput"><span class="keyword">void</span></code>. While full specialization
|
||||
of a template class is an important technique, sometimes we need a solution
|
||||
@ -115,11 +116,12 @@
|
||||
a pointer, and a partial specialization to handle all the cases where T is
|
||||
a pointer:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a href="reference/is_pointer.html" title="is_pointer">is_pointer</a> <span class="special">:</span> <span class="keyword">public</span> <a href="reference/integral_constant.html" title="integral_constant">false_type</a><span class="special">{};</span>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a class="link" href="reference/is_pointer.html" title="is_pointer">is_pointer</a> <span class="special">:</span> <span class="keyword">public</span> <a class="link" href="reference/integral_constant.html" title="integral_constant">false_type</a><span class="special">{};</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a href="reference/is_pointer.html" title="is_pointer">is_pointer</a><span class="special"><</span><span class="identifier">T</span><span class="special">*></span> <span class="special">:</span> <span class="keyword">public</span> <a href="reference/integral_constant.html" title="integral_constant">true_type</a><span class="special">{};</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="reference/is_pointer.html" title="is_pointer">is_pointer</a><span class="special"><</span><span class="identifier">T</span><span class="special">*></span> <span class="special">:</span> <span class="keyword">public</span> <a class="link" href="reference/integral_constant.html" title="integral_constant">true_type</a><span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
The syntax for partial specialization is somewhat arcane and could easily occupy
|
||||
@ -132,13 +134,15 @@
|
||||
but as a rule of thumb if you can legally write two function overloads of the
|
||||
form:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">foo</span><span class="special">(</span><span class="identifier">T</span><span class="special">);</span>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">void</span> <span class="identifier">foo</span><span class="special">(</span><span class="identifier">T</span><span class="special">);</span>
|
||||
<span class="keyword">void</span> <span class="identifier">foo</span><span class="special">(</span><span class="identifier">U</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
Then you can also write a partial specialization of the form:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</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">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">class</span> <span class="identifier">c</span><span class="special">{</span> <span class="comment">/*details*/</span> <span class="special">};</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
@ -154,18 +158,19 @@
|
||||
that is the same type as T but with any top-level array bounds removed; this
|
||||
is an example of a traits class that performs a transformation on a type:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a href="reference/remove_extent.html" title="remove_extent">remove_extent</a>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a class="link" href="reference/remove_extent.html" title="remove_extent">remove_extent</a>
|
||||
<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="special">};</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a href="reference/remove_extent.html" title="remove_extent">remove_extent</a><span class="special"><</span><span class="identifier">T</span><span class="special">[</span><span class="identifier">N</span><span class="special">]></span>
|
||||
<span class="keyword">struct</span> <a class="link" href="reference/remove_extent.html" title="remove_extent">remove_extent</a><span class="special"><</span><span class="identifier">T</span><span class="special">[</span><span class="identifier">N</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="special">};</span>
|
||||
</pre>
|
||||
<p>
|
||||
The aim of <code class="computeroutput"><a href="reference/remove_extent.html" title="remove_extent">remove_extent</a></code>
|
||||
The aim of <code class="computeroutput"><a class="link" href="reference/remove_extent.html" title="remove_extent">remove_extent</a></code>
|
||||
is this: imagine a generic algorithm that is passed an array type as a template
|
||||
parameter, <code class="computeroutput"><a href="reference/remove_extent.html" title="remove_extent">remove_extent</a></code>
|
||||
parameter, <code class="computeroutput"><a class="link" href="reference/remove_extent.html" title="remove_extent">remove_extent</a></code>
|
||||
provides a means of determining the underlying type of the array. For example
|
||||
<code class="computeroutput"><span class="identifier">remove_extent</span><span class="special"><</span><span class="keyword">int</span><span class="special">[</span><span class="number">4</span><span class="special">][</span><span class="number">5</span><span class="special">]>::</span><span class="identifier">type</span></code> would evaluate to the type <code class="computeroutput"><span class="keyword">int</span><span class="special">[</span><span class="number">5</span><span class="special">]</span></code>. This example also shows that the number of
|
||||
template parameters in a partial specialization does not have to match the
|
||||
@ -174,14 +179,15 @@
|
||||
in the default template.
|
||||
</p>
|
||||
<a name="boost_typetraits.background.optimized_copy"></a><h5>
|
||||
<a name="id490295"></a>
|
||||
<a href="background.html#boost_typetraits.background.optimized_copy">Optimized copy</a>
|
||||
<a name="id2636072"></a>
|
||||
<a class="link" href="background.html#boost_typetraits.background.optimized_copy">Optimized copy</a>
|
||||
</h5>
|
||||
<p>
|
||||
As an example of how the type traits classes can be used, consider the standard
|
||||
library algorithm copy:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iter1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Iter2</span><span class="special">></span>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Iter1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Iter2</span><span class="special">></span>
|
||||
<span class="identifier">Iter2</span> <span class="identifier">copy</span><span class="special">(</span><span class="identifier">Iter1</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">Iter1</span> <span class="identifier">last</span><span class="special">,</span> <span class="identifier">Iter2</span> <span class="identifier">out</span><span class="special">);</span>
|
||||
</pre>
|
||||
<p>
|
||||
@ -208,7 +214,7 @@
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
By trivial assignment operator we mean that the type is either a scalar type<a href="background.html#background.references">[3]</a> or:
|
||||
By trivial assignment operator we mean that the type is either a scalar type<a class="link" href="background.html#background.references">[3]</a> or:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li>
|
||||
@ -224,20 +230,20 @@
|
||||
</ul></div>
|
||||
<p>
|
||||
If all these conditions are met then a type can be copied using <code class="computeroutput"><span class="identifier">memcpy</span></code> rather than using a compiler generated
|
||||
assignment operator. The type-traits library provides a class <code class="computeroutput"><a href="reference/has_trivial_assign.html" title="has_trivial_assign">has_trivial_assign</a></code>,
|
||||
assignment operator. The type-traits library provides a class <code class="computeroutput"><a class="link" href="reference/has_trivial_assign.html" title="has_trivial_assign">has_trivial_assign</a></code>,
|
||||
such that <code class="computeroutput"><span class="identifier">has_trivial_assign</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span></code> is true only if T has a trivial assignment
|
||||
operator. This class "just works" for scalar types, but has to be
|
||||
explicitly specialised for class/struct types that also happen to have a trivial
|
||||
assignment operator. In other words if <a href="reference/has_trivial_assign.html" title="has_trivial_assign">has_trivial_assign</a>
|
||||
assignment operator. In other words if <a class="link" href="reference/has_trivial_assign.html" title="has_trivial_assign">has_trivial_assign</a>
|
||||
gives the wrong answer, it will give the "safe" wrong answer - that
|
||||
trivial assignment is not allowable.
|
||||
</p>
|
||||
<p>
|
||||
The code for an optimized version of copy that uses <code class="computeroutput"><span class="identifier">memcpy</span></code>
|
||||
where appropriate is given in <a href="examples/copy.html" title="An Optimized Version of std::copy">the
|
||||
where appropriate is given in <a class="link" href="examples/copy.html" title="An Optimized Version of std::copy">the
|
||||
examples</a>. The code begins by defining a template function <code class="computeroutput"><span class="identifier">do_copy</span></code> that performs a "slow but safe"
|
||||
copy. The last parameter passed to this function may be either a <code class="computeroutput"><a href="reference/integral_constant.html" title="integral_constant">true_type</a></code>
|
||||
or a <code class="computeroutput"><a href="reference/integral_constant.html" title="integral_constant">false_type</a></code>.
|
||||
copy. The last parameter passed to this function may be either a <code class="computeroutput"><a class="link" href="reference/integral_constant.html" title="integral_constant">true_type</a></code>
|
||||
or a <code class="computeroutput"><a class="link" href="reference/integral_constant.html" title="integral_constant">false_type</a></code>.
|
||||
Following that there is an overload of do<span class="underline">copy that
|
||||
uses `memcpy`: this time the iterators are required to actually be pointers
|
||||
to the same type, and the final parameter must be a `</span>_true_type<code class="computeroutput"><span class="special">.</span> <span class="identifier">Finally</span><span class="special">,</span> <span class="identifier">the</span> <span class="identifier">version</span>
|
||||
@ -247,15 +253,15 @@
|
||||
otherwise it will call the "slow but safe version".
|
||||
</p>
|
||||
<a name="boost_typetraits.background.was_it_worth_it_"></a><h5>
|
||||
<a name="id490840"></a>
|
||||
<a href="background.html#boost_typetraits.background.was_it_worth_it_">Was it worth it?</a>
|
||||
<a name="id2636516"></a>
|
||||
<a class="link" href="background.html#boost_typetraits.background.was_it_worth_it_">Was it worth it?</a>
|
||||
</h5>
|
||||
<p>
|
||||
It has often been repeated in these columns that "premature optimization
|
||||
is the root of all evil" <a href="background.html#background.references">[4]</a>.
|
||||
is the root of all evil" <a class="link" href="background.html#background.references">[4]</a>.
|
||||
So the question must be asked: was our optimization premature? To put this
|
||||
in perspective the timings for our version of copy compared a conventional
|
||||
generic copy<a href="background.html#background.references">[5]</a> are shown in table
|
||||
generic copy<a class="link" href="background.html#background.references">[5]</a> are shown in table
|
||||
1.
|
||||
</p>
|
||||
<p>
|
||||
@ -280,7 +286,7 @@
|
||||
</li>
|
||||
</ul></div>
|
||||
<div class="table">
|
||||
<a name="id490911"></a><p class="title"><b>Table<EFBFBD>1.1.<2E>Time taken to copy 1000 elements using `copy<const
|
||||
<a name="id2636577"></a><p class="title"><b>Table<EFBFBD>1.1.<2E>Time taken to copy 1000 elements using `copy<const
|
||||
T*, T*>` (times in micro-seconds)</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Time taken to copy 1000 elements using `copy<const
|
||||
T*, T*>` (times in micro-seconds)">
|
||||
@ -379,8 +385,8 @@
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><a name="boost_typetraits.background.pair_of_references"></a><h5>
|
||||
<a name="id491068"></a>
|
||||
<a href="background.html#boost_typetraits.background.pair_of_references">Pair of References</a>
|
||||
<a name="id2636715"></a>
|
||||
<a class="link" href="background.html#boost_typetraits.background.pair_of_references">Pair of References</a>
|
||||
</h5>
|
||||
<p>
|
||||
The optimized copy example shows how type traits may be used to perform optimization
|
||||
@ -388,14 +394,15 @@
|
||||
code to compile that otherwise would not do so unless excessive partial specialization
|
||||
is used. This is possible by delegating partial specialization to the type
|
||||
traits classes. Our example for this form of usage is a pair that can hold
|
||||
references <a href="background.html#background.references">[6]</a>.
|
||||
references <a class="link" href="background.html#background.references">[6]</a>.
|
||||
</p>
|
||||
<p>
|
||||
First, let us examine the definition of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code>, omitting
|
||||
the comparison operators, default constructor, and template copy constructor
|
||||
for simplicity:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span><span class="special">></span>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">pair</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">T1</span> <span class="identifier">first_type</span><span class="special">;</span>
|
||||
@ -411,12 +418,12 @@
|
||||
<p>
|
||||
Now, this "pair" cannot hold references as it currently stands, because
|
||||
the constructor would require taking a reference to a reference, which is currently
|
||||
illegal <a href="background.html#background.references">[7]</a>. Let us consider what
|
||||
illegal <a class="link" href="background.html#background.references">[7]</a>. Let us consider what
|
||||
the constructor's parameters would have to be in order to allow "pair"
|
||||
to hold non-reference types, references, and constant references:
|
||||
</p>
|
||||
<div class="table">
|
||||
<a name="id491430"></a><p class="title"><b>Table<EFBFBD>1.2.<2E>Required Constructor Argument Types</b></p>
|
||||
<a name="id2637023"></a><p class="title"><b>Table<EFBFBD>1.2.<2E>Required Constructor Argument Types</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Required Constructor Argument Types">
|
||||
<colgroup>
|
||||
<col>
|
||||
@ -477,11 +484,11 @@
|
||||
<br class="table-break"><p>
|
||||
A little familiarity with the type traits classes allows us to construct a
|
||||
single mapping that allows us to determine the type of parameter from the type
|
||||
of the contained class. The type traits classes provide a transformation <a href="reference/add_reference.html" title="add_reference">add_reference</a>, which
|
||||
of the contained class. The type traits classes provide a transformation <a class="link" href="reference/add_reference.html" title="add_reference">add_reference</a>, which
|
||||
adds a reference to its type, unless it is already a reference.
|
||||
</p>
|
||||
<div class="table">
|
||||
<a name="id491554"></a><p class="title"><b>Table<EFBFBD>1.3.<2E>Using add_reference to synthesize the correct constructor
|
||||
<a name="id2637134"></a><p class="title"><b>Table<EFBFBD>1.3.<2E>Using add_reference to synthesize the correct constructor
|
||||
type</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Using add_reference to synthesize the correct constructor
|
||||
type">
|
||||
@ -567,7 +574,8 @@
|
||||
that can contain non-reference types, reference types, and constant reference
|
||||
types:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span><span class="special">></span>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">pair</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">T1</span> <span class="identifier">first_type</span><span class="special">;</span>
|
||||
@ -576,8 +584,8 @@
|
||||
<span class="identifier">T1</span> <span class="identifier">first</span><span class="special">;</span>
|
||||
<span class="identifier">T2</span> <span class="identifier">second</span><span class="special">;</span>
|
||||
|
||||
<span class="identifier">pair</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><a href="reference/add_reference.html" title="add_reference">add_reference</a><span class="special"><</span><span class="keyword">const</span> <span class="identifier">T1</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">nfirst</span><span class="special">,</span>
|
||||
<span class="identifier">boost</span><span class="special">::</span><a href="reference/add_reference.html" title="add_reference">add_reference</a><span class="special"><</span><span class="keyword">const</span> <span class="identifier">T2</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">nsecond</span><span class="special">)</span>
|
||||
<span class="identifier">pair</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><a class="link" href="reference/add_reference.html" title="add_reference">add_reference</a><span class="special"><</span><span class="keyword">const</span> <span class="identifier">T1</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">nfirst</span><span class="special">,</span>
|
||||
<span class="identifier">boost</span><span class="special">::</span><a class="link" href="reference/add_reference.html" title="add_reference">add_reference</a><span class="special"><</span><span class="keyword">const</span> <span class="identifier">T2</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">nsecond</span><span class="special">)</span>
|
||||
<span class="special">:</span><span class="identifier">first</span><span class="special">(</span><span class="identifier">nfirst</span><span class="special">),</span> <span class="identifier">second</span><span class="special">(</span><span class="identifier">nsecond</span><span class="special">)</span> <span class="special">{</span> <span class="special">}</span>
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
@ -598,8 +606,8 @@
|
||||
easier to maintain and easier to understand.
|
||||
</p>
|
||||
<a name="boost_typetraits.background.conclusion"></a><h5>
|
||||
<a name="id492176"></a>
|
||||
<a href="background.html#boost_typetraits.background.conclusion">Conclusion</a>
|
||||
<a name="id2637656"></a>
|
||||
<a class="link" href="background.html#boost_typetraits.background.conclusion">Conclusion</a>
|
||||
</h5>
|
||||
<p>
|
||||
We hope that in this article we have been able to give you some idea of what
|
||||
@ -611,16 +619,16 @@
|
||||
can be optimal as well as generic.
|
||||
</p>
|
||||
<a name="boost_typetraits.background.acknowledgements"></a><h5>
|
||||
<a name="id492222"></a>
|
||||
<a href="background.html#boost_typetraits.background.acknowledgements">Acknowledgements</a>
|
||||
<a name="id2637697"></a>
|
||||
<a class="link" href="background.html#boost_typetraits.background.acknowledgements">Acknowledgements</a>
|
||||
</h5>
|
||||
<p>
|
||||
The authors would like to thank Beman Dawes and Howard Hinnant for their helpful
|
||||
comments when preparing this article.
|
||||
</p>
|
||||
<a name="background.references"></a><a name="boost_typetraits.background.references"></a><h5>
|
||||
<a name="id492256"></a>
|
||||
<a href="background.html#boost_typetraits.background.references">References</a>
|
||||
<a name="id2637724"></a>
|
||||
<a class="link" href="background.html#boost_typetraits.background.references">References</a>
|
||||
</h5>
|
||||
<div class="orderedlist"><ol type="1">
|
||||
<li>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Type Traits by Category</title>
|
||||
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="prev" href="background.html" title="Background and Tutorial">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,7 +24,7 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_typetraits.category"></a><a href="category.html" title="Type Traits by Category"> Type Traits by Category</a>
|
||||
<a name="boost_typetraits.category"></a><a class="link" href="category.html" title="Type Traits by Category"> Type Traits by Category</a>
|
||||
</h2></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="category/value_traits.html"> Type Traits
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Synthesizing Types with Specific Alignments</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../category.html" title="Type Traits by Category">
|
||||
<link rel="prev" href="transform.html" title="Type Traits that Transform One Type to Another">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,23 +24,24 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.category.alignment"></a><a href="alignment.html" title="Synthesizing Types with Specific Alignments"> Synthesizing Types
|
||||
<a name="boost_typetraits.category.alignment"></a><a class="link" href="alignment.html" title="Synthesizing Types with Specific Alignments"> Synthesizing Types
|
||||
with Specific Alignments</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
Some low level memory management routines need to synthesize a POD type with
|
||||
specific alignment properties. The template <code class="computeroutput"><a href="../reference/type_with_alignment.html" title="type_with_alignment">type_with_alignment</a></code>
|
||||
finds the smallest type with a specified alignment, while template <code class="computeroutput"><a href="../reference/aligned_storage.html" title="aligned_storage">aligned_storage</a></code>
|
||||
specific alignment properties. The template <code class="computeroutput"><a class="link" href="../reference/type_with_alignment.html" title="type_with_alignment">type_with_alignment</a></code>
|
||||
finds the smallest type with a specified alignment, while template <code class="computeroutput"><a class="link" href="../reference/aligned_storage.html" title="aligned_storage">aligned_storage</a></code>
|
||||
creates a type with a specific size and alignment.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Synopsis</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">Align</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a href="../reference/type_with_alignment.html" title="type_with_alignment">type_with_alignment</a><span class="special">;</span>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">Align</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../reference/type_with_alignment.html" title="type_with_alignment">type_with_alignment</a><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">Size</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">Align</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a href="../reference/aligned_storage.html" title="aligned_storage">aligned_storage</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../reference/aligned_storage.html" title="aligned_storage">aligned_storage</a><span class="special">;</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Decomposing Function Types</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../category.html" title="Type Traits by Category">
|
||||
<link rel="prev" href="alignment.html" title="Synthesizing Types with Specific Alignments">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,20 +24,21 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.category.function"></a><a href="function.html" title="Decomposing Function Types"> Decomposing Function
|
||||
<a name="boost_typetraits.category.function"></a><a class="link" href="function.html" title="Decomposing Function Types"> Decomposing Function
|
||||
Types</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
The class template <a href="../reference/function_traits.html" title="function_traits">function_traits</a>
|
||||
extracts information from function types (see also <a href="../reference/is_function.html" title="is_function">is_function</a>).
|
||||
The class template <a class="link" href="../reference/function_traits.html" title="function_traits">function_traits</a>
|
||||
extracts information from function types (see also <a class="link" href="../reference/is_function.html" title="is_function">is_function</a>).
|
||||
This traits class allows you to tell how many arguments a function takes,
|
||||
what those argument types are, and what the return type is.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Synopsis</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">Align</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a href="../reference/function_traits.html" title="function_traits">function_traits</a><span class="special">;</span>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">Align</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../reference/function_traits.html" title="function_traits">function_traits</a><span class="special">;</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Type Traits that Transform One Type to Another</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../category.html" title="Type Traits by Category">
|
||||
<link rel="prev" href="value_traits/relate.html" title="Relationships Between Two Types">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,7 +24,7 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.category.transform"></a><a href="transform.html" title="Type Traits that Transform One Type to Another"> Type Traits that
|
||||
<a name="boost_typetraits.category.transform"></a><a class="link" href="transform.html" title="Type Traits that Transform One Type to Another"> Type Traits that
|
||||
Transform One Type to Another</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
@ -36,63 +36,64 @@
|
||||
<p>
|
||||
<span class="bold"><strong>Synopsis:</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">struct</span> <a href="../reference/add_const.html" title="add_const">add_const</a><span class="special">;</span>
|
||||
<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">struct</span> <a class="link" href="../reference/add_const.html" title="add_const">add_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 href="../reference/add_cv.html" title="add_cv">add_cv</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../reference/add_cv.html" title="add_cv">add_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 href="../reference/add_pointer.html" title="add_pointer">add_pointer</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../reference/add_pointer.html" title="add_pointer">add_pointer</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 href="../reference/add_reference.html" title="add_reference">add_reference</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../reference/add_reference.html" title="add_reference">add_reference</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 href="../reference/add_volatile.html" title="add_volatile">add_volatile</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../reference/add_volatile.html" title="add_volatile">add_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 href="../reference/decay.html" title="decay">decay</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../reference/decay.html" title="decay">decay</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 href="../reference/floating_point_promotion.html" title="floating_point_promotion">floating_point_promotion</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../reference/floating_point_promotion.html" title="floating_point_promotion">floating_point_promotion</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 href="../reference/integral_promotion.html" title="integral_promotion">integral_promotion</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../reference/integral_promotion.html" title="integral_promotion">integral_promotion</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 href="../reference/make_signed.html" title="make_signed">make_signed</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../reference/make_signed.html" title="make_signed">make_signed</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 href="../reference/make_unsigned.html" title="make_unsigned">make_unsigned</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../reference/make_unsigned.html" title="make_unsigned">make_unsigned</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 href="../reference/promote.html" title="promote">promote</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../reference/promote.html" title="promote">promote</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 href="../reference/remove_all_extents.html" title="remove_all_extents">remove_all_extents</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../reference/remove_all_extents.html" title="remove_all_extents">remove_all_extents</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 href="../reference/remove_const.html" title="remove_const">remove_const</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../reference/remove_const.html" title="remove_const">remove_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 href="../reference/remove_cv.html" title="remove_cv">remove_cv</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../reference/remove_cv.html" title="remove_cv">remove_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 href="../reference/remove_extent.html" title="remove_extent">remove_extent</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../reference/remove_extent.html" title="remove_extent">remove_extent</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 href="../reference/remove_pointer.html" title="remove_pointer">remove_pointer</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../reference/remove_pointer.html" title="remove_pointer">remove_pointer</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 href="../reference/remove_reference.html" title="remove_reference">remove_reference</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../reference/remove_reference.html" title="remove_reference">remove_reference</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 href="../reference/remove_volatile.html" title="remove_volatile">remove_volatile</a><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>
|
||||
</pre>
|
||||
<a name="boost_typetraits.category.transform.broken_compiler_workarounds_"></a><h5>
|
||||
<a name="id496203"></a>
|
||||
<a href="transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">Broken
|
||||
<a name="id2640926"></a>
|
||||
<a class="link" href="transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">Broken
|
||||
Compiler Workarounds:</a>
|
||||
</h5>
|
||||
<p>
|
||||
@ -116,7 +117,8 @@
|
||||
<p>
|
||||
The first part guarantees the successful compilation of something like this:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">((</span><span class="identifier">is_same</span><span class="special"><</span><span class="keyword">char</span><span class="special">,</span> <span class="identifier">remove_reference</span><span class="special"><</span><span class="keyword">char</span><span class="special">&>::</span><span class="identifier">type</span><span class="special">>::</span><span class="identifier">value</span><span class="special">));</span>
|
||||
<pre class="programlisting">
|
||||
<span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">((</span><span class="identifier">is_same</span><span class="special"><</span><span class="keyword">char</span><span class="special">,</span> <span class="identifier">remove_reference</span><span class="special"><</span><span class="keyword">char</span><span class="special">&>::</span><span class="identifier">type</span><span class="special">>::</span><span class="identifier">value</span><span class="special">));</span>
|
||||
<span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">((</span><span class="identifier">is_same</span><span class="special"><</span><span class="keyword">char</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">remove_reference</span><span class="special"><</span><span class="keyword">char</span> <span class="keyword">const</span><span class="special">&>::</span><span class="identifier">type</span><span class="special">>::</span><span class="identifier">value</span><span class="special">));</span>
|
||||
<span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">((</span><span class="identifier">is_same</span><span class="special"><</span><span class="keyword">char</span> <span class="keyword">volatile</span><span class="special">,</span> <span class="identifier">remove_reference</span><span class="special"><</span><span class="keyword">char</span> <span class="keyword">volatile</span><span class="special">&>::</span><span class="identifier">type</span><span class="special">>::</span><span class="identifier">value</span><span class="special">));</span>
|
||||
<span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">((</span><span class="identifier">is_same</span><span class="special"><</span><span class="keyword">char</span> <span class="keyword">const</span> <span class="keyword">volatile</span><span class="special">,</span> <span class="identifier">remove_reference</span><span class="special"><</span><span class="keyword">char</span> <span class="keyword">const</span> <span class="keyword">volatile</span><span class="special">&>::</span><span class="identifier">type</span><span class="special">>::</span><span class="identifier">value</span><span class="special">));</span>
|
||||
@ -131,7 +133,8 @@
|
||||
<code class="computeroutput"><span class="keyword">int</span></code> or other built-in type,
|
||||
but for their own types as well:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">myspace</span><span class="special">{</span>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">namespace</span> <span class="identifier">myspace</span><span class="special">{</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">MyClass</span> <span class="special">{};</span>
|
||||
<span class="special">}</span>
|
||||
<span class="comment">// declare this at global scope:
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Type Traits that Describe the Properties of a Type</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../category.html" title="Type Traits by Category">
|
||||
<link rel="prev" href="../category.html" title="Type Traits by Category">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,7 +24,7 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.category.value_traits"></a><a href="value_traits.html" title="Type Traits that Describe the Properties of a Type"> Type Traits
|
||||
<a name="boost_typetraits.category.value_traits"></a><a class="link" href="value_traits.html" title="Type Traits that Describe the Properties of a Type"> Type Traits
|
||||
that Describe the Properties of a Type</a>
|
||||
</h3></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
@ -37,13 +37,13 @@
|
||||
</dl></div>
|
||||
<p>
|
||||
These traits are all <span class="emphasis"><em>value traits</em></span>, which is to say the
|
||||
traits classes all inherit from <a href="../reference/integral_constant.html" title="integral_constant">integral_constant</a>,
|
||||
traits classes all inherit from <a class="link" href="../reference/integral_constant.html" title="integral_constant">integral_constant</a>,
|
||||
and are used to access some numerical property of a type. Often this is a
|
||||
simple true or false Boolean value, but in a few cases may be some other
|
||||
integer value (for example when dealing with type alignments, or array bounds:
|
||||
see <code class="computeroutput"><a href="../reference/alignment_of.html" title="alignment_of">alignment_of</a></code>,
|
||||
<code class="computeroutput"><a href="../reference/rank.html" title="rank">rank</a></code>
|
||||
and <code class="computeroutput"><a href="../reference/extent.html" title="extent">extent</a></code>).
|
||||
see <code class="computeroutput"><a class="link" href="../reference/alignment_of.html" title="alignment_of">alignment_of</a></code>,
|
||||
<code class="computeroutput"><a class="link" href="../reference/rank.html" title="rank">rank</a></code>
|
||||
and <code class="computeroutput"><a class="link" href="../reference/extent.html" title="extent">extent</a></code>).
|
||||
</p>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Categorizing a Type</title>
|
||||
<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../value_traits.html" title="Type Traits that Describe the Properties of a Type">
|
||||
<link rel="prev" href="../value_traits.html" title="Type Traits that Describe the Properties of a Type">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,7 +24,7 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_typetraits.category.value_traits.primary"></a><a href="primary.html" title="Categorizing a Type"> Categorizing
|
||||
<a name="boost_typetraits.category.value_traits.primary"></a><a class="link" href="primary.html" title="Categorizing a Type"> Categorizing
|
||||
a Type</a>
|
||||
</h4></div></div></div>
|
||||
<p>
|
||||
@ -33,13 +33,13 @@
|
||||
are compositions of one or more primary traits.
|
||||
</p>
|
||||
<p>
|
||||
For any given type, exactly one primary type trait will inherit from <a href="../../reference/integral_constant.html" title="integral_constant">true_type</a>,
|
||||
and all the others will inherit from <a href="../../reference/integral_constant.html" title="integral_constant">false_type</a>,
|
||||
For any given type, exactly one primary type trait will inherit from <a class="link" href="../../reference/integral_constant.html" title="integral_constant">true_type</a>,
|
||||
and all the others will inherit from <a class="link" href="../../reference/integral_constant.html" title="integral_constant">false_type</a>,
|
||||
in other words these traits are mutually exclusive.
|
||||
</p>
|
||||
<p>
|
||||
This means that <code class="computeroutput"><a href="../../reference/is_integral.html" title="is_integral">is_integral</a><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span></code>
|
||||
and <code class="computeroutput"><a href="../../reference/is_floating_point.html" title="is_floating_point">is_floating_point</a><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span></code>
|
||||
This means that <code class="computeroutput"><a class="link" href="../../reference/is_integral.html" title="is_integral">is_integral</a><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span></code>
|
||||
and <code class="computeroutput"><a class="link" href="../../reference/is_floating_point.html" title="is_floating_point">is_floating_point</a><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span></code>
|
||||
will only ever be true for built-in types; if you want to check for a user-defined
|
||||
class type that behaves "as if" it is an integral or floating
|
||||
point type, then use the <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span>
|
||||
@ -48,67 +48,69 @@
|
||||
<p>
|
||||
<span class="bold"><strong>Synopsis:</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">struct</span> <a href="../../reference/is_array.html" title="is_array">is_array</a><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="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_array.html" title="is_array">is_array</a><span class="special"><</span><span class="identifier">T</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> <a href="../../reference/is_class.html" title="is_class">is_class</a><span class="special"><</span><span class="identifier">T</span><span class="special">>;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_class.html" title="is_class">is_class</a><span class="special"><</span><span class="identifier">T</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> <a href="../../reference/is_complex.html" title="is_complex">is_complex</a><span class="special"><</span><span class="identifier">T</span><span class="special">>;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_complex.html" title="is_complex">is_complex</a><span class="special"><</span><span class="identifier">T</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> <a href="../../reference/is_enum.html" title="is_enum">is_enum</a><span class="special"><</span><span class="identifier">T</span><span class="special">>;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_enum.html" title="is_enum">is_enum</a><span class="special"><</span><span class="identifier">T</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> <a href="../../reference/is_floating_point.html" title="is_floating_point">is_floating_point</a><span class="special"><</span><span class="identifier">T</span><span class="special">>;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_floating_point.html" title="is_floating_point">is_floating_point</a><span class="special"><</span><span class="identifier">T</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> <a href="../../reference/is_function.html" title="is_function">is_function</a><span class="special"><</span><span class="identifier">T</span><span class="special">>;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_function.html" title="is_function">is_function</a><span class="special"><</span><span class="identifier">T</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> <a href="../../reference/is_integral.html" title="is_integral">is_integral</a><span class="special"><</span><span class="identifier">T</span><span class="special">>;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_integral.html" title="is_integral">is_integral</a><span class="special"><</span><span class="identifier">T</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> <a href="../../reference/is_member_function_pointer.html" title="is_member_function_pointer">is_member_function_pointer</a><span class="special"><</span><span class="identifier">T</span><span class="special">>;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_member_function_pointer.html" title="is_member_function_pointer">is_member_function_pointer</a><span class="special"><</span><span class="identifier">T</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> <a href="../../reference/is_member_object_pointer.html" title="is_member_object_pointer">is_member_object_pointer</a><span class="special"><</span><span class="identifier">T</span><span class="special">>;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_member_object_pointer.html" title="is_member_object_pointer">is_member_object_pointer</a><span class="special"><</span><span class="identifier">T</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> <a href="../../reference/is_pointer.html" title="is_pointer">is_pointer</a><span class="special"><</span><span class="identifier">T</span><span class="special">>;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_pointer.html" title="is_pointer">is_pointer</a><span class="special"><</span><span class="identifier">T</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> <a href="../../reference/is_reference.html" title="is_reference">is_reference</a><span class="special"><</span><span class="identifier">T</span><span class="special">>;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_reference.html" title="is_reference">is_reference</a><span class="special"><</span><span class="identifier">T</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> <a href="../../reference/is_union.html" title="is_union">is_union</a><span class="special"><</span><span class="identifier">T</span><span class="special">>;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_union.html" title="is_union">is_union</a><span class="special"><</span><span class="identifier">T</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> <a href="../../reference/is_void.html" title="is_void">is_void</a><span class="special"><</span><span class="identifier">T</span><span class="special">>;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_void.html" title="is_void">is_void</a><span class="special"><</span><span class="identifier">T</span><span class="special">>;</span>
|
||||
</pre>
|
||||
<p>
|
||||
The following traits are made up of the union of one or more type categorizations.
|
||||
A type may belong to more than one of these categories, in addition to
|
||||
one of the primary categories.
|
||||
</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">struct</span> <a href="../../reference/is_arithmetic.html" title="is_arithmetic">is_arithmetic</a><span class="special">;</span>
|
||||
<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">struct</span> <a class="link" href="../../reference/is_arithmetic.html" title="is_arithmetic">is_arithmetic</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 href="../../reference/is_compound.html" title="is_compound">is_compound</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_compound.html" title="is_compound">is_compound</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 href="../../reference/is_fundamental.html" title="is_fundamental">is_fundamental</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_fundamental.html" title="is_fundamental">is_fundamental</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 href="../../reference/is_member_pointer.html" title="is_member_pointer">is_member_pointer</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_member_pointer.html" title="is_member_pointer">is_member_pointer</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 href="../../reference/is_object.html" title="is_object">is_object</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_object.html" title="is_object">is_object</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 href="../../reference/is_scalar.html" title="is_scalar">is_scalar</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_scalar.html" title="is_scalar">is_scalar</a><span class="special">;</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>General Type Properties</title>
|
||||
<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../value_traits.html" title="Type Traits that Describe the Properties of a Type">
|
||||
<link rel="prev" href="primary.html" title="Categorizing a Type">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,7 +24,7 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_typetraits.category.value_traits.properties"></a><a href="properties.html" title="General Type Properties">
|
||||
<a name="boost_typetraits.category.value_traits.properties"></a><a class="link" href="properties.html" title="General Type Properties">
|
||||
General Type Properties</a>
|
||||
</h4></div></div></div>
|
||||
<p>
|
||||
@ -33,77 +33,78 @@
|
||||
<p>
|
||||
<span class="bold"><strong>Synopsis:</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">struct</span> <a href="../../reference/alignment_of.html" title="alignment_of">alignment_of</a><span class="special">;</span>
|
||||
<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">struct</span> <a class="link" href="../../reference/alignment_of.html" title="alignment_of">alignment_of</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 href="../../reference/has_nothrow_assign.html" title="has_nothrow_assign">has_nothrow_assign</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/has_nothrow_assign.html" title="has_nothrow_assign">has_nothrow_assign</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 href="../../reference/has_nothrow_constructor.html" title="has_nothrow_constructor">has_nothrow_constructor</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/has_nothrow_constructor.html" title="has_nothrow_constructor">has_nothrow_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 href="../../reference/has_nothrow_constructor.html" title="has_nothrow_constructor">has_nothrow_default_constructor</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/has_nothrow_constructor.html" title="has_nothrow_constructor">has_nothrow_default_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 href="../../reference/has_nothrow_copy.html" title="has_nothrow_copy">has_nothrow_copy</a><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</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 href="../../reference/has_nothrow_copy.html" title="has_nothrow_copy">has_nothrow_copy_constructor</a><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 href="../../reference/has_trivial_assign.html" title="has_trivial_assign">has_trivial_assign</a><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>
|
||||
|
||||
<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 href="../../reference/has_trivial_constructor.html" title="has_trivial_constructor">has_trivial_constructor</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/has_trivial_constructor.html" title="has_trivial_constructor">has_trivial_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 href="../../reference/has_trivial_constructor.html" title="has_trivial_constructor">has_trivial_default_constructor</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/has_trivial_constructor.html" title="has_trivial_constructor">has_trivial_default_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 href="../../reference/has_trivial_copy.html" title="has_trivial_copy">has_trivial_copy</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/has_trivial_copy.html" title="has_trivial_copy">has_trivial_copy</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 href="../../reference/has_trivial_copy.html" title="has_trivial_copy">has_trivial_copy_constructor</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/has_trivial_copy.html" title="has_trivial_copy">has_trivial_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 href="../../reference/has_trivial_destructor.html" title="has_trivial_destructor">has_trivial_destructor</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/has_trivial_destructor.html" title="has_trivial_destructor">has_trivial_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 href="../../reference/has_virtual_destructor.html" title="has_virtual_destructor">has_virtual_destructor</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/has_virtual_destructor.html" title="has_virtual_destructor">has_virtual_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 href="../../reference/is_abstract.html" title="is_abstract">is_abstract</a><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">struct</span> <a href="../../reference/is_const.html" title="is_const">is_const</a><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 href="../../reference/is_empty.html" title="is_empty">is_empty</a><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 href="../../reference/is_stateless.html" title="is_stateless">is_stateless</a><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>
|
||||
|
||||
<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 href="../../reference/is_pod.html" title="is_pod">is_pod</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_pod.html" title="is_pod">is_pod</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 href="../../reference/is_polymorphic.html" title="is_polymorphic">is_polymorphic</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_polymorphic.html" title="is_polymorphic">is_polymorphic</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 href="../../reference/is_signed.html" title="is_signed">is_signed</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_signed.html" title="is_signed">is_signed</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 href="../../reference/is_unsigned.html" title="is_unsigned">is_unsigned</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_unsigned.html" title="is_unsigned">is_unsigned</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 href="../../reference/is_volatile.html" title="is_volatile">is_volatile</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_volatile.html" title="is_volatile">is_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="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span> <span class="special">=</span> <span class="number">0</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a href="../../reference/extent.html" title="extent">extent</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/extent.html" title="extent">extent</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 href="../../reference/rank.html" title="rank">rank</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/rank.html" title="rank">rank</a><span class="special">;</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Relationships Between Two Types</title>
|
||||
<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../value_traits.html" title="Type Traits that Describe the Properties of a Type">
|
||||
<link rel="prev" href="properties.html" title="General Type Properties">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,7 +24,7 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h4 class="title">
|
||||
<a name="boost_typetraits.category.value_traits.relate"></a><a href="relate.html" title="Relationships Between Two Types"> Relationships
|
||||
<a name="boost_typetraits.category.value_traits.relate"></a><a class="link" href="relate.html" title="Relationships Between Two Types"> Relationships
|
||||
Between Two Types</a>
|
||||
</h4></div></div></div>
|
||||
<p>
|
||||
@ -34,14 +34,15 @@
|
||||
<p>
|
||||
<span class="bold"><strong>Synopsis:</strong></span>
|
||||
</p>
|
||||
<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Base</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Derived</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a href="../../reference/is_base_of.html" title="is_base_of">is_base_of</a><span class="special">;</span>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Base</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Derived</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_base_of.html" title="is_base_of">is_base_of</a><span class="special">;</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">From</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">To</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <a href="../../reference/is_convertible.html" title="is_convertible">is_convertible</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_convertible.html" title="is_convertible">is_convertible</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 href="../../reference/is_same.html" title="is_same">is_same</a><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="../../reference/is_same.html" title="is_same">is_same</a><span class="special">;</span>
|
||||
</pre>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Credits</title>
|
||||
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="prev" href="reference/type_with_alignment.html" title="type_with_alignment">
|
||||
@ -11,7 +11,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -23,11 +23,11 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_typetraits.credits"></a><a href="credits.html" title="Credits"> Credits</a>
|
||||
<a name="boost_typetraits.credits"></a><a class="link" href="credits.html" title="Credits"> Credits</a>
|
||||
</h2></div></div></div>
|
||||
<p>
|
||||
This documentation was pulled together by John Maddock, using <a href="../../../tools/quickbook/doc/html/index.html" target="_top">Boost.Quickbook</a>
|
||||
and <a href="../boostbook.html" target="_top">Boost.DocBook</a>.
|
||||
This documentation was pulled together by John Maddock, using <a href="../../../../../tools/quickbook/doc/html/index.html" target="_top">Boost.Quickbook</a>
|
||||
and <a href="../../../../../doc/html/boostbook.html" target="_top">Boost.DocBook</a>.
|
||||
</p>
|
||||
<p>
|
||||
The original version of this library was created by Steve Cleary, Beman Dawes,
|
||||
@ -49,7 +49,7 @@
|
||||
Aleksey Gurtovoy added MPL integration to the library.
|
||||
</p>
|
||||
<p>
|
||||
The <a href="reference/is_convertible.html" title="is_convertible">is_convertible</a>
|
||||
The <a class="link" href="reference/is_convertible.html" title="is_convertible">is_convertible</a>
|
||||
template is based on code originally devised by Andrei Alexandrescu, see "<a href="http://www.cuj.com/experts/1810/alexandr.htm?topic=experts" target="_top">Generic<Programming>:
|
||||
Mappings between Types and Values</a>".
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Examples</title>
|
||||
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="prev" href="mpl.html" title="MPL Interoperability">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,7 +24,7 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_typetraits.examples"></a><a href="examples.html" title="Examples"> Examples</a>
|
||||
<a name="boost_typetraits.examples"></a><a class="link" href="examples.html" title="Examples"> Examples</a>
|
||||
</h2></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="examples/copy.html"> An Optimized Version
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>An Optimized Version of std::copy</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../examples.html" title="Examples">
|
||||
<link rel="prev" href="../examples.html" title="Examples">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,16 +24,17 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.examples.copy"></a><a href="copy.html" title="An Optimized Version of std::copy"> An Optimized Version
|
||||
<a name="boost_typetraits.examples.copy"></a><a class="link" href="copy.html" title="An Optimized Version of std::copy"> An Optimized Version
|
||||
of std::copy</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
Demonstrates a version of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">copy</span></code>
|
||||
that uses <code class="computeroutput"><a href="../reference/has_trivial_assign.html" title="has_trivial_assign">has_trivial_assign</a></code>
|
||||
that uses <code class="computeroutput"><a class="link" href="../reference/has_trivial_assign.html" title="has_trivial_assign">has_trivial_assign</a></code>
|
||||
to determine whether to use <code class="computeroutput"><span class="identifier">memcpy</span></code>
|
||||
to optimise the copy operation (see <a href="../../../../libs/type_traits/examples/copy_example.cpp" target="_top">copy_example.cpp</a>):
|
||||
to optimise the copy operation (see <a href="../../../../examples/copy_example.cpp" target="_top">copy_example.cpp</a>):
|
||||
</p>
|
||||
<pre class="programlisting"><span class="comment">//
|
||||
<pre class="programlisting">
|
||||
<span class="comment">//
|
||||
</span><span class="comment">// opt::copy
|
||||
</span><span class="comment">// same semantics as std::copy
|
||||
</span><span class="comment">// calls memcpy where appropriate.
|
||||
@ -42,7 +43,7 @@
|
||||
<span class="keyword">namespace</span> <span class="identifier">detail</span><span class="special">{</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">I1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">I2</span><span class="special">,</span> <span class="keyword">bool</span> <span class="identifier">b</span><span class="special">></span>
|
||||
<span class="identifier">I2</span> <span class="identifier">copy_imp</span><span class="special">(</span><span class="identifier">I1</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">I1</span> <span class="identifier">last</span><span class="special">,</span> <span class="identifier">I2</span> <span class="identifier">out</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><a href="../reference/integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">b</span><span class="special">>&)</span>
|
||||
<span class="identifier">I2</span> <span class="identifier">copy_imp</span><span class="special">(</span><span class="identifier">I1</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">I1</span> <span class="identifier">last</span><span class="special">,</span> <span class="identifier">I2</span> <span class="identifier">out</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><a class="link" href="../reference/integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">b</span><span class="special">>&)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">while</span><span class="special">(</span><span class="identifier">first</span> <span class="special">!=</span> <span class="identifier">last</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
@ -54,7 +55,7 @@
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="identifier">T</span><span class="special">*</span> <span class="identifier">copy_imp</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">first</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">last</span><span class="special">,</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">out</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><a href="../reference/integral_constant.html" title="integral_constant">true_type</a><span class="special">&)</span>
|
||||
<span class="identifier">T</span><span class="special">*</span> <span class="identifier">copy_imp</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">first</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">last</span><span class="special">,</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">out</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><a class="link" href="../reference/integral_constant.html" title="integral_constant">true_type</a><span class="special">&)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">memcpy</span><span class="special">(</span><span class="identifier">out</span><span class="special">,</span> <span class="identifier">first</span><span class="special">,</span> <span class="special">(</span><span class="identifier">last</span><span class="special">-</span><span class="identifier">first</span><span class="special">)*</span><span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">T</span><span class="special">));</span>
|
||||
<span class="keyword">return</span> <span class="identifier">out</span><span class="special">+(</span><span class="identifier">last</span><span class="special">-</span><span class="identifier">first</span><span class="special">);</span>
|
||||
@ -72,7 +73,7 @@
|
||||
</span> <span class="comment">// requirement we detect with overload resolution):
|
||||
</span> <span class="comment">//
|
||||
</span> <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">I1</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="identifier">value_type</span><span class="special">;</span>
|
||||
<span class="keyword">return</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">copy_imp</span><span class="special">(</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">last</span><span class="special">,</span> <span class="identifier">out</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><a href="../reference/has_trivial_assign.html" title="has_trivial_assign">has_trivial_assign</a><span class="special"><</span><span class="identifier">value_type</span><span class="special">>());</span>
|
||||
<span class="keyword">return</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">copy_imp</span><span class="special">(</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">last</span><span class="special">,</span> <span class="identifier">out</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><a class="link" href="../reference/has_trivial_assign.html" title="has_trivial_assign">has_trivial_assign</a><span class="special"><</span><span class="identifier">value_type</span><span class="special">>());</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
</div>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>An Example that Omits Destructor Calls For Types with Trivial Destructors</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../examples.html" title="Examples">
|
||||
<link rel="prev" href="fill.html" title="An Optimised Version of std::fill">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,14 +24,15 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.examples.destruct"></a><a href="destruct.html" title="An Example that Omits Destructor Calls For Types with Trivial Destructors"> An Example that
|
||||
<a name="boost_typetraits.examples.destruct"></a><a class="link" href="destruct.html" title="An Example that Omits Destructor Calls For Types with Trivial Destructors"> An Example that
|
||||
Omits Destructor Calls For Types with Trivial Destructors</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
Demonstrates a simple algorithm that uses <code class="computeroutput"><span class="identifier">__has_trivial_destruct</span></code>
|
||||
to determine whether to destructors need to be called (see <a href="../../../../libs/type_traits/examples/trivial_destructor_example.cpp" target="_top">trivial_destructor_example.cpp</a>):
|
||||
to determine whether to destructors need to be called (see <a href="../../../../examples/trivial_destructor_example.cpp" target="_top">trivial_destructor_example.cpp</a>):
|
||||
</p>
|
||||
<pre class="programlisting"><span class="comment">//
|
||||
<pre class="programlisting">
|
||||
<span class="comment">//
|
||||
</span><span class="comment">// algorithm destroy_array:
|
||||
</span><span class="comment">// The reverse of std::unitialized_copy, takes a block of
|
||||
</span><span class="comment">// initialized memory and calls destructors on all objects therein.
|
||||
@ -40,7 +41,7 @@
|
||||
<span class="keyword">namespace</span> <span class="identifier">detail</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">void</span> <span class="identifier">do_destroy_array</span><span class="special">(</span><span class="identifier">T</span><span class="special">*</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">last</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><a href="../reference/integral_constant.html" title="integral_constant">false_type</a><span class="special">&)</span>
|
||||
<span class="keyword">void</span> <span class="identifier">do_destroy_array</span><span class="special">(</span><span class="identifier">T</span><span class="special">*</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">last</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><a class="link" href="../reference/integral_constant.html" title="integral_constant">false_type</a><span class="special">&)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">while</span><span class="special">(</span><span class="identifier">first</span> <span class="special">!=</span> <span class="identifier">last</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
@ -50,7 +51,7 @@
|
||||
<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">inline</span> <span class="keyword">void</span> <span class="identifier">do_destroy_array</span><span class="special">(</span><span class="identifier">T</span><span class="special">*</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">last</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><a href="../reference/integral_constant.html" title="integral_constant">true_type</a><span class="special">&)</span>
|
||||
<span class="keyword">inline</span> <span class="keyword">void</span> <span class="identifier">do_destroy_array</span><span class="special">(</span><span class="identifier">T</span><span class="special">*</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">last</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><a class="link" href="../reference/integral_constant.html" title="integral_constant">true_type</a><span class="special">&)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
@ -59,7 +60,7 @@
|
||||
<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">inline</span> <span class="keyword">void</span> <span class="identifier">destroy_array</span><span class="special">(</span><span class="identifier">T</span><span class="special">*</span> <span class="identifier">p1</span><span class="special">,</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">p2</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">detail</span><span class="special">::</span><span class="identifier">do_destroy_array</span><span class="special">(</span><span class="identifier">p1</span><span class="special">,</span> <span class="identifier">p2</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><a href="../reference/has_trivial_destructor.html" title="has_trivial_destructor">has_trivial_destructor</a><span class="special"><</span><span class="identifier">T</span><span class="special">>());</span>
|
||||
<span class="identifier">detail</span><span class="special">::</span><span class="identifier">do_destroy_array</span><span class="special">(</span><span class="identifier">p1</span><span class="special">,</span> <span class="identifier">p2</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><a class="link" href="../reference/has_trivial_destructor.html" title="has_trivial_destructor">has_trivial_destructor</a><span class="special"><</span><span class="identifier">T</span><span class="special">>());</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
</div>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>An Optimised Version of std::fill</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../examples.html" title="Examples">
|
||||
<link rel="prev" href="copy.html" title="An Optimized Version of std::copy">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,23 +24,24 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.examples.fill"></a><a href="fill.html" title="An Optimised Version of std::fill"> An Optimised Version
|
||||
<a name="boost_typetraits.examples.fill"></a><a class="link" href="fill.html" title="An Optimised Version of std::fill"> An Optimised Version
|
||||
of std::fill</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
Demonstrates a version of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">fill</span></code>
|
||||
that uses <code class="computeroutput"><a href="../reference/has_trivial_assign.html" title="has_trivial_assign">has_trivial_assign</a></code>
|
||||
that uses <code class="computeroutput"><a class="link" href="../reference/has_trivial_assign.html" title="has_trivial_assign">has_trivial_assign</a></code>
|
||||
to determine whether to use <code class="computeroutput"><span class="identifier">memset</span></code>
|
||||
to optimise the fill operation (see <a href="../../../../libs/type_traits/examples/fill_example.cpp" target="_top">fill_example.cpp</a>):
|
||||
to optimise the fill operation (see <a href="../../../../examples/fill_example.cpp" target="_top">fill_example.cpp</a>):
|
||||
</p>
|
||||
<pre class="programlisting"><span class="comment">//
|
||||
<pre class="programlisting">
|
||||
<span class="comment">//
|
||||
</span><span class="comment">// fill
|
||||
</span><span class="comment">// same as std::fill, but uses memset where appropriate
|
||||
</span><span class="comment">//
|
||||
</span><span class="keyword">namespace</span> <span class="identifier">detail</span><span class="special">{</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">I</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">bool</span> <span class="identifier">b</span><span class="special">></span>
|
||||
<span class="keyword">void</span> <span class="identifier">do_fill</span><span class="special">(</span><span class="identifier">I</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">I</span> <span class="identifier">last</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&</span> <span class="identifier">val</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><a href="../reference/integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">b</span><span class="special">>&)</span>
|
||||
<span class="keyword">void</span> <span class="identifier">do_fill</span><span class="special">(</span><span class="identifier">I</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">I</span> <span class="identifier">last</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&</span> <span class="identifier">val</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><a class="link" href="../reference/integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="keyword">bool</span><span class="special">,</span> <span class="identifier">b</span><span class="special">>&)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">while</span><span class="special">(</span><span class="identifier">first</span> <span class="special">!=</span> <span class="identifier">last</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
@ -50,7 +51,7 @@
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">void</span> <span class="identifier">do_fill</span><span class="special">(</span><span class="identifier">T</span><span class="special">*</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">last</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&</span> <span class="identifier">val</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><a href="../reference/integral_constant.html" title="integral_constant">true_type</a><span class="special">&)</span>
|
||||
<span class="keyword">void</span> <span class="identifier">do_fill</span><span class="special">(</span><span class="identifier">T</span><span class="special">*</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">last</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&</span> <span class="identifier">val</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><a class="link" href="../reference/integral_constant.html" title="integral_constant">true_type</a><span class="special">&)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">memset</span><span class="special">(</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">val</span><span class="special">,</span> <span class="identifier">last</span><span class="special">-</span><span class="identifier">first</span><span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
@ -64,8 +65,8 @@
|
||||
</span> <span class="comment">// We can do an optimised fill if T has a trivial assignment
|
||||
</span> <span class="comment">// operator and if it's size is one:
|
||||
</span> <span class="comment">//
|
||||
</span> <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><a href="../reference/integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="keyword">bool</span><span class="special">,</span>
|
||||
<span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><a href="../reference/has_trivial_assign.html" title="has_trivial_assign">has_trivial_assign</a><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span> <span class="special">&&</span> <span class="special">(</span><span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span> <span class="special">==</span> <span class="number">1</span><span class="special">)></span> <span class="identifier">truth_type</span><span class="special">;</span>
|
||||
</span> <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><a class="link" href="../reference/integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="keyword">bool</span><span class="special">,</span>
|
||||
<span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><a class="link" href="../reference/has_trivial_assign.html" title="has_trivial_assign">has_trivial_assign</a><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span> <span class="special">&&</span> <span class="special">(</span><span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span> <span class="special">==</span> <span class="number">1</span><span class="special">)></span> <span class="identifier">truth_type</span><span class="special">;</span>
|
||||
<span class="identifier">detail</span><span class="special">::</span><span class="identifier">do_fill</span><span class="special">(</span><span class="identifier">first</span><span class="special">,</span> <span class="identifier">last</span><span class="special">,</span> <span class="identifier">val</span><span class="special">,</span> <span class="identifier">truth_type</span><span class="special">());</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>An improved Version of std::iter_swap</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../examples.html" title="Examples">
|
||||
<link rel="prev" href="destruct.html" title="An Example that Omits Destructor Calls For Types with Trivial Destructors">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,7 +24,7 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.examples.iter"></a><a href="iter.html" title="An improved Version of std::iter_swap"> An improved Version
|
||||
<a name="boost_typetraits.examples.iter"></a><a class="link" href="iter.html" title="An improved Version of std::iter_swap"> An improved Version
|
||||
of std::iter_swap</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
@ -34,9 +34,10 @@
|
||||
of it's dereferenced arguments (the same as <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">iter_swap</span></code>
|
||||
does), however if they are proxying iterators then takes special care over
|
||||
the swap to ensure that the algorithm works correctly for both proxying iterators,
|
||||
and even iterators of different types (see <a href="../../../../libs/type_traits/examples/iter_swap_example.cpp" target="_top">iter_swap_example.cpp</a>):
|
||||
and even iterators of different types (see <a href="../../../../examples/iter_swap_example.cpp" target="_top">iter_swap_example.cpp</a>):
|
||||
</p>
|
||||
<pre class="programlisting"><span class="comment">//
|
||||
<pre class="programlisting">
|
||||
<span class="comment">//
|
||||
</span><span class="comment">// iter_swap:
|
||||
</span><span class="comment">// tests whether iterator is a proxying iterator or not, and
|
||||
</span><span class="comment">// uses optimal form accordingly:
|
||||
@ -44,7 +45,7 @@
|
||||
</span><span class="keyword">namespace</span> <span class="identifier">detail</span><span class="special">{</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">I</span><span class="special">></span>
|
||||
<span class="keyword">static</span> <span class="keyword">void</span> <span class="identifier">do_swap</span><span class="special">(</span><span class="identifier">I</span> <span class="identifier">one</span><span class="special">,</span> <span class="identifier">I</span> <span class="identifier">two</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><a href="../reference/integral_constant.html" title="integral_constant">false_type</a><span class="special">&)</span>
|
||||
<span class="keyword">static</span> <span class="keyword">void</span> <span class="identifier">do_swap</span><span class="special">(</span><span class="identifier">I</span> <span class="identifier">one</span><span class="special">,</span> <span class="identifier">I</span> <span class="identifier">two</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><a class="link" href="../reference/integral_constant.html" title="integral_constant">false_type</a><span class="special">&)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">I</span><span class="special">>::</span><span class="identifier">value_type</span> <span class="identifier">v_t</span><span class="special">;</span>
|
||||
<span class="identifier">v_t</span> <span class="identifier">v</span> <span class="special">=</span> <span class="special">*</span><span class="identifier">one</span><span class="special">;</span>
|
||||
@ -52,7 +53,7 @@
|
||||
<span class="special">*</span><span class="identifier">two</span> <span class="special">=</span> <span class="identifier">v</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">I</span><span class="special">></span>
|
||||
<span class="keyword">static</span> <span class="keyword">void</span> <span class="identifier">do_swap</span><span class="special">(</span><span class="identifier">I</span> <span class="identifier">one</span><span class="special">,</span> <span class="identifier">I</span> <span class="identifier">two</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><a href="../reference/integral_constant.html" title="integral_constant">true_type</a><span class="special">&)</span>
|
||||
<span class="keyword">static</span> <span class="keyword">void</span> <span class="identifier">do_swap</span><span class="special">(</span><span class="identifier">I</span> <span class="identifier">one</span><span class="special">,</span> <span class="identifier">I</span> <span class="identifier">two</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><a class="link" href="../reference/integral_constant.html" title="integral_constant">true_type</a><span class="special">&)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">swap</span><span class="special">;</span>
|
||||
<span class="identifier">swap</span><span class="special">(*</span><span class="identifier">one</span><span class="special">,</span> <span class="special">*</span><span class="identifier">two</span><span class="special">);</span>
|
||||
@ -70,10 +71,10 @@
|
||||
</span> <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">I1</span><span class="special">>::</span><span class="identifier">reference</span> <span class="identifier">r1_t</span><span class="special">;</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator_traits</span><span class="special"><</span><span class="identifier">I2</span><span class="special">>::</span><span class="identifier">reference</span> <span class="identifier">r2_t</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><a href="../reference/integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="keyword">bool</span><span class="special">,</span>
|
||||
<span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><a href="../reference/is_reference.html" title="is_reference">is_reference</a><span class="special"><</span><span class="identifier">r1_t</span><span class="special">>::</span><span class="identifier">value</span>
|
||||
<span class="special">&&</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><a href="../reference/is_reference.html" title="is_reference">is_reference</a><span class="special"><</span><span class="identifier">r2_t</span><span class="special">>::</span><span class="identifier">value</span>
|
||||
<span class="special">&&</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><a href="../reference/is_same.html" title="is_same">is_same</a><span class="special"><</span><span class="identifier">r1_t</span><span class="special">,</span> <span class="identifier">r2_t</span><span class="special">>::</span><span class="identifier">value</span><span class="special">></span> <span class="identifier">truth_type</span><span class="special">;</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><a class="link" href="../reference/integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="keyword">bool</span><span class="special">,</span>
|
||||
<span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><a class="link" href="../reference/is_reference.html" title="is_reference">is_reference</a><span class="special"><</span><span class="identifier">r1_t</span><span class="special">>::</span><span class="identifier">value</span>
|
||||
<span class="special">&&</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><a class="link" href="../reference/is_reference.html" title="is_reference">is_reference</a><span class="special"><</span><span class="identifier">r2_t</span><span class="special">>::</span><span class="identifier">value</span>
|
||||
<span class="special">&&</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><a class="link" href="../reference/is_same.html" title="is_same">is_same</a><span class="special"><</span><span class="identifier">r1_t</span><span class="special">,</span> <span class="identifier">r2_t</span><span class="special">>::</span><span class="identifier">value</span><span class="special">></span> <span class="identifier">truth_type</span><span class="special">;</span>
|
||||
|
||||
<span class="identifier">detail</span><span class="special">::</span><span class="identifier">do_swap</span><span class="special">(</span><span class="identifier">one</span><span class="special">,</span> <span class="identifier">two</span><span class="special">,</span> <span class="identifier">truth_type</span><span class="special">());</span>
|
||||
<span class="special">}</span>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Convert Numeric Types and Enums to double</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../examples.html" title="Examples">
|
||||
<link rel="prev" href="iter.html" title="An improved Version of std::iter_swap">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,14 +24,15 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.examples.to_double"></a><a href="to_double.html" title="Convert Numeric Types and Enums to double"> Convert Numeric
|
||||
<a name="boost_typetraits.examples.to_double"></a><a class="link" href="to_double.html" title="Convert Numeric Types and Enums to double"> Convert Numeric
|
||||
Types and Enums to double</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
Demonstrates a conversion of <a href="../../../../libs/numeric/conversion/doc/definitions.html#numtypes" target="_top">Numeric
|
||||
Demonstrates a conversion of <a href="../../../../../../libs/numeric/conversion/doc/html/boost_numericconversion/definitions.html#boost_numericconversion.definitions.numeric_types" target="_top">Numeric
|
||||
Types</a> and enum types to double:
|
||||
</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>
|
||||
<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">inline</span> <span class="keyword">double</span> <span class="identifier">to_double</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">value</span><span class="special">)</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">promote</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">promoted</span><span class="special">;</span>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Support for Compiler Intrinsics</title>
|
||||
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="prev" href="user_defined.html" title="User Defined Specializations">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,7 +24,7 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_typetraits.intrinsics"></a><a href="intrinsics.html" title="Support for Compiler Intrinsics"> Support for Compiler Intrinsics</a>
|
||||
<a name="boost_typetraits.intrinsics"></a><a class="link" href="intrinsics.html" title="Support for Compiler Intrinsics"> Support for Compiler Intrinsics</a>
|
||||
</h2></div></div></div>
|
||||
<p>
|
||||
There are some traits that can not be implemented within the current C++ language:
|
||||
@ -38,16 +38,16 @@
|
||||
for all types (but all have safe fallback positions if this support is unavailable):
|
||||
</p>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="reference/is_union.html" title="is_union">is_union</a></li>
|
||||
<li><a href="reference/is_pod.html" title="is_pod">is_pod</a></li>
|
||||
<li><a href="reference/has_trivial_constructor.html" title="has_trivial_constructor">has_trivial_constructor</a></li>
|
||||
<li><a href="reference/has_trivial_copy.html" title="has_trivial_copy">has_trivial_copy</a></li>
|
||||
<li><a href="reference/has_trivial_assign.html" title="has_trivial_assign">has_trivial_assign</a></li>
|
||||
<li><a href="reference/has_trivial_destructor.html" title="has_trivial_destructor">has_trivial_destructor</a></li>
|
||||
<li><a href="reference/has_nothrow_constructor.html" title="has_nothrow_constructor">has_nothrow_constructor</a></li>
|
||||
<li><a href="reference/has_nothrow_copy.html" title="has_nothrow_copy">has_nothrow_copy</a></li>
|
||||
<li><a href="reference/has_nothrow_assign.html" title="has_nothrow_assign">has_nothrow_assign</a></li>
|
||||
<li><a href="reference/has_virtual_destructor.html" title="has_virtual_destructor">has_virtual_destructor</a></li>
|
||||
<li><a class="link" href="reference/is_union.html" title="is_union">is_union</a></li>
|
||||
<li><a class="link" href="reference/is_pod.html" title="is_pod">is_pod</a></li>
|
||||
<li><a class="link" href="reference/has_trivial_constructor.html" title="has_trivial_constructor">has_trivial_constructor</a></li>
|
||||
<li><a class="link" href="reference/has_trivial_copy.html" title="has_trivial_copy">has_trivial_copy</a></li>
|
||||
<li><a class="link" href="reference/has_trivial_assign.html" title="has_trivial_assign">has_trivial_assign</a></li>
|
||||
<li><a class="link" href="reference/has_trivial_destructor.html" title="has_trivial_destructor">has_trivial_destructor</a></li>
|
||||
<li><a class="link" href="reference/has_nothrow_constructor.html" title="has_nothrow_constructor">has_nothrow_constructor</a></li>
|
||||
<li><a class="link" href="reference/has_nothrow_copy.html" title="has_nothrow_copy">has_nothrow_copy</a></li>
|
||||
<li><a class="link" href="reference/has_nothrow_assign.html" title="has_nothrow_assign">has_nothrow_assign</a></li>
|
||||
<li><a class="link" href="reference/has_virtual_destructor.html" title="has_virtual_destructor">has_virtual_destructor</a></li>
|
||||
</ul></div>
|
||||
<p>
|
||||
The following traits classes can't be portably implemented in the C++ language,
|
||||
@ -55,23 +55,23 @@
|
||||
all the compilers we know about:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="reference/is_empty.html" title="is_empty">is_empty</a></li>
|
||||
<li><a href="reference/is_polymorphic.html" title="is_polymorphic">is_polymorphic</a></li>
|
||||
<li><a class="link" href="reference/is_empty.html" title="is_empty">is_empty</a></li>
|
||||
<li><a class="link" href="reference/is_polymorphic.html" title="is_polymorphic">is_polymorphic</a></li>
|
||||
</ul></div>
|
||||
<p>
|
||||
The following traits classes are dependent on one or more of the above:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul type="disc">
|
||||
<li><a href="reference/is_class.html" title="is_class">is_class</a></li>
|
||||
<li><a href="reference/is_stateless.html" title="is_stateless">is_stateless</a></li>
|
||||
<li><a class="link" href="reference/is_class.html" title="is_class">is_class</a></li>
|
||||
<li><a class="link" href="reference/is_stateless.html" title="is_stateless">is_stateless</a></li>
|
||||
</ul></div>
|
||||
<p>
|
||||
The hooks for compiler-intrinsic support are defined in <a href="../../../boost/type_traits/intrinsics.hpp" target="_top">boost/type_traits/intrinsics.hpp</a>,
|
||||
The hooks for compiler-intrinsic support are defined in <a href="../../../../../boost/type_traits/intrinsics.hpp" target="_top">boost/type_traits/intrinsics.hpp</a>,
|
||||
adding support for new compilers is simply a matter of defining one of more
|
||||
of the following macros:
|
||||
</p>
|
||||
<div class="table">
|
||||
<a name="id498434"></a><p class="title"><b>Table<EFBFBD>1.4.<2E>Macros for Compiler Intrinsics</b></p>
|
||||
<a name="id2642766"></a><p class="title"><b>Table<EFBFBD>1.4.<2E>Macros for Compiler Intrinsics</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Macros for Compiler Intrinsics">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Introduction</title>
|
||||
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="prev" href="../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,7 +24,7 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_typetraits.intro"></a><a href="intro.html" title="Introduction"> Introduction</a>
|
||||
<a name="boost_typetraits.intro"></a><a class="link" href="intro.html" title="Introduction"> Introduction</a>
|
||||
</h2></div></div></div>
|
||||
<p>
|
||||
The Boost type-traits library contains a set of very specific traits classes,
|
||||
@ -34,8 +34,8 @@
|
||||
</p>
|
||||
<p>
|
||||
The type-traits classes share a unified design: each class inherits from a
|
||||
the type <a href="reference/integral_constant.html" title="integral_constant">true_type</a>
|
||||
if the type has the specified property and inherits from <a href="reference/integral_constant.html" title="integral_constant">false_type</a>
|
||||
the type <a class="link" href="reference/integral_constant.html" title="integral_constant">true_type</a>
|
||||
if the type has the specified property and inherits from <a class="link" href="reference/integral_constant.html" title="integral_constant">false_type</a>
|
||||
otherwise.
|
||||
</p>
|
||||
<p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>MPL Interoperability</title>
|
||||
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="prev" href="intrinsics.html" title="Support for Compiler Intrinsics">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,22 +24,22 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_typetraits.mpl"></a><a href="mpl.html" title="MPL Interoperability"> MPL Interoperability</a>
|
||||
<a name="boost_typetraits.mpl"></a><a class="link" href="mpl.html" title="MPL Interoperability"> MPL Interoperability</a>
|
||||
</h2></div></div></div>
|
||||
<p>
|
||||
All the value based traits in this library conform to MPL's requirements for
|
||||
an <a href="../../../libs/mpl/doc/refmanual/integral-constant.html" target="_top">Integral
|
||||
an <a href="../../../../../libs/mpl/doc/refmanual/integral-constant.html" target="_top">Integral
|
||||
Constant type</a>: that includes a number of rather intrusive workarounds
|
||||
for broken compilers.
|
||||
</p>
|
||||
<p>
|
||||
Purely as an implementation detail, this means that <code class="computeroutput"><a href="reference/integral_constant.html" title="integral_constant">true_type</a></code>
|
||||
inherits from <a href="../../../libs/mpl/doc/refmanual/bool.html" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code></a>,
|
||||
<code class="computeroutput"><a href="reference/integral_constant.html" title="integral_constant">false_type</a></code>
|
||||
inherits from <a href="../../../libs/mpl/doc/refmanual/bool.html" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></code></a>,
|
||||
and <code class="computeroutput"><a href="reference/integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">T</span><span class="special">,</span>
|
||||
Purely as an implementation detail, this means that <code class="computeroutput"><a class="link" href="reference/integral_constant.html" title="integral_constant">true_type</a></code>
|
||||
inherits from <a href="../../../../../libs/mpl/doc/refmanual/bool.html" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code></a>,
|
||||
<code class="computeroutput"><a class="link" href="reference/integral_constant.html" title="integral_constant">false_type</a></code>
|
||||
inherits from <a href="../../../../../libs/mpl/doc/refmanual/bool.html" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></code></a>,
|
||||
and <code class="computeroutput"><a class="link" href="reference/integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">T</span><span class="special">,</span>
|
||||
<span class="identifier">v</span><span class="special">></span></code>
|
||||
inherits from <a href="../../../libs/mpl/doc/refmanual/integral-c.html" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">integral_c</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">v</span><span class="special">></span></code></a>
|
||||
inherits from <a href="../../../../../libs/mpl/doc/refmanual/integral-c.html" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">integral_c</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">v</span><span class="special">></span></code></a>
|
||||
(provided <code class="computeroutput"><span class="identifier">T</span></code> is not <code class="computeroutput"><span class="keyword">bool</span></code>)
|
||||
</p>
|
||||
</div>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Alphabetical Reference</title>
|
||||
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="prev" href="examples/to_double.html" title="Convert Numeric Types and Enums to double">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,7 +24,7 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_typetraits.reference"></a><a href="reference.html" title="Alphabetical Reference"> Alphabetical Reference</a>
|
||||
<a name="boost_typetraits.reference"></a><a class="link" href="reference.html" title="Alphabetical Reference"> Alphabetical Reference</a>
|
||||
</h2></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="reference/add_const.html"> add_const</a></span></dt>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>add_const</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="../reference.html" title="Alphabetical Reference">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,9 +24,10 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.add_const"></a><a href="add_const.html" title="add_const"> add_const</a>
|
||||
<a name="boost_typetraits.reference.add_const"></a><a class="link" href="add_const.html" title="add_const"> add_const</a>
|
||||
</h3></div></div></div>
|
||||
<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>
|
||||
<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">struct</span> <span class="identifier">add_const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
|
||||
@ -44,7 +45,7 @@
|
||||
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 href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
|
||||
except where <a class="link" href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
|
||||
workarounds</a> have been applied.
|
||||
</p>
|
||||
<p>
|
||||
@ -53,7 +54,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="id503567"></a><p class="title"><b>Table<EFBFBD>1.5.<2E>Examples</b></p>
|
||||
<a name="id2647187"></a><p class="title"><b>Table<EFBFBD>1.5.<2E>Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>add_cv</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="add_const.html" title="add_const">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,9 +24,10 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.add_cv"></a><a href="add_cv.html" title="add_cv"> add_cv</a>
|
||||
<a name="boost_typetraits.reference.add_cv"></a><a class="link" href="add_cv.html" title="add_cv"> add_cv</a>
|
||||
</h3></div></div></div>
|
||||
<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>
|
||||
<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">struct</span> <span class="identifier">add_cv</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
|
||||
@ -45,7 +46,7 @@
|
||||
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 href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
|
||||
except where <a class="link" href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
|
||||
workarounds</a> have been applied.
|
||||
</p>
|
||||
<p>
|
||||
@ -54,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="id504206"></a><p class="title"><b>Table<EFBFBD>1.6.<2E>Examples</b></p>
|
||||
<a name="id2647768"></a><p class="title"><b>Table<EFBFBD>1.6.<2E>Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>add_pointer</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="add_cv.html" title="add_cv">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,9 +24,10 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.add_pointer"></a><a href="add_pointer.html" title="add_pointer"> add_pointer</a>
|
||||
<a name="boost_typetraits.reference.add_pointer"></a><a class="link" href="add_pointer.html" title="add_pointer"> add_pointer</a>
|
||||
</h3></div></div></div>
|
||||
<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>
|
||||
<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">struct</span> <span class="identifier">add_pointer</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
|
||||
@ -47,7 +48,7 @@
|
||||
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 href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
|
||||
except where <a class="link" href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
|
||||
workarounds</a> have been applied.
|
||||
</p>
|
||||
<p>
|
||||
@ -56,7 +57,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="id504918"></a><p class="title"><b>Table<EFBFBD>1.7.<2E>Examples</b></p>
|
||||
<a name="id2648416"></a><p class="title"><b>Table<EFBFBD>1.7.<2E>Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>add_reference</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="add_pointer.html" title="add_pointer">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,9 +24,10 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.add_reference"></a><a href="add_reference.html" title="add_reference"> add_reference</a>
|
||||
<a name="boost_typetraits.reference.add_reference"></a><a class="link" href="add_reference.html" title="add_reference"> add_reference</a>
|
||||
</h3></div></div></div>
|
||||
<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>
|
||||
<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">struct</span> <span class="identifier">add_reference</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
|
||||
@ -44,7 +45,7 @@
|
||||
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 href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
|
||||
except where <a class="link" href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
|
||||
workarounds</a> have been applied.
|
||||
</p>
|
||||
<p>
|
||||
@ -53,7 +54,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="id505555"></a><p class="title"><b>Table<EFBFBD>1.8.<2E>Examples</b></p>
|
||||
<a name="id2648996"></a><p class="title"><b>Table<EFBFBD>1.8.<2E>Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>add_volatile</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="add_reference.html" title="add_reference">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,9 +24,10 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.add_volatile"></a><a href="add_volatile.html" title="add_volatile"> add_volatile</a>
|
||||
<a name="boost_typetraits.reference.add_volatile"></a><a class="link" href="add_volatile.html" title="add_volatile"> add_volatile</a>
|
||||
</h3></div></div></div>
|
||||
<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>
|
||||
<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">struct</span> <span class="identifier">add_volatile</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
|
||||
@ -44,7 +45,7 @@
|
||||
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 href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
|
||||
except where <a class="link" href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
|
||||
workarounds</a> have been applied.
|
||||
</p>
|
||||
<p>
|
||||
@ -53,7 +54,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="id506185"></a><p class="title"><b>Table<EFBFBD>1.9.<2E>Examples</b></p>
|
||||
<a name="id2649568"></a><p class="title"><b>Table<EFBFBD>1.9.<2E>Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>aligned_storage</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="add_volatile.html" title="add_volatile">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,9 +24,10 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.aligned_storage"></a><a href="aligned_storage.html" title="aligned_storage"> aligned_storage</a>
|
||||
<a name="boost_typetraits.reference.aligned_storage"></a><a class="link" href="aligned_storage.html" title="aligned_storage"> aligned_storage</a>
|
||||
</h3></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">Size</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">Align</span><span class="special">></span>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">Size</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">Align</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">aligned_storage</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>alignment_of</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="aligned_storage.html" title="aligned_storage">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,10 +24,11 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.alignment_of"></a><a href="alignment_of.html" title="alignment_of"> alignment_of</a>
|
||||
<a name="boost_typetraits.reference.alignment_of"></a><a class="link" href="alignment_of.html" title="alignment_of"> alignment_of</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">alignment_of</span> <span class="special">:</span> <span class="keyword">public</span> <a href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">ALIGNOF</span><span class="special">(</span><span class="identifier">T</span><span class="special">)></span> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">alignment_of</span> <span class="special">:</span> <span class="keyword">public</span> <a class="link" href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">ALIGNOF</span><span class="special">(</span><span class="identifier">T</span><span class="special">)></span> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> Class template alignment<span class="underline">of inherits from `</span>_integral_constant<std::size_t,
|
||||
@ -52,7 +53,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">alignment_of</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span></code>
|
||||
inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">ALIGNOF</span><span class="special">(</span><span class="keyword">int</span><span class="special">)></span></code>.
|
||||
inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">ALIGNOF</span><span class="special">(</span><span class="keyword">int</span><span class="special">)></span></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -61,7 +62,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">alignment_of</span><span class="special"><</span><span class="keyword">char</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">ALIGNOF</span><span class="special">(</span><span class="keyword">char</span><span class="special">)></span></code>.
|
||||
<code class="computeroutput"><span class="identifier">alignment_of</span><span class="special"><</span><span class="keyword">char</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">ALIGNOF</span><span class="special">(</span><span class="keyword">char</span><span class="special">)></span></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>decay</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="alignment_of.html" title="alignment_of">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,9 +24,10 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.decay"></a><a href="decay.html" title="decay"> decay</a>
|
||||
<a name="boost_typetraits.reference.decay"></a><a class="link" href="decay.html" title="decay"> decay</a>
|
||||
</h3></div></div></div>
|
||||
<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>
|
||||
<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">struct</span> <span class="identifier">decay</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
|
||||
@ -48,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="id507843"></a><p class="title"><b>Table<EFBFBD>1.10.<2E>Examples</b></p>
|
||||
<a name="id2651076"></a><p class="title"><b>Table<EFBFBD>1.10.<2E>Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>extent</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="decay.html" title="decay">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,21 +24,22 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.extent"></a><a href="extent.html" title="extent"> extent</a>
|
||||
<a name="boost_typetraits.reference.extent"></a><a class="link" href="extent.html" title="extent"> extent</a>
|
||||
</h3></div></div></div>
|
||||
<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="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span> <span class="special">=</span> <span class="number">0</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">extent</span> <span class="special">:</span> <span class="keyword">public</span> <a href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">EXTENT</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">)></span> <span class="special">{};</span>
|
||||
<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="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">N</span> <span class="special">=</span> <span class="number">0</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">extent</span> <span class="special">:</span> <span class="keyword">public</span> <a class="link" href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">EXTENT</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">)></span> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> Class template extent inherits
|
||||
from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">EXTENT</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">)></span></code>,
|
||||
from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">EXTENT</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">)></span></code>,
|
||||
where <code class="computeroutput"><span class="identifier">EXTENT</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">)</span></code> is the number of elements in the N'th array
|
||||
dimention of type <code class="computeroutput"><span class="identifier">T</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
If <code class="computeroutput"><span class="identifier">T</span></code> is not an array type,
|
||||
or if <code class="computeroutput"><span class="identifier">N</span> <span class="special">></span>
|
||||
<a href="rank.html" title="rank">rank</a><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span></code>, or if the N'th array bound is incomplete,
|
||||
<a class="link" href="rank.html" title="rank">rank</a><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span></code>, or if the N'th array bound is incomplete,
|
||||
then <code class="computeroutput"><span class="identifier">EXTENT</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">N</span><span class="special">)</span></code> is zero.
|
||||
</p>
|
||||
<p>
|
||||
@ -53,7 +54,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">extent</span><span class="special"><</span><span class="keyword">int</span><span class="special">[</span><span class="number">1</span><span class="special">]></span></code> inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="number">1</span><span class="special">></span></code>.
|
||||
<code class="computeroutput"><span class="identifier">extent</span><span class="special"><</span><span class="keyword">int</span><span class="special">[</span><span class="number">1</span><span class="special">]></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="number">1</span><span class="special">></span></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -63,7 +64,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">extent</span><span class="special"><</span><span class="keyword">double</span><span class="special">[</span><span class="number">2</span><span class="special">][</span><span class="number">3</span><span class="special">][</span><span class="number">4</span><span class="special">],</span>
|
||||
<span class="number">1</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="number">3</span><span class="special">></span></code>.
|
||||
<span class="number">1</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="number">3</span><span class="special">></span></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>floating_point_promotion</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="extent.html" title="extent">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,10 +24,11 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.floating_point_promotion"></a><a href="floating_point_promotion.html" title="floating_point_promotion">
|
||||
<a name="boost_typetraits.reference.floating_point_promotion"></a><a class="link" href="floating_point_promotion.html" title="floating_point_promotion">
|
||||
floating_point_promotion</a>
|
||||
</h3></div></div></div>
|
||||
<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>
|
||||
<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">struct</span> <span class="identifier">floating_point_promotion</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
|
||||
@ -49,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="id509628"></a><p class="title"><b>Table<EFBFBD>1.11.<2E>Examples</b></p>
|
||||
<a name="id2652704"></a><p class="title"><b>Table<EFBFBD>1.11.<2E>Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>function_traits</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="floating_point_promotion.html" title="floating_point_promotion">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,9 +24,10 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.function_traits"></a><a href="function_traits.html" title="function_traits"> function_traits</a>
|
||||
<a name="boost_typetraits.reference.function_traits"></a><a class="link" href="function_traits.html" title="function_traits"> function_traits</a>
|
||||
</h3></div></div></div>
|
||||
<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>
|
||||
<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">struct</span> <span class="identifier">function_traits</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">arity</span> <span class="special">=</span> <em class="replaceable"><code>see-below</code></em><span class="special">;</span>
|
||||
@ -55,11 +56,11 @@
|
||||
<tr><td align="left" valign="top"><p>
|
||||
function_traits is intended to introspect only C++ functions of the form
|
||||
R (), R( A1 ), R ( A1, ... etc. ) and not function pointers or class member
|
||||
functions. To convert a function pointer type to a suitable type use <a href="remove_pointer.html" title="remove_pointer">remove_pointer</a>.
|
||||
functions. To convert a function pointer type to a suitable type use <a class="link" href="remove_pointer.html" title="remove_pointer">remove_pointer</a>.
|
||||
</p></td></tr>
|
||||
</table></div>
|
||||
<div class="table">
|
||||
<a name="id510108"></a><p class="title"><b>Table<EFBFBD>1.12.<2E>Function Traits Members</b></p>
|
||||
<a name="id2653139"></a><p class="title"><b>Table<EFBFBD>1.12.<2E>Function Traits Members</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Function Traits Members">
|
||||
<colgroup>
|
||||
<col>
|
||||
@ -122,7 +123,7 @@
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><div class="table">
|
||||
<a name="id510386"></a><p class="title"><b>Table<EFBFBD>1.13.<2E>Examples</b></p>
|
||||
<a name="id2653391"></a><p class="title"><b>Table<EFBFBD>1.13.<2E>Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>has_nothrow_default_constructor</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="has_nothrow_cp_cons.html" title="has_nothrow_copy_constructor">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,10 +24,10 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.has_no_throw_def_cons"></a><a href="has_no_throw_def_cons.html" title="has_nothrow_default_constructor"> has_nothrow_default_constructor</a>
|
||||
<a name="boost_typetraits.reference.has_no_throw_def_cons"></a><a class="link" href="has_no_throw_def_cons.html" title="has_nothrow_default_constructor"> has_nothrow_default_constructor</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
See <a href="has_nothrow_constructor.html" title="has_nothrow_constructor">has_nothrow_constructor</a>.
|
||||
See <a class="link" href="has_nothrow_constructor.html" title="has_nothrow_constructor">has_nothrow_constructor</a>.
|
||||
</p>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>has_nothrow_assign</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="function_traits.html" title="function_traits">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,15 +24,16 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.has_nothrow_assign"></a><a href="has_nothrow_assign.html" title="has_nothrow_assign"> has_nothrow_assign</a>
|
||||
<a name="boost_typetraits.reference.has_nothrow_assign"></a><a class="link" href="has_nothrow_assign.html" title="has_nothrow_assign"> has_nothrow_assign</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">has_nothrow_assign</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">has_nothrow_assign</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
|
||||
type with a non-throwing assignment-operator then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
type with a non-throwing assignment-operator then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
Type <code class="computeroutput"><span class="identifier">T</span></code> must be a complete
|
||||
type.
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>has_nothrow_constructor</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="has_nothrow_assign.html" title="has_nothrow_assign">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,19 +24,20 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.has_nothrow_constructor"></a><a href="has_nothrow_constructor.html" title="has_nothrow_constructor">
|
||||
<a name="boost_typetraits.reference.has_nothrow_constructor"></a><a class="link" href="has_nothrow_constructor.html" title="has_nothrow_constructor">
|
||||
has_nothrow_constructor</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">has_nothrow_constructor</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">has_nothrow_constructor</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <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">has_nothrow_default_constructor</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">has_nothrow_default_constructor</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
|
||||
type with a non-throwing default-constructor then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
type with a non-throwing default-constructor then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
Type <code class="computeroutput"><span class="identifier">T</span></code> must be a complete
|
||||
type.
|
||||
</p>
|
||||
@ -52,7 +53,7 @@
|
||||
Without some (as yet 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 2005) only Visual
|
||||
C++ 8 has the necessary compiler <a href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
C++ 8 has the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
to ensure that this trait "just works".
|
||||
</p>
|
||||
<p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>has_nothrow_copy</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="has_nothrow_constructor.html" title="has_nothrow_constructor">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,18 +24,19 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.has_nothrow_copy"></a><a href="has_nothrow_copy.html" title="has_nothrow_copy"> has_nothrow_copy</a>
|
||||
<a name="boost_typetraits.reference.has_nothrow_copy"></a><a class="link" href="has_nothrow_copy.html" title="has_nothrow_copy"> has_nothrow_copy</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">has_nothrow_copy</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">has_nothrow_copy</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <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">has_nothrow_copy_constructor</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">has_nothrow_copy_constructor</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
|
||||
type with a non-throwing copy-constructor then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
type with a non-throwing copy-constructor then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
Type <code class="computeroutput"><span class="identifier">T</span></code> must be a complete
|
||||
type.
|
||||
</p>
|
||||
@ -51,7 +52,7 @@
|
||||
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 2005) only Visual
|
||||
C++ 8 has the necessary compiler <a href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
C++ 8 has the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
to ensure that this trait "just works".
|
||||
</p>
|
||||
<p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>has_nothrow_copy_constructor</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="has_nothrow_copy.html" title="has_nothrow_copy">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,10 +24,10 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.has_nothrow_cp_cons"></a><a href="has_nothrow_cp_cons.html" title="has_nothrow_copy_constructor"> has_nothrow_copy_constructor</a>
|
||||
<a name="boost_typetraits.reference.has_nothrow_cp_cons"></a><a class="link" href="has_nothrow_cp_cons.html" title="has_nothrow_copy_constructor"> has_nothrow_copy_constructor</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
See <a href="has_nothrow_copy.html" title="has_nothrow_copy">has_nothrow_copy</a>.
|
||||
See <a class="link" href="has_nothrow_copy.html" title="has_nothrow_copy">has_nothrow_copy</a>.
|
||||
</p>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>has_trivial_assign</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="has_no_throw_def_cons.html" title="has_nothrow_default_constructor">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,15 +24,16 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.has_trivial_assign"></a><a href="has_trivial_assign.html" title="has_trivial_assign"> has_trivial_assign</a>
|
||||
<a name="boost_typetraits.reference.has_trivial_assign"></a><a class="link" href="has_trivial_assign.html" title="has_trivial_assign"> has_trivial_assign</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">has_trivial_assign</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">has_trivial_assign</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
|
||||
type with a trivial assignment-operator then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
type with a trivial assignment-operator then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
</p>
|
||||
<p>
|
||||
If a type has a trivial assignment-operator then the operator has the same
|
||||
@ -48,7 +49,7 @@
|
||||
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 2005) only MWCW
|
||||
9 and Visual C++ 8 have the necessary compiler <a href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
9 and Visual C++ 8 have the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
to detect user-defined classes with trivial constructors.
|
||||
</p>
|
||||
<p>
|
||||
@ -67,7 +68,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">has_trivial_assign</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span></code>
|
||||
inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -76,7 +77,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">has_trivial_assign</span><span class="special"><</span><span class="keyword">char</span><span class="special">*>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
<code class="computeroutput"><span class="identifier">has_trivial_assign</span><span class="special"><</span><span class="keyword">char</span><span class="special">*>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>has_trivial_constructor</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="has_trivial_assign.html" title="has_trivial_assign">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,19 +24,20 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.has_trivial_constructor"></a><a href="has_trivial_constructor.html" title="has_trivial_constructor">
|
||||
<a name="boost_typetraits.reference.has_trivial_constructor"></a><a class="link" href="has_trivial_constructor.html" title="has_trivial_constructor">
|
||||
has_trivial_constructor</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">has_trivial_constructor</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">has_trivial_constructor</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <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">has_trivial_default_constructor</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">has_trivial_default_constructor</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
|
||||
type with a trivial default-constructor then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
type with a trivial default-constructor then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
</p>
|
||||
<p>
|
||||
These two traits are synonyms for each other.
|
||||
@ -57,7 +58,7 @@
|
||||
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 2005) only MWCW
|
||||
9 and Visual C++ 8 have the necessary compiler <a href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
9 and Visual C++ 8 have the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
to detect user-defined classes with trivial constructors.
|
||||
</p>
|
||||
<p>
|
||||
@ -75,7 +76,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">has_trivial_constructor</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
<code class="computeroutput"><span class="identifier">has_trivial_constructor</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -85,7 +86,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">has_trivial_constructor</span><span class="special"><</span><span class="keyword">char</span><span class="special">*>::</span><span class="identifier">type</span></code>
|
||||
is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>has_trivial_copy</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="has_trivial_constructor.html" title="has_trivial_constructor">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,18 +24,19 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.has_trivial_copy"></a><a href="has_trivial_copy.html" title="has_trivial_copy"> has_trivial_copy</a>
|
||||
<a name="boost_typetraits.reference.has_trivial_copy"></a><a class="link" href="has_trivial_copy.html" title="has_trivial_copy"> has_trivial_copy</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">has_trivial_copy</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">has_trivial_copy</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <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">has_trivial_copy_constructor</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">has_trivial_copy_constructor</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
|
||||
type with a trivial copy-constructor then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
type with a trivial copy-constructor then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
</p>
|
||||
<p>
|
||||
These two traits are synonyms for each other.
|
||||
@ -54,7 +55,7 @@
|
||||
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 2005) only MWCW
|
||||
9 and Visual C++ 8 have the necessary compiler <a href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
9 and Visual C++ 8 have the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
to detect user-defined classes with trivial constructors.
|
||||
</p>
|
||||
<p>
|
||||
@ -73,7 +74,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">has_trivial_copy</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span></code>
|
||||
inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -82,7 +83,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">has_trivial_copy</span><span class="special"><</span><span class="keyword">char</span><span class="special">*>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
<code class="computeroutput"><span class="identifier">has_trivial_copy</span><span class="special"><</span><span class="keyword">char</span><span class="special">*>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>has_trivial_copy_constructor</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="has_trivial_copy.html" title="has_trivial_copy">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,10 +24,10 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.has_trivial_cp_cons"></a><a href="has_trivial_cp_cons.html" title="has_trivial_copy_constructor"> has_trivial_copy_constructor</a>
|
||||
<a name="boost_typetraits.reference.has_trivial_cp_cons"></a><a class="link" href="has_trivial_cp_cons.html" title="has_trivial_copy_constructor"> has_trivial_copy_constructor</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
See <a href="has_trivial_copy.html" title="has_trivial_copy">has_trivial_copy</a>.
|
||||
See <a class="link" href="has_trivial_copy.html" title="has_trivial_copy">has_trivial_copy</a>.
|
||||
</p>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>has_trivial_default_constructor</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="has_trivial_cp_cons.html" title="has_trivial_copy_constructor">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,10 +24,10 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.has_trivial_def_cons"></a><a href="has_trivial_def_cons.html" title="has_trivial_default_constructor"> has_trivial_default_constructor</a>
|
||||
<a name="boost_typetraits.reference.has_trivial_def_cons"></a><a class="link" href="has_trivial_def_cons.html" title="has_trivial_default_constructor"> has_trivial_default_constructor</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
See <a href="has_trivial_constructor.html" title="has_trivial_constructor">has_trivial_constructor</a>.
|
||||
See <a class="link" href="has_trivial_constructor.html" title="has_trivial_constructor">has_trivial_constructor</a>.
|
||||
</p>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>has_trivial_destructor</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="has_trivial_def_cons.html" title="has_trivial_default_constructor">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,15 +24,16 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.has_trivial_destructor"></a><a href="has_trivial_destructor.html" title="has_trivial_destructor"> has_trivial_destructor</a>
|
||||
<a name="boost_typetraits.reference.has_trivial_destructor"></a><a class="link" href="has_trivial_destructor.html" title="has_trivial_destructor"> has_trivial_destructor</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">has_trivial_destructor</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">has_trivial_destructor</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
|
||||
type with a trivial destructor then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
type with a trivial destructor then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
</p>
|
||||
<p>
|
||||
If a type has a trivial destructor then the destructor has no effect: calls
|
||||
@ -50,7 +51,7 @@
|
||||
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 2005) only MWCW
|
||||
9 and Visual C++ 8 have the necessary compiler <a href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
9 and Visual C++ 8 have the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
to detect user-defined classes with trivial constructors.
|
||||
</p>
|
||||
<p>
|
||||
@ -68,7 +69,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">has_trivial_destructor</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
<code class="computeroutput"><span class="identifier">has_trivial_destructor</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -78,7 +79,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">has_trivial_destructor</span><span class="special"><</span><span class="keyword">char</span><span class="special">*>::</span><span class="identifier">type</span></code>
|
||||
is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>has_virtual_destructor</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="has_trivial_destructor.html" title="has_trivial_destructor">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,25 +24,26 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.has_virtual_destructor"></a><a href="has_virtual_destructor.html" title="has_virtual_destructor"> has_virtual_destructor</a>
|
||||
<a name="boost_typetraits.reference.has_virtual_destructor"></a><a class="link" href="has_virtual_destructor.html" title="has_virtual_destructor"> has_virtual_destructor</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">has_virtual_destructor</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">has_virtual_destructor</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
|
||||
type with a virtual destructor then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
type with a virtual destructor then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
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 href="integral_constant.html" title="integral_constant">false_type</a>,
|
||||
trait. The default version provided 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 href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
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 2005) only Visual
|
||||
C++ 8 has the necessary <a href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>.
|
||||
C++ 8 has the necessary <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 12.4.
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>integral_constant</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="has_virtual_destructor.html" title="has_virtual_destructor">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,9 +24,10 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.integral_constant"></a><a href="integral_constant.html" title="integral_constant"> integral_constant</a>
|
||||
<a name="boost_typetraits.reference.integral_constant"></a><a class="link" href="integral_constant.html" title="integral_constant"> integral_constant</a>
|
||||
</h3></div></div></div>
|
||||
<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="identifier">T</span> <span class="identifier">val</span><span class="special">></span>
|
||||
<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="identifier">T</span> <span class="identifier">val</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">integral_constant</span>
|
||||
<span class="special">{</span>
|
||||
<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>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>integral_promotion</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="integral_constant.html" title="integral_constant">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,9 +24,10 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.integral_promotion"></a><a href="integral_promotion.html" title="integral_promotion"> integral_promotion</a>
|
||||
<a name="boost_typetraits.reference.integral_promotion"></a><a class="link" href="integral_promotion.html" title="integral_promotion"> integral_promotion</a>
|
||||
</h3></div></div></div>
|
||||
<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>
|
||||
<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">struct</span> <span class="identifier">integral_promotion</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
|
||||
@ -49,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="id515875"></a><p class="title"><b>Table<EFBFBD>1.14.<2E>Examples</b></p>
|
||||
<a name="id2658387"></a><p class="title"><b>Table<EFBFBD>1.14.<2E>Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_abstract</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="integral_promotion.html" title="integral_promotion">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,15 +24,16 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_abstract"></a><a href="is_abstract.html" title="is_abstract"> is_abstract</a>
|
||||
<a name="boost_typetraits.reference.is_abstract"></a><a class="link" href="is_abstract.html" title="is_abstract"> is_abstract</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">is_abstract</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">is_abstract</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
|
||||
abstract type then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
abstract type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 10.3.
|
||||
@ -45,7 +46,7 @@
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> The compiler must
|
||||
support DR337 (as of April 2005: GCC 3.4, VC++ 7.1 (and later), Intel C++
|
||||
7 (and later), and Comeau 4.3.2). Otherwise behaves the same as <a href="is_polymorphic.html" title="is_polymorphic">is_polymorphic</a>;
|
||||
7 (and later), and Comeau 4.3.2). Otherwise behaves the same as <a class="link" href="is_polymorphic.html" title="is_polymorphic">is_polymorphic</a>;
|
||||
this is the "safe fallback position" for which polymorphic types
|
||||
are always regarded as potentially abstract. The macro BOOST_NO_IS_ABSTRACT
|
||||
is used to signify that the implementation is buggy, users should check for
|
||||
@ -69,7 +70,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_abstract</span><span class="special"><</span><span class="identifier">abc</span><span class="special">></span></code>
|
||||
inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -78,7 +79,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_abstract</span><span class="special"><</span><span class="identifier">abc</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
<code class="computeroutput"><span class="identifier">is_abstract</span><span class="special"><</span><span class="identifier">abc</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_arithmetic</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_abstract.html" title="is_abstract">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,17 +24,18 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_arithmetic"></a><a href="is_arithmetic.html" title="is_arithmetic"> is_arithmetic</a>
|
||||
<a name="boost_typetraits.reference.is_arithmetic"></a><a class="link" href="is_arithmetic.html" title="is_arithmetic"> is_arithmetic</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">is_arithmetic</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">is_arithmetic</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
|
||||
arithmetic type then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
Arithmetic types include integral and floating point types (see also <a href="is_integral.html" title="is_integral">is_integral</a> and
|
||||
<a href="is_floating_point.html" title="is_floating_point">is_floating_point</a>).
|
||||
arithmetic type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
Arithmetic types include integral and floating point types (see also <a class="link" href="is_integral.html" title="is_integral">is_integral</a> and
|
||||
<a class="link" href="is_floating_point.html" title="is_floating_point">is_floating_point</a>).
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.1p8.
|
||||
@ -52,7 +53,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_arithmetic</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span></code>
|
||||
inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -61,7 +62,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_arithmetic</span><span class="special"><</span><span class="keyword">char</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
<code class="computeroutput"><span class="identifier">is_arithmetic</span><span class="special"><</span><span class="keyword">char</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_array</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_arithmetic.html" title="is_arithmetic">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,15 +24,16 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_array"></a><a href="is_array.html" title="is_array"> is_array</a>
|
||||
<a name="boost_typetraits.reference.is_array"></a><a class="link" href="is_array.html" title="is_array"> is_array</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">is_array</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">is_array</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
|
||||
array type then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
array type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 8.3.4.
|
||||
@ -54,7 +55,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_array</span><span class="special"><</span><span class="keyword">int</span><span class="special">[</span><span class="number">2</span><span class="special">]></span></code> inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
<code class="computeroutput"><span class="identifier">is_array</span><span class="special"><</span><span class="keyword">int</span><span class="special">[</span><span class="number">2</span><span class="special">]></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -64,7 +65,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_array</span><span class="special"><</span><span class="keyword">char</span><span class="special">[</span><span class="number">2</span><span class="special">][</span><span class="number">3</span><span class="special">]>::</span><span class="identifier">type</span></code>
|
||||
is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_base_of</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_array.html" title="is_array">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,21 +24,22 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_base_of"></a><a href="is_base_of.html" title="is_base_of"> is_base_of</a>
|
||||
<a name="boost_typetraits.reference.is_base_of"></a><a class="link" href="is_base_of.html" title="is_base_of"> is_base_of</a>
|
||||
</h3></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Base</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Derived</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">is_base_of</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">Base</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Derived</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">is_base_of</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If Base is base class of type
|
||||
Derived or if both types are the same then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
Derived or if both types are the same then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
</p>
|
||||
<p>
|
||||
This template will detect non-public base classes, and ambiguous base classes.
|
||||
</p>
|
||||
<p>
|
||||
Note that <code class="computeroutput"><span class="identifier">is_base_of</span><span class="special"><</span><span class="identifier">X</span><span class="special">,</span><span class="identifier">X</span><span class="special">></span></code> will always inherit from <a href="integral_constant.html" title="integral_constant">true_type</a>.
|
||||
Note that <code class="computeroutput"><span class="identifier">is_base_of</span><span class="special"><</span><span class="identifier">X</span><span class="special">,</span><span class="identifier">X</span><span class="special">></span></code> will always inherit from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>.
|
||||
<span class="bold"><strong>This is the case even if <code class="computeroutput"><span class="identifier">X</span></code>
|
||||
is not a class type</strong></span>. This is a change in behaviour from Boost-1.33
|
||||
in order to track the Technical Report on C++ Library Extensions.
|
||||
@ -83,7 +84,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_base_of</span><span class="special"><</span><span class="identifier">Base</span><span class="special">,</span> <span class="identifier">Derived</span><span class="special">></span></code>
|
||||
inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -92,7 +93,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_base_of</span><span class="special"><</span><span class="identifier">Base</span><span class="special">,</span> <span class="identifier">Derived</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
<code class="computeroutput"><span class="identifier">is_base_of</span><span class="special"><</span><span class="identifier">Base</span><span class="special">,</span> <span class="identifier">Derived</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_class</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_base_of.html" title="is_base_of">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,15 +24,16 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_class"></a><a href="is_class.html" title="is_class"> is_class</a>
|
||||
<a name="boost_typetraits.reference.is_class"></a><a class="link" href="is_class.html" title="is_class"> is_class</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">is_class</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">is_class</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
|
||||
class type then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
class type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 9.2.
|
||||
@ -45,9 +46,9 @@
|
||||
<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 href="integral_constant.html" title="integral_constant">true_type</a> for
|
||||
union types. See also <a href="is_union.html" title="is_union">is_union</a>.
|
||||
Currently (May 2005) only Visual C++ 8 has the necessary compiler <a href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
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 2005) only Visual C++ 8 has the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
to correctly identify union types, and therefore make is_class function correctly.
|
||||
</p>
|
||||
<p>
|
||||
@ -67,7 +68,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_class</span><span class="special"><</span><span class="identifier">MyClass</span><span class="special">></span></code>
|
||||
inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -77,7 +78,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_class</span><span class="special"><</span><span class="identifier">MyClass</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span></code>
|
||||
is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_complex</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_class.html" title="is_class">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,10 +24,11 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_complex"></a><a href="is_complex.html" title="is_complex"> is_complex</a>
|
||||
<a name="boost_typetraits.reference.is_complex"></a><a class="link" href="is_complex.html" title="is_complex"> is_complex</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">is_complex</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">is_complex</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If <code class="computeroutput"><span class="identifier">T</span></code>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_compound</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_complex.html" title="is_complex">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,16 +24,17 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_compound"></a><a href="is_compound.html" title="is_compound"> is_compound</a>
|
||||
<a name="boost_typetraits.reference.is_compound"></a><a class="link" href="is_compound.html" title="is_compound"> is_compound</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">is_compound</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">is_compound</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
|
||||
compound type then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
Any type that is not a fundamental type is a compound type (see also <a href="is_fundamental.html" title="is_fundamental">is_fundamental</a>).
|
||||
compound type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
Any type that is not a fundamental type is a compound type (see also <a class="link" href="is_fundamental.html" title="is_fundamental">is_fundamental</a>).
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2.
|
||||
@ -51,7 +52,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_compound</span><span class="special"><</span><span class="identifier">MyClass</span><span class="special">></span></code>
|
||||
inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -60,7 +61,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_compound</span><span class="special"><</span><span class="identifier">MyEnum</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
<code class="computeroutput"><span class="identifier">is_compound</span><span class="special"><</span><span class="identifier">MyEnum</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_const</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_compound.html" title="is_compound">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,15 +24,16 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_const"></a><a href="is_const.html" title="is_const"> is_const</a>
|
||||
<a name="boost_typetraits.reference.is_const"></a><a class="link" href="is_const.html" title="is_const"> is_const</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">is_const</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">is_const</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a (top level) const-qualified
|
||||
type then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.3.
|
||||
@ -49,7 +50,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_const</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span><span class="special">></span></code> inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
<code class="computeroutput"><span class="identifier">is_const</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -58,7 +59,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_const</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span> <span class="keyword">volatile</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
<code class="computeroutput"><span class="identifier">is_const</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span> <span class="keyword">volatile</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_convertible</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_const.html" title="is_const">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,16 +24,17 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_convertible"></a><a href="is_convertible.html" title="is_convertible"> is_convertible</a>
|
||||
<a name="boost_typetraits.reference.is_convertible"></a><a class="link" href="is_convertible.html" title="is_convertible"> is_convertible</a>
|
||||
</h3></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">From</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">To</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">is_convertible</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">From</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">To</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">is_convertible</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If an imaginary lvalue of type
|
||||
<code class="computeroutput"><span class="identifier">From</span></code> is convertible to type
|
||||
<code class="computeroutput"><span class="identifier">To</span></code> then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
<code class="computeroutput"><span class="identifier">To</span></code> then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
</p>
|
||||
<p>
|
||||
Type From must not be an incomplete type.
|
||||
@ -58,7 +59,8 @@
|
||||
This template will also produce compiler errors if the conversion is ambiguous,
|
||||
for example:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{};</span>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{};</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">B</span> <span class="special">:</span> <span class="identifier">A</span> <span class="special">{};</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">C</span> <span class="special">:</span> <span class="identifier">A</span> <span class="special">{};</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">D</span> <span class="special">:</span> <span class="identifier">B</span><span class="special">,</span> <span class="identifier">C</span> <span class="special">{};</span>
|
||||
@ -72,7 +74,7 @@
|
||||
<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 href="is_abstract.html" title="is_abstract">is_abstract</a></code>,
|
||||
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.
|
||||
</p>
|
||||
@ -89,7 +91,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_convertible</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">></span></code>
|
||||
inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -99,7 +101,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_convertible</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">>::</span><span class="identifier">type</span></code>
|
||||
is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_empty</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_convertible.html" title="is_convertible">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,15 +24,16 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_empty"></a><a href="is_empty.html" title="is_empty"> is_empty</a>
|
||||
<a name="boost_typetraits.reference.is_empty"></a><a class="link" href="is_empty.html" title="is_empty"> is_empty</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">is_empty</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">is_empty</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is an empty class type then
|
||||
inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 10p5.
|
||||
@ -51,7 +52,7 @@
|
||||
the compiler implementing zero sized empty base classes, or
|
||||
</li>
|
||||
<li>
|
||||
the compiler providing <a href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
the compiler providing <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
to detect empty classes.
|
||||
</li>
|
||||
</ul></div>
|
||||
@ -83,7 +84,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_empty</span><span class="special"><</span><span class="identifier">empty_class</span><span class="special">></span></code>
|
||||
inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -93,7 +94,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_empty</span><span class="special"><</span><span class="identifier">empty_class</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span></code>
|
||||
is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_enum</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_empty.html" title="is_empty">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,15 +24,16 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_enum"></a><a href="is_enum.html" title="is_enum"> is_enum</a>
|
||||
<a name="boost_typetraits.reference.is_enum"></a><a class="link" href="is_enum.html" title="is_enum"> is_enum</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">is_enum</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">is_enum</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
|
||||
enum type then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
enum type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 7.2.
|
||||
@ -44,7 +45,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Compiler Compatibility:</strong></span> Requires a correctly
|
||||
functioning <a href="is_convertible.html" title="is_convertible">is_convertible</a>
|
||||
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.
|
||||
@ -67,7 +68,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_enum</span><span class="special"><</span><span class="identifier">my_enum</span><span class="special">></span></code>
|
||||
inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -77,7 +78,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_enum</span><span class="special"><</span><span class="identifier">my_enum</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span></code>
|
||||
is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_floating_point</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_enum.html" title="is_enum">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,15 +24,16 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_floating_point"></a><a href="is_floating_point.html" title="is_floating_point"> is_floating_point</a>
|
||||
<a name="boost_typetraits.reference.is_floating_point"></a><a class="link" href="is_floating_point.html" title="is_floating_point"> is_floating_point</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">is_floating_point</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">is_floating_point</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
|
||||
floating point type then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
floating point type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.1p8.
|
||||
@ -50,7 +51,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_floating_point</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span></code>
|
||||
inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -59,7 +60,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_floating_point</span><span class="special"><</span><span class="keyword">double</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
<code class="computeroutput"><span class="identifier">is_floating_point</span><span class="special"><</span><span class="keyword">double</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_function</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_floating_point.html" title="is_floating_point">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,19 +24,21 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_function"></a><a href="is_function.html" title="is_function"> is_function</a>
|
||||
<a name="boost_typetraits.reference.is_function"></a><a class="link" href="is_function.html" title="is_function"> is_function</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">is_function</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">is_function</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
|
||||
function type then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
function type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
Note that this template does not detect <span class="emphasis"><em>pointers to functions</em></span>,
|
||||
or <span class="emphasis"><em>references to functions</em></span>, these are detected by <a href="is_pointer.html" title="is_pointer">is_pointer</a> and <a href="is_reference.html" title="is_reference">is_reference</a> respectively:
|
||||
or <span class="emphasis"><em>references to functions</em></span>, these are detected by <a class="link" href="is_pointer.html" title="is_pointer">is_pointer</a> and <a class="link" href="is_reference.html" title="is_reference">is_reference</a> respectively:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">f1</span><span class="special">();</span> <span class="comment">// f1 is of function type.
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">f1</span><span class="special">();</span> <span class="comment">// f1 is of function type.
|
||||
</span><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="special">(</span><span class="identifier">f2</span><span class="special">*)();</span> <span class="comment">// f2 is a pointer to a function.
|
||||
</span><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="special">(</span><span class="identifier">f3</span><span class="special">&)();</span> <span class="comment">// f3 is a reference to a function.
|
||||
</span></pre>
|
||||
@ -56,7 +58,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_function</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(</span><span class="keyword">void</span><span class="special">)></span></code>
|
||||
inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -65,7 +67,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_function</span><span class="special"><</span><span class="keyword">long</span> <span class="special">(</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">int</span><span class="special">)>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
<code class="computeroutput"><span class="identifier">is_function</span><span class="special"><</span><span class="keyword">long</span> <span class="special">(</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">int</span><span class="special">)>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -161,11 +163,11 @@
|
||||
If you want to detect whether some type is a pointer-to-function then use:
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><a href="is_function.html" title="is_function">is_function</a><span class="special"><</span><a href="remove_pointer.html" title="remove_pointer">remove_pointer</a><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span><span class="special">>::</span><span class="identifier">value</span>
|
||||
<span class="special">&&</span> <a href="is_pointer.html" title="is_pointer">is_pointer</a><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span></code>
|
||||
<code class="computeroutput"><a class="link" href="is_function.html" title="is_function">is_function</a><span class="special"><</span><a class="link" href="remove_pointer.html" title="remove_pointer">remove_pointer</a><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">type</span><span class="special">>::</span><span class="identifier">value</span>
|
||||
<span class="special">&&</span> <a class="link" href="is_pointer.html" title="is_pointer">is_pointer</a><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span></code>
|
||||
</p>
|
||||
<p>
|
||||
or for pointers to member functions you can just use <a href="is_member_function_pointer.html" title="is_member_function_pointer">is_member_function_pointer</a>
|
||||
or for pointers to member functions you can just use <a class="link" href="is_member_function_pointer.html" title="is_member_function_pointer">is_member_function_pointer</a>
|
||||
directly.
|
||||
</p>
|
||||
</td></tr>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_fundamental</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_function.html" title="is_function">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,19 +24,20 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_fundamental"></a><a href="is_fundamental.html" title="is_fundamental"> is_fundamental</a>
|
||||
<a name="boost_typetraits.reference.is_fundamental"></a><a class="link" href="is_fundamental.html" title="is_fundamental"> is_fundamental</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">is_fundamental</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">is_fundamental</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
|
||||
fundamental type then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
fundamental type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
Fundamental types include integral, floating point and void types (see also
|
||||
<a href="is_integral.html" title="is_integral">is_integral</a>,
|
||||
<a href="is_floating_point.html" title="is_floating_point">is_floating_point</a>
|
||||
and <a href="is_void.html" title="is_void">is_void</a>)
|
||||
<a class="link" href="is_integral.html" title="is_integral">is_integral</a>,
|
||||
<a class="link" href="is_floating_point.html" title="is_floating_point">is_floating_point</a>
|
||||
and <a class="link" href="is_void.html" title="is_void">is_void</a>)
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.1.
|
||||
@ -54,7 +55,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_fundamental</span><span class="special"><</span><span class="keyword">int</span><span class="special">)></span></code>
|
||||
inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -64,7 +65,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_fundamental</span><span class="special"><</span><span class="keyword">double</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span></code>
|
||||
is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_integral</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_fundamental.html" title="is_fundamental">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,15 +24,16 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_integral"></a><a href="is_integral.html" title="is_integral"> is_integral</a>
|
||||
<a name="boost_typetraits.reference.is_integral"></a><a class="link" href="is_integral.html" title="is_integral"> is_integral</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">is_integral</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">is_integral</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
|
||||
integral type then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
integral type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.1p7.
|
||||
@ -50,7 +51,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_integral</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span></code>
|
||||
inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -60,7 +61,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_integral</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">>::</span><span class="identifier">type</span></code>
|
||||
is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_member_function_pointer</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_integral.html" title="is_integral">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,16 +24,17 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_member_function_pointer"></a><a href="is_member_function_pointer.html" title="is_member_function_pointer">
|
||||
<a name="boost_typetraits.reference.is_member_function_pointer"></a><a class="link" href="is_member_function_pointer.html" title="is_member_function_pointer">
|
||||
is_member_function_pointer</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">is_member_function_pointer</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">is_member_function_pointer</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
|
||||
pointer to a member function then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
pointer to a member function then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 8.3.3.
|
||||
@ -50,7 +51,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_member_function_pointer</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(</span><span class="identifier">MyClass</span><span class="special">::*)(</span><span class="keyword">void</span><span class="special">)></span></code> inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
<code class="computeroutput"><span class="identifier">is_member_function_pointer</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(</span><span class="identifier">MyClass</span><span class="special">::*)(</span><span class="keyword">void</span><span class="special">)></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -60,7 +61,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_member_function_pointer</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(</span><span class="identifier">MyClass</span><span class="special">::*)(</span><span class="keyword">char</span><span class="special">)>::</span><span class="identifier">type</span></code>
|
||||
is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -82,8 +83,8 @@
|
||||
<code class="computeroutput"><span class="identifier">is_member_function_pointer</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(</span><span class="identifier">MyClass</span><span class="special">::*)>::</span><span class="identifier">value</span></code>
|
||||
is an integral constant expression that evaluates to <span class="emphasis"><em>false</em></span>:
|
||||
the argument in this case is a pointer to a data member and not a member
|
||||
function, see <a href="is_member_object_pointer.html" title="is_member_object_pointer">is_member_object_pointer</a>
|
||||
and <a href="is_member_pointer.html" title="is_member_pointer">is_member_pointer</a>
|
||||
function, see <a class="link" href="is_member_object_pointer.html" title="is_member_object_pointer">is_member_object_pointer</a>
|
||||
and <a class="link" href="is_member_pointer.html" title="is_member_pointer">is_member_pointer</a>
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_member_object_pointer</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_member_function_pointer.html" title="is_member_function_pointer">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,16 +24,17 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_member_object_pointer"></a><a href="is_member_object_pointer.html" title="is_member_object_pointer">
|
||||
<a name="boost_typetraits.reference.is_member_object_pointer"></a><a class="link" href="is_member_object_pointer.html" title="is_member_object_pointer">
|
||||
is_member_object_pointer</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">is_member_object_pointer</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">is_member_object_pointer</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
|
||||
pointer to a member object (a data member) then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
pointer to a member object (a data member) then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 8.3.3.
|
||||
@ -50,7 +51,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_member_object_pointer</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(</span><span class="identifier">MyClass</span><span class="special">::*)></span></code> inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
<code class="computeroutput"><span class="identifier">is_member_object_pointer</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(</span><span class="identifier">MyClass</span><span class="special">::*)></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -60,7 +61,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_member_object_pointer</span><span class="special"><</span><span class="keyword">double</span> <span class="special">(</span><span class="identifier">MyClass</span><span class="special">::*)>::</span><span class="identifier">type</span></code>
|
||||
is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -82,8 +83,8 @@
|
||||
<code class="computeroutput"><span class="identifier">is_member_object_pointer</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(</span><span class="identifier">MyClass</span><span class="special">::*)(</span><span class="keyword">void</span><span class="special">)>::</span><span class="identifier">value</span></code>
|
||||
is an integral constant expression that evaluates to <span class="emphasis"><em>false</em></span>:
|
||||
the argument in this case is a pointer to a member function and not a
|
||||
member object, see <a href="is_member_function_pointer.html" title="is_member_function_pointer">is_member_function_pointer</a>
|
||||
and <a href="is_member_pointer.html" title="is_member_pointer">is_member_pointer</a>
|
||||
member object, see <a class="link" href="is_member_function_pointer.html" title="is_member_function_pointer">is_member_function_pointer</a>
|
||||
and <a class="link" href="is_member_pointer.html" title="is_member_pointer">is_member_pointer</a>
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_member_pointer</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_member_object_pointer.html" title="is_member_object_pointer">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,16 +24,17 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_member_pointer"></a><a href="is_member_pointer.html" title="is_member_pointer"> is_member_pointer</a>
|
||||
<a name="boost_typetraits.reference.is_member_pointer"></a><a class="link" href="is_member_pointer.html" title="is_member_pointer"> is_member_pointer</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">is_member_pointer</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">is_member_pointer</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
|
||||
pointer to a member (either a function or a data member) then inherits from
|
||||
<a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
<a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 8.3.3.
|
||||
@ -51,7 +52,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_member_pointer</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(</span><span class="identifier">MyClass</span><span class="special">::*)></span></code>
|
||||
inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -60,7 +61,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_member_pointer</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(</span><span class="identifier">MyClass</span><span class="special">::*)(</span><span class="keyword">char</span><span class="special">)>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
<code class="computeroutput"><span class="identifier">is_member_pointer</span><span class="special"><</span><span class="keyword">int</span> <span class="special">(</span><span class="identifier">MyClass</span><span class="special">::*)(</span><span class="keyword">char</span><span class="special">)>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_object</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_member_pointer.html" title="is_member_pointer">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,15 +24,16 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_object"></a><a href="is_object.html" title="is_object"> is_object</a>
|
||||
<a name="boost_typetraits.reference.is_object"></a><a class="link" href="is_object.html" title="is_object"> is_object</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">is_object</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">is_object</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
|
||||
object type then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
object type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
All types are object types except references, void, and function types.
|
||||
</p>
|
||||
<p>
|
||||
@ -51,7 +52,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_object</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span></code>
|
||||
inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -60,7 +61,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_object</span><span class="special"><</span><span class="keyword">int</span><span class="special">*>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
<code class="computeroutput"><span class="identifier">is_object</span><span class="special"><</span><span class="keyword">int</span><span class="special">*>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_pod</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_object.html" title="is_object">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,15 +24,16 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_pod"></a><a href="is_pod.html" title="is_pod"> is_pod</a>
|
||||
<a name="boost_typetraits.reference.is_pod"></a><a class="link" href="is_pod.html" title="is_pod"> is_pod</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">is_pod</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">is_pod</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
|
||||
POD type then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
POD type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
</p>
|
||||
<p>
|
||||
POD stands for "Plain old data". Arithmetic types, and enumeration
|
||||
@ -71,7 +72,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_pod</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span></code>
|
||||
inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -80,7 +81,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_pod</span><span class="special"><</span><span class="keyword">char</span><span class="special">*>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
<code class="computeroutput"><span class="identifier">is_pod</span><span class="special"><</span><span class="keyword">char</span><span class="special">*>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_pointer</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_pod.html" title="is_pod">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,16 +24,17 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_pointer"></a><a href="is_pointer.html" title="is_pointer"> is_pointer</a>
|
||||
<a name="boost_typetraits.reference.is_pointer"></a><a class="link" href="is_pointer.html" title="is_pointer"> is_pointer</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">is_pointer</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">is_pointer</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
|
||||
pointer type (includes function pointers, but excludes pointers to members)
|
||||
then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2p2 and 8.3.1.
|
||||
@ -51,7 +52,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_pointer</span><span class="special"><</span><span class="keyword">int</span><span class="special">*></span></code>
|
||||
inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -60,7 +61,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_pointer</span><span class="special"><</span><span class="keyword">char</span><span class="special">*</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
<code class="computeroutput"><span class="identifier">is_pointer</span><span class="special"><</span><span class="keyword">char</span><span class="special">*</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_polymorphic</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_pointer.html" title="is_pointer">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,15 +24,16 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_polymorphic"></a><a href="is_polymorphic.html" title="is_polymorphic"> is_polymorphic</a>
|
||||
<a name="boost_typetraits.reference.is_polymorphic"></a><a class="link" href="is_polymorphic.html" title="is_polymorphic"> is_polymorphic</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">is_polymorphic</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">is_polymorphic</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
|
||||
polymorphic type then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
polymorphic type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
Type <code class="computeroutput"><span class="identifier">T</span></code> must be a complete
|
||||
type.
|
||||
</p>
|
||||
@ -66,7 +67,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_polymorphic</span><span class="special"><</span><span class="identifier">poly</span><span class="special">></span></code>
|
||||
inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -76,7 +77,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_polymorphic</span><span class="special"><</span><span class="identifier">poly</span> <span class="keyword">const</span><span class="special">>::</span><span class="identifier">type</span></code>
|
||||
is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_reference</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_stateless.html" title="is_stateless">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,15 +24,16 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_reference"></a><a href="is_reference.html" title="is_reference"> is_reference</a>
|
||||
<a name="boost_typetraits.reference.is_reference"></a><a class="link" href="is_reference.html" title="is_reference"> is_reference</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">is_reference</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">is_reference</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a reference pointer type
|
||||
then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.2 and 8.3.2.
|
||||
@ -56,7 +57,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_reference</span><span class="special"><</span><span class="keyword">int</span><span class="special">&></span></code>
|
||||
inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -66,7 +67,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_reference</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span><span class="special">&>::</span><span class="identifier">type</span></code>
|
||||
is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_same</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_polymorphic.html" title="is_polymorphic">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,15 +24,16 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_same"></a><a href="is_same.html" title="is_same"> is_same</a>
|
||||
<a name="boost_typetraits.reference.is_same"></a><a class="link" href="is_same.html" title="is_same"> is_same</a>
|
||||
</h3></div></div></div>
|
||||
<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> <span class="identifier">is_same</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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> <span class="identifier">is_same</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T and U are the same types
|
||||
then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Header:</strong></span> <code class="computeroutput"> <span class="preprocessor">#include</span>
|
||||
@ -52,7 +53,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_same</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span></code>
|
||||
inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -61,7 +62,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_same</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> is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
<code class="computeroutput"><span class="identifier">is_same</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> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_scalar</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_same.html" title="is_same">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,15 +24,16 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_scalar"></a><a href="is_scalar.html" title="is_scalar"> is_scalar</a>
|
||||
<a name="boost_typetraits.reference.is_scalar"></a><a class="link" href="is_scalar.html" title="is_scalar"> is_scalar</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">is_scalar</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">is_scalar</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
|
||||
scalar type then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
scalar type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
Scalar types include integral, floating point, enumeration, pointer, and
|
||||
pointer-to-member types.
|
||||
</p>
|
||||
@ -57,7 +58,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_scalar</span><span class="special"><</span><span class="keyword">int</span><span class="special">*></span></code>
|
||||
inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -66,7 +67,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_scalar</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
<code class="computeroutput"><span class="identifier">is_scalar</span><span class="special"><</span><span class="keyword">int</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_signed</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_scalar.html" title="is_scalar">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,16 +24,17 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_signed"></a><a href="is_signed.html" title="is_signed"> is_signed</a>
|
||||
<a name="boost_typetraits.reference.is_signed"></a><a class="link" href="is_signed.html" title="is_signed"> is_signed</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">is_signed</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">is_signed</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is an signed integer type
|
||||
or an enumerated type with an underlying signed integer type, then inherits
|
||||
from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.1, 7.2.
|
||||
@ -51,7 +52,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_signed</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span></code>
|
||||
inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -60,7 +61,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_signed</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span> <span class="keyword">volatile</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
<code class="computeroutput"><span class="identifier">is_signed</span><span class="special"><</span><span class="keyword">int</span> <span class="keyword">const</span> <span class="keyword">volatile</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_stateless</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_signed.html" title="is_signed">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,15 +24,16 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_stateless"></a><a href="is_stateless.html" title="is_stateless"> is_stateless</a>
|
||||
<a name="boost_typetraits.reference.is_stateless"></a><a class="link" href="is_stateless.html" title="is_stateless"> is_stateless</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">is_stateless</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">is_stateless</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> Ff T is a stateless type then
|
||||
inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
</p>
|
||||
<p>
|
||||
Type T must be a complete type.
|
||||
@ -40,10 +41,11 @@
|
||||
<p>
|
||||
A stateless type is a type that has no storage and whose constructors and
|
||||
destructors are trivial. That means that <code class="computeroutput"><span class="identifier">is_stateless</span></code>
|
||||
only inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>
|
||||
only inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>
|
||||
if the following expression is <code class="computeroutput"><span class="keyword">true</span></code>:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_trivial_constructor</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span>
|
||||
<pre class="programlisting">
|
||||
<span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_trivial_constructor</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span>
|
||||
<span class="special">&&</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_trivial_copy</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span>
|
||||
<span class="special">&&</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">has_trivial_destructor</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span>
|
||||
<span class="special">&&</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_class</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span>
|
||||
@ -66,7 +68,7 @@
|
||||
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 2005) only MWCW 9 and Visual C++ 8 have
|
||||
the necessary compiler <a href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
to make this template work automatically.
|
||||
</p>
|
||||
</div>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_union</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_reference.html" title="is_reference">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,15 +24,16 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_union"></a><a href="is_union.html" title="is_union"> is_union</a>
|
||||
<a name="boost_typetraits.reference.is_union"></a><a class="link" href="is_union.html" title="is_union"> is_union</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">is_union</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">is_union</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
|
||||
union type then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
union type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
Currently requires some kind of compiler support, otherwise unions are identified
|
||||
as classes.
|
||||
</p>
|
||||
@ -43,11 +44,11 @@
|
||||
<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 using only standard C++, as a result this type will never
|
||||
inherit from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
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 2005) only Visual C++ 8 has
|
||||
the necessary compiler <a href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
the necessary compiler <a class="link" href="../intrinsics.html" title="Support for Compiler Intrinsics">intrinsics</a>
|
||||
to make this trait "just work" without user intervention.
|
||||
</p>
|
||||
<p>
|
||||
@ -63,7 +64,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_union</span><span class="special"><</span><span class="keyword">void</span><span class="special">></span></code>
|
||||
inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -73,7 +74,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_union</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">>::</span><span class="identifier">type</span></code>
|
||||
is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_unsigned</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_union.html" title="is_union">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,16 +24,17 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_unsigned"></a><a href="is_unsigned.html" title="is_unsigned"> is_unsigned</a>
|
||||
<a name="boost_typetraits.reference.is_unsigned"></a><a class="link" href="is_unsigned.html" title="is_unsigned"> is_unsigned</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">is_unsigned</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">is_unsigned</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is an unsigned integer type
|
||||
or an enumerated type with an underlying unsigned integer type, then inherits
|
||||
from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.1, 7.2.
|
||||
@ -50,7 +51,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_unsigned</span><span class="special"><</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
<code class="computeroutput"><span class="identifier">is_unsigned</span><span class="special"><</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -61,7 +62,7 @@
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_unsigned</span><span class="special"><</span><span class="keyword">unsigned</span> <span class="keyword">int</span>
|
||||
<span class="keyword">const</span> <span class="keyword">volatile</span><span class="special">>::</span><span class="identifier">type</span></code>
|
||||
is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_void</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_unsigned.html" title="is_unsigned">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,15 +24,16 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_void"></a><a href="is_void.html" title="is_void"> is_void</a>
|
||||
<a name="boost_typetraits.reference.is_void"></a><a class="link" href="is_void.html" title="is_void"> is_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="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">is_void</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">is_void</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a (possibly cv-qualified)
|
||||
void type then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
void type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.1p9.
|
||||
@ -50,7 +51,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_void</span><span class="special"><</span><span class="keyword">void</span><span class="special">></span></code>
|
||||
inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -60,7 +61,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_void</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">void</span><span class="special">>::</span><span class="identifier">type</span></code>
|
||||
is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>is_volatile</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_void.html" title="is_void">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,15 +24,16 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.is_volatile"></a><a href="is_volatile.html" title="is_volatile"> is_volatile</a>
|
||||
<a name="boost_typetraits.reference.is_volatile"></a><a class="link" href="is_volatile.html" title="is_volatile"> is_volatile</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">is_volatile</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a href="integral_constant.html" title="integral_constant">true_type</a>-or-<a href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">is_volatile</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> If T is a (top level) volatile-qualified
|
||||
type then inherits from <a href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
type then inherits from <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,
|
||||
otherwise inherits from <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 3.9.3.
|
||||
@ -49,7 +50,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_volatile</span><span class="special"><</span><span class="keyword">volatile</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
<code class="computeroutput"><span class="identifier">is_volatile</span><span class="special"><</span><span class="keyword">volatile</span> <span class="keyword">int</span><span class="special">></span></code> inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -59,7 +60,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">is_volatile</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">volatile</span>
|
||||
<span class="keyword">int</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
<span class="keyword">int</span><span class="special">>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>make_signed</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="is_volatile.html" title="is_volatile">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,9 +24,10 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.make_signed"></a><a href="make_signed.html" title="make_signed"> make_signed</a>
|
||||
<a name="boost_typetraits.reference.make_signed"></a><a class="link" href="make_signed.html" title="make_signed"> make_signed</a>
|
||||
</h3></div></div></div>
|
||||
<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>
|
||||
<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">struct</span> <span class="identifier">make_signed</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
|
||||
@ -54,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="id536226"></a><p class="title"><b>Table<EFBFBD>1.15.<2E>Examples</b></p>
|
||||
<a name="id2676867"></a><p class="title"><b>Table<EFBFBD>1.15.<2E>Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>make_unsigned</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="make_signed.html" title="make_signed">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,9 +24,10 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.make_unsigned"></a><a href="make_unsigned.html" title="make_unsigned"> make_unsigned</a>
|
||||
<a name="boost_typetraits.reference.make_unsigned"></a><a class="link" href="make_unsigned.html" title="make_unsigned"> make_unsigned</a>
|
||||
</h3></div></div></div>
|
||||
<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>
|
||||
<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">struct</span> <span class="identifier">make_unsigned</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
|
||||
@ -54,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="id536858"></a><p class="title"><b>Table<EFBFBD>1.16.<2E>Examples</b></p>
|
||||
<a name="id2677441"></a><p class="title"><b>Table<EFBFBD>1.16.<2E>Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>promote</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="make_unsigned.html" title="make_unsigned">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,9 +24,10 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.promote"></a><a href="promote.html" title="promote"> promote</a>
|
||||
<a name="boost_typetraits.reference.promote"></a><a class="link" href="promote.html" title="promote"> promote</a>
|
||||
</h3></div></div></div>
|
||||
<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>
|
||||
<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">struct</span> <span class="identifier">promote</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
|
||||
@ -38,8 +39,8 @@
|
||||
then applies integral and floating point promotions to <code class="computeroutput"><span class="identifier">T</span></code>
|
||||
and keeps cv-qualifiers of <code class="computeroutput"><span class="identifier">T</span></code>,
|
||||
otherwise leaves <code class="computeroutput"><span class="identifier">T</span></code> unchanged.
|
||||
See also <a href="integral_promotion.html" title="integral_promotion">integral_promotion</a>
|
||||
and <a href="floating_point_promotion.html" title="floating_point_promotion">floating_point_promotion</a>.
|
||||
See also <a class="link" href="integral_promotion.html" title="integral_promotion">integral_promotion</a>
|
||||
and <a class="link" href="floating_point_promotion.html" title="floating_point_promotion">floating_point_promotion</a>.
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>C++ Standard Reference:</strong></span> 4.5 except 4.5/3
|
||||
@ -51,7 +52,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="id537558"></a><p class="title"><b>Table<EFBFBD>1.17.<2E>Examples</b></p>
|
||||
<a name="id2678076"></a><p class="title"><b>Table<EFBFBD>1.17.<2E>Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>rank</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="promote.html" title="promote">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,14 +24,15 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.rank"></a><a href="rank.html" title="rank"> rank</a>
|
||||
<a name="boost_typetraits.reference.rank"></a><a class="link" href="rank.html" title="rank"> rank</a>
|
||||
</h3></div></div></div>
|
||||
<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">struct</span> <span class="identifier">rank</span> <span class="special">:</span> <span class="keyword">public</span> <a href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">RANK</span><span class="special">(</span><span class="identifier">T</span><span class="special">)></span> <span class="special">{};</span>
|
||||
<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">struct</span> <span class="identifier">rank</span> <span class="special">:</span> <span class="keyword">public</span> <a class="link" href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">RANK</span><span class="special">(</span><span class="identifier">T</span><span class="special">)></span> <span class="special">{};</span>
|
||||
</pre>
|
||||
<p>
|
||||
<span class="bold"><strong>Inherits:</strong></span> Class template rank inherits from
|
||||
<code class="computeroutput"><a href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">RANK</span><span class="special">(</span><span class="identifier">T</span><span class="special">)></span></code>,
|
||||
<code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="identifier">RANK</span><span class="special">(</span><span class="identifier">T</span><span class="special">)></span></code>,
|
||||
where <code class="computeroutput"><span class="identifier">RANK</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span></code> is the
|
||||
number of array dimensions in type <code class="computeroutput"><span class="identifier">T</span></code>.
|
||||
</p>
|
||||
@ -52,7 +53,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">rank</span><span class="special"><</span><span class="keyword">int</span><span class="special">[]></span></code>
|
||||
inherits from <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="number">1</span><span class="special">></span></code>.
|
||||
inherits from <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="number">1</span><span class="special">></span></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@ -61,7 +62,7 @@
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">rank</span><span class="special"><</span><span class="keyword">double</span><span class="special">[</span><span class="number">2</span><span class="special">][</span><span class="number">3</span><span class="special">][</span><span class="number">4</span><span class="special">]>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="number">3</span><span class="special">></span></code>.
|
||||
<code class="computeroutput"><span class="identifier">rank</span><span class="special"><</span><span class="keyword">double</span><span class="special">[</span><span class="number">2</span><span class="special">][</span><span class="number">3</span><span class="special">][</span><span class="number">4</span><span class="special">]>::</span><span class="identifier">type</span></code> is the type <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">integral_constant</a><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="number">3</span><span class="special">></span></code>.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>remove_all_extents</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="rank.html" title="rank">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,9 +24,10 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.remove_all_extents"></a><a href="remove_all_extents.html" title="remove_all_extents"> remove_all_extents</a>
|
||||
<a name="boost_typetraits.reference.remove_all_extents"></a><a class="link" href="remove_all_extents.html" title="remove_all_extents"> remove_all_extents</a>
|
||||
</h3></div></div></div>
|
||||
<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>
|
||||
<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">struct</span> <span class="identifier">remove_all_extents</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
|
||||
@ -45,7 +46,7 @@
|
||||
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 href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
|
||||
except where <a class="link" href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
|
||||
workarounds</a> have been applied.
|
||||
</p>
|
||||
<p>
|
||||
@ -54,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="id538991"></a><p class="title"><b>Table<EFBFBD>1.18.<2E>Examples</b></p>
|
||||
<a name="id2679381"></a><p class="title"><b>Table<EFBFBD>1.18.<2E>Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>remove_const</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="remove_all_extents.html" title="remove_all_extents">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,9 +24,10 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.remove_const"></a><a href="remove_const.html" title="remove_const"> remove_const</a>
|
||||
<a name="boost_typetraits.reference.remove_const"></a><a class="link" href="remove_const.html" title="remove_const"> remove_const</a>
|
||||
</h3></div></div></div>
|
||||
<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>
|
||||
<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">struct</span> <span class="identifier">remove_const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
|
||||
@ -44,7 +45,7 @@
|
||||
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 href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
|
||||
except where <a class="link" href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
|
||||
workarounds</a> have been applied.
|
||||
</p>
|
||||
<p>
|
||||
@ -53,7 +54,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="id539713"></a><p class="title"><b>Table<EFBFBD>1.19.<2E>Examples</b></p>
|
||||
<a name="id2680038"></a><p class="title"><b>Table<EFBFBD>1.19.<2E>Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>remove_cv</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="remove_const.html" title="remove_const">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,9 +24,10 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.remove_cv"></a><a href="remove_cv.html" title="remove_cv"> remove_cv</a>
|
||||
<a name="boost_typetraits.reference.remove_cv"></a><a class="link" href="remove_cv.html" title="remove_cv"> remove_cv</a>
|
||||
</h3></div></div></div>
|
||||
<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>
|
||||
<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">struct</span> <span class="identifier">remove_cv</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
|
||||
@ -44,7 +45,7 @@
|
||||
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 href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
|
||||
except where <a class="link" href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
|
||||
workarounds</a> have been applied.
|
||||
</p>
|
||||
<p>
|
||||
@ -53,7 +54,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="id540417"></a><p class="title"><b>Table<EFBFBD>1.20.<2E>Examples</b></p>
|
||||
<a name="id2680677"></a><p class="title"><b>Table<EFBFBD>1.20.<2E>Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>remove_extent</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="remove_cv.html" title="remove_cv">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,9 +24,10 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.remove_extent"></a><a href="remove_extent.html" title="remove_extent"> remove_extent</a>
|
||||
<a name="boost_typetraits.reference.remove_extent"></a><a class="link" href="remove_extent.html" title="remove_extent"> remove_extent</a>
|
||||
</h3></div></div></div>
|
||||
<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>
|
||||
<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">struct</span> <span class="identifier">remove_extent</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
|
||||
@ -45,7 +46,7 @@
|
||||
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 href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
|
||||
except where <a class="link" href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
|
||||
workarounds</a> have been applied.
|
||||
</p>
|
||||
<p>
|
||||
@ -54,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="id541121"></a><p class="title"><b>Table<EFBFBD>1.21.<2E>Examples</b></p>
|
||||
<a name="id2681318"></a><p class="title"><b>Table<EFBFBD>1.21.<2E>Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>remove_pointer</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="remove_extent.html" title="remove_extent">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,9 +24,10 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.remove_pointer"></a><a href="remove_pointer.html" title="remove_pointer"> remove_pointer</a>
|
||||
<a name="boost_typetraits.reference.remove_pointer"></a><a class="link" href="remove_pointer.html" title="remove_pointer"> remove_pointer</a>
|
||||
</h3></div></div></div>
|
||||
<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>
|
||||
<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">struct</span> <span class="identifier">remove_pointer</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
|
||||
@ -44,7 +45,7 @@
|
||||
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 href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
|
||||
except where <a class="link" href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
|
||||
workarounds</a> have been applied.
|
||||
</p>
|
||||
<p>
|
||||
@ -53,7 +54,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="id541855"></a><p class="title"><b>Table<EFBFBD>1.22.<2E>Examples</b></p>
|
||||
<a name="id2681988"></a><p class="title"><b>Table<EFBFBD>1.22.<2E>Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>remove_reference</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="remove_pointer.html" title="remove_pointer">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,9 +24,10 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.remove_reference"></a><a href="remove_reference.html" title="remove_reference"> remove_reference</a>
|
||||
<a name="boost_typetraits.reference.remove_reference"></a><a class="link" href="remove_reference.html" title="remove_reference"> remove_reference</a>
|
||||
</h3></div></div></div>
|
||||
<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>
|
||||
<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">struct</span> <span class="identifier">remove_reference</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
|
||||
@ -44,7 +45,7 @@
|
||||
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 href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
|
||||
except where <a class="link" href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
|
||||
workarounds</a> have been applied.
|
||||
</p>
|
||||
<p>
|
||||
@ -53,7 +54,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="id542534"></a><p class="title"><b>Table<EFBFBD>1.23.<2E>Examples</b></p>
|
||||
<a name="id2682606"></a><p class="title"><b>Table<EFBFBD>1.23.<2E>Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>remove_volatile</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="remove_reference.html" title="remove_reference">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,9 +24,10 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.remove_volatile"></a><a href="remove_volatile.html" title="remove_volatile"> remove_volatile</a>
|
||||
<a name="boost_typetraits.reference.remove_volatile"></a><a class="link" href="remove_volatile.html" title="remove_volatile"> remove_volatile</a>
|
||||
</h3></div></div></div>
|
||||
<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>
|
||||
<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">struct</span> <span class="identifier">remove_volatile</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
|
||||
@ -44,7 +45,7 @@
|
||||
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 href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
|
||||
except where <a class="link" href="../category/transform.html#boost_typetraits.category.transform.broken_compiler_workarounds_">compiler
|
||||
workarounds</a> have been applied.
|
||||
</p>
|
||||
<p>
|
||||
@ -53,7 +54,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="id543140"></a><p class="title"><b>Table<EFBFBD>1.24.<2E>Examples</b></p>
|
||||
<a name="id2683157"></a><p class="title"><b>Table<EFBFBD>1.24.<2E>Examples</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Examples">
|
||||
<colgroup>
|
||||
<col>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>type_with_alignment</title>
|
||||
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../reference.html" title="Alphabetical Reference">
|
||||
<link rel="prev" href="remove_volatile.html" title="remove_volatile">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,9 +24,10 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typetraits.reference.type_with_alignment"></a><a href="type_with_alignment.html" title="type_with_alignment"> type_with_alignment</a>
|
||||
<a name="boost_typetraits.reference.type_with_alignment"></a><a class="link" href="type_with_alignment.html" title="type_with_alignment"> type_with_alignment</a>
|
||||
</h3></div></div></div>
|
||||
<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">Align</span><span class="special">></span>
|
||||
<pre class="programlisting">
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">Align</span><span class="special">></span>
|
||||
<span class="keyword">struct</span> <span class="identifier">type_with_alignment</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <em class="replaceable"><code>see-below</code></em> <span class="identifier">type</span><span class="special">;</span>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>User Defined Specializations</title>
|
||||
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="prev" href="category/function.html" title="Decomposing Function Types">
|
||||
@ -12,7 +12,7 @@
|
||||
<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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -24,17 +24,18 @@
|
||||
</div>
|
||||
<div class="section" lang="en">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_typetraits.user_defined"></a><a href="user_defined.html" title="User Defined Specializations"> User Defined Specializations</a>
|
||||
<a name="boost_typetraits.user_defined"></a><a class="link" href="user_defined.html" title="User Defined Specializations"> User Defined Specializations</a>
|
||||
</h2></div></div></div>
|
||||
<p>
|
||||
Occationally the end user may need to provide their own specialization for
|
||||
one of the type traits - typically where intrinsic compiler support is required
|
||||
to implement a specific trait fully. These specializations should derive from
|
||||
boost::<a href="reference/integral_constant.html" title="integral_constant">true_type</a>
|
||||
or boost::<a href="reference/integral_constant.html" title="integral_constant">false_type</a>
|
||||
boost::<a class="link" href="reference/integral_constant.html" title="integral_constant">true_type</a>
|
||||
or boost::<a class="link" href="reference/integral_constant.html" title="integral_constant">false_type</a>
|
||||
as appropriate:
|
||||
</p>
|
||||
<pre class="programlisting"><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_pod</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting">
|
||||
<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_pod</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<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_class</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<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_union</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
|
||||
@ -48,16 +49,16 @@
|
||||
<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">struct</span> <a href="reference/is_pod.html" title="is_pod">is_pod</a><span class="special"><</span><span class="identifier">my_pod</span><span class="special">></span> <span class="special">:</span> <span class="keyword">public</span> <a href="reference/integral_constant.html" title="integral_constant">true_type</a><span class="special">{};</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="reference/is_pod.html" title="is_pod">is_pod</a><span class="special"><</span><span class="identifier">my_pod</span><span class="special">></span> <span class="special">:</span> <span class="keyword">public</span> <a class="link" href="reference/integral_constant.html" title="integral_constant">true_type</a><span class="special">{};</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><></span>
|
||||
<span class="keyword">struct</span> <a href="reference/is_pod.html" title="is_pod">is_pod</a><span class="special"><</span><span class="identifier">my_union</span><span class="special">></span> <span class="special">:</span> <span class="keyword">public</span> <a href="reference/integral_constant.html" title="integral_constant">true_type</a><span class="special">{};</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="reference/is_pod.html" title="is_pod">is_pod</a><span class="special"><</span><span class="identifier">my_union</span><span class="special">></span> <span class="special">:</span> <span class="keyword">public</span> <a class="link" href="reference/integral_constant.html" title="integral_constant">true_type</a><span class="special">{};</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><></span>
|
||||
<span class="keyword">struct</span> <a href="reference/is_union.html" title="is_union">is_union</a><span class="special"><</span><span class="identifier">my_union</span><span class="special">></span> <span class="special">:</span> <span class="keyword">public</span> <a href="reference/integral_constant.html" title="integral_constant">true_type</a><span class="special">{};</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="reference/is_union.html" title="is_union">is_union</a><span class="special"><</span><span class="identifier">my_union</span><span class="special">></span> <span class="special">:</span> <span class="keyword">public</span> <a class="link" href="reference/integral_constant.html" title="integral_constant">true_type</a><span class="special">{};</span>
|
||||
|
||||
<span class="keyword">template</span><span class="special"><></span>
|
||||
<span class="keyword">struct</span> <a href="reference/is_class.html" title="is_class">is_class</a><span class="special"><</span><span class="identifier">my_union</span><span class="special">></span> <span class="special">:</span> <span class="keyword">public</span> <a href="reference/integral_constant.html" title="integral_constant">false_type</a><span class="special">{};</span>
|
||||
<span class="keyword">struct</span> <a class="link" href="reference/is_class.html" title="is_class">is_class</a><span class="special"><</span><span class="identifier">my_union</span><span class="special">></span> <span class="special">:</span> <span class="keyword">public</span> <a class="link" href="reference/integral_constant.html" title="integral_constant">false_type</a><span class="special">{};</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
</div>
|
||||
|
@ -3,14 +3,14 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Chapter<EFBFBD>1.<2E>Boost.TypeTraits</title>
|
||||
<link rel="stylesheet" href="../../../../doc/html/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
|
||||
<link rel="start" href="index.html" title="Chapter<65>1.<2E>Boost.TypeTraits">
|
||||
<link rel="next" href="boost_typetraits/intro.html" title="Introduction">
|
||||
</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.htm">Home</a></td>
|
||||
<td align="center"><a href="../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/people/people.htm">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/more/faq.htm">FAQ</a></td>
|
||||
@ -30,7 +30,7 @@
|
||||
Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten Ottosen, Robert
|
||||
Ramey and Jeremy Siek</p></div>
|
||||
<div><div class="legalnotice">
|
||||
<a name="id437571"></a><p>
|
||||
<a name="id2625911"></a><p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
|
@ -41,7 +41,7 @@ The following traits classes are dependent on one or more of the above:
|
||||
* __is_stateless
|
||||
|
||||
The hooks for compiler-intrinsic support are defined in
|
||||
[@../../boost/type_traits/intrinsics.hpp boost/type_traits/intrinsics.hpp], adding support for new compilers is simply
|
||||
[@../../../../boost/type_traits/intrinsics.hpp boost/type_traits/intrinsics.hpp], adding support for new compilers is simply
|
||||
a matter of defining one of more of the following macros:
|
||||
|
||||
[table Macros for Compiler Intrinsics
|
||||
|
@ -8,13 +8,13 @@
|
||||
[section:mpl MPL Interoperability]
|
||||
|
||||
All the value based traits in this library conform to MPL's requirements
|
||||
for an [@../../libs/mpl/doc/refmanual/integral-constant.html Integral Constant type]: that includes a number of rather intrusive
|
||||
for an [@../../../../libs/mpl/doc/refmanual/integral-constant.html Integral Constant type]: that includes a number of rather intrusive
|
||||
workarounds for broken compilers.
|
||||
|
||||
Purely as an implementation detail, this
|
||||
means that `__true_type` inherits from [@../../libs/mpl/doc/refmanual/bool.html `boost::mpl::true_`], `__false_type` inherits
|
||||
from [@../../libs/mpl/doc/refmanual/bool.html `boost::mpl::false_`], and `__integral_constant<T, v>` inherits from
|
||||
[@../../libs/mpl/doc/refmanual/integral-c.html `boost::mpl::integral_c<T,v>`] (provided `T` is not `bool`)
|
||||
means that `__true_type` inherits from [@../../../../libs/mpl/doc/refmanual/bool.html `boost::mpl::true_`], `__false_type` inherits
|
||||
from [@../../../../libs/mpl/doc/refmanual/bool.html `boost::mpl::false_`], and `__integral_constant<T, v>` inherits from
|
||||
[@../../../../libs/mpl/doc/refmanual/integral-c.html `boost::mpl::integral_c<T,v>`] (provided `T` is not `bool`)
|
||||
|
||||
[endsect]
|
||||
|
||||
|
Reference in New Issue
Block a user