From 6d0830f46f51d79e80329910e5294f95b8d465bb Mon Sep 17 00:00:00 2001 From: John Maddock Date: Mon, 26 Aug 2013 10:43:14 +0000 Subject: [PATCH] Merge type traits from Trunk: * Adds uchar16_t and uchar32_t support. * Adds is_copy_constructible trait. [SVN r85474] --- doc/credits.qbk | 3 +- doc/history.qbk | 3 + doc/html/boost_typetraits/background.html | 24 +- doc/html/boost_typetraits/category.html | 4 +- .../boost_typetraits/category/alignment.html | 2 +- .../boost_typetraits/category/function.html | 2 +- .../boost_typetraits/category/transform.html | 4 +- .../category/value_traits.html | 4 +- .../category/value_traits/operators.html | 24 +- .../category/value_traits/primary.html | 2 +- .../category/value_traits/properties.html | 2 +- .../category/value_traits/relate.html | 2 +- doc/html/boost_typetraits/credits.html | 4 +- doc/html/boost_typetraits/examples.html | 4 +- doc/html/boost_typetraits/examples/copy.html | 2 +- .../boost_typetraits/examples/destruct.html | 2 +- doc/html/boost_typetraits/examples/fill.html | 2 +- .../examples/improved_min.html | 2 +- doc/html/boost_typetraits/examples/iter.html | 2 +- .../boost_typetraits/examples/to_double.html | 2 +- doc/html/boost_typetraits/history.html | 38 ++- doc/html/boost_typetraits/intrinsics.html | 8 +- doc/html/boost_typetraits/intro.html | 2 +- doc/html/boost_typetraits/mpl.html | 2 +- doc/html/boost_typetraits/reference.html | 5 +- .../boost_typetraits/reference/add_const.html | 2 +- .../boost_typetraits/reference/add_cv.html | 2 +- .../reference/add_lvalue_reference.html | 2 +- .../reference/add_pointer.html | 2 +- .../reference/add_reference.html | 2 +- .../reference/add_rvalue_reference.html | 2 +- .../reference/add_volatile.html | 2 +- .../reference/aligned_storage.html | 2 +- .../reference/alignment_of.html | 2 +- .../reference/common_type.html | 18 +- .../reference/conditional.html | 2 +- .../boost_typetraits/reference/decay.html | 2 +- .../boost_typetraits/reference/extent.html | 2 +- .../reference/floating_point_promotion.html | 2 +- .../reference/function_traits.html | 4 +- .../reference/has_bit_and.html | 6 +- .../reference/has_bit_and_assign.html | 6 +- .../reference/has_bit_or.html | 6 +- .../reference/has_bit_or_assign.html | 6 +- .../reference/has_bit_xor.html | 6 +- .../reference/has_bit_xor_assign.html | 6 +- .../reference/has_complement.html | 6 +- .../reference/has_dereference.html | 6 +- .../reference/has_divides.html | 6 +- .../reference/has_divides_assign.html | 6 +- .../reference/has_equal_to.html | 6 +- .../reference/has_greater.html | 6 +- .../reference/has_greater_equal.html | 6 +- .../reference/has_left_shift.html | 6 +- .../reference/has_left_shift_assign.html | 6 +- .../boost_typetraits/reference/has_less.html | 6 +- .../reference/has_less_equal.html | 6 +- .../reference/has_logical_and.html | 6 +- .../reference/has_logical_not.html | 6 +- .../reference/has_logical_or.html | 6 +- .../boost_typetraits/reference/has_minus.html | 6 +- .../reference/has_minus_assign.html | 6 +- .../reference/has_modulus.html | 6 +- .../reference/has_modulus_assign.html | 6 +- .../reference/has_multiplies.html | 6 +- .../reference/has_multiplies_assign.html | 6 +- .../reference/has_negate.html | 6 +- .../reference/has_new_operator.html | 2 +- .../reference/has_no_throw_def_cons.html | 2 +- .../reference/has_not_equal_to.html | 6 +- .../reference/has_nothrow_assign.html | 2 +- .../reference/has_nothrow_constructor.html | 2 +- .../reference/has_nothrow_copy.html | 2 +- .../reference/has_nothrow_cp_cons.html | 2 +- .../boost_typetraits/reference/has_plus.html | 6 +- .../reference/has_plus_assign.html | 6 +- .../reference/has_post_decrement.html | 6 +- .../reference/has_post_increment.html | 6 +- .../reference/has_pre_decrement.html | 6 +- .../reference/has_pre_increment.html | 6 +- .../reference/has_right_shift.html | 6 +- .../reference/has_right_shift_assign.html | 6 +- .../reference/has_trivial_assign.html | 2 +- .../reference/has_trivial_constructor.html | 2 +- .../reference/has_trivial_copy.html | 2 +- .../reference/has_trivial_cp_cons.html | 2 +- .../reference/has_trivial_def_cons.html | 2 +- .../reference/has_trivial_destructor.html | 2 +- .../reference/has_trivial_move_assign.html | 2 +- .../has_trivial_move_constructor.html | 2 +- .../reference/has_unary_minus.html | 6 +- .../reference/has_unary_plus.html | 6 +- .../reference/has_virtual_destructor.html | 2 +- .../reference/integral_constant.html | 2 +- .../reference/integral_promotion.html | 2 +- .../reference/is_abstract.html | 2 +- .../reference/is_arithmetic.html | 2 +- .../boost_typetraits/reference/is_array.html | 2 +- .../reference/is_base_of.html | 2 +- .../boost_typetraits/reference/is_class.html | 2 +- .../reference/is_complex.html | 2 +- .../reference/is_compound.html | 2 +- .../boost_typetraits/reference/is_const.html | 2 +- .../reference/is_convertible.html | 8 +- .../reference/is_copy_constructible.html | 103 ++++++ .../boost_typetraits/reference/is_empty.html | 10 +- .../boost_typetraits/reference/is_enum.html | 2 +- .../reference/is_floating_point.html | 2 +- .../reference/is_function.html | 2 +- .../reference/is_fundamental.html | 2 +- .../reference/is_integral.html | 2 +- .../reference/is_lvalue_reference.html | 2 +- .../reference/is_member_function_pointer.html | 2 +- .../reference/is_member_object_pointer.html | 2 +- .../reference/is_member_pointer.html | 2 +- .../reference/is_nothrow_move_assignable.html | 2 +- .../is_nothrow_move_constructible.html | 2 +- .../boost_typetraits/reference/is_object.html | 2 +- .../boost_typetraits/reference/is_pod.html | 2 +- .../reference/is_pointer.html | 2 +- .../reference/is_polymorphic.html | 2 +- .../reference/is_reference.html | 2 +- .../reference/is_rvalue_reference.html | 2 +- .../boost_typetraits/reference/is_same.html | 2 +- .../boost_typetraits/reference/is_scalar.html | 2 +- .../boost_typetraits/reference/is_signed.html | 2 +- .../reference/is_stateless.html | 2 +- .../boost_typetraits/reference/is_union.html | 2 +- .../reference/is_unsigned.html | 2 +- .../reference/is_virtual_base_of.html | 2 +- .../boost_typetraits/reference/is_void.html | 2 +- .../reference/is_volatile.html | 2 +- .../reference/make_signed.html | 2 +- .../reference/make_unsigned.html | 2 +- .../boost_typetraits/reference/promote.html | 2 +- doc/html/boost_typetraits/reference/rank.html | 2 +- .../reference/remove_all_extents.html | 2 +- .../reference/remove_const.html | 2 +- .../boost_typetraits/reference/remove_cv.html | 2 +- .../reference/remove_extent.html | 2 +- .../reference/remove_pointer.html | 2 +- .../reference/remove_reference.html | 2 +- .../reference/remove_volatile.html | 2 +- .../reference/type_with_alignment.html | 2 +- doc/html/boost_typetraits/user_defined.html | 2 +- doc/html/index.html | 7 +- doc/html/index/s11.html | 83 ++--- doc/html/index/s12.html | 24 +- doc/html/index/s13.html | 52 +-- doc/html/index/s14.html | 265 +++++++-------- doc/is_copy_constructible.qbk | 51 +++ doc/type_traits.qbk | 2 + include/boost/type_traits.hpp | 1 + .../type_traits/is_copy_constructible.hpp | 122 +++++++ include/boost/type_traits/is_integral.hpp | 6 + test/is_arithmetic_test.cpp | 7 + test/is_copy_constructible_test.cpp | 312 ++++++++++++++++++ test/is_fundamental_test.cpp | 7 + test/is_integral_test.cpp | 14 +- test/is_pod_test.cpp | 7 + test/is_scalar_test.cpp | 7 + 161 files changed, 1142 insertions(+), 501 deletions(-) create mode 100644 doc/html/boost_typetraits/reference/is_copy_constructible.html create mode 100644 doc/is_copy_constructible.qbk create mode 100644 include/boost/type_traits/is_copy_constructible.hpp create mode 100644 test/is_copy_constructible_test.cpp diff --git a/doc/credits.qbk b/doc/credits.qbk index 39eef4b..b51382f 100644 --- a/doc/credits.qbk +++ b/doc/credits.qbk @@ -18,7 +18,8 @@ current maintainer of the library. This version of type traits library is based on contributions by Adobe Systems Inc, David Abrahams, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant, Jesse Jones, Mat Marcus, -Itay Maman, John Maddock, Thorsten Ottosen, Robert Ramey and Jeremy Siek. +Itay Maman, John Maddock, Thorsten Ottosen, Robert Ramey, Jeremy Siek +and Antony Polukhin. Mat Marcus and Jesse Jones invented, and [@http://opensource.adobe.com/project4/project.shtml published a paper describing], diff --git a/doc/history.qbk b/doc/history.qbk index 60aebf5..2dde9f8 100644 --- a/doc/history.qbk +++ b/doc/history.qbk @@ -7,6 +7,9 @@ [section:history History] +[h4 Boost 1.55.0] + +* Added new trait __is_copy_constructible. [h4 Boost 1.54.0] diff --git a/doc/html/boost_typetraits/background.html b/doc/html/boost_typetraits/background.html index 382fc9c..b4fa7fa 100644 --- a/doc/html/boost_typetraits/background.html +++ b/doc/html/boost_typetraits/background.html @@ -3,7 +3,7 @@ Background and Tutorial - + @@ -57,7 +57,7 @@

- Type + Type Traits

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

- Implementation + Implementation

There are far too many separate classes contained in the type-traits library @@ -176,7 +176,7 @@

- Optimized + Optimized copy

@@ -195,7 +195,7 @@ copy in terms of memcpy all of the following conditions need to be met:

-