// Copyright Peter Dimov 2017 // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.tt.org/LICENSE_1_0.txt) #ifdef TEST_STD # include #else # include #endif #include "test.hpp" #include "check_type.hpp" #include TT_TEST_BEGIN(cxx14_aliases_test) { #if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) BOOST_CHECK_TYPE(tt::add_const_t, int const); BOOST_CHECK_TYPE(tt::add_cv_t, int const volatile); BOOST_CHECK_TYPE(tt::add_lvalue_reference_t, int&); BOOST_CHECK_TYPE(tt::add_pointer_t, int*); BOOST_CHECK_TYPE(tt::add_rvalue_reference_t, int&&); BOOST_CHECK_TYPE(tt::add_volatile_t, int volatile); BOOST_CHECK_TYPE3(tt::common_type_t, int); BOOST_CHECK_TYPE4(tt::conditional_t, char); BOOST_CHECK_TYPE4(tt::conditional_t, short); BOOST_CHECK_TYPE3(tt::copy_cv_t, char const volatile); BOOST_CHECK_TYPE(tt::decay_t, char const*); BOOST_CHECK_TYPE(tt::make_signed_t, signed char); BOOST_CHECK_TYPE(tt::make_unsigned_t, unsigned char); BOOST_CHECK_TYPE(tt::remove_all_extents_t, int); BOOST_CHECK_TYPE(tt::remove_const_t, int); BOOST_CHECK_TYPE(tt::remove_cv_t, int); BOOST_CHECK_TYPE(tt::remove_extent_t, int); BOOST_CHECK_TYPE(tt::remove_pointer_t, int); BOOST_CHECK_TYPE(tt::remove_reference_t, int); BOOST_CHECK_TYPE(tt::remove_volatile_t, int); BOOST_CHECK_TYPE(tt::floating_point_promotion_t, double); BOOST_CHECK_TYPE(tt::integral_promotion_t, int); BOOST_CHECK_TYPE(tt::promote_t, int); #endif } TT_TEST_END