// Copyright 2021 Peter Dimov // Distributed under the Boost Software License, Version 1.0. // https://www.boost.org/LICENSE_1_0.txt #include #include #include #include #include #if defined(BOOST_NO_CXX20_HDR_CONCEPTS) BOOST_PRAGMA_MESSAGE( "Skipping test because BOOST_NO_CXX20_HDR_CONCEPTS is defined" ) int main() {} #else #include #include using T = std::common_reference_t< boost::core::string_view&&, std::string& >; static_assert( std::common_reference_with< boost::core::string_view&&, std::string& > ); static_assert( std::common_reference_with< boost::core::wstring_view&&, std::wstring const& > ); int main() { BOOST_TEST_TRAIT_SAME( std::common_reference_t< boost::core::string_view&&, std::string& >, boost::core::string_view ); BOOST_TEST_TRAIT_SAME( std::common_reference_t< boost::core::wstring_view&&, std::wstring const& >, boost::core::wstring_view ); return boost::report_errors(); } #endif