/////////////////////////////////////////////////////////////////////////////// // Copyright 2015 John Maddock. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #include #include // // Move construct: // static_assert(std::is_nothrow_move_constructible::value, "noexcept test"); // // Move assign: // static_assert(std::is_nothrow_move_assignable::value, "noexcept test"); // // Construct: // static_assert(std::is_nothrow_default_constructible::value, "noexcept test"); // // Copy construct: // static_assert(std::is_nothrow_copy_constructible::value, "noexcept test"); // // Assign: // static_assert(std::is_nothrow_copy_assignable::value, "noexcept test"); static_assert(noexcept(boost::multiprecision::float128()), "noexcept test"); static_assert(noexcept(boost::multiprecision::float128(std::declval())), "noexcept test"); static_assert(noexcept(boost::multiprecision::float128(std::declval())), "noexcept test"); static_assert(noexcept(boost::multiprecision::float128(std::declval())), "noexcept test"); static_assert(noexcept(boost::multiprecision::float128(std::declval())), "noexcept test"); static_assert(noexcept(boost::multiprecision::float128(std::declval())), "noexcept test"); static_assert(noexcept(boost::multiprecision::float128(std::declval())), "noexcept test"); static_assert(noexcept(std::declval() = std::declval()), "noexcept test"); static_assert(noexcept(std::declval() = std::declval()), "noexcept test"); static_assert(noexcept(std::declval() = std::declval()), "noexcept test"); static_assert(noexcept(std::declval() = std::declval()), "noexcept test"); static_assert(noexcept(std::declval() = std::declval()), "noexcept test"); static_assert(noexcept(std::declval() = std::declval()), "noexcept test"); struct any_convert { template operator T() const; // Can throw! }; static_assert(!noexcept(boost::multiprecision::float128(std::declval())), "noexcept test"); static_assert(!noexcept(boost::multiprecision::float128(std::declval())), "noexcept test"); static_assert(!noexcept(std::declval() = std::declval()), "noexcept test"); static_assert(!noexcept(std::declval() = std::declval()), "noexcept test");