1
0
forked from boostorg/mp11

g++ 4.7 doesn't have is_trivially_destructible

This commit is contained in:
Peter Dimov
2017-05-31 09:24:02 +03:00
parent d78cf71a97
commit 03e950083d

View File

@@ -20,7 +20,11 @@ template<class... T> using check2 = mp_any<mp_any<std::is_nothrow_copy_construct
template<class... T> using check3 = mp_any<mp_all<std::is_nothrow_copy_constructible<T>...>, std::is_nothrow_default_constructible<T>...>;
template<bool is_trivially_destructible, bool is_single_buffered, class... T> struct variant_base_impl {};
#if BOOST_WORKAROUND( BOOST_GCC, < 40800 )
template<class... T> using variant_base = variant_base_impl<mp_all<std::is_nothrow_destructible<T>...>::value, mp_any<mp_all<std::is_nothrow_move_constructible<T>...>, std::is_nothrow_default_constructible<T>...>::value, T...>;
#else
template<class... T> using variant_base = variant_base_impl<mp_all<std::is_trivially_destructible<T>...>::value, mp_any<mp_all<std::is_nothrow_move_constructible<T>...>, std::is_nothrow_default_constructible<T>...>::value, T...>;
#endif
int main()
{