diff --git a/include/boost/type_traits/is_integral.hpp b/include/boost/type_traits/is_integral.hpp index 6c6e239..97e5aba 100644 --- a/include/boost/type_traits/is_integral.hpp +++ b/include/boost/type_traits/is_integral.hpp @@ -81,6 +81,9 @@ template<> struct is_integral : public true_type{}; #ifndef BOOST_NO_CXX11_CHAR32_T template<> struct is_integral : public true_type{}; #endif +#if defined(__cpp_char8_t) && __cpp_char8_t >= 201811L +template<> struct is_integral : public true_type{}; +#endif #endif // non-CodeGear implementation diff --git a/test/is_integral_test.cpp b/test/is_integral_test.cpp index 274f753..e9912d7 100644 --- a/test/is_integral_test.cpp +++ b/test/is_integral_test.cpp @@ -154,5 +154,9 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral::value, true); BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral::value, true); #endif +#if defined(__cpp_char8_t) && __cpp_char8_t >= 201811L +BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral::value, true); +#endif + TT_TEST_END