// Copyright 2021-2024 Peter Dimov // Distributed under the Boost Software License, Version 1.0. // https://www.boost.org/LICENSE_1_0.txt #include #include #include #include #include template std::size_t hv( T const& t ) { return boost::hash()( t ); } template void test( Ch const* p ) { std::basic_string s( p ); boost::core::basic_string_view sv( s ); BOOST_TEST_EQ( hv( s ), hv( sv ) ); } int main() { test( "123" ); test( L"123" ); #if !defined(BOOST_NO_CXX11_CHAR16_T) test( u"123" ); #endif #if !defined(BOOST_NO_CXX11_CHAR32_T) test( U"123" ); #endif #if defined(__cpp_char8_t) && __cpp_char8_t >= 201811L test( u8"123" ); #endif return boost::report_errors(); }