From a8c65cc5955a60a95a0175a61c1f0f79e1da1a2e Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Wed, 7 Nov 2007 03:23:31 +0000 Subject: [PATCH] added license info in copyright notice at the footer [SVN r40867] --- doc/html/boost_typetraits/background.html | 210 +++++++++--------- doc/html/boost_typetraits/category.html | 20 +- .../boost_typetraits/category/alignment.html | 37 +-- .../boost_typetraits/category/function.html | 34 +-- .../boost_typetraits/category/transform.html | 82 ++++--- .../category/value_traits.html | 34 +-- .../category/value_traits/primary.html | 84 ++++--- .../category/value_traits/properties.html | 82 ++++--- .../category/value_traits/relate.html | 36 +-- doc/html/boost_typetraits/credits.html | 19 +- doc/html/boost_typetraits/examples.html | 20 +- doc/html/boost_typetraits/examples/copy.html | 38 ++-- .../boost_typetraits/examples/destruct.html | 35 +-- doc/html/boost_typetraits/examples/fill.html | 41 ++-- doc/html/boost_typetraits/examples/iter.html | 45 ++-- .../boost_typetraits/examples/to_double.html | 26 ++- doc/html/boost_typetraits/intrinsics.html | 66 +++--- doc/html/boost_typetraits/intro.html | 23 +- doc/html/boost_typetraits/mpl.html | 35 +-- doc/html/boost_typetraits/reference.html | 20 +- .../boost_typetraits/reference/add_const.html | 66 +++--- .../boost_typetraits/reference/add_cv.html | 72 +++--- .../reference/add_pointer.html | 66 +++--- .../reference/add_reference.html | 64 +++--- .../reference/add_volatile.html | 68 +++--- .../reference/aligned_storage.html | 35 +-- .../reference/alignment_of.html | 51 +++-- .../boost_typetraits/reference/decay.html | 68 +++--- .../boost_typetraits/reference/extent.html | 64 +++--- .../reference/floating_point_promotion.html | 66 +++--- .../reference/function_traits.html | 95 ++++---- .../reference/has_no_throw_def_cons.html | 24 +- .../reference/has_nothrow_assign.html | 42 ++-- .../reference/has_nothrow_constructor.html | 49 ++-- .../reference/has_nothrow_copy.html | 46 ++-- .../reference/has_nothrow_cp_cons.html | 23 +- .../reference/has_trivial_assign.html | 58 ++--- .../reference/has_trivial_constructor.html | 63 +++--- .../reference/has_trivial_copy.html | 60 ++--- .../reference/has_trivial_cp_cons.html | 23 +- .../reference/has_trivial_def_cons.html | 24 +- .../reference/has_trivial_destructor.html | 57 ++--- .../reference/has_virtual_destructor.html | 45 ++-- .../reference/integral_constant.html | 25 ++- .../reference/integral_promotion.html | 62 +++--- .../reference/is_abstract.html | 55 ++--- .../reference/is_arithmetic.html | 53 ++--- .../boost_typetraits/reference/is_array.html | 51 +++-- .../reference/is_base_of.html | 75 ++++--- .../boost_typetraits/reference/is_class.html | 65 +++--- .../reference/is_complex.html | 37 +-- .../reference/is_compound.html | 55 ++--- .../boost_typetraits/reference/is_const.html | 53 ++--- .../reference/is_convertible.html | 79 +++---- .../boost_typetraits/reference/is_empty.html | 59 ++--- .../boost_typetraits/reference/is_enum.html | 63 +++--- .../reference/is_floating_point.html | 49 ++-- .../reference/is_function.html | 84 +++---- .../reference/is_fundamental.html | 57 ++--- .../reference/is_integral.html | 52 +++-- .../reference/is_member_function_pointer.html | 63 +++--- .../reference/is_member_object_pointer.html | 63 +++--- .../reference/is_member_pointer.html | 50 +++-- .../boost_typetraits/reference/is_object.html | 57 ++--- .../boost_typetraits/reference/is_pod.html | 53 ++--- .../reference/is_pointer.html | 59 ++--- .../reference/is_polymorphic.html | 57 ++--- .../reference/is_reference.html | 53 ++--- .../boost_typetraits/reference/is_same.html | 53 ++--- .../boost_typetraits/reference/is_scalar.html | 57 ++--- .../boost_typetraits/reference/is_signed.html | 57 ++--- .../reference/is_stateless.html | 47 ++-- .../boost_typetraits/reference/is_union.html | 59 ++--- .../reference/is_unsigned.html | 61 ++--- .../boost_typetraits/reference/is_void.html | 53 ++--- .../reference/is_volatile.html | 51 +++-- .../reference/make_signed.html | 64 +++--- .../reference/make_unsigned.html | 66 +++--- .../boost_typetraits/reference/promote.html | 65 +++--- doc/html/boost_typetraits/reference/rank.html | 57 ++--- .../reference/remove_all_extents.html | 70 +++--- .../reference/remove_const.html | 68 +++--- .../boost_typetraits/reference/remove_cv.html | 68 +++--- .../reference/remove_extent.html | 68 +++--- .../reference/remove_pointer.html | 66 +++--- .../reference/remove_reference.html | 62 +++--- .../reference/remove_volatile.html | 68 +++--- .../reference/type_with_alignment.html | 33 +-- doc/html/boost_typetraits/user_defined.html | 32 +-- doc/html/index.html | 13 +- 90 files changed, 2610 insertions(+), 2273 deletions(-) diff --git a/doc/html/boost_typetraits/background.html b/doc/html/boost_typetraits/background.html index 2936f47..be75eb7 100644 --- a/doc/html/boost_typetraits/background.html +++ b/doc/html/boost_typetraits/background.html @@ -1,13 +1,13 @@ -Background and Tutorial + Background and Tutorial - + - - + + @@ -24,8 +24,7 @@
+ Background and Tutorial

The following is an updated version of the article "C++ Type traits" by John Maddock and Steve Cleary that appeared in the October 2000 issue of @@ -46,29 +45,29 @@ Consider an example: when working with character strings, one common operation is to determine the length of a null terminated string. Clearly it's possible to write generic code that can do this, but it turns out that there are much - more efficient methods available: for example, the C library functions strlen and wcslen + more efficient methods available: for example, the C library functions strlen and wcslen are usually written in assembler, and with suitable hardware support can be considerably faster than a generic version written in C++. The authors of the - C++ standard library realized this, and abstracted the properties of char and wchar_t - into the class char_traits. - Generic code that works with character strings can simply use char_traits<>::length to determine the length of a null - terminated string, safe in the knowledge that specializations of char_traits will use the most appropriate + C++ standard library realized this, and abstracted the properties of char and wchar_t + into the class char_traits. + Generic code that works with character strings can simply use char_traits<>::length to determine the length of a null + terminated string, safe in the knowledge that specializations of char_traits will use the most appropriate method available to them.

-
- +

+ Type Traits -

+

- Class char_traits is a classic + Class char_traits is a classic example of a collection of type specific properties wrapped up in a single class - what Nathan Myers termed a baggage class[1]. In the Boost type-traits library, we[2] 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 true_type - if the type has the specified property and inherits from false_type + share a unified design: each class inherits from a the type true_type + if the type has the specified property and inherits from false_type 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. @@ -77,51 +76,51 @@ The type-traits library also contains a set of classes that perform a specific transformation on a type; for example, they can remove a top-level const or volatile qualifier from a type. Each class that performs a transformation defines - a single typedef-member type + a single typedef-member type that is the result of the transformation. All of the type-traits classes are - defined inside namespace boost; + defined inside namespace boost; for brevity, namespace-qualification is omitted in most of the code samples given.

-
- +

+ Implementation -

+

There are far too many separate classes contained in the type-traits library to give a full implementation here - see the source code in the Boost library for the full details - however, most of the implementation is fairly repetitive 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, - is_void<T> inherits - from true_type - only if T is void. + is_void<T> inherits + from true_type + only if T is void.

 template <typename T> 
-struct is_void : public false_type{};
+struct is_void : public false_type{};
 
 template <> 
-struct is_void<void> : public true_type{};
+struct is_void<void> : public true_type{};
 

- Here we define a primary version of the template class is_void, - and provide a full-specialization when T - is void. While full specialization + Here we define a primary version of the template class is_void, + and provide a full-specialization when T + is void. While full specialization of a template class is an important technique, sometimes we need a solution that is halfway between a fully generic solution, and a full specialization. This is exactly the situation for which the standards committee defined partial - template-class specialization. As an example, consider the class boost::is_pointer<T>: + template-class specialization. As an example, consider the class boost::is_pointer<T>: here we needed a primary version that handles all the cases where T is not a pointer, and a partial specialization to handle all the cases where T is a pointer:

 template <typename T> 
-struct is_pointer : public false_type{};
+struct is_pointer : public false_type{};
 
 template <typename T> 
-struct is_pointer<T*> : public true_type{};
+struct is_pointer<T*> : public true_type{};
 

The syntax for partial specialization is somewhat arcane and could easily occupy @@ -153,35 +152,35 @@ and close enough to the actual rule to be useful for everyday use.

- As a more complex example of partial specialization consider the class remove_extent<T>. This - class defines a single typedef-member type + As a more complex example of partial specialization consider the class remove_extent<T>. This + class defines a single typedef-member type 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:

 template <typename T> 
-struct remove_extent
+struct remove_extent
 { typedef T type; };
 
 template <typename T, std::size_t N> 
-struct remove_extent<T[N]>
+struct remove_extent<T[N]>
 { typedef T type; };
 

- The aim of remove_extent + The aim of remove_extent is this: imagine a generic algorithm that is passed an array type as a template - parameter, remove_extent + parameter, remove_extent provides a means of determining the underlying type of the array. For example - remove_extent<int[4][5]>::type would evaluate to the type int[5]. This example also shows that the number of + remove_extent<int[4][5]>::type would evaluate to the type int[5]. This example also shows that the number of template parameters in a partial specialization does not have to match the number in the default template. However, the number of parameters that appear after the class name do have to match the number and type of the parameters in the default template.

-
- +

+ Optimized copy -

+

As an example of how the type traits classes can be used, consider the standard library algorithm copy: @@ -192,24 +191,24 @@

Obviously, there's no problem writing a generic version of copy that works - for all iterator types Iter1 - and Iter2; however, there are + for all iterator types Iter1 + and Iter2; however, there are some circumstances when the copy operation can best be performed by a call - to memcpy. In order to implement - copy in terms of memcpy all + to memcpy. In order to implement + copy in terms of memcpy all of the following conditions need to be met:

@@ -229,33 +228,34 @@

- If all these conditions are met then a type can be copied using memcpy rather than using a compiler generated - assignment operator. The type-traits library provides a class has_trivial_assign, - such that has_trivial_assign<T>::value is true only if T has a trivial assignment + If all these conditions are met then a type can be copied using memcpy rather than using a compiler generated + assignment operator. The type-traits library provides a class has_trivial_assign, + such that has_trivial_assign<T>::value 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 has_trivial_assign + assignment operator. In other words if has_trivial_assign gives the wrong answer, it will give the "safe" wrong answer - that trivial assignment is not allowable.

- The code for an optimized version of copy that uses memcpy - where appropriate is given in the - examples. The code begins by defining a template function do_copy that performs a "slow but safe" - copy. The last parameter passed to this function may be either a true_type - or a false_type. + The code for an optimized version of copy that uses memcpy + where appropriate is given in the + examples. The code begins by defining a template function do_copy that performs a "slow but safe" + copy. The last parameter passed to this function may be either a true_type + or a false_type. Following that there is an overload of docopy that uses `memcpy`: this time the iterators are required to actually be pointers - to the same type, and the final parameter must be a `_true_type. Finally, the version - of copy calls - docopy`, passing `_has_trivial_assign<value_type>()` + to the same type, and the final parameter must be a `_true_type. Finally, the version + of copy calls + docopy`, passing `_has_trivial_assign<value_type>()` as the final parameter: this will dispatch to the optimized version where appropriate, otherwise it will call the "slow but safe version".

-
- +

+ Was it worth it? -

+

It has often been repeated in these columns that "premature optimization is the root of all evil" [4]. @@ -286,9 +286,9 @@

-

Table 1.1. Time taken to copy 1000 elements using `copy<const +

Table 1.1. Time taken to copy 1000 elements using `copy<const T*, T*>` (times in micro-seconds)

-
@@ -382,12 +382,12 @@ -
+ -
- +

+ Pair of References -

+

The optimized copy example shows how type traits may be used to perform optimization decisions at compile-time. Another important usage of type traits is to allow @@ -397,7 +397,7 @@ references [6].

- First, let us examine the definition of std::pair, omitting + First, let us examine the definition of std::pair, omitting the comparison operators, default constructor, and template copy constructor for simplicity:

@@ -423,8 +423,8 @@ to hold non-reference types, references, and constant references:

-

Table 1.2. Required Constructor Argument Types

-
+

Table 1.2. Required Constructor Argument Types

+
@@ -432,7 +432,7 @@ -

- Type of T1 + Type of T1

@@ -479,18 +479,18 @@
+
-

+

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 add_reference, which + of the contained class. The type traits classes provide a transformation add_reference, which adds a reference to its type, unless it is already a reference.

-

Table 1.3. Using add_reference to synthesize the correct constructor +

Table 1.3. Using add_reference to synthesize the correct constructor type

-
@@ -500,17 +500,17 @@ @@ -567,10 +567,10 @@ -

- Type of T1 + Type of T1

- Type of const T1 + Type of const T1

- Type of add_reference<const T1>::type + Type of add_reference<const T1>::type

+
-

- This allows us to build a primary template definition for pair +

+ This allows us to build a primary template definition for pair that can contain non-reference types, reference types, and constant reference types:

@@ -584,20 +584,20 @@ T1 first; T2 second; -pair(boost::add_reference<const T1>::type nfirst, - boost::add_reference<const T2>::type nsecond) +pair(boost::add_reference<const T1>::type nfirst, + boost::add_reference<const T2>::type nsecond) :first(nfirst), second(nsecond) { } };

Add back in the standard comparison operators, default constructor, and template - copy constructor (which are all the same), and you have a std::pair that + copy constructor (which are all the same), and you have a std::pair that can hold reference types!

This same extension could have been done using partial template specialization - of pair, but to specialize - pair in this way would require + of pair, but to specialize + pair in this way would require three partial specializations, plus the primary template. Type traits allows us to define a single primary template that adjusts itself auto-magically to any of these partial specializations, instead of a brute-force partial specialization @@ -605,10 +605,10 @@ partial specialization to the type traits classes, resulting in code that is easier to maintain and easier to understand.

-
- +

+ Conclusion -

+

We hope that in this article we have been able to give you some idea of what type-traits are all about. A more complete listing of the available classes @@ -618,18 +618,18 @@ does not have to sink to the lowest common denominator, and that templates can be optimal as well as generic.

-
- +

+ Acknowledgements -

+

The authors would like to thank Beman Dawes and Howard Hinnant for their helpful comments when preparing this article.

-
- +

+ References -

+
  1. Nathan C. Myers, C++ Report, June 1995. @@ -677,10 +677,14 @@
- + Ramey and Jeremy Siek

+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

diff --git a/doc/html/boost_typetraits/category.html b/doc/html/boost_typetraits/category.html index 256ef75..430f830 100644 --- a/doc/html/boost_typetraits/category.html +++ b/doc/html/boost_typetraits/category.html @@ -1,13 +1,14 @@ -Type Traits by Category + Type Traits by Category - + - - + + @@ -24,8 +25,7 @@
- + Ramey and Jeremy Siek

+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

diff --git a/doc/html/boost_typetraits/category/alignment.html b/doc/html/boost_typetraits/category/alignment.html index cb22d55..39ba2ad 100644 --- a/doc/html/boost_typetraits/category/alignment.html +++ b/doc/html/boost_typetraits/category/alignment.html @@ -1,13 +1,16 @@ -Synthesizing Types with Specific Alignments + Synthesizing Types + with Specific Alignments - + - - - + + + @@ -24,32 +27,36 @@

Some low level memory management routines need to synthesize a POD type with - specific alignment properties. The template type_with_alignment - finds the smallest type with a specified alignment, while template aligned_storage + specific alignment properties. The template type_with_alignment + finds the smallest type with a specified alignment, while template aligned_storage creates a type with a specific size and alignment.

- Synopsis + Synopsis

 template <std::size_t Align>
-struct type_with_alignment;
+struct type_with_alignment;
 
 template <std::size_t Size, std::size_t Align>
-struct aligned_storage;
+struct aligned_storage;
 
- + Ramey and Jeremy Siek

+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

diff --git a/doc/html/boost_typetraits/category/function.html b/doc/html/boost_typetraits/category/function.html index 20a4736..3da077d 100644 --- a/doc/html/boost_typetraits/category/function.html +++ b/doc/html/boost_typetraits/category/function.html @@ -1,13 +1,15 @@ -Decomposing Function Types + Decomposing Function + Types - + - - - + + + @@ -24,29 +26,33 @@

- The class template function_traits - extracts information from function types (see also is_function). + The class template function_traits + extracts information from function types (see also is_function). This traits class allows you to tell how many arguments a function takes, what those argument types are, and what the return type is.

- Synopsis + Synopsis

 template <std::size_t Align>
-struct function_traits;
+struct function_traits;
 
- + Ramey and Jeremy Siek

+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

diff --git a/doc/html/boost_typetraits/category/transform.html b/doc/html/boost_typetraits/category/transform.html index 0e9dbcb..0ddfae9 100644 --- a/doc/html/boost_typetraits/category/transform.html +++ b/doc/html/boost_typetraits/category/transform.html @@ -1,13 +1,16 @@ -Type Traits that Transform One Type to Another + Type Traits that + Transform One Type to Another - + - - - + + + @@ -24,78 +27,79 @@

The following templates transform one type to another, based upon some well-defined - rule. Each template has a single member called type + rule. Each template has a single member called type that is the result of applying the transformation to the template argument - T. + T.

- Synopsis: + Synopsis:

 template <class T>
-struct add_const;
+struct add_const;
 
 template <class T>
-struct add_cv;
+struct add_cv;
 
 template <class T>
-struct add_pointer;
+struct add_pointer;
 
 template <class T>
-struct add_reference;
+struct add_reference;
 
 template <class T>
-struct add_volatile;
+struct add_volatile;
 
 template <class T>
-struct decay;
+struct decay;
 
 template <class T>
-struct floating_point_promotion;
+struct floating_point_promotion;
 
 template <class T>
-struct integral_promotion;
+struct integral_promotion;
 
 template <class T>
-struct make_signed;
+struct make_signed;
 
 template <class T>
-struct make_unsigned;
+struct make_unsigned;
 
 template <class T>
-struct promote;
+struct promote;
 
 template <class T>
-struct remove_all_extents;
+struct remove_all_extents;
 
 template <class T>
-struct remove_const;
+struct remove_const;
 
 template <class T>
-struct remove_cv;
+struct remove_cv;
 
 template <class T>
-struct remove_extent;
+struct remove_extent;
 
 template <class T>
-struct remove_pointer;
+struct remove_pointer;
 
 template <class T>
-struct remove_reference;
+struct remove_reference;
 
 template <class T>
-struct remove_volatile;
+struct remove_volatile;
 
-
- +

+ Broken Compiler Workarounds: -

+

For all of these templates support for partial specialization of class templates is required to correctly implement the transformation. On the other hand, @@ -129,8 +133,8 @@

and the second part provides the library's users with a mechanism to make - the above code work not only for char, - int or other built-in type, + the above code work not only for char, + int or other built-in type, but for their own types as well:

@@ -146,16 +150,20 @@
 

Note that the macro BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION evaluates - to nothing on those compilers that do support + to nothing on those compilers that do support partial specialization.

- + Ramey and Jeremy Siek

+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

diff --git a/doc/html/boost_typetraits/category/value_traits.html b/doc/html/boost_typetraits/category/value_traits.html index aca0bb4..2c59bcc 100644 --- a/doc/html/boost_typetraits/category/value_traits.html +++ b/doc/html/boost_typetraits/category/value_traits.html @@ -1,13 +1,15 @@ -Type Traits that Describe the Properties of a Type + Type Traits + that Describe the Properties of a Type - + - - - + + + @@ -24,9 +26,9 @@
Categorizing a Type
@@ -37,21 +39,25 @@

These traits are all value traits, which is to say the - traits classes all inherit from integral_constant, + traits classes all inherit from integral_constant, 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 alignment_of, - rank - and extent). + see alignment_of, + rank + and extent).

- + Ramey and Jeremy Siek

+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

diff --git a/doc/html/boost_typetraits/category/value_traits/primary.html b/doc/html/boost_typetraits/category/value_traits/primary.html index 6aff1a3..2235fc4 100644 --- a/doc/html/boost_typetraits/category/value_traits/primary.html +++ b/doc/html/boost_typetraits/category/value_traits/primary.html @@ -1,13 +1,17 @@ -Categorizing a Type + Categorizing + a Type - + - - - + + + @@ -24,69 +28,71 @@

- These traits identify what "kind" of type some type T is. These are split into two groups: + These traits identify what "kind" of type some type T is. These are split into two groups: primary traits which are all mutually exclusive, and composite traits that are compositions of one or more primary traits.

- For any given type, exactly one primary type trait will inherit from true_type, - and all the others will inherit from false_type, + For any given type, exactly one primary type trait will inherit from true_type, + and all the others will inherit from false_type, in other words these traits are mutually exclusive.

- This means that is_integral<T>::value - and is_floating_point<T>::value + This means that is_integral<T>::value + and is_floating_point<T>::value 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 std::numeric_limits - template instead. + point type, then use the std::numeric_limits + template instead.

- Synopsis: + Synopsis:

 template <class T>
-struct is_array<T>;
+struct is_array<T>;
   
 template <class T>
-struct is_class<T>;
+struct is_class<T>;
 
 template <class T>
-struct is_complex<T>;
+struct is_complex<T>;
   
 template <class T>
-struct is_enum<T>;
+struct is_enum<T>;
   
 template <class T>
-struct is_floating_point<T>;
+struct is_floating_point<T>;
   
 template <class T>
-struct is_function<T>;
+struct is_function<T>;
 
 template <class T>
-struct is_integral<T>;
+struct is_integral<T>;
   
 template <class T>
-struct is_member_function_pointer<T>;
+struct is_member_function_pointer<T>;
   
 template <class T>
-struct is_member_object_pointer<T>;
+struct is_member_object_pointer<T>;
   
 template <class T>
-struct is_pointer<T>;
+struct is_pointer<T>;
   
 template <class T>
-struct is_reference<T>;
+struct is_reference<T>;
   
 template <class T>
-struct is_union<T>;
+struct is_union<T>;
   
 template <class T>
-struct is_void<T>;
+struct is_void<T>;
 

The following traits are made up of the union of one or more type categorizations. @@ -95,30 +101,34 @@

 template <class T>
-struct is_arithmetic;
+struct is_arithmetic;
 
 template <class T>
-struct is_compound;
+struct is_compound;
 
 template <class T>
-struct is_fundamental;
+struct is_fundamental;
 
 template <class T>
-struct is_member_pointer;
+struct is_member_pointer;
 
 template <class T>
-struct is_object;
+struct is_object;
 
 template <class T>
-struct is_scalar;
+struct is_scalar;
 
- + Ramey and Jeremy Siek

+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

diff --git a/doc/html/boost_typetraits/category/value_traits/properties.html b/doc/html/boost_typetraits/category/value_traits/properties.html index 41abd37..96e6482 100644 --- a/doc/html/boost_typetraits/category/value_traits/properties.html +++ b/doc/html/boost_typetraits/category/value_traits/properties.html @@ -1,13 +1,17 @@ -General Type Properties + + General Type Properties - + - - - + + + @@ -24,95 +28,103 @@

The following templates describe the general properties of a type.

- Synopsis: + Synopsis:

 template <class T>
-struct alignment_of;
+struct alignment_of;
 
 template <class T>
-struct has_nothrow_assign;
+struct has_nothrow_assign;
 
 template <class T>
-struct has_nothrow_constructor;
+struct has_nothrow_constructor;
 
 template <class T>
-struct has_nothrow_default_constructor;
+struct has_nothrow_default_constructor;
 
 template <class T>
-struct has_nothrow_copy;
+struct has_nothrow_copy;
 
 template <class T>
-struct has_nothrow_copy_constructor;
+struct has_nothrow_copy_constructor;
 
 template <class T>
-struct has_trivial_assign;
+struct has_trivial_assign;
 
 template <class T>
-struct has_trivial_constructor;
+struct has_trivial_constructor;
 
 template <class T>
-struct has_trivial_default_constructor;
+struct has_trivial_default_constructor;
 
 template <class T>
-struct has_trivial_copy;
+struct has_trivial_copy;
 
 template <class T>
-struct has_trivial_copy_constructor;
+struct has_trivial_copy_constructor;
 
 template <class T>
-struct has_trivial_destructor;
+struct has_trivial_destructor;
 
 template <class T>
-struct has_virtual_destructor;
+struct has_virtual_destructor;
 
 template <class T>
-struct is_abstract;
+struct is_abstract;
 
 template <class T>
-struct is_const;
+struct is_const;
 
 template <class T>
-struct is_empty;
+struct is_empty;
 
 template <class T>
-struct is_stateless;
+struct is_stateless;
 
 template <class T>
-struct is_pod;
+struct is_pod;
 
 template <class T>
-struct is_polymorphic;
+struct is_polymorphic;
 
 template <class T>
-struct is_signed;
+struct is_signed;
 
 template <class T>
-struct is_unsigned;
+struct is_unsigned;
 
 template <class T>
-struct is_volatile;
+struct is_volatile;
 
 template <class T, std::size_t N = 0>
-struct extent;
+struct extent;
 
 template <class T>
-struct rank;
+struct rank;
 
- + Ramey and Jeremy Siek

+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

diff --git a/doc/html/boost_typetraits/category/value_traits/relate.html b/doc/html/boost_typetraits/category/value_traits/relate.html index a6771fd..65ae0d5 100644 --- a/doc/html/boost_typetraits/category/value_traits/relate.html +++ b/doc/html/boost_typetraits/category/value_traits/relate.html @@ -1,13 +1,17 @@ -Relationships Between Two Types + Relationships + Between Two Types - + - - - + + + @@ -24,33 +28,37 @@

These templates determine the whether there is a relationship between two types:

- Synopsis: + Synopsis:

 template <class Base, class Derived>
-struct is_base_of;
+struct is_base_of;
 
 template <class From, class To>
-struct is_convertible;
+struct is_convertible;
 
 template <class T, class U>
-struct is_same;
+struct is_same;
 
- + Ramey and Jeremy Siek

+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

diff --git a/doc/html/boost_typetraits/credits.html b/doc/html/boost_typetraits/credits.html index 8127b84..ef9135e 100644 --- a/doc/html/boost_typetraits/credits.html +++ b/doc/html/boost_typetraits/credits.html @@ -1,12 +1,12 @@ -Credits + Credits - + - + @@ -23,8 +23,7 @@

This documentation was pulled together by John Maddock, using Boost.Quickbook and Boost.DocBook. @@ -49,7 +48,7 @@ Aleksey Gurtovoy added MPL integration to the library.

- The is_convertible + The is_convertible template is based on code originally devised by Andrei Alexandrescu, see "Generic<Programming>: Mappings between Types and Values".

@@ -61,10 +60,14 @@
- + Ramey and Jeremy Siek

+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

diff --git a/doc/html/boost_typetraits/examples.html b/doc/html/boost_typetraits/examples.html index 8e2a14f..232541b 100644 --- a/doc/html/boost_typetraits/examples.html +++ b/doc/html/boost_typetraits/examples.html @@ -1,13 +1,14 @@ -Examples + Examples - + - - + + @@ -24,8 +25,7 @@
- + Ramey and Jeremy Siek

+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

diff --git a/doc/html/boost_typetraits/examples/copy.html b/doc/html/boost_typetraits/examples/copy.html index 2372378..9ada6be 100644 --- a/doc/html/boost_typetraits/examples/copy.html +++ b/doc/html/boost_typetraits/examples/copy.html @@ -1,13 +1,15 @@ -An Optimized Version of std::copy + An Optimized Version + of std::copy - + - - - + + + @@ -24,13 +26,13 @@

- Demonstrates a version of std::copy - that uses has_trivial_assign - to determine whether to use memcpy + Demonstrates a version of std::copy + that uses has_trivial_assign + to determine whether to use memcpy to optimise the copy operation (see copy_example.cpp):

@@ -43,7 +45,7 @@
 namespace detail{
 
 template<typename I1, typename I2, bool b>
-I2 copy_imp(I1 first, I1 last, I2 out, const boost::integral_constant<bool, b>&)
+I2 copy_imp(I1 first, I1 last, I2 out, const boost::integral_constant<bool, b>&)
 {
    while(first != last)
    {
@@ -55,7 +57,7 @@
 }
 
 template<typename T>
-T* copy_imp(const T* first, const T* last, T* out, const boost::true_type&)
+T* copy_imp(const T* first, const T* last, T* out, const boost::true_type&)
 {
    memcpy(out, first, (last-first)*sizeof(T));
    return out+(last-first);
@@ -73,16 +75,20 @@
    // requirement we detect with overload resolution):
    //
    typedef typename std::iterator_traits<I1>::value_type value_type;
-   return detail::copy_imp(first, last, out, boost::has_trivial_assign<value_type>());
+   return detail::copy_imp(first, last, out, boost::has_trivial_assign<value_type>());
 }
 
- + Ramey and Jeremy Siek

+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

diff --git a/doc/html/boost_typetraits/examples/destruct.html b/doc/html/boost_typetraits/examples/destruct.html index 96cfdf2..2a3d2d4 100644 --- a/doc/html/boost_typetraits/examples/destruct.html +++ b/doc/html/boost_typetraits/examples/destruct.html @@ -1,13 +1,16 @@ -An Example that Omits Destructor Calls For Types with Trivial Destructors + An Example that + Omits Destructor Calls For Types with Trivial Destructors - + - - - + + + @@ -24,11 +27,11 @@

- Demonstrates a simple algorithm that uses __has_trivial_destruct + Demonstrates a simple algorithm that uses __has_trivial_destruct to determine whether to destructors need to be called (see trivial_destructor_example.cpp):

@@ -41,7 +44,7 @@
 namespace detail{
 
 template <class T>
-void do_destroy_array(T* first, T* last, const boost::false_type&)
+void do_destroy_array(T* first, T* last, const boost::false_type&)
 {
    while(first != last)
    {
@@ -51,7 +54,7 @@
 }
 
 template <class T>
-inline void do_destroy_array(T* first, T* last, const boost::true_type&)
+inline void do_destroy_array(T* first, T* last, const boost::true_type&)
 {
 }
 
@@ -60,16 +63,20 @@
 template <class T>
 inline void destroy_array(T* p1, T* p2)
 {
-   detail::do_destroy_array(p1, p2, ::boost::has_trivial_destructor<T>());
+   detail::do_destroy_array(p1, p2, ::boost::has_trivial_destructor<T>());
 }
 
- + Ramey and Jeremy Siek

+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

diff --git a/doc/html/boost_typetraits/examples/fill.html b/doc/html/boost_typetraits/examples/fill.html index f190a28..48d62c6 100644 --- a/doc/html/boost_typetraits/examples/fill.html +++ b/doc/html/boost_typetraits/examples/fill.html @@ -1,13 +1,16 @@ -An Optimised Version of std::fill + An Optimised Version + of std::fill - + - - - + + + @@ -24,13 +27,13 @@

- Demonstrates a version of std::fill - that uses has_trivial_assign - to determine whether to use memset + Demonstrates a version of std::fill + that uses has_trivial_assign + to determine whether to use memset to optimise the fill operation (see fill_example.cpp):

@@ -41,7 +44,7 @@
 namespace detail{
 
 template <typename I, typename T, bool b>
-void do_fill(I first, I last, const T& val, const boost::integral_constant<bool, b>&)
+void do_fill(I first, I last, const T& val, const boost::integral_constant<bool, b>&)
 {
    while(first != last)
    {
@@ -51,7 +54,7 @@
 }
 
 template <typename T>
-void do_fill(T* first, T* last, const T& val, const boost::true_type&)
+void do_fill(T* first, T* last, const T& val, const boost::true_type&)
 {
    std::memset(first, val, last-first);
 }
@@ -65,18 +68,22 @@
    // We can do an optimised fill if T has a trivial assignment 
    // operator and if it's size is one:
    //
-   typedef boost::integral_constant<bool, 
-      ::boost::has_trivial_assign<T>::value && (sizeof(T) == 1)> truth_type;
+   typedef boost::integral_constant<bool, 
+      ::boost::has_trivial_assign<T>::value && (sizeof(T) == 1)> truth_type;
    detail::do_fill(first, last, val, truth_type());
 }
 
- + Ramey and Jeremy Siek

+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

diff --git a/doc/html/boost_typetraits/examples/iter.html b/doc/html/boost_typetraits/examples/iter.html index 615796a..7573ba9 100644 --- a/doc/html/boost_typetraits/examples/iter.html +++ b/doc/html/boost_typetraits/examples/iter.html @@ -1,13 +1,16 @@ -An improved Version of std::iter_swap + An improved Version + of std::iter_swap - + - - - + + + @@ -24,14 +27,14 @@

- Demonstrates a version of std::iter_swap + Demonstrates a version of std::iter_swap that use type traits to determine whether an it's arguments are proxying - iterators or not, if they're not then it just does a std::swap - of it's dereferenced arguments (the same as std::iter_swap + iterators or not, if they're not then it just does a std::swap + of it's dereferenced arguments (the 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 iter_swap_example.cpp): @@ -45,7 +48,7 @@ namespace detail{ template <typename I> -static void do_swap(I one, I two, const boost::false_type&) +static void do_swap(I one, I two, const boost::false_type&) { typedef typename std::iterator_traits<I>::value_type v_t; v_t v = *one; @@ -53,7 +56,7 @@ *two = v; } template <typename I> -static void do_swap(I one, I two, const boost::true_type&) +static void do_swap(I one, I two, const boost::true_type&) { using std::swap; swap(*one, *two); @@ -71,10 +74,10 @@ typedef typename std::iterator_traits<I1>::reference r1_t; typedef typename std::iterator_traits<I2>::reference r2_t; - typedef boost::integral_constant<bool, - ::boost::is_reference<r1_t>::value - && ::boost::is_reference<r2_t>::value - && ::boost::is_same<r1_t, r2_t>::value> truth_type; + typedef boost::integral_constant<bool, + ::boost::is_reference<r1_t>::value + && ::boost::is_reference<r2_t>::value + && ::boost::is_same<r1_t, r2_t>::value> truth_type; detail::do_swap(one, two, truth_type()); } @@ -82,10 +85,14 @@

- + Ramey and Jeremy Siek

+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

diff --git a/doc/html/boost_typetraits/examples/to_double.html b/doc/html/boost_typetraits/examples/to_double.html index 72c69a9..6cac92b 100644 --- a/doc/html/boost_typetraits/examples/to_double.html +++ b/doc/html/boost_typetraits/examples/to_double.html @@ -1,13 +1,15 @@ -Convert Numeric Types and Enums to double + Convert Numeric + Types and Enums to double - + - - - + + + @@ -24,9 +26,9 @@

Demonstrates a conversion of Numeric Types and enum types to double: @@ -42,10 +44,14 @@

- + Ramey and Jeremy Siek

+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

diff --git a/doc/html/boost_typetraits/intrinsics.html b/doc/html/boost_typetraits/intrinsics.html index 1f21924..acc298b 100644 --- a/doc/html/boost_typetraits/intrinsics.html +++ b/doc/html/boost_typetraits/intrinsics.html @@ -1,13 +1,13 @@ -Support for Compiler Intrinsics + Support for Compiler Intrinsics - + - - + + @@ -24,8 +24,7 @@

There are some traits that can not be implemented within the current C++ language: to make these traits "just work" with user defined types, some kind @@ -38,16 +37,18 @@ for all types (but all have safe fallback positions if this support is unavailable):

The following traits classes can't be portably implemented in the C++ language, @@ -55,15 +56,15 @@ all the compilers we know about:

The following traits classes are dependent on one or more of the above:

The hooks for compiler-intrinsic support are defined in boost/type_traits/intrinsics.hpp, @@ -71,8 +72,8 @@ of the following macros:

-

Table 1.4. Macros for Compiler Intrinsics

-
+

Table 1.4. Macros for Compiler Intrinsics

+
@@ -174,8 +175,8 @@ @@ -188,7 +189,7 @@ @@ -200,11 +201,11 @@ @@ -221,16 +222,19 @@ -

- Should evaluate to true if T - x; + Should evaluate to true if T + x; can not throw

- Should evaluate to true if T(t) can not throw + Should evaluate to true if T(t) can not throw

- Should evaluate to true if T + Should evaluate to true if T t, u; t = - u can not throw + u can not throw

+
-
- + Ramey and Jeremy Siek

+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

diff --git a/doc/html/boost_typetraits/intro.html b/doc/html/boost_typetraits/intro.html index a4582fe..df2f346 100644 --- a/doc/html/boost_typetraits/intro.html +++ b/doc/html/boost_typetraits/intro.html @@ -1,13 +1,13 @@ -Introduction + Introduction - + - + @@ -24,8 +24,7 @@

The Boost type-traits library contains a set of very specific traits classes, each of which encapsulate a single trait from the C++ type system; for example, @@ -34,24 +33,28 @@

The type-traits classes share a unified design: each class inherits from a - the type true_type - if the type has the specified property and inherits from false_type + the type true_type + if the type has the specified property and inherits from false_type otherwise.

The type-traits library also contains a set of classes that perform a specific transformation on a type; for example, they can remove a top-level const or volatile qualifier from a type. Each class that performs a transformation defines - a single typedef-member type + a single typedef-member type that is the result of the transformation.

- + Ramey and Jeremy Siek

+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

diff --git a/doc/html/boost_typetraits/mpl.html b/doc/html/boost_typetraits/mpl.html index f6b8b84..e4d5ae0 100644 --- a/doc/html/boost_typetraits/mpl.html +++ b/doc/html/boost_typetraits/mpl.html @@ -1,13 +1,13 @@ -MPL Interoperability + MPL Interoperability - + - - + + @@ -24,8 +24,7 @@

All the value based traits in this library conform to MPL's requirements for an Integral @@ -33,22 +32,26 @@ for broken compilers.

- Purely as an implementation detail, this means that true_type - inherits from boost::mpl::true_, - false_type - inherits from boost::mpl::false_, - and integral_constant<T, - v> - inherits from boost::mpl::integral_c<T,v> - (provided T is not bool) + Purely as an implementation detail, this means that true_type + inherits from boost::mpl::true_, + false_type + inherits from boost::mpl::false_, + and integral_constant<T, + v> + inherits from boost::mpl::integral_c<T,v> + (provided T is not bool)

- + Ramey and Jeremy Siek

+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

diff --git a/doc/html/boost_typetraits/reference.html b/doc/html/boost_typetraits/reference.html index 886db8c..3512f1e 100644 --- a/doc/html/boost_typetraits/reference.html +++ b/doc/html/boost_typetraits/reference.html @@ -1,13 +1,14 @@ -Alphabetical Reference + Alphabetical Reference - + - - + + @@ -24,8 +25,7 @@
add_const
add_cv
@@ -104,10 +104,14 @@
- + Ramey and Jeremy Siek

+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

diff --git a/doc/html/boost_typetraits/reference/add_const.html b/doc/html/boost_typetraits/reference/add_const.html index 6edf188..01782bd 100644 --- a/doc/html/boost_typetraits/reference/add_const.html +++ b/doc/html/boost_typetraits/reference/add_const.html @@ -1,13 +1,13 @@ -add_const + add_const - + - - - + + + @@ -24,38 +24,37 @@
 template <class T>
 struct add_const
 {
-   typedef see-below type;
+   typedef see-below type;
 };
 

- type: The same type as T - const for all T. + type: The same type as T + const for all T.

- C++ Standard Reference: 3.9.3. + C++ Standard Reference: 3.9.3.

- Compiler Compatibility: If the compiler + Compiler Compatibility: If the compiler does not support partial specialization of class-templates then this template - will compile, but the member type - will always be the same as type T + will compile, but the member type + will always be the same as type T except where compiler workarounds have been applied.

- Header: #include - <boost/type_traits/add_const.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/add_const.hpp> + or #include <boost/type_traits.hpp>

-

Table 1.5. Examples

-
+

Table 1.5. Examples

+
@@ -76,63 +75,66 @@ -

- add_const<int>::type + add_const<int>::type

- int const + int const

- add_const<int&>::type + add_const<int&>::type

- int& + int&

- add_const<int*>::type + add_const<int*>::type

- int* - const + int* + const

- add_const<int const>::type + add_const<int const>::type

- int const + int const

+
-
- + Ramey and Jeremy Siek

+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

diff --git a/doc/html/boost_typetraits/reference/add_cv.html b/doc/html/boost_typetraits/reference/add_cv.html index 9eb7c37..22249d5 100644 --- a/doc/html/boost_typetraits/reference/add_cv.html +++ b/doc/html/boost_typetraits/reference/add_cv.html @@ -1,13 +1,13 @@ -add_cv + add_cv - + - - - + + + @@ -24,39 +24,38 @@
 template <class T>
 struct add_cv
 {
-   typedef see-below type;
+   typedef see-below type;
 };
 

- type: The same type as T - const volatile - for all T. + type: The same type as T + const volatile + for all T.

- C++ Standard Reference: 3.9.3. + C++ Standard Reference: 3.9.3.

- Compiler Compatibility: If the compiler + Compiler Compatibility: If the compiler does not support partial specialization of class-templates then this template - will compile, but the member type - will always be the same as type T + will compile, but the member type + will always be the same as type T except where compiler workarounds have been applied.

- Header: #include - <boost/type_traits/add_cv.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/add_cv.hpp> + or #include <boost/type_traits.hpp>

-

Table 1.6. Examples

-
+

Table 1.6. Examples

+
@@ -77,65 +76,68 @@ -

- add_cv<int>::type + add_cv<int>::type

- int const - volatile + int const + volatile

- add_cv<int&>::type + add_cv<int&>::type

- int& + int&

- add_cv<int*>::type + add_cv<int*>::type

- int* - const volatile + int* + const volatile

- add_cv<int const>::type + add_cv<int const>::type

- int const - volatile + int const + volatile

+
-
- + Ramey and Jeremy Siek

+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

diff --git a/doc/html/boost_typetraits/reference/add_pointer.html b/doc/html/boost_typetraits/reference/add_pointer.html index fac8b58..6c46a15 100644 --- a/doc/html/boost_typetraits/reference/add_pointer.html +++ b/doc/html/boost_typetraits/reference/add_pointer.html @@ -1,13 +1,13 @@ -add_pointer + add_pointer - + - - - + + + @@ -24,41 +24,40 @@
 template <class T>
 struct add_pointer
 {
-   typedef see-below type;
+   typedef see-below type;
 };
 

- type: The same type as remove_reference<T>::type*. + type: The same type as remove_reference<T>::type*.

- The rationale for this template is that it produces the same type as TYPEOF(&t), where - t is an object of type T. + The rationale for this template is that it produces the same type as TYPEOF(&t), where + t is an object of type T.

- C++ Standard Reference: 8.3.1. + C++ Standard Reference: 8.3.1.

- Compiler Compatibility: If the compiler + Compiler Compatibility: If the compiler does not support partial specialization of class-templates then this template - will compile, but the member type - will always be the same as type T + will compile, but the member type + will always be the same as type T except where compiler workarounds have been applied.

- Header: #include - <boost/type_traits/add_pointer.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/add_pointer.hpp> + or #include <boost/type_traits.hpp>

-

Table 1.7. Examples

-
+

Table 1.7. Examples

+
@@ -79,62 +78,65 @@ -

- add_pointer<int>::type + add_pointer<int>::type

- int* + int*

- add_pointer<int const&>::type + add_pointer<int const&>::type

- int const* + int const*

- add_pointer<int*>::type + add_pointer<int*>::type

- int** + int**

- add_pointer<int*&>::type + add_pointer<int*&>::type

- int** + int**

+
-
- + Ramey and Jeremy Siek

+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

diff --git a/doc/html/boost_typetraits/reference/add_reference.html b/doc/html/boost_typetraits/reference/add_reference.html index 3a99d5b..9d48aa3 100644 --- a/doc/html/boost_typetraits/reference/add_reference.html +++ b/doc/html/boost_typetraits/reference/add_reference.html @@ -1,13 +1,13 @@ -add_reference + add_reference - + - - - + + + @@ -24,38 +24,37 @@
 template <class T>
 struct add_reference
 {
-   typedef see-below type;
+   typedef see-below type;
 };
 

- type: If T - is not a reference type then T&, otherwise T. + type: If T + is not a reference type then T&, otherwise T.

- C++ Standard Reference: 8.3.2. + C++ Standard Reference: 8.3.2.

- Compiler Compatibility: If the compiler + Compiler Compatibility: If the compiler does not support partial specialization of class-templates then this template - will compile, but the member type - will always be the same as type T + will compile, but the member type + will always be the same as type T except where compiler workarounds have been applied.

- Header: #include - <boost/type_traits/add_reference.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/add_reference.hpp> + or #include <boost/type_traits.hpp>

-

Table 1.8. Examples

-
+

Table 1.8. Examples

+
@@ -76,62 +75,65 @@ -

- add_reference<int>::type + add_reference<int>::type

- int& + int&

- add_reference<int const&>::type + add_reference<int const&>::type

- int const& + int const&

- add_reference<int*>::type + add_reference<int*>::type

- int*& + int*&

- add_reference<int*&>::type + add_reference<int*&>::type

- int*& + int*&

+
-
- + Ramey and Jeremy Siek

+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

diff --git a/doc/html/boost_typetraits/reference/add_volatile.html b/doc/html/boost_typetraits/reference/add_volatile.html index 0806c65..c11e104 100644 --- a/doc/html/boost_typetraits/reference/add_volatile.html +++ b/doc/html/boost_typetraits/reference/add_volatile.html @@ -1,13 +1,13 @@ -add_volatile + add_volatile - + - - - + + + @@ -24,38 +24,37 @@
 template <class T>
 struct add_volatile
 {
-   typedef see-below type;
+   typedef see-below type;
 };
 

- type: The same type as T - volatile for all T. + type: The same type as T + volatile for all T.

- C++ Standard Reference: 3.9.3. + C++ Standard Reference: 3.9.3.

- Compiler Compatibility: If the compiler + Compiler Compatibility: If the compiler does not support partial specialization of class-templates then this template - will compile, but the member type - will always be the same as type T + will compile, but the member type + will always be the same as type T except where compiler workarounds have been applied.

- Header: #include - <boost/type_traits/add_volatile.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/add_volatile.hpp> + or #include <boost/type_traits.hpp>

-

Table 1.9. Examples

-
+

Table 1.9. Examples

+
@@ -76,64 +75,67 @@ -

- add_volatile<int>::type + add_volatile<int>::type

- int volatile + int volatile

- add_volatile<int&>::type + add_volatile<int&>::type

- int& + int&

- add_volatile<int*>::type + add_volatile<int*>::type

- int* - volatile + int* + volatile

- add_volatile<int const>::type + add_volatile<int const>::type

- int const - volatile + int const + volatile

+
-
- + Ramey and Jeremy Siek

+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

diff --git a/doc/html/boost_typetraits/reference/aligned_storage.html b/doc/html/boost_typetraits/reference/aligned_storage.html index aa941c3..9521fbb 100644 --- a/doc/html/boost_typetraits/reference/aligned_storage.html +++ b/doc/html/boost_typetraits/reference/aligned_storage.html @@ -1,13 +1,13 @@ -aligned_storage + aligned_storage - + - - - + + + @@ -24,32 +24,35 @@
 template <std::size_t Size, std::size_t Align>
 struct aligned_storage
 {
-   typedef see-below type;
+   typedef see-below type;
 };
 

- type: a built-in or POD type with size - Size and an alignment that - is a multiple of Align. + type: a built-in or POD type with size + Size and an alignment that + is a multiple of Align.

- Header: #include - <boost/type_traits/aligned_storage.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/aligned_storage.hpp> + or #include <boost/type_traits.hpp>

- + Ramey and Jeremy Siek

+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

diff --git a/doc/html/boost_typetraits/reference/alignment_of.html b/doc/html/boost_typetraits/reference/alignment_of.html index 912b9a5..c089b70 100644 --- a/doc/html/boost_typetraits/reference/alignment_of.html +++ b/doc/html/boost_typetraits/reference/alignment_of.html @@ -1,13 +1,13 @@ -alignment_of + alignment_of - + - - - + + + @@ -24,36 +24,35 @@
 template <class T>
-struct alignment_of : public integral_constant<std::size_t, ALIGNOF(T)> {};
+struct alignment_of : public integral_constant<std::size_t, ALIGNOF(T)> {};
 

- Inherits: Class template alignmentof inherits from `_integral_constant<std::size_t, - ALIGNOF(T)>, where - ALIGNOF(T)` is the alignment of type T. + Inherits: Class template alignmentof inherits from `_integral_constant<std::size_t, + ALIGNOF(T)>, where + ALIGNOF(T)` is the alignment of type T.

- Note: strictly speaking you should only rely on the value of ALIGNOF(T) being + Note: strictly speaking you should only rely on the value of ALIGNOF(T) being a multiple of the true alignment of T, although in practice it does compute the correct value in all the cases we know about.

- Header: #include - <boost/type_traits/alignment_of.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/alignment_of.hpp> + or #include <boost/type_traits.hpp>

- Examples: + Examples:

- alignment_of<int> - inherits from integral_constant<std::size_t, ALIGNOF(int)>. + alignment_of<int> + inherits from integral_constant<std::size_t, ALIGNOF(int)>.

@@ -62,7 +61,7 @@

- alignment_of<char>::type is the type integral_constant<std::size_t, ALIGNOF(char)>. + alignment_of<char>::type is the type integral_constant<std::size_t, ALIGNOF(char)>.

@@ -71,8 +70,8 @@

- alignment_of<double>::value is an integral constant expression - with value ALIGNOF(double). + alignment_of<double>::value is an integral constant expression + with value ALIGNOF(double).

@@ -81,7 +80,7 @@

- alignment_of<T>::value_type is the type std::size_t. + alignment_of<T>::value_type is the type std::size_t.

@@ -89,10 +88,14 @@
- + Ramey and Jeremy Siek

+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

diff --git a/doc/html/boost_typetraits/reference/decay.html b/doc/html/boost_typetraits/reference/decay.html index 25a099a..c6b24d0 100644 --- a/doc/html/boost_typetraits/reference/decay.html +++ b/doc/html/boost_typetraits/reference/decay.html @@ -1,13 +1,13 @@ -decay + decay - + - - - + + + @@ -24,33 +24,32 @@
 template <class T>
 struct decay
 {
-   typedef see-below type;
+   typedef see-below type;
 };
 

- type: Let U - be the result of remove_reference<T>::type, then if U - is an array type, the result is remove_extent<U>*, - otherwise if U is a function - type then the result is U*, otherwise the result is U. + type: Let U + be the result of remove_reference<T>::type, then if U + is an array type, the result is remove_extent<U>*, + otherwise if U is a function + type then the result is U*, otherwise the result is U.

- C++ Standard Reference: 3.9.1. + C++ Standard Reference: 3.9.1.

- Header: #include - <boost/type_traits/decay.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/decay.hpp> + or #include <boost/type_traits.hpp>

-

Table 1.10. Examples

-
+

Table 1.10. Examples

+
@@ -71,74 +70,77 @@ -

- decay<int[2][3]>::type + decay<int[2][3]>::type

- int[2]* + int[2]*

- decay<int(&)[2]>::type + decay<int(&)[2]>::type

- int* + int*

- decay<int(&)(double)>::type + decay<int(&)(double)>::type

- int(*)(double) + int(*)(double)

- int(*)(double + int(*)(double

- int(*)(double) + int(*)(double)

- int(double) + int(double)

- int(*)(double) + int(*)(double)

+
-
- + Ramey and Jeremy Siek

+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

diff --git a/doc/html/boost_typetraits/reference/extent.html b/doc/html/boost_typetraits/reference/extent.html index 00f661d..841df98 100644 --- a/doc/html/boost_typetraits/reference/extent.html +++ b/doc/html/boost_typetraits/reference/extent.html @@ -1,13 +1,14 @@ -extent + extent - + - - - + + + @@ -24,37 +25,36 @@
 template <class T, std::size_t N = 0>
-struct extent : public integral_constant<std::size_t, EXTENT(T,N)> {};
+struct extent : public integral_constant<std::size_t, EXTENT(T,N)> {};
 

- Inherits: Class template extent inherits - from integral_constant<std::size_t, EXTENT(T,N)>, - where EXTENT(T,N) is the number of elements in the N'th array - dimention of type T. + Inherits: Class template extent inherits + from integral_constant<std::size_t, EXTENT(T,N)>, + where EXTENT(T,N) is the number of elements in the N'th array + dimention of type T.

- If T is not an array type, - or if N > - rank<T>::value, or if the N'th array bound is incomplete, - then EXTENT(T,N) is zero. + If T is not an array type, + or if N > + rank<T>::value, or if the N'th array bound is incomplete, + then EXTENT(T,N) is zero.

- Header: #include - <boost/type_traits/extent.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/extent.hpp> + or #include <boost/type_traits.hpp>

- Examples: + Examples:

- extent<int[1]> inherits from integral_constant<std::size_t, 1>. + extent<int[1]> inherits from integral_constant<std::size_t, 1>.

@@ -63,8 +63,8 @@

- extent<double[2][3][4], - 1>::type is the type integral_constant<std::size_t, 3>. + extent<double[2][3][4], + 1>::type is the type integral_constant<std::size_t, 3>.

@@ -73,7 +73,7 @@

- extent<int[4]>::value + extent<int[4]>::value is an integral constant expression that evaluates to 4.

@@ -83,7 +83,7 @@

- extent<int[][2]>::value is an integral constant expression + extent<int[][2]>::value is an integral constant expression that evaluates to 0.

@@ -93,7 +93,7 @@

- extent<int[][2], 1>::value + extent<int[][2], 1>::value is an integral constant expression that evaluates to 2.

@@ -103,7 +103,7 @@

- extent<int*>::value is an integral constant expression + extent<int*>::value is an integral constant expression that evaluates to 0.

@@ -113,7 +113,7 @@

- extent<T>::value_type is the type std::size_t. + extent<T>::value_type is the type std::size_t.

@@ -121,10 +121,14 @@
- + Ramey and Jeremy Siek

+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

diff --git a/doc/html/boost_typetraits/reference/floating_point_promotion.html b/doc/html/boost_typetraits/reference/floating_point_promotion.html index 9f7cfc7..45b057b 100644 --- a/doc/html/boost_typetraits/reference/floating_point_promotion.html +++ b/doc/html/boost_typetraits/reference/floating_point_promotion.html @@ -1,13 +1,14 @@ -floating_point_promotion + + floating_point_promotion - + - - - + + + @@ -24,34 +25,34 @@
 template <class T>
 struct floating_point_promotion
 {
-   typedef see-below type;
+   typedef see-below type;
 };
 

- type: If floating point promotion can be - applied to an rvalue of type T, - then applies floating point promotion to T - and keeps cv-qualifiers of T, - otherwise leaves T unchanged. + type: If floating point promotion can be + applied to an rvalue of type T, + then applies floating point promotion to T + and keeps cv-qualifiers of T, + otherwise leaves T unchanged.

- C++ Standard Reference: 4.6. + C++ Standard Reference: 4.6.

- Header: #include - <boost/type_traits/floating_point_promotion.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/floating_point_promotion.hpp> + or #include <boost/type_traits.hpp>

-

Table 1.11. Examples

-
+

Table 1.11. Examples

+
@@ -72,51 +73,54 @@ -

- floating_point_promotion<float - const>::type + floating_point_promotion<float + const>::type

- double const + double const

- floating_point_promotion<float&>::type + floating_point_promotion<float&>::type

- float& + float&

- floating_point_promotion<short>::type + floating_point_promotion<short>::type

- short + short

+
-
- + Ramey and Jeremy Siek

+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

diff --git a/doc/html/boost_typetraits/reference/function_traits.html b/doc/html/boost_typetraits/reference/function_traits.html index cffc73d..0e0a357 100644 --- a/doc/html/boost_typetraits/reference/function_traits.html +++ b/doc/html/boost_typetraits/reference/function_traits.html @@ -1,13 +1,14 @@ -function_traits + function_traits - + - - - + + + @@ -24,15 +25,14 @@
 template <class T>
 struct function_traits
 {
-   static const std::size_t    arity = see-below;
-   typedef see-below           result_type;
-   typedef see-below           argN_type; 
+   static const std::size_t    arity = see-below;
+   typedef see-below           result_type;
+   typedef see-below           argN_type; 
 };
 

@@ -43,8 +43,8 @@ The compiler supports partial specialization of class templates.

  • - The template argument T - is a function type, note that this is not the same thing as a pointer + The template argument T + is a function type, note that this is not the same thing as a pointer to a function.
  • @@ -53,15 +53,15 @@ -
    [Tip] Tip

    +

    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 remove_pointer. + functions. To convert a function pointer type to a suitable type use remove_pointer.

    -

    Table 1.12. Function Traits Members

    -
    +

    Table 1.12. Function Traits Members

    +
    @@ -82,49 +82,49 @@ -

    - function_traits<T>::arity + function_traits<T>::arity

    An integral constant expression that gives the number of arguments - accepted by the function type F. + accepted by the function type F.

    - function_traits<T>::result_type + function_traits<T>::result_type

    - The type returned by function type F. + The type returned by function type F.

    - function_traits<T>::argN_type + function_traits<T>::argN_type

    - The Nth argument type of function type F, - where 1 <= + The Nth argument type of function type F, + where 1 <= N <= - arity of F. + arity of F.

    +
    -
    -

    Table 1.13. Examples

    -
    +
    +

    Table 1.13. Examples

    +
    @@ -145,7 +145,7 @@ @@ -242,7 +242,7 @@ -

    - function_traits<void (void)>::arity + function_traits<void (void)>::arity

    @@ -157,7 +157,7 @@

    - function_traits<long (int)>::arity + function_traits<long (int)>::arity

    @@ -169,7 +169,7 @@

    - function_traits<long (int, long, double, void*)>::arity + function_traits<long (int, long, double, void*)>::arity

    @@ -181,60 +181,60 @@

    - function_traits<void (void)>::result_type + function_traits<void (void)>::result_type

    - The type void. + The type void.

    - function_traits<long (int)>::result_type + function_traits<long (int)>::result_type

    - The type long. + The type long.

    - function_traits<long (int)>::arg1_type + function_traits<long (int)>::arg1_type

    - The type int. + The type int.

    - function_traits<long (int, long, double, void*)>::arg4_type + function_traits<long (int, long, double, void*)>::arg4_type

    - The type void*. + The type void*.

    - function_traits<long (int, long, double, void*)>::arg5_type + function_traits<long (int, long, double, void*)>::arg5_type

    - A compiler error: there is no arg4_type + A compiler error: there is no arg4_type since there are only three arguments.

    - function_traits<long (*)(void)>::arity + function_traits<long (*)(void)>::arity

    @@ -253,16 +253,19 @@
    +
    -
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/has_no_throw_def_cons.html b/doc/html/boost_typetraits/reference/has_no_throw_def_cons.html index 14f93b2..16ef48b 100644 --- a/doc/html/boost_typetraits/reference/has_no_throw_def_cons.html +++ b/doc/html/boost_typetraits/reference/has_no_throw_def_cons.html @@ -1,13 +1,13 @@ -has_nothrow_default_constructor + has_nothrow_default_constructor - + - - - + + + @@ -24,18 +24,22 @@

    - See has_nothrow_constructor. + See has_nothrow_constructor.

    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/has_nothrow_assign.html b/doc/html/boost_typetraits/reference/has_nothrow_assign.html index da5eeb0..55d9259 100644 --- a/doc/html/boost_typetraits/reference/has_nothrow_assign.html +++ b/doc/html/boost_typetraits/reference/has_nothrow_assign.html @@ -1,13 +1,14 @@ -has_nothrow_assign + has_nothrow_assign - + - - - + + + @@ -24,43 +25,46 @@
     template <class T>
    -struct has_nothrow_assign : public true_type-or-false_type {};
    +struct has_nothrow_assign : public true_type-or-false_type {};
     

    - Inherits: If T is a (possibly cv-qualified) - type with a non-throwing assignment-operator then inherits from true_type, - otherwise inherits from false_type. - Type T must be a complete + Inherits: If T is a (possibly cv-qualified) + type with a non-throwing assignment-operator then inherits from true_type, + otherwise inherits from false_type. + Type T must be a complete type.

    - Compiler Compatibility: If the compiler + Compiler Compatibility: If the compiler does not support partial-specialization of class templates, then this template can not be used with function types.

    - Without some (as yet unspecified) help from the compiler, has_nothrow_assign + Without some (as yet unspecified) help from the compiler, has_nothrow_assign will never report that a class or struct has a non-throwing assignment-operator; this is always safe, if possibly sub-optimal. Currently (May 2005) only Visual C++ 8 has the necessary compiler support to ensure that this trait "just works".

    - Header: #include - <boost/type_traits/has_nothrow_assign.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/has_nothrow_assign.hpp> + or #include <boost/type_traits.hpp>

    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/has_nothrow_constructor.html b/doc/html/boost_typetraits/reference/has_nothrow_constructor.html index aaf1cad..7ad0ce3 100644 --- a/doc/html/boost_typetraits/reference/has_nothrow_constructor.html +++ b/doc/html/boost_typetraits/reference/has_nothrow_constructor.html @@ -1,13 +1,14 @@ -has_nothrow_constructor + + has_nothrow_constructor - + - - - + + + @@ -24,50 +25,54 @@
     template <class T>
    -struct has_nothrow_constructor : public true_type-or-false_type {};
    +struct has_nothrow_constructor : public true_type-or-false_type {};
     
     template <class T>
    -struct has_nothrow_default_constructor : public true_type-or-false_type {};
    +struct has_nothrow_default_constructor : public true_type-or-false_type {};
     

    - Inherits: If T is a (possibly cv-qualified) - type with a non-throwing default-constructor then inherits from true_type, - otherwise inherits from false_type. - Type T must be a complete + Inherits: If T is a (possibly cv-qualified) + type with a non-throwing default-constructor then inherits from true_type, + otherwise inherits from false_type. + Type T must be a complete type.

    These two traits are synonyms for each other.

    - Compiler Compatibility: If the compiler + Compiler Compatibility: If the compiler does not support partial-specialization of class templates, then this template can not be used with function types.

    - Without some (as yet unspecified) help from the compiler, has_nothrow_constructor + Without some (as yet unspecified) help from the compiler, has_nothrow_constructor 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 intrinsics + C++ 8 has the necessary compiler intrinsics to ensure that this trait "just works".

    - Header: #include - <boost/type_traits/has_nothrow_constructor.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/has_nothrow_constructor.hpp> + or #include <boost/type_traits.hpp>

    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/has_nothrow_copy.html b/doc/html/boost_typetraits/reference/has_nothrow_copy.html index 7ed412e..72e6967 100644 --- a/doc/html/boost_typetraits/reference/has_nothrow_copy.html +++ b/doc/html/boost_typetraits/reference/has_nothrow_copy.html @@ -1,13 +1,14 @@ -has_nothrow_copy + has_nothrow_copy - + - - - + + + @@ -24,49 +25,52 @@
     template <class T>
    -struct has_nothrow_copy : public true_type-or-false_type {};
    +struct has_nothrow_copy : public true_type-or-false_type {};
     
     template <class T>
    -struct has_nothrow_copy_constructor : public true_type-or-false_type {};
    +struct has_nothrow_copy_constructor : public true_type-or-false_type {};
     

    - Inherits: If T is a (possibly cv-qualified) - type with a non-throwing copy-constructor then inherits from true_type, - otherwise inherits from false_type. - Type T must be a complete + Inherits: If T is a (possibly cv-qualified) + type with a non-throwing copy-constructor then inherits from true_type, + otherwise inherits from false_type. + Type T must be a complete type.

    These two traits are synonyms for each other.

    - Compiler Compatibility: If the compiler + Compiler Compatibility: If the compiler does not support partial-specialization of class templates, then this template can not be used with function types.

    - Without some (as yet unspecified) help from the compiler, has_nothrow_copy + Without some (as yet unspecified) help from the compiler, has_nothrow_copy 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 intrinsics + C++ 8 has the necessary compiler intrinsics to ensure that this trait "just works".

    - Header: #include - <boost/type_traits/has_nothrow_copy.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/has_nothrow_copy.hpp> + or #include <boost/type_traits.hpp>

    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/has_nothrow_cp_cons.html b/doc/html/boost_typetraits/reference/has_nothrow_cp_cons.html index aa732b8..ee57829 100644 --- a/doc/html/boost_typetraits/reference/has_nothrow_cp_cons.html +++ b/doc/html/boost_typetraits/reference/has_nothrow_cp_cons.html @@ -1,13 +1,13 @@ -has_nothrow_copy_constructor + has_nothrow_copy_constructor - + - - - + + + @@ -24,18 +24,21 @@

    - See has_nothrow_copy. + See has_nothrow_copy.

    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/has_trivial_assign.html b/doc/html/boost_typetraits/reference/has_trivial_assign.html index 6d2fe1b..88ced5d 100644 --- a/doc/html/boost_typetraits/reference/has_trivial_assign.html +++ b/doc/html/boost_typetraits/reference/has_trivial_assign.html @@ -1,13 +1,14 @@ -has_trivial_assign + has_trivial_assign - + - - - + + + @@ -24,24 +25,23 @@
     template <class T>
    -struct has_trivial_assign : public true_type-or-false_type {};
    +struct has_trivial_assign : public true_type-or-false_type {};
     

    - Inherits: If T is a (possibly cv-qualified) - type with a trivial assignment-operator then inherits from true_type, - otherwise inherits from false_type. + Inherits: If T is a (possibly cv-qualified) + type with a trivial assignment-operator then inherits from true_type, + otherwise inherits from false_type.

    If a type has a trivial assignment-operator then the operator has the same effect as copying the bits of one object to the other: calls to the operator - can be safely replaced with a call to memcpy. + can be safely replaced with a call to memcpy.

    - Compiler Compatibility: If the compiler + Compiler Compatibility: If the compiler does not support partial-specialization of class templates, then this template can not be used with function types.

    @@ -49,26 +49,26 @@ 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 intrinsics + 9 and Visual C++ 8 have the necessary compiler intrinsics to detect user-defined classes with trivial constructors.

    - C++ Standard Reference: 12.8p11. + C++ Standard Reference: 12.8p11.

    - Header: #include - <boost/type_traits/has_trivial_assign.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/has_trivial_assign.hpp> + or #include <boost/type_traits.hpp>

    - Examples: + Examples:

    - has_trivial_assign<int> - inherits from true_type. + has_trivial_assign<int> + inherits from true_type.

    @@ -77,7 +77,7 @@

    - has_trivial_assign<char*>::type is the type true_type. + has_trivial_assign<char*>::type is the type true_type.

    @@ -86,7 +86,7 @@

    - has_trivial_assign<int (*)(long)>::value is an integral constant expression + has_trivial_assign<int (*)(long)>::value is an integral constant expression that evaluates to true.

    @@ -96,7 +96,7 @@

    - has_trivial_assign<MyClass>::value is an integral constant expression + has_trivial_assign<MyClass>::value is an integral constant expression that evaluates to false.

    @@ -106,7 +106,7 @@

    - has_trivial_assign<T>::value_type is the type bool. + has_trivial_assign<T>::value_type is the type bool.

    @@ -114,10 +114,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/has_trivial_constructor.html b/doc/html/boost_typetraits/reference/has_trivial_constructor.html index 95cf0e8..9e59ba2 100644 --- a/doc/html/boost_typetraits/reference/has_trivial_constructor.html +++ b/doc/html/boost_typetraits/reference/has_trivial_constructor.html @@ -1,13 +1,14 @@ -has_trivial_constructor + + has_trivial_constructor - + - - - + + + @@ -24,20 +25,20 @@
     template <class T>
    -struct has_trivial_constructor : public true_type-or-false_type {};
    +struct has_trivial_constructor : public true_type-or-false_type {};
     
     template <class T>
    -struct has_trivial_default_constructor : public true_type-or-false_type {};
    +struct has_trivial_default_constructor : public true_type-or-false_type {};
     

    - Inherits: If T is a (possibly cv-qualified) - type with a trivial default-constructor then inherits from true_type, - otherwise inherits from false_type. + Inherits: If T is a (possibly cv-qualified) + type with a trivial default-constructor then inherits from true_type, + otherwise inherits from false_type.

    These two traits are synonyms for each other. @@ -50,7 +51,7 @@ some benefit in terms of code size and speed can be obtained.

    - Compiler Compatibility: If the compiler + Compiler Compatibility: If the compiler does not support partial-specialization of class templates, then this template can not be used with function types.

    @@ -58,25 +59,25 @@ 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 intrinsics + 9 and Visual C++ 8 have the necessary compiler intrinsics to detect user-defined classes with trivial constructors.

    - C++ Standard Reference: 12.1p6. + C++ Standard Reference: 12.1p6.

    - Header: #include - <boost/type_traits/has_trivial_constructor.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/has_trivial_constructor.hpp> + or #include <boost/type_traits.hpp>

    - Examples: + Examples:

    - has_trivial_constructor<int> inherits from true_type. + has_trivial_constructor<int> inherits from true_type.

    @@ -85,8 +86,8 @@

    - has_trivial_constructor<char*>::type - is the type true_type. + has_trivial_constructor<char*>::type + is the type true_type.

    @@ -95,7 +96,7 @@

    - has_trivial_constructor<int (*)(long)>::value + has_trivial_constructor<int (*)(long)>::value is an integral constant expression that evaluates to true.

    @@ -105,7 +106,7 @@

    - has_trivial_constructor<MyClass>::value + has_trivial_constructor<MyClass>::value is an integral constant expression that evaluates to false.

    @@ -115,8 +116,8 @@

    - has_trivial_constructor<T>::value_type - is the type bool. + has_trivial_constructor<T>::value_type + is the type bool.

    @@ -124,10 +125,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/has_trivial_copy.html b/doc/html/boost_typetraits/reference/has_trivial_copy.html index 59bff4f..566ac98 100644 --- a/doc/html/boost_typetraits/reference/has_trivial_copy.html +++ b/doc/html/boost_typetraits/reference/has_trivial_copy.html @@ -1,13 +1,14 @@ -has_trivial_copy + has_trivial_copy - + - - - + + + @@ -24,19 +25,18 @@
     template <class T>
    -struct has_trivial_copy : public true_type-or-false_type {};
    +struct has_trivial_copy : public true_type-or-false_type {};
     
     template <class T>
    -struct has_trivial_copy_constructor : public true_type-or-false_type {};
    +struct has_trivial_copy_constructor : public true_type-or-false_type {};
     

    - Inherits: If T is a (possibly cv-qualified) - type with a trivial copy-constructor then inherits from true_type, - otherwise inherits from false_type. + Inherits: If T is a (possibly cv-qualified) + type with a trivial copy-constructor then inherits from true_type, + otherwise inherits from false_type.

    These two traits are synonyms for each other. @@ -44,10 +44,10 @@

    If a type has a trivial copy-constructor then the constructor has the same effect as copying the bits of one object to the other: calls to the constructor - can be safely replaced with a call to memcpy. + can be safely replaced with a call to memcpy.

    - Compiler Compatibility: If the compiler + Compiler Compatibility: If the compiler does not support partial-specialization of class templates, then this template can not be used with function types.

    @@ -55,26 +55,26 @@ 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 intrinsics + 9 and Visual C++ 8 have the necessary compiler intrinsics to detect user-defined classes with trivial constructors.

    - C++ Standard Reference: 12.8p6. + C++ Standard Reference: 12.8p6.

    - Header: #include - <boost/type_traits/has_trivial_copy.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/has_trivial_copy.hpp> + or #include <boost/type_traits.hpp>

    - Examples: + Examples:

    - has_trivial_copy<int> - inherits from true_type. + has_trivial_copy<int> + inherits from true_type.

    @@ -83,7 +83,7 @@

    - has_trivial_copy<char*>::type is the type true_type. + has_trivial_copy<char*>::type is the type true_type.

    @@ -92,7 +92,7 @@

    - has_trivial_copy<int (*)(long)>::value is an integral constant expression + has_trivial_copy<int (*)(long)>::value is an integral constant expression that evaluates to true.

    @@ -102,7 +102,7 @@

    - has_trivial_copy<MyClass>::value is an integral constant expression + has_trivial_copy<MyClass>::value is an integral constant expression that evaluates to false.

    @@ -112,7 +112,7 @@

    - has_trivial_copy<T>::value_type is the type bool. + has_trivial_copy<T>::value_type is the type bool.

    @@ -120,10 +120,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/has_trivial_cp_cons.html b/doc/html/boost_typetraits/reference/has_trivial_cp_cons.html index b6ef80a..bcd3a36 100644 --- a/doc/html/boost_typetraits/reference/has_trivial_cp_cons.html +++ b/doc/html/boost_typetraits/reference/has_trivial_cp_cons.html @@ -1,13 +1,13 @@ -has_trivial_copy_constructor + has_trivial_copy_constructor - + - - - + + + @@ -24,18 +24,21 @@

    - See has_trivial_copy. + See has_trivial_copy.

    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/has_trivial_def_cons.html b/doc/html/boost_typetraits/reference/has_trivial_def_cons.html index 0d99e05..e1bc71e 100644 --- a/doc/html/boost_typetraits/reference/has_trivial_def_cons.html +++ b/doc/html/boost_typetraits/reference/has_trivial_def_cons.html @@ -1,13 +1,13 @@ -has_trivial_default_constructor + has_trivial_default_constructor - + - - - + + + @@ -24,18 +24,22 @@

    - See has_trivial_constructor. + See has_trivial_constructor.

    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/has_trivial_destructor.html b/doc/html/boost_typetraits/reference/has_trivial_destructor.html index ac9332e..d65f45e 100644 --- a/doc/html/boost_typetraits/reference/has_trivial_destructor.html +++ b/doc/html/boost_typetraits/reference/has_trivial_destructor.html @@ -1,13 +1,13 @@ -has_trivial_destructor + has_trivial_destructor - + - - - + + + @@ -24,16 +24,15 @@
     template <class T>
    -struct has_trivial_destructor : public true_type-or-false_type {};
    +struct has_trivial_destructor : public true_type-or-false_type {};
     

    - Inherits: If T is a (possibly cv-qualified) - type with a trivial destructor then inherits from true_type, - otherwise inherits from false_type. + Inherits: If T is a (possibly cv-qualified) + type with a trivial destructor then inherits from true_type, + otherwise inherits from false_type.

    If a type has a trivial destructor then the destructor has no effect: calls @@ -43,7 +42,7 @@ some benefit in terms of code size and speed can be obtained.

    - Compiler Compatibility: If the compiler + Compiler Compatibility: If the compiler does not support partial-specialization of class templates, then this template can not be used with function types.

    @@ -51,25 +50,25 @@ 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 intrinsics + 9 and Visual C++ 8 have the necessary compiler intrinsics to detect user-defined classes with trivial constructors.

    - C++ Standard Reference: 12.4p3. + C++ Standard Reference: 12.4p3.

    - Header: #include - <boost/type_traits/has_trivial_destructor.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/has_trivial_destructor.hpp> + or #include <boost/type_traits.hpp>

    - Examples: + Examples:

    - has_trivial_destructor<int> inherits from true_type. + has_trivial_destructor<int> inherits from true_type.

    @@ -78,8 +77,8 @@

    - has_trivial_destructor<char*>::type - is the type true_type. + has_trivial_destructor<char*>::type + is the type true_type.

    @@ -88,7 +87,7 @@

    - has_trivial_destructor<int (*)(long)>::value + has_trivial_destructor<int (*)(long)>::value is an integral constant expression that evaluates to true.

    @@ -98,7 +97,7 @@

    - has_trivial_destructor<MyClass>::value + has_trivial_destructor<MyClass>::value is an integral constant expression that evaluates to false.

    @@ -108,8 +107,8 @@

    - has_trivial_destructor<T>::value_type - is the type bool. + has_trivial_destructor<T>::value_type + is the type bool.

    @@ -117,10 +116,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/has_virtual_destructor.html b/doc/html/boost_typetraits/reference/has_virtual_destructor.html index fc2bba2..3f74200 100644 --- a/doc/html/boost_typetraits/reference/has_virtual_destructor.html +++ b/doc/html/boost_typetraits/reference/has_virtual_destructor.html @@ -1,13 +1,13 @@ -has_virtual_destructor + has_virtual_destructor - + - - - + + + @@ -24,42 +24,45 @@
     template <class T>
    -struct has_virtual_destructor : public true_type-or-false_type {};
    +struct has_virtual_destructor : public true_type-or-false_type {};
     

    - Inherits: If T is a (possibly cv-qualified) - type with a virtual destructor then inherits from true_type, - otherwise inherits from false_type. + Inherits: If T is a (possibly cv-qualified) + type with a virtual destructor then inherits from true_type, + otherwise inherits from false_type.

    - Compiler Compatibility: This trait is provided + Compiler Compatibility: 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 false_type, + trait. The default version provided always inherits from false_type, and has to be explicitly specialized for types with virtual destructors unless - the compiler used has compiler intrinsics + the compiler used has compiler intrinsics that enable the trait to do the right thing: currently (May 2005) only Visual - C++ 8 has the necessary intrinsics. + C++ 8 has the necessary intrinsics.

    - C++ Standard Reference: 12.4. + C++ Standard Reference: 12.4.

    - Header: #include - <boost/type_traits/has_virtual_destructor.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/has_virtual_destructor.hpp> + or #include <boost/type_traits.hpp>

    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/integral_constant.html b/doc/html/boost_typetraits/reference/integral_constant.html index ccadf62..8862bdc 100644 --- a/doc/html/boost_typetraits/reference/integral_constant.html +++ b/doc/html/boost_typetraits/reference/integral_constant.html @@ -1,13 +1,13 @@ -integral_constant + integral_constant - + - - - + + + @@ -24,8 +24,7 @@
     template <class T, T val>
     struct integral_constant
    @@ -39,19 +38,23 @@
     typedef integral_constant<bool, false> false_type;
     

    - Class template integral_constant + Class template integral_constant is the common base class for all the value-based type traits. The two typedef's - true_type and false_type are provided for convenience: + true_type and false_type are provided for convenience: most of the value traits are Boolean properties and so will inherit from one of these.

    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/integral_promotion.html b/doc/html/boost_typetraits/reference/integral_promotion.html index b1ee9fc..c08b749 100644 --- a/doc/html/boost_typetraits/reference/integral_promotion.html +++ b/doc/html/boost_typetraits/reference/integral_promotion.html @@ -1,13 +1,13 @@ -integral_promotion + integral_promotion - + - - - + + + @@ -24,34 +24,33 @@
     template <class T>
     struct integral_promotion
     {
    -   typedef see-below type;
    +   typedef see-below type;
     };
     

    - type: If integral promotion can be applied - to an rvalue of type T, then - applies integral promotion to T - and keeps cv-qualifiers of T, - otherwise leaves T unchanged. + type: If integral promotion can be applied + to an rvalue of type T, then + applies integral promotion to T + and keeps cv-qualifiers of T, + otherwise leaves T unchanged.

    - C++ Standard Reference: 4.5 except 4.5/3 + C++ Standard Reference: 4.5 except 4.5/3 (integral bit-field).

    - Header: #include - <boost/type_traits/integral_promotion.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/integral_promotion.hpp> + or #include <boost/type_traits.hpp>

    -

    Table 1.14. Examples

    -
    +

    Table 1.14. Examples

    +
    @@ -72,51 +71,54 @@ -

    - integral_promotion<short - const>::type + integral_promotion<short + const>::type

    - int const + int const

    - integral_promotion<short&>::type + integral_promotion<short&>::type

    - short& + short&

    - integral_promotion<enum std::float_round_style>::type + integral_promotion<enum std::float_round_style>::type

    - int + int

    +
    -
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/is_abstract.html b/doc/html/boost_typetraits/reference/is_abstract.html index 36dfa38..f83feba 100644 --- a/doc/html/boost_typetraits/reference/is_abstract.html +++ b/doc/html/boost_typetraits/reference/is_abstract.html @@ -1,13 +1,13 @@ -is_abstract + is_abstract - + - - - + + + @@ -24,29 +24,28 @@
     template <class T>
    -struct is_abstract : public true_type-or-false_type {};
    +struct is_abstract : public true_type-or-false_type {};
     

    - Inherits: If T is a (possibly cv-qualified) - abstract type then inherits from true_type, - otherwise inherits from false_type. + Inherits: If T is a (possibly cv-qualified) + abstract type then inherits from true_type, + otherwise inherits from false_type.

    - C++ Standard Reference: 10.3. + C++ Standard Reference: 10.3.

    - Header: #include - <boost/type_traits/is_abstract.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_abstract.hpp> + or #include <boost/type_traits.hpp>

    - Compiler Compatibility: The compiler must + Compiler Compatibility: 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 is_polymorphic; + 7 (and later), and Comeau 4.3.2). Otherwise behaves the same as is_polymorphic; 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 @@ -54,13 +53,13 @@ their particular use-case.

    - Examples: + Examples:

    - Given: class abc{ virtual ~abc() = 0; }; + Given: class abc{ virtual ~abc() = 0; };

    @@ -69,8 +68,8 @@

    - is_abstract<abc> - inherits from true_type. + is_abstract<abc> + inherits from true_type.

    @@ -79,7 +78,7 @@

    - is_abstract<abc>::type is the type true_type. + is_abstract<abc>::type is the type true_type.

    @@ -88,7 +87,7 @@

    - is_abstract<abc const>::value + is_abstract<abc const>::value is an integral constant expression that evaluates to true.

    @@ -98,7 +97,7 @@

    - is_abstract<T>::value_type is the type bool. + is_abstract<T>::value_type is the type bool.

    @@ -106,10 +105,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/is_arithmetic.html b/doc/html/boost_typetraits/reference/is_arithmetic.html index 7f45356..84b7284 100644 --- a/doc/html/boost_typetraits/reference/is_arithmetic.html +++ b/doc/html/boost_typetraits/reference/is_arithmetic.html @@ -1,13 +1,13 @@ -is_arithmetic + is_arithmetic - + - - - + + + @@ -24,36 +24,35 @@
     template <class T>
    -struct is_arithmetic : public true_type-or-false_type {};
    +struct is_arithmetic : public true_type-or-false_type {};
     

    - Inherits: If T is a (possibly cv-qualified) - arithmetic type then inherits from true_type, - otherwise inherits from false_type. - Arithmetic types include integral and floating point types (see also is_integral and - is_floating_point). + Inherits: If T is a (possibly cv-qualified) + arithmetic type then inherits from true_type, + otherwise inherits from false_type. + Arithmetic types include integral and floating point types (see also is_integral and + is_floating_point).

    - C++ Standard Reference: 3.9.1p8. + C++ Standard Reference: 3.9.1p8.

    - Header: #include - <boost/type_traits/is_arithmetic.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_arithmetic.hpp> + or #include <boost/type_traits.hpp>

    - Examples: + Examples:

    - is_arithmetic<int> - inherits from true_type. + is_arithmetic<int> + inherits from true_type.

    @@ -62,7 +61,7 @@

    - is_arithmetic<char>::type is the type true_type. + is_arithmetic<char>::type is the type true_type.

    @@ -71,7 +70,7 @@

    - is_arithmetic<double>::value is an integral constant expression + is_arithmetic<double>::value is an integral constant expression that evaluates to true.

    @@ -81,7 +80,7 @@

    - is_arithmetic<T>::value_type is the type bool. + is_arithmetic<T>::value_type is the type bool.

    @@ -89,10 +88,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/is_array.html b/doc/html/boost_typetraits/reference/is_array.html index 6038fa2..a065229 100644 --- a/doc/html/boost_typetraits/reference/is_array.html +++ b/doc/html/boost_typetraits/reference/is_array.html @@ -1,13 +1,13 @@ -is_array + is_array - + - - - + + + @@ -24,38 +24,37 @@
     template <class T>
    -struct is_array : public true_type-or-false_type {};
    +struct is_array : public true_type-or-false_type {};
     

    - Inherits: If T is a (possibly cv-qualified) - array type then inherits from true_type, - otherwise inherits from false_type. + Inherits: If T is a (possibly cv-qualified) + array type then inherits from true_type, + otherwise inherits from false_type.

    - C++ Standard Reference: 3.9.2 and 8.3.4. + C++ Standard Reference: 3.9.2 and 8.3.4.

    - Header: #include - <boost/type_traits/is_array.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_array.hpp> + or #include <boost/type_traits.hpp>

    - Compiler Compatibility: If the compiler + Compiler Compatibility: If the compiler does not support partial-specialization of class templates, then this template can give the wrong result with function types.

    - Examples: + Examples:

    - is_array<int[2]> inherits from true_type. + is_array<int[2]> inherits from true_type.

    @@ -64,8 +63,8 @@

    - is_array<char[2][3]>::type - is the type true_type. + is_array<char[2][3]>::type + is the type true_type.

    @@ -74,7 +73,7 @@

    - is_array<double[]>::value is an integral constant expression + is_array<double[]>::value is an integral constant expression that evaluates to true.

    @@ -84,7 +83,7 @@

    - is_array<T>::value_type is the type bool. + is_array<T>::value_type is the type bool.

    @@ -92,10 +91,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/is_base_of.html b/doc/html/boost_typetraits/reference/is_base_of.html index 99fb01b..2533dfc 100644 --- a/doc/html/boost_typetraits/reference/is_base_of.html +++ b/doc/html/boost_typetraits/reference/is_base_of.html @@ -1,13 +1,13 @@ -is_base_of + is_base_of - + - - - + + + @@ -24,57 +24,56 @@
     template <class Base, class Derived>
    -struct is_base_of : public true_type-or-false_type {};
    +struct is_base_of : public true_type-or-false_type {};
     

    - Inherits: If Base is base class of type - Derived or if both types are the same then inherits from true_type, - otherwise inherits from false_type. + Inherits: If Base is base class of type + Derived or if both types are the same then inherits from true_type, + otherwise inherits from false_type.

    This template will detect non-public base classes, and ambiguous base classes.

    - Note that is_base_of<X,X> will always inherit from true_type. - This is the case even if X - is not a class type. This is a change in behaviour from Boost-1.33 + Note that is_base_of<X,X> will always inherit from true_type. + This is the case even if X + is not a class type. This is a change in behaviour from Boost-1.33 in order to track the Technical Report on C++ Library Extensions.

    - Types Base and Derived must not be incomplete types. + Types Base and Derived must not be incomplete types.

    - C++ Standard Reference: 10. + C++ Standard Reference: 10.

    - Header: #include - <boost/type_traits/is_base_of.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_base_of.hpp> + or #include <boost/type_traits.hpp>

    - Compiler Compatibility: If the compiler + Compiler Compatibility: If the compiler does not support partial-specialization of class templates, then this template can not be used with function types. There are some older compilers which - will produce compiler errors if Base - is a private base class of Derived, - or if Base is an ambiguous - base of Derived. These compilers + will produce compiler errors if Base + is a private base class of Derived, + or if Base is an ambiguous + base of Derived. These compilers include Borland C++, older versions of Sun Forte C++, Digital Mars C++, and older versions of EDG based compilers.

    - Examples: + Examples:

    - Given: class Base{}; class Derived : - public Base{}; + Given: class Base{}; class Derived : + public Base{};

    @@ -83,8 +82,8 @@

    - is_base_of<Base, Derived> - inherits from true_type. + is_base_of<Base, Derived> + inherits from true_type.

    @@ -93,7 +92,7 @@

    - is_base_of<Base, Derived>::type is the type true_type. + is_base_of<Base, Derived>::type is the type true_type.

    @@ -102,7 +101,7 @@

    - is_base_of<Base, Derived>::value is an integral constant expression + is_base_of<Base, Derived>::value is an integral constant expression that evaluates to true.

    @@ -112,7 +111,7 @@

    - is_base_of<Base, Derived>::value is an integral constant expression + is_base_of<Base, Derived>::value is an integral constant expression that evaluates to true.

    @@ -122,7 +121,7 @@

    - is_base_of<Base, Base>::value is an integral constant expression + is_base_of<Base, Base>::value is an integral constant expression that evaluates to true: a class is regarded as it's own base.

    @@ -133,7 +132,7 @@

    - is_base_of<T>::value_type is the type bool. + is_base_of<T>::value_type is the type bool.

    @@ -141,10 +140,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/is_class.html b/doc/html/boost_typetraits/reference/is_class.html index 3a688c2..6d34c76 100644 --- a/doc/html/boost_typetraits/reference/is_class.html +++ b/doc/html/boost_typetraits/reference/is_class.html @@ -1,13 +1,13 @@ -is_class + is_class - + - - - + + + @@ -24,41 +24,40 @@
     template <class T>
    -struct is_class : public true_type-or-false_type {};
    +struct is_class : public true_type-or-false_type {};
     

    - Inherits: If T is a (possibly cv-qualified) - class type then inherits from true_type, - otherwise inherits from false_type. + Inherits: If T is a (possibly cv-qualified) + class type then inherits from true_type, + otherwise inherits from false_type.

    - C++ Standard Reference: 3.9.2 and 9.2. + C++ Standard Reference: 3.9.2 and 9.2.

    - Header: #include - <boost/type_traits/is_class.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_class.hpp> + or #include <boost/type_traits.hpp>

    - Compiler Compatibility: Without (some as + Compiler Compatibility: 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 true_type for - union types. See also is_union. - Currently (May 2005) only Visual C++ 8 has the necessary compiler intrinsics + and class types, as a result this type will erroneously inherit from true_type for + union types. See also is_union. + Currently (May 2005) only Visual C++ 8 has the necessary compiler intrinsics to correctly identify union types, and therefore make is_class function correctly.

    - Examples: + Examples:

    - Given: class MyClass; then: + Given: class MyClass; then:

    @@ -67,8 +66,8 @@

    - is_class<MyClass> - inherits from true_type. + is_class<MyClass> + inherits from true_type.

    @@ -77,8 +76,8 @@

    - is_class<MyClass const>::type - is the type true_type. + is_class<MyClass const>::type + is the type true_type.

    @@ -87,7 +86,7 @@

    - is_class<MyClass>::value is an integral constant expression + is_class<MyClass>::value is an integral constant expression that evaluates to true.

    @@ -97,7 +96,7 @@

    - is_class<MyClass&>::value is an integral constant expression + is_class<MyClass&>::value is an integral constant expression that evaluates to false.

    @@ -107,7 +106,7 @@

    - is_class<MyClass*>::value is an integral constant expression + is_class<MyClass*>::value is an integral constant expression that evaluates to false.

    @@ -117,7 +116,7 @@

    - is_class<T>::value_type is the type bool. + is_class<T>::value_type is the type bool.

    @@ -125,10 +124,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/is_complex.html b/doc/html/boost_typetraits/reference/is_complex.html index 59419cf..15d6fa5 100644 --- a/doc/html/boost_typetraits/reference/is_complex.html +++ b/doc/html/boost_typetraits/reference/is_complex.html @@ -1,13 +1,13 @@ -is_complex + is_complex - + - - - + + + @@ -24,33 +24,36 @@
     template <class T>
    -struct is_complex : public true_type-or-false_type {};
    +struct is_complex : public true_type-or-false_type {};
     

    - Inherits: If T - is a complex number type then true (of type std::complex<U> - for some type U), otherwise + Inherits: If T + is a complex number type then true (of type std::complex<U> + for some type U), otherwise false.

    - C++ Standard Reference: 26.2. + C++ Standard Reference: 26.2.

    - Header: #include - <boost/type_traits/is_complex.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_complex.hpp> + or #include <boost/type_traits.hpp>

    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/is_compound.html b/doc/html/boost_typetraits/reference/is_compound.html index 453c575..88a04c3 100644 --- a/doc/html/boost_typetraits/reference/is_compound.html +++ b/doc/html/boost_typetraits/reference/is_compound.html @@ -1,13 +1,13 @@ -is_compound + is_compound - + - - - + + + @@ -24,35 +24,34 @@
     template <class T>
    -struct is_compound : public true_type-or-false_type {};
    +struct is_compound : public true_type-or-false_type {};
     

    - Inherits: If T is a (possibly cv-qualified) - compound type then inherits from true_type, - otherwise inherits from false_type. - Any type that is not a fundamental type is a compound type (see also is_fundamental). + Inherits: If T is a (possibly cv-qualified) + compound type then inherits from true_type, + otherwise inherits from false_type. + Any type that is not a fundamental type is a compound type (see also is_fundamental).

    - C++ Standard Reference: 3.9.2. + C++ Standard Reference: 3.9.2.

    - Header: #include - <boost/type_traits/is_compound.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_compound.hpp> + or #include <boost/type_traits.hpp>

    - Examples: + Examples:

    - is_compound<MyClass> - inherits from true_type. + is_compound<MyClass> + inherits from true_type.

    @@ -61,7 +60,7 @@

    - is_compound<MyEnum>::type is the type true_type. + is_compound<MyEnum>::type is the type true_type.

    @@ -70,7 +69,7 @@

    - is_compound<int*>::value is an integral constant expression + is_compound<int*>::value is an integral constant expression that evaluates to true.

    @@ -80,7 +79,7 @@

    - is_compound<int&>::value is an integral constant expression + is_compound<int&>::value is an integral constant expression that evaluates to true.

    @@ -90,7 +89,7 @@

    - is_compound<int>::value is an integral constant expression + is_compound<int>::value is an integral constant expression that evaluates to false.

    @@ -100,7 +99,7 @@

    - is_compound<T>::value_type is the type bool. + is_compound<T>::value_type is the type bool.

    @@ -108,10 +107,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/is_const.html b/doc/html/boost_typetraits/reference/is_const.html index 6f2922c..2c085d7 100644 --- a/doc/html/boost_typetraits/reference/is_const.html +++ b/doc/html/boost_typetraits/reference/is_const.html @@ -1,13 +1,13 @@ -is_const + is_const - + - - - + + + @@ -24,33 +24,32 @@
     template <class T>
    -struct is_const : public true_type-or-false_type {};
    +struct is_const : public true_type-or-false_type {};
     

    - Inherits: If T is a (top level) const-qualified - type then inherits from true_type, - otherwise inherits from false_type. + Inherits: If T is a (top level) const-qualified + type then inherits from true_type, + otherwise inherits from false_type.

    - C++ Standard Reference: 3.9.3. + C++ Standard Reference: 3.9.3.

    - Header: #include - <boost/type_traits/is_const.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_const.hpp> + or #include <boost/type_traits.hpp>

    - Examples: + Examples:

    - is_const<int const> inherits from true_type. + is_const<int const> inherits from true_type.

    @@ -59,7 +58,7 @@

    - is_const<int const volatile>::type is the type true_type. + is_const<int const volatile>::type is the type true_type.

    @@ -68,7 +67,7 @@

    - is_const<int* const>::value is an integral constant expression + is_const<int* const>::value is an integral constant expression that evaluates to true.

    @@ -78,7 +77,7 @@

    - is_const<int const*>::value + is_const<int const*>::value is an integral constant expression that evaluates to false: the const-qualifier is not at the top level in this case.

    @@ -89,7 +88,7 @@

    - is_const<int const&>::value + is_const<int const&>::value is an integral constant expression that evaluates to false: the const-qualifier is not at the top level in this case.

    @@ -100,7 +99,7 @@

    - is_const<int>::value is an integral constant expression + is_const<int>::value is an integral constant expression that evaluates to false.

    @@ -110,7 +109,7 @@

    - is_const<T>::value_type is the type bool. + is_const<T>::value_type is the type bool.

    @@ -118,10 +117,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/is_convertible.html b/doc/html/boost_typetraits/reference/is_convertible.html index 75a881a..aaf3b1b 100644 --- a/doc/html/boost_typetraits/reference/is_convertible.html +++ b/doc/html/boost_typetraits/reference/is_convertible.html @@ -1,13 +1,13 @@ -is_convertible + is_convertible - + - - - + + + @@ -24,17 +24,16 @@
     template <class From, class To>
    -struct is_convertible : public true_type-or-false_type {};
    +struct is_convertible : public true_type-or-false_type {};
     

    - Inherits: If an imaginary lvalue of type - From is convertible to type - To then inherits from true_type, - otherwise inherits from false_type. + Inherits: If an imaginary lvalue of type + From is convertible to type + To then inherits from true_type, + otherwise inherits from false_type.

    Type From must not be an incomplete type. @@ -47,12 +46,12 @@ types.

    - This template can not detect whether a converting-constructor is public or not: if type To - has a private converting constructor - from type From then instantiating - is_convertible<From, To> - will produce a compiler error. For this reason is_convertible - can not be used to determine whether a type has a public + This template can not detect whether a converting-constructor is public or not: if type To + has a private converting constructor + from type From then instantiating + is_convertible<From, To> + will produce a compiler error. For this reason is_convertible + can not be used to determine whether a type has a public copy-constructor or not.

    @@ -68,30 +67,30 @@ bool const y = boost::is_convertible<D*,A*>::value;

    - C++ Standard Reference: 4 and 8.5. + C++ Standard Reference: 4 and 8.5.

    - Compiler Compatibility: This template is + Compiler Compatibility: 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 is_abstract, - then the template parameter To + If the compiler does not support is_abstract, + then the template parameter To must not be an abstract type.

    - Header: #include - <boost/type_traits/is_convertible.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_convertible.hpp> + or #include <boost/type_traits.hpp>

    - Examples: + Examples:

    - is_convertible<int, double> - inherits from true_type. + is_convertible<int, double> + inherits from true_type.

    @@ -100,8 +99,8 @@

    - is_convertible<const int, double>::type - is the type true_type. + is_convertible<const int, double>::type + is the type true_type.

    @@ -110,7 +109,7 @@

    - is_convertible<int* const, int*>::value is an integral constant expression + is_convertible<int* const, int*>::value is an integral constant expression that evaluates to true.

    @@ -120,9 +119,9 @@

    - is_convertible<int const*, int*>::value + is_convertible<int const*, int*>::value is an integral constant expression that evaluates to false: - the conversion would require a const_cast. + the conversion would require a const_cast.

    @@ -131,7 +130,7 @@

    - is_convertible<int const&, long>::value + is_convertible<int const&, long>::value is an integral constant expression that evaluates to true.

    @@ -141,7 +140,7 @@

    - is_convertible<int>::value is an integral constant expression + is_convertible<int>::value is an integral constant expression that evaluates to false.

    @@ -151,7 +150,7 @@

    - is_convertible<T>::value_type is the type bool. + is_convertible<T>::value_type is the type bool.

    @@ -159,10 +158,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/is_empty.html b/doc/html/boost_typetraits/reference/is_empty.html index 06d4100..a7b5cb2 100644 --- a/doc/html/boost_typetraits/reference/is_empty.html +++ b/doc/html/boost_typetraits/reference/is_empty.html @@ -1,13 +1,13 @@ -is_empty + is_empty - + - - - + + + @@ -24,27 +24,26 @@
     template <class T>
    -struct is_empty : public true_type-or-false_type {};
    +struct is_empty : public true_type-or-false_type {};
     

    - Inherits: If T is an empty class type then - inherits from true_type, - otherwise inherits from false_type. + Inherits: If T is an empty class type then + inherits from true_type, + otherwise inherits from false_type.

    - C++ Standard Reference: 10p5. + C++ Standard Reference: 10p5.

    - Header: #include - <boost/type_traits/is_empty.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_empty.hpp> + or #include <boost/type_traits.hpp>

    - Compiler Compatibility: In order to correctly + Compiler Compatibility: In order to correctly detect empty classes this trait relies on either:

      @@ -52,7 +51,7 @@ the compiler implementing zero sized empty base classes, or
    • - the compiler providing intrinsics + the compiler providing intrinsics to detect empty classes.
    @@ -67,14 +66,14 @@ then this template can not be used with abstract types.

    - Examples: + Examples:

    - Given: struct empty_class - {}; + Given: struct empty_class + {};

    @@ -83,8 +82,8 @@

    - is_empty<empty_class> - inherits from true_type. + is_empty<empty_class> + inherits from true_type.

    @@ -93,8 +92,8 @@

    - is_empty<empty_class const>::type - is the type true_type. + is_empty<empty_class const>::type + is the type true_type.

    @@ -103,7 +102,7 @@

    - is_empty<empty_class>::value is an integral constant expression + is_empty<empty_class>::value is an integral constant expression that evaluates to true.

    @@ -113,7 +112,7 @@

    - is_empty<T>::value_type is the type bool. + is_empty<T>::value_type is the type bool.

    @@ -121,10 +120,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/is_enum.html b/doc/html/boost_typetraits/reference/is_enum.html index 1397ca2..3c46a39 100644 --- a/doc/html/boost_typetraits/reference/is_enum.html +++ b/doc/html/boost_typetraits/reference/is_enum.html @@ -1,13 +1,13 @@ -is_enum + is_enum - + - - - + + + @@ -24,41 +24,40 @@
     template <class T>
    -struct is_enum : public true_type-or-false_type {};
    +struct is_enum : public true_type-or-false_type {};
     

    - Inherits: If T is a (possibly cv-qualified) - enum type then inherits from true_type, - otherwise inherits from false_type. + Inherits: If T is a (possibly cv-qualified) + enum type then inherits from true_type, + otherwise inherits from false_type.

    - C++ Standard Reference: 3.9.2 and 7.2. + C++ Standard Reference: 3.9.2 and 7.2.

    - Header: #include - <boost/type_traits/is_enum.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_enum.hpp> + or #include <boost/type_traits.hpp>

    - Compiler Compatibility: Requires a correctly - functioning is_convertible + Compiler Compatibility: Requires a correctly + functioning is_convertible 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.

    - Examples: + Examples:

    - Given: enum my_enum - { one, two }; + Given: enum my_enum + { one, two };

    @@ -67,8 +66,8 @@

    - is_enum<my_enum> - inherits from true_type. + is_enum<my_enum> + inherits from true_type.

    @@ -77,8 +76,8 @@

    - is_enum<my_enum const>::type - is the type true_type. + is_enum<my_enum const>::type + is the type true_type.

    @@ -87,7 +86,7 @@

    - is_enum<my_enum>::value is an integral constant expression + is_enum<my_enum>::value is an integral constant expression that evaluates to true.

    @@ -97,7 +96,7 @@

    - is_enum<my_enum&>::value is an integral constant expression + is_enum<my_enum&>::value is an integral constant expression that evaluates to false.

    @@ -107,7 +106,7 @@

    - is_enum<my_enum*>::value is an integral constant expression + is_enum<my_enum*>::value is an integral constant expression that evaluates to false.

    @@ -117,7 +116,7 @@

    - is_enum<T>::value_type is the type bool. + is_enum<T>::value_type is the type bool.

    @@ -125,10 +124,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/is_floating_point.html b/doc/html/boost_typetraits/reference/is_floating_point.html index 8e53ebe..b59bb90 100644 --- a/doc/html/boost_typetraits/reference/is_floating_point.html +++ b/doc/html/boost_typetraits/reference/is_floating_point.html @@ -1,13 +1,13 @@ -is_floating_point + is_floating_point - + - - - + + + @@ -24,34 +24,33 @@
     template <class T>
    -struct is_floating_point : public true_type-or-false_type {};
    +struct is_floating_point : public true_type-or-false_type {};
     

    - Inherits: If T is a (possibly cv-qualified) - floating point type then inherits from true_type, - otherwise inherits from false_type. + Inherits: If T is a (possibly cv-qualified) + floating point type then inherits from true_type, + otherwise inherits from false_type.

    - C++ Standard Reference: 3.9.1p8. + C++ Standard Reference: 3.9.1p8.

    - Header: #include - <boost/type_traits/is_floating_point.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_floating_point.hpp> + or #include <boost/type_traits.hpp>

    - Examples: + Examples:

    - is_floating_point<float> - inherits from true_type. + is_floating_point<float> + inherits from true_type.

    @@ -60,7 +59,7 @@

    - is_floating_point<double>::type is the type true_type. + is_floating_point<double>::type is the type true_type.

    @@ -69,7 +68,7 @@

    - is_floating_point<long double>::value + is_floating_point<long double>::value is an integral constant expression that evaluates to true.

    @@ -79,7 +78,7 @@

    - is_floating_point<T>::value_type is the type bool. + is_floating_point<T>::value_type is the type bool.

    @@ -87,10 +86,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/is_function.html b/doc/html/boost_typetraits/reference/is_function.html index a70206b..78c22a4 100644 --- a/doc/html/boost_typetraits/reference/is_function.html +++ b/doc/html/boost_typetraits/reference/is_function.html @@ -1,13 +1,13 @@ -is_function + is_function - + - - - + + + @@ -24,18 +24,17 @@
     template <class T>
    -struct is_function : public true_type-or-false_type {};
    +struct is_function : public true_type-or-false_type {};
     

    - Inherits: If T is a (possibly cv-qualified) - function type then inherits from true_type, - otherwise inherits from false_type. + Inherits: If T is a (possibly cv-qualified) + function type then inherits from true_type, + otherwise inherits from false_type. Note that this template does not detect pointers to functions, - or references to functions, these are detected by is_pointer and is_reference respectively: + or references to functions, these are detected by is_pointer and is_reference respectively:

     typedef int f1();      // f1 is of function type.
    @@ -43,22 +42,22 @@
     typedef int (f3&)();   // f3 is a reference to a function.
     

    - C++ Standard Reference: 3.9.2p1 and 8.3.5. + C++ Standard Reference: 3.9.2p1 and 8.3.5.

    - Header: #include - <boost/type_traits/is_function.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_function.hpp> + or #include <boost/type_traits.hpp>

    - Examples: + Examples:

    - is_function<int (void)> - inherits from true_type. + is_function<int (void)> + inherits from true_type.

    @@ -67,7 +66,7 @@

    - is_function<long (double, int)>::type is the type true_type. + is_function<long (double, int)>::type is the type true_type.

    @@ -76,7 +75,7 @@

    - is_function<long (double, int)>::value is an integral constant expression + is_function<long (double, int)>::value is an integral constant expression that evaluates to true.

    @@ -86,7 +85,7 @@

    - is_function<long (*)(double, int)>::value is an integral constant expression + is_function<long (*)(double, int)>::value is an integral constant expression that evaluates to false: the argument in this case is a pointer type, not a function type.

    @@ -97,7 +96,7 @@

    - is_function<long (&)(double, int)>::value is an integral constant expression + is_function<long (&)(double, int)>::value is an integral constant expression that evaluates to false: the argument in this case is a reference to a function, not a function type.

    @@ -108,7 +107,7 @@

    - is_function<long (MyClass::*)(double, int)>::value is an integral constant expression + is_function<long (MyClass::*)(double, int)>::value is an integral constant expression that evaluates to false: the argument in this case is a pointer to a member function.

    @@ -119,7 +118,7 @@

    - is_function<T>::value_type is the type bool. + is_function<T>::value_type is the type bool.

    @@ -129,45 +128,46 @@
    - @@ -175,10 +175,14 @@
    [Tip] Tip
    +

    Don't confuse function-types with pointers to functions:

    - typedef int - f(double); + typedef int + f(double);

    defines a function type,

    - f foo; + f foo;

    - declares a prototype for a function of type f, + declares a prototype for a function of type f,

    - f* + f* pf = - foo; + foo;

    - f& + f& fr = - foo; + foo;

    - declares a pointer and a reference to the function foo. + declares a pointer and a reference to the function foo.

    If you want to detect whether some type is a pointer-to-function then use:

    - is_function<remove_pointer<T>::type>::value - && is_pointer<T>::value + is_function<remove_pointer<T>::type>::value + && is_pointer<T>::value

    - or for pointers to member functions you can just use is_member_function_pointer + or for pointers to member functions you can just use is_member_function_pointer directly.

    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/is_fundamental.html b/doc/html/boost_typetraits/reference/is_fundamental.html index d01c1a2..bb416a7 100644 --- a/doc/html/boost_typetraits/reference/is_fundamental.html +++ b/doc/html/boost_typetraits/reference/is_fundamental.html @@ -1,13 +1,13 @@ -is_fundamental + is_fundamental - + - - - + + + @@ -24,38 +24,37 @@
     template <class T>
    -struct is_fundamental : public true_type-or-false_type {};
    +struct is_fundamental : public true_type-or-false_type {};
     

    - Inherits: If T is a (possibly cv-qualified) - fundamental type then inherits from true_type, - otherwise inherits from false_type. + Inherits: If T is a (possibly cv-qualified) + fundamental type then inherits from true_type, + otherwise inherits from false_type. Fundamental types include integral, floating point and void types (see also - is_integral, - is_floating_point - and is_void) + is_integral, + is_floating_point + and is_void)

    - C++ Standard Reference: 3.9.1. + C++ Standard Reference: 3.9.1.

    - Header: #include - <boost/type_traits/is_fundamental.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_fundamental.hpp> + or #include <boost/type_traits.hpp>

    - Examples: + Examples:

    - is_fundamental<int)> - inherits from true_type. + is_fundamental<int)> + inherits from true_type.

    @@ -64,8 +63,8 @@

    - is_fundamental<double const>::type - is the type true_type. + is_fundamental<double const>::type + is the type true_type.

    @@ -74,7 +73,7 @@

    - is_fundamental<void>::value is an integral constant expression + is_fundamental<void>::value is an integral constant expression that evaluates to true.

    @@ -84,7 +83,7 @@

    - is_fundamental<T>::value_type is the type bool. + is_fundamental<T>::value_type is the type bool.

    @@ -92,10 +91,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/is_integral.html b/doc/html/boost_typetraits/reference/is_integral.html index 9852baa..658359c 100644 --- a/doc/html/boost_typetraits/reference/is_integral.html +++ b/doc/html/boost_typetraits/reference/is_integral.html @@ -1,13 +1,14 @@ -is_integral + is_integral - + - - - + + + @@ -24,34 +25,33 @@
     template <class T>
    -struct is_integral : public true_type-or-false_type {};
    +struct is_integral : public true_type-or-false_type {};
     

    - Inherits: If T is a (possibly cv-qualified) - integral type then inherits from true_type, - otherwise inherits from false_type. + Inherits: If T is a (possibly cv-qualified) + integral type then inherits from true_type, + otherwise inherits from false_type.

    - C++ Standard Reference: 3.9.1p7. + C++ Standard Reference: 3.9.1p7.

    - Header: #include - <boost/type_traits/is_integral.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_integral.hpp> + or #include <boost/type_traits.hpp>

    - Examples: + Examples:

    - is_integral<int> - inherits from true_type. + is_integral<int> + inherits from true_type.

    @@ -60,8 +60,8 @@

    - is_integral<const char>::type - is the type true_type. + is_integral<const char>::type + is the type true_type.

    @@ -70,7 +70,7 @@

    - is_integral<long>::value is an integral constant expression + is_integral<long>::value is an integral constant expression that evaluates to true.

    @@ -80,7 +80,7 @@

    - is_integral<T>::value_type is the type bool. + is_integral<T>::value_type is the type bool.

    @@ -88,10 +88,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/is_member_function_pointer.html b/doc/html/boost_typetraits/reference/is_member_function_pointer.html index 4586bac..0b1c012 100644 --- a/doc/html/boost_typetraits/reference/is_member_function_pointer.html +++ b/doc/html/boost_typetraits/reference/is_member_function_pointer.html @@ -1,13 +1,15 @@ -is_member_function_pointer + + is_member_function_pointer - + - - - + + + @@ -24,34 +26,34 @@
     template <class T>
    -struct is_member_function_pointer : public true_type-or-false_type {};
    +struct is_member_function_pointer : public true_type-or-false_type {};
     

    - Inherits: If T is a (possibly cv-qualified) - pointer to a member function then inherits from true_type, - otherwise inherits from false_type. + Inherits: If T is a (possibly cv-qualified) + pointer to a member function then inherits from true_type, + otherwise inherits from false_type.

    - C++ Standard Reference: 3.9.2 and 8.3.3. + C++ Standard Reference: 3.9.2 and 8.3.3.

    - Header: #include - <boost/type_traits/is_member_function_pointer.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_member_function_pointer.hpp> + or #include <boost/type_traits.hpp>

    - Examples: + Examples:

    - is_member_function_pointer<int (MyClass::*)(void)> inherits from true_type. + is_member_function_pointer<int (MyClass::*)(void)> inherits from true_type.

    @@ -60,8 +62,8 @@

    - is_member_function_pointer<int (MyClass::*)(char)>::type - is the type true_type. + is_member_function_pointer<int (MyClass::*)(char)>::type + is the type true_type.

    @@ -70,7 +72,7 @@

    - is_member_function_pointer<int (MyClass::*)(void)const>::value + is_member_function_pointer<int (MyClass::*)(void)const>::value is an integral constant expression that evaluates to true.

    @@ -80,11 +82,12 @@

    - is_member_function_pointer<int (MyClass::*)>::value + is_member_function_pointer<int (MyClass::*)>::value is an integral constant expression that evaluates to false: the argument in this case is a pointer to a data member and not a member - function, see is_member_object_pointer - and is_member_pointer + function, see is_member_object_pointer + and is_member_pointer

    @@ -93,8 +96,8 @@

    - is_member_function_pointer<T>::value_type - is the type bool. + is_member_function_pointer<T>::value_type + is the type bool.

    @@ -102,10 +105,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/is_member_object_pointer.html b/doc/html/boost_typetraits/reference/is_member_object_pointer.html index e9247f0..9985f9d 100644 --- a/doc/html/boost_typetraits/reference/is_member_object_pointer.html +++ b/doc/html/boost_typetraits/reference/is_member_object_pointer.html @@ -1,13 +1,15 @@ -is_member_object_pointer + + is_member_object_pointer - + - - - + + + @@ -24,34 +26,34 @@
     template <class T>
    -struct is_member_object_pointer : public true_type-or-false_type {};
    +struct is_member_object_pointer : public true_type-or-false_type {};
     

    - Inherits: If T is a (possibly cv-qualified) - pointer to a member object (a data member) then inherits from true_type, - otherwise inherits from false_type. + Inherits: If T is a (possibly cv-qualified) + pointer to a member object (a data member) then inherits from true_type, + otherwise inherits from false_type.

    - C++ Standard Reference: 3.9.2 and 8.3.3. + C++ Standard Reference: 3.9.2 and 8.3.3.

    - Header: #include - <boost/type_traits/is_member_object_pointer.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_member_object_pointer.hpp> + or #include <boost/type_traits.hpp>

    - Examples: + Examples:

    - is_member_object_pointer<int (MyClass::*)> inherits from true_type. + is_member_object_pointer<int (MyClass::*)> inherits from true_type.

    @@ -60,8 +62,8 @@

    - is_member_object_pointer<double (MyClass::*)>::type - is the type true_type. + is_member_object_pointer<double (MyClass::*)>::type + is the type true_type.

    @@ -70,7 +72,7 @@

    - is_member_object_pointer<const int (MyClass::*)>::value is an integral constant expression + is_member_object_pointer<const int (MyClass::*)>::value is an integral constant expression that evaluates to true.

    @@ -80,11 +82,12 @@

    - is_member_object_pointer<int (MyClass::*)(void)>::value + is_member_object_pointer<int (MyClass::*)(void)>::value is an integral constant expression that evaluates to false: the argument in this case is a pointer to a member function and not a - member object, see is_member_function_pointer - and is_member_pointer + member object, see is_member_function_pointer + and is_member_pointer

    @@ -93,8 +96,8 @@

    - is_member_object_pointer<T>::value_type - is the type bool. + is_member_object_pointer<T>::value_type + is the type bool.

    @@ -102,10 +105,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/is_member_pointer.html b/doc/html/boost_typetraits/reference/is_member_pointer.html index c0e964e..9abd0ca 100644 --- a/doc/html/boost_typetraits/reference/is_member_pointer.html +++ b/doc/html/boost_typetraits/reference/is_member_pointer.html @@ -1,13 +1,14 @@ -is_member_pointer + is_member_pointer - + - - - + + + @@ -24,35 +25,34 @@
     template <class T>
    -struct is_member_pointer : public true_type-or-false_type {};
    +struct is_member_pointer : public true_type-or-false_type {};
     

    - Inherits: If T is a (possibly cv-qualified) + Inherits: If T is a (possibly cv-qualified) pointer to a member (either a function or a data member) then inherits from - true_type, - otherwise inherits from false_type. + true_type, + otherwise inherits from false_type.

    - C++ Standard Reference: 3.9.2 and 8.3.3. + C++ Standard Reference: 3.9.2 and 8.3.3.

    - Header: #include - <boost/type_traits/is_member_pointer.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_member_pointer.hpp> + or #include <boost/type_traits.hpp>

    - Examples: + Examples:

    - is_member_pointer<int (MyClass::*)> - inherits from true_type. + is_member_pointer<int (MyClass::*)> + inherits from true_type.

    @@ -61,7 +61,7 @@

    - is_member_pointer<int (MyClass::*)(char)>::type is the type true_type. + is_member_pointer<int (MyClass::*)(char)>::type is the type true_type.

    @@ -70,7 +70,7 @@

    - is_member_pointer<int (MyClass::*)(void)const>::value is an integral constant expression + is_member_pointer<int (MyClass::*)(void)const>::value is an integral constant expression that evaluates to true.

    @@ -80,7 +80,7 @@

    - is_member_pointer<T>::value_type is the type bool. + is_member_pointer<T>::value_type is the type bool.

    @@ -88,10 +88,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/is_object.html b/doc/html/boost_typetraits/reference/is_object.html index afb73b1..ef116f9 100644 --- a/doc/html/boost_typetraits/reference/is_object.html +++ b/doc/html/boost_typetraits/reference/is_object.html @@ -1,13 +1,13 @@ -is_object + is_object - + - - - + + + @@ -24,35 +24,34 @@
     template <class T>
    -struct is_object : public true_type-or-false_type {};
    +struct is_object : public true_type-or-false_type {};
     

    - Inherits: If T is a (possibly cv-qualified) - object type then inherits from true_type, - otherwise inherits from false_type. + Inherits: If T is a (possibly cv-qualified) + object type then inherits from true_type, + otherwise inherits from false_type. All types are object types except references, void, and function types.

    - C++ Standard Reference: 3.9p9. + C++ Standard Reference: 3.9p9.

    - Header: #include - <boost/type_traits/is_object.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_object.hpp> + or #include <boost/type_traits.hpp>

    - Examples: + Examples:

    - is_object<int> - inherits from true_type. + is_object<int> + inherits from true_type.

    @@ -61,7 +60,7 @@

    - is_object<int*>::type is the type true_type. + is_object<int*>::type is the type true_type.

    @@ -70,7 +69,7 @@

    - is_object<int (*)(void)>::value is an integral constant expression + is_object<int (*)(void)>::value is an integral constant expression that evaluates to true.

    @@ -80,7 +79,7 @@

    - is_object<int (MyClass::*)(void)const>::value is an integral constant expression + is_object<int (MyClass::*)(void)const>::value is an integral constant expression that evaluates to true.

    @@ -90,7 +89,7 @@

    - is_object<int &>::value is an integral constant expression + is_object<int &>::value is an integral constant expression that evaluates to false: reference types are not objects

    @@ -101,7 +100,7 @@

    - is_object<int (double)>::value is an integral constant expression + is_object<int (double)>::value is an integral constant expression that evaluates to false: function types are not objects

    @@ -112,7 +111,7 @@

    - is_object<const void>::value + is_object<const void>::value is an integral constant expression that evaluates to false: void is not an object type

    @@ -123,7 +122,7 @@

    - is_object<T>::value_type is the type bool. + is_object<T>::value_type is the type bool.

    @@ -131,10 +130,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/is_pod.html b/doc/html/boost_typetraits/reference/is_pod.html index b932557..fd46d8e 100644 --- a/doc/html/boost_typetraits/reference/is_pod.html +++ b/doc/html/boost_typetraits/reference/is_pod.html @@ -1,13 +1,13 @@ -is_pod + is_pod - + - - - + + + @@ -24,16 +24,15 @@
     template <class T>
    -struct is_pod : public true_type-or-false_type {};
    +struct is_pod : public true_type-or-false_type {};
     

    - Inherits: If T is a (possibly cv-qualified) - POD type then inherits from true_type, - otherwise inherits from false_type. + Inherits: If T is a (possibly cv-qualified) + POD type then inherits from true_type, + otherwise inherits from false_type.

    POD stands for "Plain old data". Arithmetic types, and enumeration @@ -45,11 +44,11 @@ array of PODs.

    - C++ Standard Reference: 3.9p10 and 9p4 (Note + C++ Standard Reference: 3.9p10 and 9p4 (Note that POD's are also aggregates, see 8.5.1).

    - Compiler Compatibility: If the compiler + Compiler Compatibility: If the compiler does not support partial-specialization of class templates, then this template can not be used with function types.

    @@ -60,19 +59,19 @@ the necessary compiler-_intrinsics.

    - Header: #include - <boost/type_traits/is_pod.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_pod.hpp> + or #include <boost/type_traits.hpp>

    - Examples: + Examples:

    - is_pod<int> - inherits from true_type. + is_pod<int> + inherits from true_type.

    @@ -81,7 +80,7 @@

    - is_pod<char*>::type is the type true_type. + is_pod<char*>::type is the type true_type.

    @@ -90,7 +89,7 @@

    - is_pod<int (*)(long)>::value is an integral constant expression + is_pod<int (*)(long)>::value is an integral constant expression that evaluates to true.

    @@ -100,7 +99,7 @@

    - is_pod<MyClass>::value is an integral constant expression + is_pod<MyClass>::value is an integral constant expression that evaluates to false.

    @@ -110,7 +109,7 @@

    - is_pod<T>::value_type is the type bool. + is_pod<T>::value_type is the type bool.

    @@ -118,10 +117,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/is_pointer.html b/doc/html/boost_typetraits/reference/is_pointer.html index 1f955be..322009d 100644 --- a/doc/html/boost_typetraits/reference/is_pointer.html +++ b/doc/html/boost_typetraits/reference/is_pointer.html @@ -1,13 +1,13 @@ -is_pointer + is_pointer - + - - - + + + @@ -24,35 +24,34 @@
     template <class T>
    -struct is_pointer : public true_type-or-false_type {};
    +struct is_pointer : public true_type-or-false_type {};
     

    - Inherits: If T is a (possibly cv-qualified) + Inherits: If T is a (possibly cv-qualified) pointer type (includes function pointers, but excludes pointers to members) - then inherits from true_type, - otherwise inherits from false_type. + then inherits from true_type, + otherwise inherits from false_type.

    - C++ Standard Reference: 3.9.2p2 and 8.3.1. + C++ Standard Reference: 3.9.2p2 and 8.3.1.

    - Header: #include - <boost/type_traits/is_pointer.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_pointer.hpp> + or #include <boost/type_traits.hpp>

    - Examples: + Examples:

    - is_pointer<int*> - inherits from true_type. + is_pointer<int*> + inherits from true_type.

    @@ -61,7 +60,7 @@

    - is_pointer<char* const>::type is the type true_type. + is_pointer<char* const>::type is the type true_type.

    @@ -70,7 +69,7 @@

    - is_pointer<int (*)(long)>::value is an integral constant expression + is_pointer<int (*)(long)>::value is an integral constant expression that evaluates to true.

    @@ -80,7 +79,7 @@

    - is_pointer<int (MyClass::*)(long)>::value is an integral constant expression + is_pointer<int (MyClass::*)(long)>::value is an integral constant expression that evaluates to false.

    @@ -90,7 +89,7 @@

    - is_pointer<int (MyClass::*)>::value is an integral constant expression + is_pointer<int (MyClass::*)>::value is an integral constant expression that evaluates to false.

    @@ -100,7 +99,7 @@

    - is_pointer<T>::value_type is the type bool. + is_pointer<T>::value_type is the type bool.

    @@ -110,10 +109,10 @@
    -
    [Important] Important

    - is_pointer detects "real" +

    + is_pointer detects "real" pointer types only, and not smart pointers. Users - should not specialise is_pointer + should not specialise is_pointer for smart pointer types, as doing so may cause Boost (and other third party) code to fail to function correctly. Users wanting a trait to detect smart pointers should create their own. However, note that there is no way in @@ -124,10 +123,14 @@ - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +


    diff --git a/doc/html/boost_typetraits/reference/is_polymorphic.html b/doc/html/boost_typetraits/reference/is_polymorphic.html index 8ba6496..439eb74 100644 --- a/doc/html/boost_typetraits/reference/is_polymorphic.html +++ b/doc/html/boost_typetraits/reference/is_polymorphic.html @@ -1,13 +1,13 @@ -is_polymorphic + is_polymorphic - + - - - + + + @@ -24,40 +24,39 @@
     template <class T>
    -struct is_polymorphic : public true_type-or-false_type {};
    +struct is_polymorphic : public true_type-or-false_type {};
     

    - Inherits: If T is a (possibly cv-qualified) - polymorphic type then inherits from true_type, - otherwise inherits from false_type. - Type T must be a complete + Inherits: If T is a (possibly cv-qualified) + polymorphic type then inherits from true_type, + otherwise inherits from false_type. + Type T must be a complete type.

    - C++ Standard Reference: 10.3. + C++ Standard Reference: 10.3.

    - Compiler Compatibility: The implementation + Compiler Compatibility: The implementation requires some knowledge of the compilers ABI, it does actually seem to work with the majority of compilers though.

    - Header: #include - <boost/type_traits/is_polymorphic.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_polymorphic.hpp> + or #include <boost/type_traits.hpp>

    - Examples: + Examples:

    - Given: class poly{ virtual ~poly(); }; + Given: class poly{ virtual ~poly(); };

    @@ -66,8 +65,8 @@

    - is_polymorphic<poly> - inherits from true_type. + is_polymorphic<poly> + inherits from true_type.

    @@ -76,8 +75,8 @@

    - is_polymorphic<poly const>::type - is the type true_type. + is_polymorphic<poly const>::type + is the type true_type.

    @@ -86,7 +85,7 @@

    - is_polymorphic<poly>::value is an integral constant expression + is_polymorphic<poly>::value is an integral constant expression that evaluates to true.

    @@ -96,7 +95,7 @@

    - is_polymorphic<T>::value_type is the type bool. + is_polymorphic<T>::value_type is the type bool.

    @@ -104,10 +103,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/is_reference.html b/doc/html/boost_typetraits/reference/is_reference.html index e2f2192..0c8bca0 100644 --- a/doc/html/boost_typetraits/reference/is_reference.html +++ b/doc/html/boost_typetraits/reference/is_reference.html @@ -1,13 +1,13 @@ -is_reference + is_reference - + - - - + + + @@ -24,40 +24,39 @@
     template <class T>
    -struct is_reference : public true_type-or-false_type {};
    +struct is_reference : public true_type-or-false_type {};
     

    - Inherits: If T is a reference pointer type - then inherits from true_type, - otherwise inherits from false_type. + Inherits: If T is a reference pointer type + then inherits from true_type, + otherwise inherits from false_type.

    - C++ Standard Reference: 3.9.2 and 8.3.2. + C++ Standard Reference: 3.9.2 and 8.3.2.

    - Compiler Compatibility: If the compiler + Compiler Compatibility: If the compiler does not support partial-specialization of class templates, then this template may report the wrong result for function types, and for types that are both const and volatile qualified.

    - Header: #include - <boost/type_traits/is_reference.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_reference.hpp> + or #include <boost/type_traits.hpp>

    - Examples: + Examples:

    - is_reference<int&> - inherits from true_type. + is_reference<int&> + inherits from true_type.

    @@ -66,8 +65,8 @@

    - is_reference<int const&>::type - is the type true_type. + is_reference<int const&>::type + is the type true_type.

    @@ -76,7 +75,7 @@

    - is_reference<int (&)(long)>::value is an integral constant expression + is_reference<int (&)(long)>::value is an integral constant expression that evaluates to true (the argument in this case is a reference to a function).

    @@ -87,7 +86,7 @@

    - is_reference<T>::value_type is the type bool. + is_reference<T>::value_type is the type bool.

    @@ -95,10 +94,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/is_same.html b/doc/html/boost_typetraits/reference/is_same.html index 198aa4f..c1bcceb 100644 --- a/doc/html/boost_typetraits/reference/is_same.html +++ b/doc/html/boost_typetraits/reference/is_same.html @@ -1,13 +1,13 @@ -is_same + is_same - + - - - + + + @@ -24,36 +24,35 @@
     template <class T, class U>
    -struct is_same : public true_type-or-false_type {};
    +struct is_same : public true_type-or-false_type {};
     

    - Inherits: If T and U are the same types - then inherits from true_type, - otherwise inherits from false_type. + Inherits: If T and U are the same types + then inherits from true_type, + otherwise inherits from false_type.

    - Header: #include - <boost/type_traits/is_same.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_same.hpp> + or #include <boost/type_traits.hpp>

    - Compiler Compatibility: If the compiler + Compiler Compatibility: If the compiler does not support partial-specialization of class templates, then this template can not be used with abstract, incomplete or function types.

    - Examples: + Examples:

    - is_same<int, int> - inherits from true_type. + is_same<int, int> + inherits from true_type.

    @@ -62,7 +61,7 @@

    - is_same<int, int>::type is the type true_type. + is_same<int, int>::type is the type true_type.

    @@ -71,7 +70,7 @@

    - is_same<int, int>::value is an integral constant expression + is_same<int, int>::value is an integral constant expression that evaluates to true.

    @@ -81,7 +80,7 @@

    - is_same<int const, int>::value + is_same<int const, int>::value is an integral constant expression that evaluates to false.

    @@ -91,7 +90,7 @@

    - is_same<int&, int>::value is an integral constant expression + is_same<int&, int>::value is an integral constant expression that evaluates to false.

    @@ -101,7 +100,7 @@

    - is_same<T>::value_type is the type bool. + is_same<T>::value_type is the type bool.

    @@ -109,10 +108,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/is_scalar.html b/doc/html/boost_typetraits/reference/is_scalar.html index a2c1119..daa6286 100644 --- a/doc/html/boost_typetraits/reference/is_scalar.html +++ b/doc/html/boost_typetraits/reference/is_scalar.html @@ -1,13 +1,13 @@ -is_scalar + is_scalar - + - - - + + + @@ -24,41 +24,40 @@
     template <class T>
    -struct is_scalar : public true_type-or-false_type {};
    +struct is_scalar : public true_type-or-false_type {};
     

    - Inherits: If T is a (possibly cv-qualified) - scalar type then inherits from true_type, - otherwise inherits from false_type. + Inherits: If T is a (possibly cv-qualified) + scalar type then inherits from true_type, + otherwise inherits from false_type. Scalar types include integral, floating point, enumeration, pointer, and pointer-to-member types.

    - C++ Standard Reference: 3.9p10. + C++ Standard Reference: 3.9p10.

    - Header: #include - <boost/type_traits/is_scalar.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_scalar.hpp> + or #include <boost/type_traits.hpp>

    - Compiler Compatibility: If the compiler + Compiler Compatibility: If the compiler does not support partial-specialization of class templates, then this template can not be used with function types.

    - Examples: + Examples:

    - is_scalar<int*> - inherits from true_type. + is_scalar<int*> + inherits from true_type.

    @@ -67,7 +66,7 @@

    - is_scalar<int>::type is the type true_type. + is_scalar<int>::type is the type true_type.

    @@ -76,7 +75,7 @@

    - is_scalar<double>::value is an integral constant expression + is_scalar<double>::value is an integral constant expression that evaluates to true.

    @@ -86,7 +85,7 @@

    - is_scalar<int (*)(long)>::value is an integral constant expression + is_scalar<int (*)(long)>::value is an integral constant expression that evaluates to true.

    @@ -96,7 +95,7 @@

    - is_scalar<int (MyClass::*)(long)>::value is an integral constant expression + is_scalar<int (MyClass::*)(long)>::value is an integral constant expression that evaluates to true.

    @@ -106,7 +105,7 @@

    - is_scalar<int (MyClass::*)>::value is an integral constant expression + is_scalar<int (MyClass::*)>::value is an integral constant expression that evaluates to true.

    @@ -116,7 +115,7 @@

    - is_scalar<T>::value_type is the type bool. + is_scalar<T>::value_type is the type bool.

    @@ -124,10 +123,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/is_signed.html b/doc/html/boost_typetraits/reference/is_signed.html index 680dbaa..e367498 100644 --- a/doc/html/boost_typetraits/reference/is_signed.html +++ b/doc/html/boost_typetraits/reference/is_signed.html @@ -1,13 +1,13 @@ -is_signed + is_signed - + - - - + + + @@ -24,35 +24,34 @@
     template <class T>
    -struct is_signed : public true_type-or-false_type {};
    +struct is_signed : public true_type-or-false_type {};
     

    - Inherits: If T is an signed integer type + Inherits: If T is an signed integer type or an enumerated type with an underlying signed integer type, then inherits - from true_type, - otherwise inherits from false_type. + from true_type, + otherwise inherits from false_type.

    - C++ Standard Reference: 3.9.1, 7.2. + C++ Standard Reference: 3.9.1, 7.2.

    - Header: #include - <boost/type_traits/is_signed.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_signed.hpp> + or #include <boost/type_traits.hpp>

    - Examples: + Examples:

    - is_signed<int> - inherits from true_type. + is_signed<int> + inherits from true_type.

    @@ -61,7 +60,7 @@

    - is_signed<int const volatile>::type is the type true_type. + is_signed<int const volatile>::type is the type true_type.

    @@ -70,7 +69,7 @@

    - is_signed<unsigned int>::value + is_signed<unsigned int>::value is an integral constant expression that evaluates to false.

    @@ -80,7 +79,7 @@

    - is_signed<myclass>::value is an integral constant expression + is_signed<myclass>::value is an integral constant expression that evaluates to false.

    @@ -90,8 +89,8 @@

    - is_signed<char>::value is an integral constant expression - whose value depends upon the signedness of type char. + is_signed<char>::value is an integral constant expression + whose value depends upon the signedness of type char.

    @@ -100,7 +99,7 @@

    - is_signed<long long>::value + is_signed<long long>::value is an integral constant expression that evaluates to true.

    @@ -110,7 +109,7 @@

    - is_signed<T>::value_type is the type bool. + is_signed<T>::value_type is the type bool.

    @@ -118,10 +117,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/is_stateless.html b/doc/html/boost_typetraits/reference/is_stateless.html index c7d63bf..af9f386 100644 --- a/doc/html/boost_typetraits/reference/is_stateless.html +++ b/doc/html/boost_typetraits/reference/is_stateless.html @@ -1,13 +1,13 @@ -is_stateless + is_stateless - + - - - + + + @@ -24,25 +24,24 @@
     template <class T>
    -struct is_stateless : public true_type-or-false_type {};
    +struct is_stateless : public true_type-or-false_type {};
     

    - Inherits: Ff T is a stateless type then - inherits from true_type, - otherwise from false_type. + Inherits: Ff T is a stateless type then + inherits from true_type, + otherwise from false_type.

    Type T must be a complete type.

    A stateless type is a type that has no storage and whose constructors and - destructors are trivial. That means that is_stateless - only inherits from true_type - if the following expression is true: + destructors are trivial. That means that is_stateless + only inherits from true_type + if the following expression is true:

     ::boost::has_trivial_constructor<T>::value
    @@ -52,15 +51,15 @@
     && ::boost::is_empty<T>::value
     

    - C++ Standard Reference: 3.9p10. + C++ Standard Reference: 3.9p10.

    - Header: #include - <boost/type_traits/is_stateless.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_stateless.hpp> + or #include <boost/type_traits.hpp>

    - Compiler Compatibility: If the compiler + Compiler Compatibility: If the compiler does not support partial-specialization of class templates, then this template can not be used with function types.

    @@ -68,16 +67,20 @@ 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 intrinsics + the necessary compiler intrinsics to make this template work automatically.

    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/is_union.html b/doc/html/boost_typetraits/reference/is_union.html index a051ae4..16a82bc 100644 --- a/doc/html/boost_typetraits/reference/is_union.html +++ b/doc/html/boost_typetraits/reference/is_union.html @@ -1,13 +1,13 @@ -is_union + is_union - + - - - + + + @@ -24,47 +24,46 @@
     template <class T>
    -struct is_union : public true_type-or-false_type {};
    +struct is_union : public true_type-or-false_type {};
     

    - Inherits: If T is a (possibly cv-qualified) - union type then inherits from true_type, - otherwise inherits from false_type. + Inherits: If T is a (possibly cv-qualified) + union type then inherits from true_type, + otherwise inherits from false_type. Currently requires some kind of compiler support, otherwise unions are identified as classes.

    - C++ Standard Reference: 3.9.2 and 9.5. + C++ Standard Reference: 3.9.2 and 9.5.

    - Compiler Compatibility: Without (some as + Compiler Compatibility: 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 true_type, + inherit from true_type, 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 intrinsics + the necessary compiler intrinsics to make this trait "just work" without user intervention.

    - Header: #include - <boost/type_traits/is_union.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_union.hpp> + or #include <boost/type_traits.hpp>

    - Examples: + Examples:

    - is_union<void> - inherits from true_type. + is_union<void> + inherits from true_type.

    @@ -73,8 +72,8 @@

    - is_union<const void>::type - is the type true_type. + is_union<const void>::type + is the type true_type.

    @@ -83,7 +82,7 @@

    - is_union<void>::value is an integral constant expression + is_union<void>::value is an integral constant expression that evaluates to true.

    @@ -93,7 +92,7 @@

    - is_union<void*>::value is an integral constant expression + is_union<void*>::value is an integral constant expression that evaluates to false.

    @@ -103,7 +102,7 @@

    - is_union<T>::value_type is the type bool. + is_union<T>::value_type is the type bool.

    @@ -111,10 +110,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/is_unsigned.html b/doc/html/boost_typetraits/reference/is_unsigned.html index d18fdbf..fa0c65a 100644 --- a/doc/html/boost_typetraits/reference/is_unsigned.html +++ b/doc/html/boost_typetraits/reference/is_unsigned.html @@ -1,13 +1,13 @@ -is_unsigned + is_unsigned - + - - - + + + @@ -24,34 +24,33 @@
     template <class T>
    -struct is_unsigned : public true_type-or-false_type {};
    +struct is_unsigned : public true_type-or-false_type {};
     

    - Inherits: If T is an unsigned integer type + Inherits: If T is an unsigned integer type or an enumerated type with an underlying unsigned integer type, then inherits - from true_type, - otherwise inherits from false_type. + from true_type, + otherwise inherits from false_type.

    - C++ Standard Reference: 3.9.1, 7.2. + C++ Standard Reference: 3.9.1, 7.2.

    - Header: #include - <boost/type_traits/is_unsigned.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_unsigned.hpp> + or #include <boost/type_traits.hpp>

    - Examples: + Examples:

    - is_unsigned<unsigned int> inherits from true_type. + is_unsigned<unsigned int> inherits from true_type.

    @@ -60,9 +59,9 @@

    - is_unsigned<unsigned int - const volatile>::type - is the type true_type. + is_unsigned<unsigned int + const volatile>::type + is the type true_type.

    @@ -71,7 +70,7 @@

    - is_unsigned<int>::value is an integral constant expression + is_unsigned<int>::value is an integral constant expression that evaluates to false.

    @@ -81,7 +80,7 @@

    - is_unsigned<myclass>::value is an integral constant expression + is_unsigned<myclass>::value is an integral constant expression that evaluates to false.

    @@ -91,8 +90,8 @@

    - is_unsigned<char>::value is an integral constant expression - whose value depends upon the signedness of type char. + is_unsigned<char>::value is an integral constant expression + whose value depends upon the signedness of type char.

    @@ -101,8 +100,8 @@

    - is_unsigned<unsigned long - long>::value is an integral constant expression + is_unsigned<unsigned long + long>::value is an integral constant expression that evaluates to true.

    @@ -112,7 +111,7 @@

    - is_unsigned<T>::value_type is the type bool. + is_unsigned<T>::value_type is the type bool.

    @@ -120,10 +119,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/is_void.html b/doc/html/boost_typetraits/reference/is_void.html index 12b570a..89063d7 100644 --- a/doc/html/boost_typetraits/reference/is_void.html +++ b/doc/html/boost_typetraits/reference/is_void.html @@ -1,13 +1,13 @@ -is_void + is_void - + - - - + + + @@ -24,34 +24,33 @@
     template <class T>
    -struct is_void : public true_type-or-false_type {};
    +struct is_void : public true_type-or-false_type {};
     

    - Inherits: If T is a (possibly cv-qualified) - void type then inherits from true_type, - otherwise inherits from false_type. + Inherits: If T is a (possibly cv-qualified) + void type then inherits from true_type, + otherwise inherits from false_type.

    - C++ Standard Reference: 3.9.1p9. + C++ Standard Reference: 3.9.1p9.

    - Header: #include - <boost/type_traits/is_void.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_void.hpp> + or #include <boost/type_traits.hpp>

    - Examples: + Examples:

    - is_void<void> - inherits from true_type. + is_void<void> + inherits from true_type.

    @@ -60,8 +59,8 @@

    - is_void<const void>::type - is the type true_type. + is_void<const void>::type + is the type true_type.

    @@ -70,7 +69,7 @@

    - is_void<void>::value is an integral constant expression + is_void<void>::value is an integral constant expression that evaluates to true.

    @@ -80,7 +79,7 @@

    - is_void<void*>::value is an integral constant expression + is_void<void*>::value is an integral constant expression that evaluates to false.

    @@ -90,7 +89,7 @@

    - is_void<T>::value_type is the type bool. + is_void<T>::value_type is the type bool.

    @@ -98,10 +97,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/is_volatile.html b/doc/html/boost_typetraits/reference/is_volatile.html index fa1b090..3cb0ed2 100644 --- a/doc/html/boost_typetraits/reference/is_volatile.html +++ b/doc/html/boost_typetraits/reference/is_volatile.html @@ -1,13 +1,13 @@ -is_volatile + is_volatile - + - - - + + + @@ -24,33 +24,32 @@
     template <class T>
    -struct is_volatile : public true_type-or-false_type {};
    +struct is_volatile : public true_type-or-false_type {};
     

    - Inherits: If T is a (top level) volatile-qualified - type then inherits from true_type, - otherwise inherits from false_type. + Inherits: If T is a (top level) volatile-qualified + type then inherits from true_type, + otherwise inherits from false_type.

    - C++ Standard Reference: 3.9.3. + C++ Standard Reference: 3.9.3.

    - Header: #include - <boost/type_traits/is_volatile.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/is_volatile.hpp> + or #include <boost/type_traits.hpp>

    - Examples: + Examples:

    - is_volatile<volatile int> inherits from true_type. + is_volatile<volatile int> inherits from true_type.

    @@ -59,8 +58,8 @@

    - is_volatile<const volatile - int>::type is the type true_type. + is_volatile<const volatile + int>::type is the type true_type.

    @@ -69,7 +68,7 @@

    - is_volatile<int* volatile>::value is an integral constant expression + is_volatile<int* volatile>::value is an integral constant expression that evaluates to true.

    @@ -79,7 +78,7 @@

    - is_volatile<int volatile*>::value + is_volatile<int volatile*>::value is an integral constant expression that evaluates to false: the volatile qualifier is not at the top level in this case.

    @@ -90,7 +89,7 @@

    - is_volatile<T>::value_type is the type bool. + is_volatile<T>::value_type is the type bool.

    @@ -98,10 +97,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/make_signed.html b/doc/html/boost_typetraits/reference/make_signed.html index bbf824e..de6a3f7 100644 --- a/doc/html/boost_typetraits/reference/make_signed.html +++ b/doc/html/boost_typetraits/reference/make_signed.html @@ -1,13 +1,13 @@ -make_signed + make_signed - + - - - + + + @@ -24,17 +24,16 @@
     template <class T>
     struct make_signed
     {
    -   typedef see-below type;
    +   typedef see-below type;
     };
     

    - type: If T is a signed integer type then + type: If T is a signed integer type then the same type as T, if T is an unsigned integer type then the corresponding signed type. Otherwise if T is an enumerated or character type (char or wchar_t) then a signed integer type with the same width as T. @@ -43,20 +42,20 @@ If T has any cv-qualifiers then these are also present on the result type.

    - Requires: T must be an integer or enumerated + Requires: T must be an integer or enumerated type, and must not be the type bool.

    - C++ Standard Reference: 3.9.1. + C++ Standard Reference: 3.9.1.

    - Header: #include - <boost/type_traits/make_signed.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/make_signed.hpp> + or #include <boost/type_traits.hpp>

    -

    Table 1.15. Examples

    -
    +

    Table 1.15. Examples

    +
    @@ -77,46 +76,46 @@ -

    - make_signed<int>::type + make_signed<int>::type

    - int + int

    - make_signed<unsigned int - const>::type + make_signed<unsigned int + const>::type

    - int const + int const

    - make_signed<const unsigned - long long>::type + make_signed<const unsigned + long long>::type

    - const long - long + const long + long

    - make_signed<my_enum>::type + make_signed<my_enum>::type

    @@ -128,7 +127,7 @@

    - make_signed<wchar_t>::type + make_signed<wchar_t>::type

    @@ -138,16 +137,19 @@
    +
    -
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/make_unsigned.html b/doc/html/boost_typetraits/reference/make_unsigned.html index b77a4d5..1b86312 100644 --- a/doc/html/boost_typetraits/reference/make_unsigned.html +++ b/doc/html/boost_typetraits/reference/make_unsigned.html @@ -1,13 +1,13 @@ -make_unsigned + make_unsigned - + - - - + + + @@ -24,17 +24,16 @@
     template <class T>
     struct make_unsigned
     {
    -   typedef see-below type;
    +   typedef see-below type;
     };
     

    - type: If T is a unsigned integer type then + type: If T is a unsigned integer type then the same type as T, if T is an signed integer type then the corresponding unsigned type. Otherwise if T is an enumerated or character type (char or wchar_t) then an unsigned integer type with the same width as T. @@ -43,20 +42,20 @@ If T has any cv-qualifiers then these are also present on the result type.

    - Requires: T must be an integer or enumerated + Requires: T must be an integer or enumerated type, and must not be the type bool.

    - C++ Standard Reference: 3.9.1. + C++ Standard Reference: 3.9.1.

    - Header: #include - <boost/type_traits/make_unsigned.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/make_unsigned.hpp> + or #include <boost/type_traits.hpp>

    -

    Table 1.16. Examples

    -
    +

    Table 1.16. Examples

    +
    @@ -77,47 +76,47 @@ -

    - make_signed<int>::type + make_signed<int>::type

    - unsigned int + unsigned int

    - make_signed<unsigned int - const>::type + make_signed<unsigned int + const>::type

    - unsigned int - const + unsigned int + const

    - make_signed<const unsigned - long long>::type + make_signed<const unsigned + long long>::type

    - const unsigned - long long + const unsigned + long long

    - make_signed<my_enum>::type + make_signed<my_enum>::type

    @@ -129,7 +128,7 @@

    - make_signed<wchar_t>::type + make_signed<wchar_t>::type

    @@ -139,16 +138,19 @@
    +
    -
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/promote.html b/doc/html/boost_typetraits/reference/promote.html index cb3bf1f..8a833eb 100644 --- a/doc/html/boost_typetraits/reference/promote.html +++ b/doc/html/boost_typetraits/reference/promote.html @@ -1,13 +1,13 @@ -promote + promote - + - - - + + + @@ -24,36 +24,36 @@
     template <class T>
     struct promote
     {
    -   typedef see-below type;
    +   typedef see-below type;
     };
     

    - type: If integral or floating point promotion - can be applied to an rvalue of type T, - then applies integral and floating point promotions to T - and keeps cv-qualifiers of T, - otherwise leaves T unchanged. - See also integral_promotion - and floating_point_promotion. + type: If integral or floating point promotion + can be applied to an rvalue of type T, + then applies integral and floating point promotions to T + and keeps cv-qualifiers of T, + otherwise leaves T unchanged. + See also integral_promotion + and floating_point_promotion.

    - C++ Standard Reference: 4.5 except 4.5/3 + C++ Standard Reference: 4.5 except 4.5/3 (integral bit-field) and 4.6.

    - Header: #include - <boost/type_traits/promote.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/promote.hpp> + or #include <boost/type_traits.hpp>

    -

    Table 1.17. Examples

    -
    +

    Table 1.17. Examples

    +
    @@ -74,50 +74,53 @@ -

    - promote<short volatile>::type + promote<short volatile>::type

    - int volatile + int volatile

    - promote<float const>::type + promote<float const>::type

    - double const + double const

    - promote<short&>::type + promote<short&>::type

    - short& + short&

    +
    -
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/rank.html b/doc/html/boost_typetraits/reference/rank.html index b60bfc2..4510d27 100644 --- a/doc/html/boost_typetraits/reference/rank.html +++ b/doc/html/boost_typetraits/reference/rank.html @@ -1,13 +1,13 @@ -rank + rank - + - - - + + + @@ -24,36 +24,35 @@
     template <class T>
    -struct rank : public integral_constant<std::size_t, RANK(T)> {};
    +struct rank : public integral_constant<std::size_t, RANK(T)> {};
     

    - Inherits: Class template rank inherits from - integral_constant<std::size_t, RANK(T)>, - where RANK(T) is the - number of array dimensions in type T. + Inherits: Class template rank inherits from + integral_constant<std::size_t, RANK(T)>, + where RANK(T) is the + number of array dimensions in type T.

    - If T is not an array type, - then RANK(T) is zero. + If T is not an array type, + then RANK(T) is zero.

    - Header: #include - <boost/type_traits/rank.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/rank.hpp> + or #include <boost/type_traits.hpp>

    - Examples: + Examples:

    - rank<int[]> - inherits from integral_constant<std::size_t, 1>. + rank<int[]> + inherits from integral_constant<std::size_t, 1>.

    @@ -62,7 +61,7 @@

    - rank<double[2][3][4]>::type is the type integral_constant<std::size_t, 3>. + rank<double[2][3][4]>::type is the type integral_constant<std::size_t, 3>.

    @@ -71,7 +70,7 @@

    - rank<int[1]>::value + rank<int[1]>::value is an integral constant expression that evaluates to 1.

    @@ -81,7 +80,7 @@

    - rank<int[][2]>::value is an integral constant expression + rank<int[][2]>::value is an integral constant expression that evaluates to 2.

    @@ -91,7 +90,7 @@

    - rank<int*>::value is an integral constant expression + rank<int*>::value is an integral constant expression that evaluates to 0.

    @@ -101,7 +100,7 @@

    - rank<T>::value_type is the type std::size_t. + rank<T>::value_type is the type std::size_t.

    @@ -109,10 +108,14 @@
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/remove_all_extents.html b/doc/html/boost_typetraits/reference/remove_all_extents.html index b7b23d5..89104df 100644 --- a/doc/html/boost_typetraits/reference/remove_all_extents.html +++ b/doc/html/boost_typetraits/reference/remove_all_extents.html @@ -1,13 +1,13 @@ -remove_all_extents + remove_all_extents - + - - - + + + @@ -24,39 +24,38 @@
     template <class T>
     struct remove_all_extents
     {
    -   typedef see-below type;
    +   typedef see-below type;
     };
     

    - type: If T - is an array type, then removes all of the array bounds on T, - otherwise leaves T unchanged. + type: If T + is an array type, then removes all of the array bounds on T, + otherwise leaves T unchanged.

    - C++ Standard Reference: 8.3.4. + C++ Standard Reference: 8.3.4.

    - Compiler Compatibility: If the compiler + Compiler Compatibility: If the compiler does not support partial specialization of class-templates then this template - will compile, but the member type - will always be the same as type T + will compile, but the member type + will always be the same as type T except where compiler workarounds have been applied.

    - Header: #include - <boost/type_traits/remove_all_extents.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/remove_all_extents.hpp> + or #include <boost/type_traits.hpp>

    -

    Table 1.18. Examples

    -
    +

    Table 1.18. Examples

    +
    @@ -77,74 +76,77 @@ -

    - remove_all_extents<int>::type + remove_all_extents<int>::type

    - int + int

    - remove_all_extents<int const[2]>::type + remove_all_extents<int const[2]>::type

    - int const + int const

    - remove_all_extents<int[][2]>::type + remove_all_extents<int[][2]>::type

    - int + int

    - remove_all_extents<int[2][3][4]>::type + remove_all_extents<int[2][3][4]>::type

    - int + int

    - remove_all_extents<int const*>::type + remove_all_extents<int const*>::type

    - int const* + int const*

    +
    -
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/remove_const.html b/doc/html/boost_typetraits/reference/remove_const.html index 26e6421..bf4643a 100644 --- a/doc/html/boost_typetraits/reference/remove_const.html +++ b/doc/html/boost_typetraits/reference/remove_const.html @@ -1,13 +1,13 @@ -remove_const + remove_const - + - - - + + + @@ -24,38 +24,37 @@
     template <class T>
     struct remove_const
     {
    -   typedef see-below type;
    +   typedef see-below type;
     };
     

    - type: The same type as T, + type: The same type as T, but with any top level const-qualifier removed.

    - C++ Standard Reference: 3.9.3. + C++ Standard Reference: 3.9.3.

    - Compiler Compatibility: If the compiler + Compiler Compatibility: If the compiler does not support partial specialization of class-templates then this template - will compile, but the member type - will always be the same as type T + will compile, but the member type + will always be the same as type T except where compiler workarounds have been applied.

    - Header: #include - <boost/type_traits/remove_const.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/remove_const.hpp> + or #include <boost/type_traits.hpp>

    -

    Table 1.19. Examples

    -
    +

    Table 1.19. Examples

    +
    @@ -76,75 +75,78 @@ -

    - remove_const<int>::type + remove_const<int>::type

    - int + int

    - remove_const<int const>::type + remove_const<int const>::type

    - int + int

    - remove_const<int const - volatile>::type + remove_const<int const + volatile>::type

    - int volatile + int volatile

    - remove_const<int const&>::type + remove_const<int const&>::type

    - int const& + int const&

    - remove_const<int const*>::type + remove_const<int const*>::type

    - int const* + int const*

    +
    -
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/remove_cv.html b/doc/html/boost_typetraits/reference/remove_cv.html index 290a560..845be09 100644 --- a/doc/html/boost_typetraits/reference/remove_cv.html +++ b/doc/html/boost_typetraits/reference/remove_cv.html @@ -1,13 +1,13 @@ -remove_cv + remove_cv - + - - - + + + @@ -24,38 +24,37 @@
     template <class T>
     struct remove_cv
     {
    -   typedef see-below type;
    +   typedef see-below type;
     };
     

    - type: The same type as T, + type: The same type as T, but with any top level cv-qualifiers removed.

    - C++ Standard Reference: 3.9.3. + C++ Standard Reference: 3.9.3.

    - Compiler Compatibility: If the compiler + Compiler Compatibility: If the compiler does not support partial specialization of class-templates then this template - will compile, but the member type - will always be the same as type T + will compile, but the member type + will always be the same as type T except where compiler workarounds have been applied.

    - Header: #include - <boost/type_traits/remove_cv.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/remove_cv.hpp> + or #include <boost/type_traits.hpp>

    -

    Table 1.20. Examples

    -
    +

    Table 1.20. Examples

    +
    @@ -76,75 +75,78 @@ -

    - remove_cv<int>::type + remove_cv<int>::type

    - int + int

    - remove_cv<int const>::type + remove_cv<int const>::type

    - int + int

    - remove_cv<int const - volatile>::type + remove_cv<int const + volatile>::type

    - int + int

    - remove_cv<int const&>::type + remove_cv<int const&>::type

    - int const& + int const&

    - remove_cv<int const*>::type + remove_cv<int const*>::type

    - int const* + int const*

    +
    -
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/remove_extent.html b/doc/html/boost_typetraits/reference/remove_extent.html index 24aa231..f899db9 100644 --- a/doc/html/boost_typetraits/reference/remove_extent.html +++ b/doc/html/boost_typetraits/reference/remove_extent.html @@ -1,13 +1,13 @@ -remove_extent + remove_extent - + - - - + + + @@ -24,39 +24,38 @@
     template <class T>
     struct remove_extent
     {
    -   typedef see-below type;
    +   typedef see-below type;
     };
     

    - type: If T + type: If T is an array type, then removes the topmost array bound, otherwise leaves - T unchanged. + T unchanged.

    - C++ Standard Reference: 8.3.4. + C++ Standard Reference: 8.3.4.

    - Compiler Compatibility: If the compiler + Compiler Compatibility: If the compiler does not support partial specialization of class-templates then this template - will compile, but the member type - will always be the same as type T + will compile, but the member type + will always be the same as type T except where compiler workarounds have been applied.

    - Header: #include - <boost/type_traits/remove_extent.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/remove_extent.hpp> + or #include <boost/type_traits.hpp>

    -

    Table 1.21. Examples

    -
    +

    Table 1.21. Examples

    +
    @@ -77,74 +76,77 @@ -

    - remove_extent<int>::type + remove_extent<int>::type

    - int + int

    - remove_extent<int const[2]>::type + remove_extent<int const[2]>::type

    - int const + int const

    - remove_extent<int[2][4]>::type + remove_extent<int[2][4]>::type

    - int[4] + int[4]

    - remove_extent<int[][2]>::type + remove_extent<int[][2]>::type

    - int[2] + int[2]

    - remove_extent<int const*>::type + remove_extent<int const*>::type

    - int const* + int const*

    +
    -
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/remove_pointer.html b/doc/html/boost_typetraits/reference/remove_pointer.html index ff55dd6..dd8e299 100644 --- a/doc/html/boost_typetraits/reference/remove_pointer.html +++ b/doc/html/boost_typetraits/reference/remove_pointer.html @@ -1,13 +1,13 @@ -remove_pointer + remove_pointer - + - - - + + + @@ -24,38 +24,37 @@
     template <class T>
     struct remove_pointer
     {
    -   typedef see-below type;
    +   typedef see-below type;
     };
     

    - type: The same type as T, + type: The same type as T, but with any pointer modifier removed.

    - C++ Standard Reference: 8.3.1. + C++ Standard Reference: 8.3.1.

    - Compiler Compatibility: If the compiler + Compiler Compatibility: If the compiler does not support partial specialization of class-templates then this template - will compile, but the member type - will always be the same as type T + will compile, but the member type + will always be the same as type T except where compiler workarounds have been applied.

    - Header: #include - <boost/type_traits/remove_pointer.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/remove_pointer.hpp> + or #include <boost/type_traits.hpp>

    -

    Table 1.22. Examples

    -
    +

    Table 1.22. Examples

    +
    @@ -76,74 +75,77 @@ -

    - remove_pointer<int>::type + remove_pointer<int>::type

    - int + int

    - remove_pointer<int const*>::type + remove_pointer<int const*>::type

    - int const + int const

    - remove_pointer<int const**>::type + remove_pointer<int const**>::type

    - int const* + int const*

    - remove_pointer<int&>::type + remove_pointer<int&>::type

    - int& + int&

    - remove_pointer<int*&>::type + remove_pointer<int*&>::type

    - int*& + int*&

    +
    -
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/remove_reference.html b/doc/html/boost_typetraits/reference/remove_reference.html index d247cf5..50f3a0e 100644 --- a/doc/html/boost_typetraits/reference/remove_reference.html +++ b/doc/html/boost_typetraits/reference/remove_reference.html @@ -1,13 +1,13 @@ -remove_reference + remove_reference - + - - - + + + @@ -24,38 +24,37 @@
     template <class T>
     struct remove_reference
     {
    -   typedef see-below type;
    +   typedef see-below type;
     };
     

    - type: The same type as T, + type: The same type as T, but with any reference modifier removed.

    - C++ Standard Reference: 8.3.2. + C++ Standard Reference: 8.3.2.

    - Compiler Compatibility: If the compiler + Compiler Compatibility: If the compiler does not support partial specialization of class-templates then this template - will compile, but the member type - will always be the same as type T + will compile, but the member type + will always be the same as type T except where compiler workarounds have been applied.

    - Header: #include - <boost/type_traits/remove_reference.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/remove_reference.hpp> + or #include <boost/type_traits.hpp>

    -

    Table 1.23. Examples

    -
    +

    Table 1.23. Examples

    +
    @@ -76,62 +75,65 @@ -

    - remove_reference<int>::type + remove_reference<int>::type

    - int + int

    - remove_reference<int const&>::type + remove_reference<int const&>::type

    - int const + int const

    - remove_reference<int*>::type + remove_reference<int*>::type

    - int* + int*

    - remove_reference<int*&>::type + remove_reference<int*&>::type

    - int* + int*

    +
    -
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/remove_volatile.html b/doc/html/boost_typetraits/reference/remove_volatile.html index 50ba5ec..3c2f3c0 100644 --- a/doc/html/boost_typetraits/reference/remove_volatile.html +++ b/doc/html/boost_typetraits/reference/remove_volatile.html @@ -1,13 +1,13 @@ -remove_volatile + remove_volatile - + - - - + + + @@ -24,38 +24,37 @@
     template <class T>
     struct remove_volatile
     {
    -   typedef see-below type;
    +   typedef see-below type;
     };
     

    - type: The same type as T, + type: The same type as T, but with any top level volatile-qualifier removed.

    - C++ Standard Reference: 3.9.3. + C++ Standard Reference: 3.9.3.

    - Compiler Compatibility: If the compiler + Compiler Compatibility: If the compiler does not support partial specialization of class-templates then this template - will compile, but the member type - will always be the same as type T + will compile, but the member type + will always be the same as type T except where compiler workarounds have been applied.

    - Header: #include - <boost/type_traits/remove_volatile.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/remove_volatile.hpp> + or #include <boost/type_traits.hpp>

    -

    Table 1.24. Examples

    -
    +

    Table 1.24. Examples

    +
    @@ -76,75 +75,78 @@ -

    - remove_volatile<int>::type + remove_volatile<int>::type

    - int + int

    - remove_volatile<int volatile>::type + remove_volatile<int volatile>::type

    - int + int

    - remove_volatile<int const - volatile>::type + remove_volatile<int const + volatile>::type

    - int const + int const

    - remove_volatile<int volatile&>::type + remove_volatile<int volatile&>::type

    - int const& + int const&

    - remove_volatile<int volatile*>::type + remove_volatile<int volatile*>::type

    - int const* + int const*

    +
    -
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/reference/type_with_alignment.html b/doc/html/boost_typetraits/reference/type_with_alignment.html index 7426a22..f31e85e 100644 --- a/doc/html/boost_typetraits/reference/type_with_alignment.html +++ b/doc/html/boost_typetraits/reference/type_with_alignment.html @@ -1,13 +1,13 @@ -type_with_alignment + type_with_alignment - + - - - + + + @@ -24,31 +24,34 @@
     template <std::size_t Align>
     struct type_with_alignment
     {
    -   typedef see-below type;
    +   typedef see-below type;
     };
     

    - type: a built-in or POD type with an alignment - that is a multiple of Align. + type: a built-in or POD type with an alignment + that is a multiple of Align.

    - Header: #include - <boost/type_traits/type_with_alignment.hpp> - or #include <boost/type_traits.hpp> + Header: #include + <boost/type_traits/type_with_alignment.hpp> + or #include <boost/type_traits.hpp>

    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/boost_typetraits/user_defined.html b/doc/html/boost_typetraits/user_defined.html index f52b1fb..eff3602 100644 --- a/doc/html/boost_typetraits/user_defined.html +++ b/doc/html/boost_typetraits/user_defined.html @@ -1,13 +1,14 @@ -User Defined Specializations + User Defined Specializations - + - - + + @@ -24,14 +25,13 @@

    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::true_type - or boost::false_type + boost::true_type + or boost::false_type as appropriate:

    @@ -49,25 +49,29 @@
     namespace boost
     {
        template<>
    -   struct is_pod<my_pod> : public true_type{};
    +   struct is_pod<my_pod> : public true_type{};
           
        template<>
    -   struct is_pod<my_union> : public true_type{};
    +   struct is_pod<my_union> : public true_type{};
        
        template<>
    -   struct is_union<my_union> : public true_type{};
    +   struct is_union<my_union> : public true_type{};
        
        template<>
    -   struct is_class<my_union> : public false_type{};
    +   struct is_class<my_union> : public false_type{};
     }
     
    - + Ramey and Jeremy Siek

    + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> + http:/www.boost.org/LICENSE_1_0.txt </ulink>) +

    Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, +

    diff --git a/doc/html/index.html b/doc/html/index.html index e8c88d1..590c333 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -3,9 +3,9 @@ Chapter 1. Boost.TypeTraits - + - + @@ -22,12 +22,15 @@

    Chapter 1. Boost.TypeTraits

    +

    +various authors +

    -

    +

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.orgLICENSE_1_0.txt"> http:/www.boost.org/LICENSE_1_0.txt </ulink>) @@ -155,8 +158,8 @@

    - - + +

    Last revised: September 10, 2007 at 12:24:53 +0100

    Last revised: September 10, 2007 at 19:24:53 +0800


    Next