struct __do_is_destructible_impl | |
{ | |
template<typename _Tp, typename = decltype(_Tp().~_Tp())> | |
static bool __test(int); | |
template<typename> | |
static float __test(...); | |
}; | |
template<typename _Tp> | |
struct __is_destructible_impl | |
: public __do_is_destructible_impl | |
{ | |
// Requires BINFO merging | |
typedef decltype(__test<_Tp>(0)) type; | |
}; |