forked from boostorg/type_traits
@ -39,15 +39,13 @@ namespace type_traits_detail {
|
||||
struct add_rvalue_reference_helper
|
||||
{ typedef T type; };
|
||||
|
||||
#if !defined(BOOST_NO_RVALUE_REFERENCES) && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||
template <typename T>
|
||||
struct add_rvalue_reference_helper<T, true>
|
||||
{
|
||||
#if !defined(BOOST_NO_RVALUE_REFERENCES)
|
||||
typedef T&& type;
|
||||
#else
|
||||
typedef T type;
|
||||
#endif
|
||||
};
|
||||
#endif
|
||||
|
||||
template <typename T>
|
||||
struct add_rvalue_reference_imp
|
||||
|
@ -109,7 +109,7 @@ template <> struct is_unsigned_imp<const char> : public true_type{};
|
||||
template <> struct is_unsigned_imp<volatile char> : public true_type{};
|
||||
template <> struct is_unsigned_imp<const volatile char> : public true_type{};
|
||||
#endif
|
||||
#if defined(WCHAR_MIN) && (WCHAR_MIN == 0)
|
||||
#if defined(WCHAR_MIN) && (WCHAR_MIN == 0) && !defined(BOOST_NO_INTRINSIC_WCHAR_T)
|
||||
template <> struct is_unsigned_imp<wchar_t> : public true_type{};
|
||||
template <> struct is_unsigned_imp<const wchar_t> : public true_type{};
|
||||
template <> struct is_unsigned_imp<volatile wchar_t> : public true_type{};
|
||||
|
@ -27,6 +27,8 @@
|
||||
|
||||
namespace boost {
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
namespace detail{
|
||||
|
||||
template <class T>
|
||||
@ -49,7 +51,6 @@ struct rvalue_ref_filter_rem_cv<T&&>
|
||||
|
||||
}
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
// convert a type T to a non-cv-qualified type - remove_cv<T>
|
||||
BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_cv,T,typename boost::detail::rvalue_ref_filter_rem_cv<T>::type)
|
||||
|
Reference in New Issue
Block a user