Installed __has_feature(is_convertible_to) and __has_feature(is_base_of)

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@125290 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Howard Hinnant 2011-02-10 17:46:03 +00:00
parent 47a7cce01e
commit 31b8e617b6

View File

@ -598,12 +598,12 @@ template <class _Tp> struct _LIBCPP_VISIBLE is_abstract : public __libcpp_abstra
// is_convertible
#ifdef __clang__
#if __has_feature(is_convertible_to)
template <class _T1, class _T2> struct _LIBCPP_VISIBLE is_convertible
: public integral_constant<bool, __is_convertible_to(_T1, _T2)> {};
#else // __clang__
#else // __has_feature(is_convertible_to)
namespace __is_convertible_imp
{
@ -705,17 +705,17 @@ template <class _T1, class _T2> struct _LIBCPP_VISIBLE is_convertible
static const size_t __complete_check2 = __is_convertible_check<_T2>::__v;
};
#endif // __clang__
#endif // __has_feature(is_convertible_to)
// is_base_of
#ifdef __clang__
#ifdef __has_feature(is_base_of)
template <class _Bp, class _Dp>
struct _LIBCPP_VISIBLE is_base_of
: public integral_constant<bool, __is_base_of(_Bp, _Dp)> {};
#else // __clang__
#else // __has_feature(is_base_of)
// (C) Copyright Rani Sharoni 2003.
// Use, modification and distribution are subject to the Boost Software License,
@ -763,7 +763,7 @@ struct _LIBCPP_VISIBLE is_base_of
{
};
#endif // __clang__
#endif // __has_feature(is_base_of)
// is_empty