is_trivially_move_assignable doesn't exist in libstdc++ 4.x

This commit is contained in:
Peter Dimov
2018-10-18 17:10:12 +03:00
parent 4c2c30b3c6
commit 0408c8c16a

View File

@ -14,6 +14,7 @@
#include <stdexcept>
using namespace boost::variant2;
namespace v2d = boost::variant2::detail;
#define STATIC_ASSERT(...) static_assert(__VA_ARGS__, #__VA_ARGS__)
@ -34,7 +35,7 @@ STATIC_ASSERT( std::is_nothrow_default_constructible<X1>::value );
STATIC_ASSERT( std::is_nothrow_copy_constructible<X1>::value );
STATIC_ASSERT( std::is_nothrow_move_constructible<X1>::value );
STATIC_ASSERT( std::is_trivially_destructible<X1>::value );
STATIC_ASSERT( std::is_trivially_move_assignable<X1>::value );
STATIC_ASSERT( v2d::is_trivially_move_assignable<X1>::value );
STATIC_ASSERT( std::is_nothrow_constructible<X1, E1>::value );
STATIC_ASSERT( !std::is_nothrow_constructible<X1, E1x>::value );
@ -83,7 +84,7 @@ STATIC_ASSERT( !std::is_nothrow_default_constructible<X3>::value );
STATIC_ASSERT( !std::is_nothrow_copy_constructible<X3>::value );
STATIC_ASSERT( !std::is_nothrow_move_constructible<X3>::value );
STATIC_ASSERT( std::is_trivially_destructible<X3>::value );
STATIC_ASSERT( std::is_trivially_move_assignable<X3>::value );
STATIC_ASSERT( v2d::is_trivially_move_assignable<X3>::value );
STATIC_ASSERT( std::is_nothrow_constructible<X3, E3>::value );
STATIC_ASSERT( !std::is_nothrow_constructible<X3, E3x>::value );