|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r81829 - in branches/release: boost boost/type_traits libs/type_traits libs/type_traits/test
From: john_at_[hidden]
Date: 2012-12-10 13:11:46
Author: johnmaddock
Date: 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
New Revision: 81829
URL: http://svn.boost.org/trac/boost/changeset/81829
Log:
Merge changes from Trunk.
Properties modified:
branches/release/boost/type_traits/ (props changed)
branches/release/boost/type_traits.hpp (props changed)
branches/release/libs/type_traits/ (props changed)
Text files modified:
branches/release/boost/type_traits/add_lvalue_reference.hpp | 2
branches/release/boost/type_traits/add_reference.hpp | 2
branches/release/boost/type_traits/add_rvalue_reference.hpp | 8 +-
branches/release/boost/type_traits/common_type.hpp | 22 ++++----
branches/release/boost/type_traits/intrinsics.hpp | 7 ++
branches/release/boost/type_traits/is_const.hpp | 2
branches/release/boost/type_traits/is_convertible.hpp | 93 +++++++++++++++++++++++++++++++++------
branches/release/boost/type_traits/is_function.hpp | 7 ++
branches/release/boost/type_traits/is_integral.hpp | 5 ++
branches/release/boost/type_traits/is_rvalue_reference.hpp | 2
branches/release/boost/type_traits/is_volatile.hpp | 2
branches/release/boost/type_traits/make_signed.hpp | 16 ++++++
branches/release/boost/type_traits/make_unsigned.hpp | 16 ++++++
branches/release/boost/type_traits/remove_const.hpp | 2
branches/release/boost/type_traits/remove_cv.hpp | 2
branches/release/boost/type_traits/remove_reference.hpp | 2
branches/release/boost/type_traits/remove_volatile.hpp | 2
branches/release/libs/type_traits/test/add_const_test.cpp | 4
branches/release/libs/type_traits/test/add_cv_test.cpp | 4
branches/release/libs/type_traits/test/add_lvalue_reference_test.cpp | 4
branches/release/libs/type_traits/test/add_reference_test.cpp | 4
branches/release/libs/type_traits/test/add_rvalue_reference_test.cpp | 4
branches/release/libs/type_traits/test/add_volatile_test.cpp | 4
branches/release/libs/type_traits/test/common_type_2_test.cpp | 2
branches/release/libs/type_traits/test/common_type_test.cpp | 2
branches/release/libs/type_traits/test/extent_test.cpp | 2
branches/release/libs/type_traits/test/has_nothrow_assign_test.cpp | 2
branches/release/libs/type_traits/test/has_nothrow_constr_test.cpp | 2
branches/release/libs/type_traits/test/has_nothrow_copy_test.cpp | 2
branches/release/libs/type_traits/test/has_operator_new_test.cpp | 2
branches/release/libs/type_traits/test/has_trivial_assign_test.cpp | 2
branches/release/libs/type_traits/test/has_trivial_constr_test.cpp | 2
branches/release/libs/type_traits/test/has_trivial_copy_test.cpp | 2
branches/release/libs/type_traits/test/has_virtual_destructor_test.cpp | 2
branches/release/libs/type_traits/test/is_abstract_test.cpp | 2
branches/release/libs/type_traits/test/is_arithmetic_test.cpp | 2
branches/release/libs/type_traits/test/is_array_test.cpp | 2
branches/release/libs/type_traits/test/is_class_test.cpp | 2
branches/release/libs/type_traits/test/is_const_test.cpp | 2
branches/release/libs/type_traits/test/is_convertible_test.cpp | 11 +++-
branches/release/libs/type_traits/test/is_empty_test.cpp | 2
branches/release/libs/type_traits/test/is_enum_test.cpp | 6 +-
branches/release/libs/type_traits/test/is_float_test.cpp | 2
branches/release/libs/type_traits/test/is_floating_point_test.cpp | 2
branches/release/libs/type_traits/test/is_function_test.cpp | 2
branches/release/libs/type_traits/test/is_fundamental_test.cpp | 2
branches/release/libs/type_traits/test/is_integral_test.cpp | 14 +++++
branches/release/libs/type_traits/test/is_lvalue_reference_test.cpp | 2
branches/release/libs/type_traits/test/is_object_test.cpp | 2
branches/release/libs/type_traits/test/is_pod_test.cpp | 2
branches/release/libs/type_traits/test/is_pointer_test.cpp | 2
branches/release/libs/type_traits/test/is_polymorphic_test.cpp | 2
branches/release/libs/type_traits/test/is_reference_test.cpp | 2
branches/release/libs/type_traits/test/is_rvalue_reference_test.cpp | 2
branches/release/libs/type_traits/test/is_same_test.cpp | 4
branches/release/libs/type_traits/test/is_scalar_test.cpp | 2
branches/release/libs/type_traits/test/is_signed_test.cpp | 6 ++
branches/release/libs/type_traits/test/is_stateless_test.cpp | 2
branches/release/libs/type_traits/test/is_union_test.cpp | 2
branches/release/libs/type_traits/test/is_unsigned_test.cpp | 7 ++
branches/release/libs/type_traits/test/is_void_test.cpp | 2
branches/release/libs/type_traits/test/is_volatile_test.cpp | 2
branches/release/libs/type_traits/test/make_signed_test.cpp | 4 +
branches/release/libs/type_traits/test/make_unsigned_test.cpp | 4 +
branches/release/libs/type_traits/test/rank_test.cpp | 2
branches/release/libs/type_traits/test/remove_all_extents_test.cpp | 4
branches/release/libs/type_traits/test/remove_bounds_test.cpp | 4
branches/release/libs/type_traits/test/remove_cv_test.cpp | 4
branches/release/libs/type_traits/test/remove_extent_test.cpp | 4
branches/release/libs/type_traits/test/remove_pointer_test.cpp | 4
branches/release/libs/type_traits/test/remove_reference_test.cpp | 4
branches/release/libs/type_traits/test/test.hpp | 2
branches/release/libs/type_traits/test/tricky_add_pointer_test.cpp | 4
branches/release/libs/type_traits/test/tricky_function_type_test.cpp | 7 +++
branches/release/libs/type_traits/test/tricky_partial_spec_test.cpp | 2
branches/release/libs/type_traits/test/tricky_rvalue_test.cpp | 6 ++
76 files changed, 268 insertions(+), 117 deletions(-)
Modified: branches/release/boost/type_traits/add_lvalue_reference.hpp
==============================================================================
--- branches/release/boost/type_traits/add_lvalue_reference.hpp (original)
+++ branches/release/boost/type_traits/add_lvalue_reference.hpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -15,7 +15,7 @@
BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_lvalue_reference,T,typename boost::add_reference<T>::type)
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_lvalue_reference,T&&,T&)
#endif
Modified: branches/release/boost/type_traits/add_reference.hpp
==============================================================================
--- branches/release/boost/type_traits/add_reference.hpp (original)
+++ branches/release/boost/type_traits/add_reference.hpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -62,7 +62,7 @@
typedef T& type;
};
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
template <typename T>
struct add_reference_rvalue_layer<T&&>
{
Modified: branches/release/boost/type_traits/add_rvalue_reference.hpp
==============================================================================
--- branches/release/boost/type_traits/add_rvalue_reference.hpp (original)
+++ branches/release/boost/type_traits/add_rvalue_reference.hpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -21,7 +21,7 @@
//----------------------------------------------------------------------------//
// //
// C++03 implementation of //
-// 20.7.6.2 Reference modifications [meta.trans.ref] //
+// 20.9.7.2 Reference modifications [meta.trans.ref] //
// Written by Vicente J. Botet Escriba //
// //
// If T names an object or function type then the member typedef type
@@ -39,7 +39,7 @@
struct add_rvalue_reference_helper
{ typedef T type; };
-#if !defined(BOOST_NO_RVALUE_REFERENCES) && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
template <typename T>
struct add_rvalue_reference_helper<T, true>
{
@@ -49,9 +49,9 @@
template <typename T>
struct add_rvalue_reference_imp
- {
+ {
typedef typename boost::type_traits_detail::add_rvalue_reference_helper
- <T, (!is_void<T>::value && !is_reference<T>::value) >::type type;
+ <T, (is_void<T>::value == false && is_reference<T>::value == false) >::type type;
};
}
Modified: branches/release/boost/type_traits/common_type.hpp
==============================================================================
--- branches/release/boost/type_traits/common_type.hpp (original)
+++ branches/release/boost/type_traits/common_type.hpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -19,18 +19,18 @@
#endif
//----------------------------------------------------------------------------//
-#if defined(BOOST_NO_VARIADIC_TEMPLATES) && !defined(BOOST_COMMON_TYPE_ARITY)
+#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_COMMON_TYPE_ARITY)
#define BOOST_COMMON_TYPE_ARITY 3
#endif
//----------------------------------------------------------------------------//
-#if defined(BOOST_NO_DECLTYPE) && !defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF) && !defined(BOOST_TYPEOF_SILENT)
+#if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF) && !defined(BOOST_TYPEOF_SILENT)
#define BOOST_TYPEOF_SILENT
#include <boost/typeof/typeof.hpp> // boost wonders never cease!
#endif
//----------------------------------------------------------------------------//
-#ifndef BOOST_NO_STATIC_ASSERT
+#ifndef BOOST_NO_CXX11_STATIC_ASSERT
#define BOOST_COMMON_TYPE_STATIC_ASSERT(CND, MSG, TYPES) static_assert(CND,MSG)
#elif defined(BOOST_COMMON_TYPE_USES_MPL_ASSERT)
#include <boost/mpl/assert.hpp>
@@ -42,11 +42,11 @@
#define BOOST_COMMON_TYPE_STATIC_ASSERT(CND, MSG, TYPES) BOOST_STATIC_ASSERT(CND)
#endif
-#if !defined(BOOST_NO_STATIC_ASSERT) || !defined(BOOST_COMMON_TYPE_USES_MPL_ASSERT)
+#if !defined(BOOST_NO_CXX11_STATIC_ASSERT) || !defined(BOOST_COMMON_TYPE_USES_MPL_ASSERT)
#define BOOST_COMMON_TYPE_MUST_BE_A_COMPLE_TYPE "must be complete type"
#endif
-#if defined(BOOST_NO_DECLTYPE) && defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF)
+#if defined(BOOST_NO_CXX11_DECLTYPE) && defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF)
#include <boost/type_traits/detail/common_type_imp.hpp>
#include <boost/type_traits/remove_cv.hpp>
#endif
@@ -57,7 +57,7 @@
//----------------------------------------------------------------------------//
// //
// C++03 implementation of //
-// 20.6.7 Other transformations [meta.trans.other] //
+// 20.9.7.6 Other transformations [meta.trans.other] //
// Written by Howard Hinnant //
// Adapted for Boost by Beman Dawes, Vicente Botet and Jeffrey Hellrung //
// //
@@ -66,7 +66,7 @@
namespace boost {
// prototype
-#if !defined(BOOST_NO_VARIADIC_TEMPLATES)
+#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
template<typename... T>
struct common_type;
#else // or no specialization
@@ -81,7 +81,7 @@
// 1 arg
template<typename T>
-#if !defined(BOOST_NO_VARIADIC_TEMPLATES)
+#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
struct common_type<T>
#else
struct common_type<T, void, void>
@@ -107,7 +107,7 @@
static typename add_rvalue_reference<U>::type declval_U(); // workaround gcc bug; not required by std
static typename add_rvalue_reference<bool>::type declval_b();
-#if !defined(BOOST_NO_DECLTYPE)
+#if !defined(BOOST_NO_CXX11_DECLTYPE)
public:
typedef decltype(declval<bool>() ? declval<T>() : declval<U>()) type;
#elif defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF)
@@ -134,7 +134,7 @@
};
}
-#if !defined(BOOST_NO_VARIADIC_TEMPLATES)
+#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
template <class T, class U>
struct common_type<T, U>
#else
@@ -146,7 +146,7 @@
// 3 or more args
-#if !defined(BOOST_NO_VARIADIC_TEMPLATES)
+#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
template<typename T, typename U, typename... V>
struct common_type<T, U, V...> {
public:
Modified: branches/release/boost/type_traits/intrinsics.hpp
==============================================================================
--- branches/release/boost/type_traits/intrinsics.hpp (original)
+++ branches/release/boost/type_traits/intrinsics.hpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -79,8 +79,10 @@
# define BOOST_HAS_TYPE_TRAITS_INTRINSICS
#endif
-#if defined(BOOST_MSVC) && defined(BOOST_MSVC_FULL_VER) && (BOOST_MSVC_FULL_VER >=140050215)
+#if (defined(BOOST_MSVC) && defined(BOOST_MSVC_FULL_VER) && (BOOST_MSVC_FULL_VER >=140050215))\
+ || (defined(BOOST_INTEL) && defined(_MSC_VER) && (_MSC_VER >= 1500))
# include <boost/type_traits/is_same.hpp>
+# include <boost/type_traits/is_function.hpp>
# define BOOST_IS_UNION(T) __is_union(T)
# define BOOST_IS_POD(T) (__is_pod(T) && __has_trivial_constructor(T))
@@ -97,7 +99,7 @@
# define BOOST_IS_ABSTRACT(T) __is_abstract(T)
# define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same<T,U>::value)
# define BOOST_IS_CLASS(T) __is_class(T)
-# define BOOST_IS_CONVERTIBLE(T,U) ((__is_convertible_to(T,U) || is_same<T,U>::value) && !__is_abstract(U))
+# define BOOST_IS_CONVERTIBLE(T,U) ((__is_convertible_to(T,U) || (is_same<T,U>::value && !is_function<U>::value)) && !__is_abstract(U))
# define BOOST_IS_ENUM(T) __is_enum(T)
// This one doesn't quite always do the right thing:
// # define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)
@@ -287,3 +289,4 @@
+
Modified: branches/release/boost/type_traits/is_const.hpp
==============================================================================
--- branches/release/boost/type_traits/is_const.hpp (original)
+++ branches/release/boost/type_traits/is_const.hpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -64,7 +64,7 @@
BOOST_STATIC_CONSTANT(bool, value = ::boost::detail::cv_traits_imp<T*>::is_const);
#endif
};
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
template <class T>
struct is_const_rvalue_filter<T&&>
{
Modified: branches/release/boost/type_traits/is_convertible.hpp
==============================================================================
--- branches/release/boost/type_traits/is_convertible.hpp (original)
+++ branches/release/boost/type_traits/is_convertible.hpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -17,17 +17,17 @@
#include <boost/type_traits/detail/yes_no_type.hpp>
#include <boost/type_traits/config.hpp>
#include <boost/type_traits/is_array.hpp>
-#include <boost/type_traits/add_reference.hpp>
#include <boost/type_traits/ice.hpp>
#include <boost/type_traits/is_arithmetic.hpp>
#include <boost/type_traits/is_void.hpp>
#ifndef BOOST_NO_IS_ABSTRACT
#include <boost/type_traits/is_abstract.hpp>
#endif
+#include <boost/type_traits/add_lvalue_reference.hpp>
#include <boost/type_traits/add_rvalue_reference.hpp>
+#include <boost/type_traits/is_function.hpp>
#if defined(__MWERKS__)
-#include <boost/type_traits/is_function.hpp>
#include <boost/type_traits/remove_reference.hpp>
#endif
@@ -69,7 +69,7 @@
{
static no_type BOOST_TT_DECL _m_check(...);
static yes_type BOOST_TT_DECL _m_check(To);
- static typename add_rvalue_reference<From>::type _m_from;
+ static typename add_lvalue_reference<From>::type _m_from;
enum { value = sizeof( _m_check(_m_from) ) == sizeof(yes_type) };
};
};
@@ -107,7 +107,7 @@
static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(T);
};
- static typename add_rvalue_reference<From>::type _m_from;
+ static typename add_lvalue_reference<From>::type _m_from;
static bool const value = sizeof( checker<To>::_m_check(_m_from) )
== sizeof(::boost::type_traits::yes_type);
#pragma option pop
@@ -120,6 +120,8 @@
struct any_conversion
{
template <typename T> any_conversion(const volatile T&);
+ template <typename T> any_conversion(const T&);
+ template <typename T> any_conversion(volatile T&);
template <typename T> any_conversion(T&);
};
@@ -132,9 +134,18 @@
template <typename From, typename To>
struct is_convertible_basic_impl
{
- static typename add_rvalue_reference<From>::type _m_from;
- static bool const value = sizeof( boost::detail::checker<To>::_m_check(_m_from, 0) )
+ typedef typename add_lvalue_reference<From>::type lvalue_type;
+ typedef typename add_rvalue_reference<From>::type rvalue_type;
+ static lvalue_type _m_from;
+#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 6)))
+ static bool const value =
+ sizeof( boost::detail::checker<To>::_m_check(static_cast<rvalue_type>(_m_from), 0) )
+ == sizeof(::boost::type_traits::yes_type);
+#else
+ static bool const value =
+ sizeof( boost::detail::checker<To>::_m_check(_m_from, 0) )
== sizeof(::boost::type_traits::yes_type);
+#endif
};
#elif (defined(__EDG_VERSION__) && (__EDG_VERSION__ >= 245) && !defined(__ICL)) \
@@ -152,6 +163,8 @@
struct any_conversion
{
template <typename T> any_conversion(const volatile T&);
+ template <typename T> any_conversion(const T&);
+ template <typename T> any_conversion(volatile T&);
// we need this constructor to catch references to functions
// (which can not be cv-qualified):
template <typename T> any_conversion(T&);
@@ -162,11 +175,19 @@
{
static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(any_conversion ...);
static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To, int);
- static typename add_rvalue_reference<From>::type _m_from;
+ typedef typename add_lvalue_reference<From>::type lvalue_type;
+ typedef typename add_rvalue_reference<From>::type rvalue_type;
+ static lvalue_type _m_from;
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+ BOOST_STATIC_CONSTANT(bool, value =
+ sizeof( _m_check(static_cast<rvalue_type>(_m_from), 0) ) == sizeof(::boost::type_traits::yes_type)
+ );
+#else
BOOST_STATIC_CONSTANT(bool, value =
sizeof( _m_check(_m_from, 0) ) == sizeof(::boost::type_traits::yes_type)
);
+#endif
};
#elif defined(__DMC__)
@@ -174,6 +195,8 @@
struct any_conversion
{
template <typename T> any_conversion(const volatile T&);
+ template <typename T> any_conversion(const T&);
+ template <typename T> any_conversion(volatile T&);
// we need this constructor to catch references to functions
// (which can not be cv-qualified):
template <typename T> any_conversion(T&);
@@ -186,13 +209,21 @@
template <class T>
static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(any_conversion, float, T);
static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To, int, int);
- static typename add_rvalue_reference<From>::type _m_from;
+ typedef typename add_lvalue_reference<From>::type lvalue_type;
+ typedef typename add_rvalue_reference<From>::type rvalue_type;
+ static lvalue_type _m_from;
// Static constants sometime cause the conversion of _m_from to To to be
// called. This doesn't happen with an enum.
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+ enum { value =
+ sizeof( _m_check(static_cast<rvalue_type>(_m_from), 0, 0) ) == sizeof(::boost::type_traits::yes_type)
+ };
+#else
enum { value =
sizeof( _m_check(_m_from, 0, 0) ) == sizeof(::boost::type_traits::yes_type)
};
+#endif
};
#elif defined(__MWERKS__)
@@ -209,6 +240,9 @@
struct any_conversion
{
template <typename T> any_conversion(const volatile T&);
+ template <typename T> any_conversion(const T&);
+ template <typename T> any_conversion(volatile T&);
+ template <typename T> any_conversion(T&);
};
template <typename From, typename To>
@@ -216,11 +250,19 @@
{
static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(any_conversion ...);
static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To, int);
- static typename add_rvalue_reference<From>::type _m_from;
+ typedef typename add_lvalue_reference<From>::type lvalue_type;
+ typedef typename add_rvalue_reference<From>::type rvalue_type;
+ static lvalue_type _m_from;
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+ BOOST_STATIC_CONSTANT(bool, value =
+ sizeof( _m_check(static_cast<rvalue_type>(_m_from), 0) ) == sizeof(::boost::type_traits::yes_type)
+ );
+#else
BOOST_STATIC_CONSTANT(bool, value =
sizeof( _m_check(_m_from, 0) ) == sizeof(::boost::type_traits::yes_type)
);
+#endif
};
template <typename From, typename To>
@@ -228,10 +270,18 @@
{
static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(...);
static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To);
- static typename add_rvalue_reference<From>::type _m_from;
+ typedef typename add_lvalue_reference<From>::type lvalue_type;
+ typedef typename add_rvalue_reference<From>::type rvalue_type;
+ static lvalue_type _m_from;
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+ BOOST_STATIC_CONSTANT(bool, value =
+ sizeof( _m_check(static_cast<rvalue_type>(_m_from)) ) == sizeof(::boost::type_traits::yes_type)
+ );
+#else
BOOST_STATIC_CONSTANT(bool, value =
sizeof( _m_check(_m_from) ) == sizeof(::boost::type_traits::yes_type)
);
+#endif
};
template <typename From, typename To>
@@ -243,7 +293,6 @@
{};
#else
-
//
// This version seems to work pretty well for a wide spectrum of compilers,
// however it does rely on undefined behaviour by passing UDT's through (...).
@@ -253,7 +302,9 @@
{
static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(...);
static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To);
- static typename add_rvalue_reference<From>::type _m_from;
+ typedef typename add_lvalue_reference<From>::type lvalue_type;
+ typedef typename add_rvalue_reference<From>::type rvalue_type;
+ static lvalue_type _m_from;
#ifdef BOOST_MSVC
#pragma warning(push)
#pragma warning(disable:4244)
@@ -261,9 +312,15 @@
#pragma warning(disable:6334)
#endif
#endif
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+ BOOST_STATIC_CONSTANT(bool, value =
+ sizeof( _m_check(static_cast<rvalue_type>(_m_from)) ) == sizeof(::boost::type_traits::yes_type)
+ );
+#else
BOOST_STATIC_CONSTANT(bool, value =
sizeof( _m_check(_m_from) ) == sizeof(::boost::type_traits::yes_type)
);
+#endif
#ifdef BOOST_MSVC
#pragma warning(pop)
#endif
@@ -276,15 +333,17 @@
template <typename From, typename To>
struct is_convertible_impl
{
- typedef typename add_reference<From>::type ref_type;
enum { value =
(::boost::type_traits::ice_and<
::boost::type_traits::ice_or<
- ::boost::detail::is_convertible_basic_impl<ref_type,To>::value,
+ ::boost::detail::is_convertible_basic_impl<From,To>::value,
::boost::is_void<To>::value
>::value,
::boost::type_traits::ice_not<
::boost::is_array<To>::value
+ >::value,
+ ::boost::type_traits::ice_not<
+ ::boost::is_function<To>::value
>::value
>::value) };
};
@@ -292,15 +351,17 @@
template <typename From, typename To>
struct is_convertible_impl
{
- typedef typename add_reference<From>::type ref_type;
BOOST_STATIC_CONSTANT(bool, value =
(::boost::type_traits::ice_and<
::boost::type_traits::ice_or<
- ::boost::detail::is_convertible_basic_impl<ref_type,To>::value,
+ ::boost::detail::is_convertible_basic_impl<From,To>::value,
::boost::is_void<To>::value
>::value,
::boost::type_traits::ice_not<
::boost::is_array<To>::value
+ >::value,
+ ::boost::type_traits::ice_not<
+ ::boost::is_function<To>::value
>::value
>::value)
);
Modified: branches/release/boost/type_traits/is_function.hpp
==============================================================================
--- branches/release/boost/type_traits/is_function.hpp (original)
+++ branches/release/boost/type_traits/is_function.hpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -83,6 +83,11 @@
template <typename T>
struct is_function_impl<T&> : public false_type
{};
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+template <typename T>
+struct is_function_impl<T&&> : public false_type
+{};
+#endif
#endif
#endif
@@ -95,7 +100,7 @@
BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_function,T,__is_function(T))
#else
BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_function,T,::boost::detail::is_function_impl<T>::value)
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_function,T&&,false)
#endif
#endif
Modified: branches/release/boost/type_traits/is_integral.hpp
==============================================================================
--- branches/release/boost/type_traits/is_integral.hpp (original)
+++ branches/release/boost/type_traits/is_integral.hpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -68,6 +68,11 @@
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int64,true)
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int64,true)
#endif
+
+#ifdef BOOST_HAS_INT128
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,boost::int128_type,true)
+BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,boost::uint128_type,true)
+#endif
#endif // non-CodeGear implementation
Modified: branches/release/boost/type_traits/is_rvalue_reference.hpp
==============================================================================
--- branches/release/boost/type_traits/is_rvalue_reference.hpp (original)
+++ branches/release/boost/type_traits/is_rvalue_reference.hpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -17,7 +17,7 @@
namespace boost {
BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_rvalue_reference,T,false)
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_rvalue_reference,T&&,true)
#endif
Modified: branches/release/boost/type_traits/is_volatile.hpp
==============================================================================
--- branches/release/boost/type_traits/is_volatile.hpp (original)
+++ branches/release/boost/type_traits/is_volatile.hpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -51,7 +51,7 @@
BOOST_STATIC_CONSTANT(bool, value = ::boost::detail::cv_traits_imp<T*>::is_volatile);
#endif
};
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
//
// We can't filter out rvalue_references at the same level as
// references or we get ambiguities from msvc:
Modified: branches/release/boost/type_traits/make_signed.hpp
==============================================================================
--- branches/release/boost/type_traits/make_signed.hpp (original)
+++ branches/release/boost/type_traits/make_signed.hpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -72,7 +72,15 @@
is_same<t_no_cv, unsigned long>,
long,
#if defined(BOOST_HAS_LONG_LONG)
+#ifdef BOOST_HAS_INT128
+ typename mpl::if_c<
+ sizeof(t_no_cv) == sizeof(boost::long_long_type),
+ boost::long_long_type,
+ boost::int128_type
+ >::type
+#else
boost::long_long_type
+#endif
#elif defined(BOOST_HAS_MS_INT64)
__int64
#else
@@ -96,7 +104,15 @@
sizeof(t_no_cv) == sizeof(unsigned long),
long,
#if defined(BOOST_HAS_LONG_LONG)
+#ifdef BOOST_HAS_INT128
+ typename mpl::if_c<
+ sizeof(t_no_cv) == sizeof(boost::long_long_type),
+ boost::long_long_type,
+ boost::int128_type
+ >::type
+#else
boost::long_long_type
+#endif
#elif defined(BOOST_HAS_MS_INT64)
__int64
#else
Modified: branches/release/boost/type_traits/make_unsigned.hpp
==============================================================================
--- branches/release/boost/type_traits/make_unsigned.hpp (original)
+++ branches/release/boost/type_traits/make_unsigned.hpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -72,7 +72,15 @@
is_same<t_no_cv, long>,
unsigned long,
#if defined(BOOST_HAS_LONG_LONG)
+#ifdef BOOST_HAS_INT128
+ typename mpl::if_c<
+ sizeof(t_no_cv) == sizeof(boost::ulong_long_type),
+ boost::ulong_long_type,
+ boost::uint128_type
+ >::type
+#else
boost::ulong_long_type
+#endif
#elif defined(BOOST_HAS_MS_INT64)
unsigned __int64
#else
@@ -96,7 +104,15 @@
sizeof(t_no_cv) == sizeof(unsigned long),
unsigned long,
#if defined(BOOST_HAS_LONG_LONG)
+#ifdef BOOST_HAS_INT128
+ typename mpl::if_c<
+ sizeof(t_no_cv) == sizeof(boost::ulong_long_type),
+ boost::ulong_long_type,
+ boost::uint128_type
+ >::type
+#else
boost::ulong_long_type
+#endif
#elif defined(BOOST_HAS_MS_INT64)
unsigned __int64
#else
Modified: branches/release/boost/type_traits/remove_const.hpp
==============================================================================
--- branches/release/boost/type_traits/remove_const.hpp (original)
+++ branches/release/boost/type_traits/remove_const.hpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -54,7 +54,7 @@
>::type type;
};
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
//
// We can't filter out rvalue_references at the same level as
// references or we get ambiguities from msvc:
Modified: branches/release/boost/type_traits/remove_cv.hpp
==============================================================================
--- branches/release/boost/type_traits/remove_cv.hpp (original)
+++ branches/release/boost/type_traits/remove_cv.hpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -37,7 +37,7 @@
typedef typename boost::detail::cv_traits_imp<T*>::unqualified_type type;
};
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
//
// We can't filter out rvalue_references at the same level as
// references or we get ambiguities from msvc:
Modified: branches/release/boost/type_traits/remove_reference.hpp
==============================================================================
--- branches/release/boost/type_traits/remove_reference.hpp (original)
+++ branches/release/boost/type_traits/remove_reference.hpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -34,7 +34,7 @@
{
typedef T type;
};
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
template <class T>
struct remove_rvalue_ref<T&&>
{
Modified: branches/release/boost/type_traits/remove_volatile.hpp
==============================================================================
--- branches/release/boost/type_traits/remove_volatile.hpp (original)
+++ branches/release/boost/type_traits/remove_volatile.hpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -57,7 +57,7 @@
// We can't filter out rvalue_references at the same level as
// references or we get ambiguities from msvc:
//
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
template <typename T>
struct remove_volatile_impl<T&&>
{
Modified: branches/release/libs/type_traits/test/add_const_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/add_const_test.cpp (original)
+++ branches/release/libs/type_traits/test/add_const_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -21,7 +21,7 @@
BOOST_DECL_TRANSFORM_TEST(add_const_test_11, ::tt::add_const, volatile*, volatile*const)
BOOST_DECL_TRANSFORM_TEST(add_const_test_5, ::tt::add_const, const &, const&)
BOOST_DECL_TRANSFORM_TEST(add_const_test_6, ::tt::add_const, &, &)
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_DECL_TRANSFORM_TEST(add_const_test_5a, ::tt::add_const, const &&, const&&)
BOOST_DECL_TRANSFORM_TEST(add_const_test_6a, ::tt::add_const, &&, &&)
#endif
@@ -45,7 +45,7 @@
add_const_test_9();
add_const_test_12();
add_const_test_13();
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
add_const_test_5a();
add_const_test_6a();
#endif
Modified: branches/release/libs/type_traits/test/add_cv_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/add_cv_test.cpp (original)
+++ branches/release/libs/type_traits/test/add_cv_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -21,7 +21,7 @@
BOOST_DECL_TRANSFORM_TEST(add_cv_test_11, ::tt::add_cv, volatile*, volatile*const volatile )
BOOST_DECL_TRANSFORM_TEST(add_cv_test_5, ::tt::add_cv, const &, const&)
BOOST_DECL_TRANSFORM_TEST(add_cv_test_6, ::tt::add_cv, &, &)
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_DECL_TRANSFORM_TEST(add_cv_test_5a, ::tt::add_cv, const &&, const&&)
BOOST_DECL_TRANSFORM_TEST(add_cv_test_6a, ::tt::add_cv, &&, &&)
#endif
@@ -45,7 +45,7 @@
add_cv_test_9();
add_cv_test_12();
add_cv_test_13();
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
add_cv_test_5a();
add_cv_test_6a();
#endif
Modified: branches/release/libs/type_traits/test/add_lvalue_reference_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/add_lvalue_reference_test.cpp (original)
+++ branches/release/libs/type_traits/test/add_lvalue_reference_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -25,7 +25,7 @@
BOOST_DECL_TRANSFORM_TEST(add_lvalue_reference_test_11, ::tt::add_lvalue_reference, volatile*, volatile*&)
BOOST_DECL_TRANSFORM_TEST(add_lvalue_reference_test_12, ::tt::add_lvalue_reference, const[2][3], const (&)[2][3])
BOOST_DECL_TRANSFORM_TEST(add_lvalue_reference_test_13, ::tt::add_lvalue_reference, (&)[2], (&)[2])
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_DECL_TRANSFORM_TEST(add_lvalue_reference_test_5a, ::tt::add_lvalue_reference, const &&, const&)
BOOST_DECL_TRANSFORM_TEST(add_lvalue_reference_test_6a, ::tt::add_lvalue_reference, &&, &)
BOOST_DECL_TRANSFORM_TEST(add_lvalue_reference_test_13a, ::tt::add_lvalue_reference, (&&)[2], (&)[2])
@@ -46,7 +46,7 @@
add_lvalue_reference_test_11();
add_lvalue_reference_test_12();
add_lvalue_reference_test_13();
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
add_lvalue_reference_test_5a();
add_lvalue_reference_test_6a();
add_lvalue_reference_test_13a();
Modified: branches/release/libs/type_traits/test/add_reference_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/add_reference_test.cpp (original)
+++ branches/release/libs/type_traits/test/add_reference_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -25,7 +25,7 @@
BOOST_DECL_TRANSFORM_TEST(add_reference_test_11, ::tt::add_reference, volatile*, volatile*&)
BOOST_DECL_TRANSFORM_TEST(add_reference_test_12, ::tt::add_reference, const[2][3], const (&)[2][3])
BOOST_DECL_TRANSFORM_TEST(add_reference_test_13, ::tt::add_reference, (&)[2], (&)[2])
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_DECL_TRANSFORM_TEST(add_reference_test_5a, ::tt::add_reference, const &&, const&&)
BOOST_DECL_TRANSFORM_TEST(add_reference_test_6a, ::tt::add_reference, &&, &&)
BOOST_DECL_TRANSFORM_TEST(add_reference_test_13a, ::tt::add_reference, (&&)[2], (&&)[2])
@@ -46,7 +46,7 @@
add_reference_test_11();
add_reference_test_12();
add_reference_test_13();
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
add_reference_test_5a();
add_reference_test_6a();
add_reference_test_13a();
Modified: branches/release/libs/type_traits/test/add_rvalue_reference_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/add_rvalue_reference_test.cpp (original)
+++ branches/release/libs/type_traits/test/add_rvalue_reference_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -12,7 +12,7 @@
# include <boost/type_traits/add_rvalue_reference.hpp>
#endif
-#ifdef BOOST_NO_RVALUE_REFERENCES
+#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_DECL_TRANSFORM_TEST(add_rvalue_reference_test_1, ::tt::add_rvalue_reference, const, const)
BOOST_DECL_TRANSFORM_TEST(add_rvalue_reference_test_2, ::tt::add_rvalue_reference, volatile, volatile)
@@ -63,7 +63,7 @@
add_rvalue_reference_test_11();
add_rvalue_reference_test_12();
add_rvalue_reference_test_13();
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
add_rvalue_reference_test_5a();
add_rvalue_reference_test_6a();
add_rvalue_reference_test_13a();
Modified: branches/release/libs/type_traits/test/add_volatile_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/add_volatile_test.cpp (original)
+++ branches/release/libs/type_traits/test/add_volatile_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -21,7 +21,7 @@
BOOST_DECL_TRANSFORM_TEST(add_volatile_test_11, ::tt::add_volatile, volatile*, volatile*volatile)
BOOST_DECL_TRANSFORM_TEST(add_volatile_test_5, ::tt::add_volatile, const &, const&)
BOOST_DECL_TRANSFORM_TEST(add_volatile_test_6, ::tt::add_volatile, &, &)
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_DECL_TRANSFORM_TEST(add_volatile_test_6a, ::tt::add_volatile, &&, &&)
#endif
BOOST_DECL_TRANSFORM_TEST(add_volatile_test_8, ::tt::add_volatile, const [2], const volatile [2])
@@ -44,7 +44,7 @@
add_volatile_test_9();
add_volatile_test_12();
add_volatile_test_13();
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
add_volatile_test_6a();
#endif
Modified: branches/release/libs/type_traits/test/common_type_2_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/common_type_2_test.cpp (original)
+++ branches/release/libs/type_traits/test/common_type_2_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -92,7 +92,7 @@
typedef tt::common_type<C1C2&, C1&>::type T1;
typedef tt::common_type<C3*, C2*>::type T2;
typedef tt::common_type<int*, int const*>::type T3;
-#if defined(BOOST_NO_DECLTYPE) && !defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF)
+#if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF)
// fails if BOOST_COMMON_TYPE_DONT_USE_TYPEOF:
typedef tt::common_type<int volatile*, int const*>::type T4;
#endif
Modified: branches/release/libs/type_traits/test/common_type_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/common_type_test.cpp (original)
+++ branches/release/libs/type_traits/test/common_type_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -89,7 +89,7 @@
typedef tt::common_type<C1C2&, C1&>::type T1;
typedef tt::common_type<C3*, C2*>::type T2;
typedef tt::common_type<int*, int const*>::type T3;
-#if defined(BOOST_NO_DECLTYPE) && !defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF)
+#if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF)
// fails if BOOST_COMMON_TYPE_DONT_USE_TYPEOF:
typedef tt::common_type<int volatile*, int const*>::type T4;
#endif
Modified: branches/release/libs/type_traits/test/extent_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/extent_test.cpp (original)
+++ branches/release/libs/type_traits/test/extent_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -34,7 +34,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::extent<int*>::value, 0);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::extent<int&>::value, 0);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::extent<int&&>::value, 0);
#endif
Modified: branches/release/libs/type_traits/test/has_nothrow_assign_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/has_nothrow_assign_test.cpp (original)
+++ branches/release/libs/type_traits/test/has_nothrow_assign_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -184,7 +184,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<enum_UDT>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<int&&>::value, false);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_assign<const int&>::value, false);
Modified: branches/release/libs/type_traits/test/has_nothrow_constr_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/has_nothrow_constr_test.cpp (original)
+++ branches/release/libs/type_traits/test/has_nothrow_constr_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -142,7 +142,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<enum_UDT>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<int&&>::value, false);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_constructor<const int&>::value, false);
Modified: branches/release/libs/type_traits/test/has_nothrow_copy_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/has_nothrow_copy_test.cpp (original)
+++ branches/release/libs/type_traits/test/has_nothrow_copy_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -181,7 +181,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<enum_UDT>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<int&&>::value, false);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<const int&>::value, false);
Modified: branches/release/libs/type_traits/test/has_operator_new_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/has_operator_new_test.cpp (original)
+++ branches/release/libs/type_traits/test/has_operator_new_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -188,7 +188,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<enum_UDT>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<int&&>::value, false);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<const int&>::value, false);
Modified: branches/release/libs/type_traits/test/has_trivial_assign_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/has_trivial_assign_test.cpp (original)
+++ branches/release/libs/type_traits/test/has_trivial_assign_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -176,7 +176,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<enum_UDT>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<int&&>::value, false);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_assign<const int&>::value, false);
Modified: branches/release/libs/type_traits/test/has_trivial_constr_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/has_trivial_constr_test.cpp (original)
+++ branches/release/libs/type_traits/test/has_trivial_constr_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -142,7 +142,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<enum_UDT>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<int&&>::value, false);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_constructor<const int&>::value, false);
Modified: branches/release/libs/type_traits/test/has_trivial_copy_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/has_trivial_copy_test.cpp (original)
+++ branches/release/libs/type_traits/test/has_trivial_copy_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -177,7 +177,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<enum_UDT>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<int&&>::value, false);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_trivial_copy<const int&>::value, false);
Modified: branches/release/libs/type_traits/test/has_virtual_destructor_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/has_virtual_destructor_test.cpp (original)
+++ branches/release/libs/type_traits/test/has_virtual_destructor_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -41,7 +41,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<UDT*>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<UDT[2]>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<UDT&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<UDT&&>::value, false);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_virtual_destructor<void>::value, false);
Modified: branches/release/libs/type_traits/test/is_abstract_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_abstract_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_abstract_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -226,7 +226,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestAF>::value), false);
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<volatile const TestAG>::value), false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestA&&>::value), false);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract<TestA&>::value), false);
Modified: branches/release/libs/type_traits/test/is_arithmetic_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_arithmetic_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_arithmetic_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -136,7 +136,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<empty_UDT>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<float*>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<float&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<float&&>::value, false);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<const float&>::value, false);
Modified: branches/release/libs/type_traits/test/is_array_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_array_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_array_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -32,7 +32,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<int[2][3]>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<UDT[2]>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<int(&)[2]>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<int(&&)[2]>::value, false);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_array<f1>::value, false);
Modified: branches/release/libs/type_traits/test/is_class_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_class_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_class_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -23,7 +23,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<int[2]>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<int const[2]>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<int&&>::value, false);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class<mf4>::value, false);
Modified: branches/release/libs/type_traits/test/is_const_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_const_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_const_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -23,7 +23,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_const<const UDT>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_const<const volatile UDT>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_const<const int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_const<const int&&>::value, false);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_const<cr_type>::value, false);
Modified: branches/release/libs/type_traits/test/is_convertible_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_convertible_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_convertible_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -24,7 +24,7 @@
struct middle2 : public virtual base2 { };
struct derived2 : public middle2 { };
-#if !defined(BOOST_NO_RVALUE_REFERENCES)
+#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
template<typename T>
struct test_bug_4530
@@ -100,8 +100,13 @@
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<const int&, int&>::value), false);
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<const int*, int[3]>::value), false);
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<const int&, int>::value), true);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<const int&&, int>::value), true);
+BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<int&&, const int&>::value), true);
+#if !defined(__GNUC__) || ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 6)))
+// Machinary required to support this, not available prior to gcc-4.7.0:
+BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<int, int&>::value), false);
+#endif
#endif
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<int(&)[4], const int*>::value), true);
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<int(&)(int), int(*)(int)>::value), true);
@@ -177,7 +182,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<__int64,float>::value), true);
#endif
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
// Test bug case 4530:
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<test_bug_4530<A4530>,A4530>::value), true);
#endif
Modified: branches/release/libs/type_traits/test/is_empty_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_empty_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_empty_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -24,7 +24,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_empty<int>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_empty<int*>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_empty<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_empty<int&&>::value, false);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_empty<void>::value, false);
Modified: branches/release/libs/type_traits/test/is_enum_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_enum_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_enum_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -12,7 +12,7 @@
# include <boost/type_traits/is_enum.hpp>
#endif
-#ifndef BOOST_NO_SCOPED_ENUMS
+#ifndef BOOST_NO_CXX11_SCOPED_ENUMS
enum class test_enum
{
@@ -27,13 +27,13 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_enum<enum_UDT>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_enum<int_convertible>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_enum<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_enum<int&&>::value, false);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_enum<boost::noncopyable>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_enum<void>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_enum<test_abc1>::value, false);
-#ifndef BOOST_NO_SCOPED_ENUMS
+#ifndef BOOST_NO_CXX11_SCOPED_ENUMS
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_enum<test_enum>::value, true);
#endif
Modified: branches/release/libs/type_traits/test/is_float_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_float_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_float_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -39,7 +39,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<empty_UDT>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<float*>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<float&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<float&&>::value, false);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_float<const float&>::value, false);
Modified: branches/release/libs/type_traits/test/is_floating_point_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_floating_point_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_floating_point_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -39,7 +39,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<empty_UDT>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<float*>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<float&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<float&&>::value, false);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_floating_point<const float&>::value, false);
Modified: branches/release/libs/type_traits/test/is_function_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_function_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_function_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -30,7 +30,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<int>::value, false);
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<int&&>::value, false);
#endif
#else
Modified: branches/release/libs/type_traits/test/is_fundamental_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_fundamental_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_fundamental_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -140,7 +140,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<empty_UDT>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<float*>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<float&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<float&&>::value, false);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<const float&>::value, false);
Modified: branches/release/libs/type_traits/test/is_integral_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_integral_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_integral_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -112,6 +112,18 @@
#endif
+#ifdef BOOST_HAS_INT128
+
+BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<boost::uint128_type>::value, true);
+BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<boost::int128_type>::value, true);
+BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<boost::uint128_type const>::value, true);
+BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<boost::int128_type const>::value, true);
+BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<boost::uint128_type volatile>::value, true);
+BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<boost::int128_type volatile>::value, true);
+BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<boost::uint128_type const volatile>::value, true);
+BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<boost::int128_type const volatile>::value, true);
+
+#endif
//
// cases that should not be true:
//
@@ -122,7 +134,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<empty_UDT>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<int*>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<int&&>::value, false);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<const int&>::value, false);
Modified: branches/release/libs/type_traits/test/is_lvalue_reference_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_lvalue_reference_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_lvalue_reference_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -35,7 +35,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<test_abc1>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<foo0_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<incomplete_type>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<int&&>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<UDT&&>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_lvalue_reference<const UDT&&>::value, false);
Modified: branches/release/libs/type_traits/test/is_object_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_object_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_object_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -17,7 +17,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_object<int>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_object<UDT>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_object<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_object<int&&>::value, false);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_object<void>::value, false);
Modified: branches/release/libs/type_traits/test/is_pod_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_pod_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_pod_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -142,7 +142,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<enum_UDT>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<int&&>::value, false);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<const int&>::value, false);
Modified: branches/release/libs/type_traits/test/is_pointer_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_pointer_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_pointer_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -16,7 +16,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<int>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<int&&>::value, false);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pointer<int*>::value, true);
Modified: branches/release/libs/type_traits/test/is_polymorphic_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_polymorphic_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_polymorphic_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -32,7 +32,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<int* const>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<int[2]>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<int&&>::value, false);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_polymorphic<mf4>::value, false);
Modified: branches/release/libs/type_traits/test/is_reference_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_reference_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_reference_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -35,7 +35,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<test_abc1>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<foo0_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<incomplete_type>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<int&&>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<UDT&&>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<const UDT&&>::value, true);
Modified: branches/release/libs/type_traits/test/is_rvalue_reference_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_rvalue_reference_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_rvalue_reference_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -34,7 +34,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<test_abc1>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<foo0_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<incomplete_type>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<int&&>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<UDT&&>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<const UDT&&>::value, true);
Modified: branches/release/libs/type_traits/test/is_same_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_same_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_same_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -16,12 +16,12 @@
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same<int, int>::value), true);
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same<int&, int&>::value), true);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same<int&&, int&&>::value), true);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same<int, const int>::value), false);
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same<int, int&>::value), false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same<int, int&&>::value), false);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_same<const int, int&>::value), false);
Modified: branches/release/libs/type_traits/test/is_scalar_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_scalar_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_scalar_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -144,7 +144,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<void>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<UDT>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<int&&>::value, false);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<test_abc1>::value, false);
Modified: branches/release/libs/type_traits/test/is_signed_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_signed_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_signed_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -25,12 +25,16 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_signed<UDT>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_signed<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_signed<int&&>::value, false);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_signed<int*>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_signed<int[2]>::value, false);
+#ifdef BOOST_HAS_INT128
+BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_signed<boost::int128_type>::value, true);
+BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_signed<boost::uint128_type>::value, false);
+#endif
TT_TEST_END
Modified: branches/release/libs/type_traits/test/is_stateless_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_stateless_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_stateless_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -142,7 +142,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<enum_UDT>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<int&&>::value, false);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_stateless<const int&>::value, false);
Modified: branches/release/libs/type_traits/test/is_union_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_union_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_union_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -22,7 +22,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<int* const>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<int[2]>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<int&&>::value, false);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union<mf4>::value, false);
Modified: branches/release/libs/type_traits/test/is_unsigned_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_unsigned_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_unsigned_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -25,12 +25,17 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_unsigned<UDT>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_unsigned<unsigned&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_unsigned<unsigned&&>::value, false);
#endif
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_unsigned<unsigned*>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_unsigned<unsigned[2]>::value, false);
+#ifdef BOOST_HAS_INT128
+BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_unsigned<boost::int128_type>::value, false);
+BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_unsigned<boost::uint128_type>::value, true);
+#endif
+
TT_TEST_END
Modified: branches/release/libs/type_traits/test/is_void_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_void_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_void_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -29,7 +29,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_void<foo4_t>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_void<incomplete_type>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_void<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_void<int&&>::value, false);
#endif
Modified: branches/release/libs/type_traits/test/is_volatile_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/is_volatile_test.cpp (original)
+++ branches/release/libs/type_traits/test/is_volatile_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -34,7 +34,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_volatile<int[]>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_volatile<int&>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_volatile<volatile int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_volatile<int&&>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_volatile<volatile int&&>::value, false);
#endif
Modified: branches/release/libs/type_traits/test/make_signed_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/make_signed_test.cpp (original)
+++ branches/release/libs/type_traits/test/make_signed_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -95,6 +95,10 @@
#elif defined(BOOST_HAS_MS_INT64)
BOOST_CHECK_TYPE(::tt::make_signed<const volatile unsigned __int64>::type, const volatile __int64);
#endif
+#ifdef BOOST_HAS_INT128
+BOOST_CHECK_TYPE(::tt::make_signed<boost::int128_type>::type, boost::int128_type);
+BOOST_CHECK_TYPE(::tt::make_signed<boost::uint128_type>::type, boost::int128_type);
+#endif
// character types:
BOOST_CHECK_TYPE(::tt::make_signed<char>::type, signed char);
Modified: branches/release/libs/type_traits/test/make_unsigned_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/make_unsigned_test.cpp (original)
+++ branches/release/libs/type_traits/test/make_unsigned_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -95,6 +95,10 @@
#elif defined(BOOST_HAS_MS_INT64)
BOOST_CHECK_TYPE(::tt::make_unsigned<const volatile unsigned __int64>::type, const volatile unsigned __int64);
#endif
+#ifdef BOOST_HAS_INT128
+BOOST_CHECK_TYPE(::tt::make_unsigned<boost::int128_type>::type, boost::uint128_type);
+BOOST_CHECK_TYPE(::tt::make_unsigned<boost::uint128_type>::type, boost::uint128_type);
+#endif
// character types:
BOOST_CHECK_TYPE(::tt::make_unsigned<char>::type, unsigned char);
Modified: branches/release/libs/type_traits/test/rank_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/rank_test.cpp (original)
+++ branches/release/libs/type_traits/test/rank_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -21,7 +21,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::rank<int[5][10][40]>::value, 3);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::rank<int (&)[5][10]>::value, 0);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::rank<int (*)[5][10]>::value, 0);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::rank<int (&&)[5][10]>::value, 0);
#endif
Modified: branches/release/libs/type_traits/test/remove_all_extents_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/remove_all_extents_test.cpp (original)
+++ branches/release/libs/type_traits/test/remove_all_extents_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -28,7 +28,7 @@
BOOST_DECL_TRANSFORM_TEST3(remove_all_extents_test_14, ::tt::remove_all_extents, [])
BOOST_DECL_TRANSFORM_TEST(remove_all_extents_test_15, ::tt::remove_all_extents, const [], const)
BOOST_DECL_TRANSFORM_TEST(remove_all_extents_test_16, ::tt::remove_all_extents, const[][3], const)
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_DECL_TRANSFORM_TEST(remove_all_extents_test_5a, ::tt::remove_all_extents, const &&, const&&)
BOOST_DECL_TRANSFORM_TEST(remove_all_extents_test_13a, ::tt::remove_all_extents, (&&)[2], (&&)[2])
#endif
@@ -51,7 +51,7 @@
remove_all_extents_test_14();
remove_all_extents_test_15();
remove_all_extents_test_16();
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
remove_all_extents_test_5a();
remove_all_extents_test_13a();
#endif
Modified: branches/release/libs/type_traits/test/remove_bounds_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/remove_bounds_test.cpp (original)
+++ branches/release/libs/type_traits/test/remove_bounds_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -28,7 +28,7 @@
BOOST_DECL_TRANSFORM_TEST3(remove_bounds_test_14, ::tt::remove_bounds, [])
BOOST_DECL_TRANSFORM_TEST(remove_bounds_test_15, ::tt::remove_bounds, const [], const)
BOOST_DECL_TRANSFORM_TEST(remove_bounds_test_16, ::tt::remove_bounds, const[][3], const[3])
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_DECL_TRANSFORM_TEST(remove_bounds_test_5a, ::tt::remove_bounds, const &&, const&&)
BOOST_DECL_TRANSFORM_TEST(remove_bounds_test_13a, ::tt::remove_bounds, (&&)[2], (&&)[2])
#endif
@@ -51,7 +51,7 @@
remove_bounds_test_14();
remove_bounds_test_15();
remove_bounds_test_16();
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
remove_bounds_test_5a();
remove_bounds_test_13a();
#endif
Modified: branches/release/libs/type_traits/test/remove_cv_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/remove_cv_test.cpp (original)
+++ branches/release/libs/type_traits/test/remove_cv_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -29,7 +29,7 @@
BOOST_DECL_TRANSFORM_TEST(remove_cv_test_15, ::tt::remove_cv, [2], [2])
BOOST_DECL_TRANSFORM_TEST(remove_cv_test_16, ::tt::remove_cv, const*, const*)
BOOST_DECL_TRANSFORM_TEST(remove_cv_test_17, ::tt::remove_cv, const*volatile, const*)
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_DECL_TRANSFORM_TEST(remove_cv_test_5a, ::tt::remove_cv, const &&, const&&)
#endif
@@ -52,7 +52,7 @@
remove_cv_test_15();
remove_cv_test_16();
remove_cv_test_17();
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
remove_cv_test_5a();
#endif
Modified: branches/release/libs/type_traits/test/remove_extent_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/remove_extent_test.cpp (original)
+++ branches/release/libs/type_traits/test/remove_extent_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -28,7 +28,7 @@
BOOST_DECL_TRANSFORM_TEST3(remove_extent_test_14, ::tt::remove_extent, [])
BOOST_DECL_TRANSFORM_TEST(remove_extent_test_15, ::tt::remove_extent, const [], const)
BOOST_DECL_TRANSFORM_TEST(remove_extent_test_16, ::tt::remove_extent, const[][3], const[3])
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_DECL_TRANSFORM_TEST(remove_extent_test_9a, ::tt::remove_extent, const &&, const&&)
BOOST_DECL_TRANSFORM_TEST(remove_extent_test_13a, ::tt::remove_extent, (&&)[2], (&&)[2])
#endif
@@ -51,7 +51,7 @@
remove_extent_test_14();
remove_extent_test_15();
remove_extent_test_16();
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
remove_extent_test_9a();
remove_extent_test_13a();
#endif
Modified: branches/release/libs/type_traits/test/remove_pointer_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/remove_pointer_test.cpp (original)
+++ branches/release/libs/type_traits/test/remove_pointer_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -26,7 +26,7 @@
BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_11, ::tt::remove_pointer, volatile*, volatile)
BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_12, ::tt::remove_pointer, const[2][3], const[2][3])
BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_13, ::tt::remove_pointer, (&)[2], (&)[2])
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_5a, ::tt::remove_pointer, const &&, const&&)
BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_6a, ::tt::remove_pointer, &&, &&)
BOOST_DECL_TRANSFORM_TEST(remove_pointer_test_13a, ::tt::remove_pointer, (&&)[2], (&&)[2])
@@ -50,7 +50,7 @@
remove_pointer_test_11();
remove_pointer_test_12();
remove_pointer_test_13();
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
remove_pointer_test_5a();
remove_pointer_test_6a();
remove_pointer_test_13a();
Modified: branches/release/libs/type_traits/test/remove_reference_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/remove_reference_test.cpp (original)
+++ branches/release/libs/type_traits/test/remove_reference_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -25,7 +25,7 @@
BOOST_DECL_TRANSFORM_TEST(remove_reference_test_11, ::tt::remove_reference, volatile*, volatile*)
BOOST_DECL_TRANSFORM_TEST(remove_reference_test_12, ::tt::remove_reference, const[2], const[2])
BOOST_DECL_TRANSFORM_TEST(remove_reference_test_13, ::tt::remove_reference, (&)[2], [2])
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_DECL_TRANSFORM_TEST3(remove_reference_test_3a, ::tt::remove_reference, &&)
BOOST_DECL_TRANSFORM_TEST(remove_reference_test_5a, ::tt::remove_reference, const &&, const)
BOOST_DECL_TRANSFORM_TEST3(remove_reference_test_8a, ::tt::remove_reference, &&)
@@ -48,7 +48,7 @@
remove_reference_test_11();
remove_reference_test_12();
remove_reference_test_13();
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
remove_reference_test_3a();
remove_reference_test_5a();
remove_reference_test_8a();
Modified: branches/release/libs/type_traits/test/test.hpp
==============================================================================
--- branches/release/libs/type_traits/test/test.hpp (original)
+++ branches/release/libs/type_traits/test/test.hpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -260,7 +260,7 @@
{
nothrow_copy_UDT();
nothrow_copy_UDT(const nothrow_copy_UDT&)throw();
- ~nothrow_copy_UDT(){};
+ ~nothrow_copy_UDT(){}
nothrow_copy_UDT& operator=(const nothrow_copy_UDT&);
bool operator==(const nothrow_copy_UDT&)const
{ return true; }
Modified: branches/release/libs/type_traits/test/tricky_add_pointer_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/tricky_add_pointer_test.cpp (original)
+++ branches/release/libs/type_traits/test/tricky_add_pointer_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -18,7 +18,7 @@
BOOST_DECL_TRANSFORM_TEST(add_pointer_test_9, ::tt::add_pointer, const &, const*)
BOOST_DECL_TRANSFORM_TEST(add_pointer_test_12, ::tt::add_pointer, const[2][3], const (*)[2][3])
BOOST_DECL_TRANSFORM_TEST(add_pointer_test_13, ::tt::add_pointer, (&)[2], (*)[2])
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_DECL_TRANSFORM_TEST(add_pointer_test_5a, ::tt::add_pointer, const &&, const*)
BOOST_DECL_TRANSFORM_TEST(add_pointer_test_6a, ::tt::add_pointer, &&, *)
BOOST_DECL_TRANSFORM_TEST(add_pointer_test_9a, ::tt::add_pointer, const &&, const*)
@@ -33,7 +33,7 @@
add_pointer_test_9();
add_pointer_test_12();
add_pointer_test_13();
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
add_pointer_test_5a();
add_pointer_test_6a();
add_pointer_test_9a();
Modified: branches/release/libs/type_traits/test/tricky_function_type_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/tricky_function_type_test.cpp (original)
+++ branches/release/libs/type_traits/test/tricky_function_type_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -97,6 +97,13 @@
typedef void (test_abc1::*vproc3)(int, char, long, long, ...)const;
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<vproc3>::value, true);
+BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<int(), int()>::value), false);
+BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<int(), int(*)()>::value), true);
+BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<int(), int(* const)()>::value), true);
+BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<int(), int(* volatile)()>::value), true);
+BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<int(), int(* const volatile)()>::value), true);
+BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<int(), int(&)()>::value), true);
+
TT_TEST_END
Modified: branches/release/libs/type_traits/test/tricky_partial_spec_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/tricky_partial_spec_test.cpp (original)
+++ branches/release/libs/type_traits/test/tricky_partial_spec_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -63,7 +63,7 @@
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Base&,Derived&>::value), false);
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Base,Derived&>::value), false);
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Base,void>::value), false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Base&&,Derived>::value), false);
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Base&&,Derived&&>::value), false);
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Base,Derived&&>::value), false);
Modified: branches/release/libs/type_traits/test/tricky_rvalue_test.cpp
==============================================================================
--- branches/release/libs/type_traits/test/tricky_rvalue_test.cpp (original)
+++ branches/release/libs/type_traits/test/tricky_rvalue_test.cpp 2012-12-10 13:11:39 EST (Mon, 10 Dec 2012)
@@ -9,17 +9,21 @@
#ifdef TEST_STD
# include <type_traits>
#else
+# include <boost/type_traits/is_convertible.hpp>
# include <boost/type_traits/is_lvalue_reference.hpp>
# include <boost/type_traits/is_rvalue_reference.hpp>
# include <boost/type_traits/is_reference.hpp>
+# include <boost/type_traits/is_function.hpp>
#endif
TT_TEST_BEGIN(rvalue_reference_test)
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_reference<int (&&)(int)>::value, true);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<int (&)(int)>::value, false);
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_rvalue_reference<int (&&)(int)>::value, true);
+BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<int&&, int&>::value), false);
+BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_convertible<int(), int(&&)()>::value), true);
#endif
TT_TEST_END
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk