From 5256cfc3887bb0547c05df6ea5e14e9bd2619445 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Wed, 8 May 2024 16:02:46 +0300 Subject: [PATCH] GCC 4.x doesn't have std::is_trivially_copyable --- test/test_uuid.cpp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/test/test_uuid.cpp b/test/test_uuid.cpp index 700eb9dd..841548f5 100644 --- a/test/test_uuid.cpp +++ b/test/test_uuid.cpp @@ -14,7 +14,24 @@ #include #include #include +#include #include +#include + +// is_trivially_copyable not present in GCC 4.x + +#if defined( BOOST_LIBSTDCXX_VERSION ) && BOOST_LIBSTDCXX_VERSION < 50000 + +template struct is_trivially_copyable: std::integral_constant {}; + +#else + +using std::is_trivially_copyable; + +#endif + +// void test_uuid_equal_array(char const * file, int line, char const * function, boost::uuids::uuid const& lhs, const unsigned char (&rhs)[16]) @@ -308,8 +325,9 @@ int main() } { // test type properties + BOOST_TEST_EQ(std::is_pod::value, true); - BOOST_TEST_EQ(std::is_trivially_copyable::value, true); + BOOST_TEST_EQ(::is_trivially_copyable::value, true); BOOST_TEST_EQ(std::is_standard_layout::value, true); }