mirror of
https://github.com/boostorg/core.git
synced 2025-05-11 13:13:55 +00:00
Test std::pmr::string in sv_eq_test
This commit is contained in:
parent
9b22937647
commit
b520289660
@ -1073,62 +1073,62 @@ public:
|
||||
|
||||
// against std::string
|
||||
|
||||
BOOST_CXX14_CONSTEXPR friend bool operator==( basic_string_view sv1, std::basic_string<Ch> const& sv2 ) BOOST_NOEXCEPT
|
||||
template<class A> BOOST_CXX14_CONSTEXPR friend bool operator==( basic_string_view sv1, std::basic_string<Ch, std::char_traits<Ch>, A> const& sv2 ) BOOST_NOEXCEPT
|
||||
{
|
||||
return sv1.compare( sv2 ) == 0;
|
||||
}
|
||||
|
||||
BOOST_CXX14_CONSTEXPR friend bool operator==( std::basic_string<Ch> const& sv1, basic_string_view sv2 ) BOOST_NOEXCEPT
|
||||
template<class A> BOOST_CXX14_CONSTEXPR friend bool operator==( std::basic_string<Ch, std::char_traits<Ch>, A> const& sv1, basic_string_view sv2 ) BOOST_NOEXCEPT
|
||||
{
|
||||
return sv2.compare( sv1 ) == 0;
|
||||
}
|
||||
|
||||
BOOST_CXX14_CONSTEXPR friend bool operator!=( basic_string_view sv1, std::basic_string<Ch> const& sv2 ) BOOST_NOEXCEPT
|
||||
template<class A> BOOST_CXX14_CONSTEXPR friend bool operator!=( basic_string_view sv1, std::basic_string<Ch, std::char_traits<Ch>, A> const& sv2 ) BOOST_NOEXCEPT
|
||||
{
|
||||
return sv1.compare( sv2 ) != 0;
|
||||
}
|
||||
|
||||
BOOST_CXX14_CONSTEXPR friend bool operator!=( std::basic_string<Ch> const& sv1, basic_string_view sv2 ) BOOST_NOEXCEPT
|
||||
template<class A> BOOST_CXX14_CONSTEXPR friend bool operator!=( std::basic_string<Ch, std::char_traits<Ch>, A> const& sv1, basic_string_view sv2 ) BOOST_NOEXCEPT
|
||||
{
|
||||
return sv2.compare( sv1 ) != 0;
|
||||
}
|
||||
|
||||
BOOST_CXX14_CONSTEXPR friend bool operator<( basic_string_view sv1, std::basic_string<Ch> const& sv2 ) BOOST_NOEXCEPT
|
||||
template<class A> BOOST_CXX14_CONSTEXPR friend bool operator<( basic_string_view sv1, std::basic_string<Ch, std::char_traits<Ch>, A> const& sv2 ) BOOST_NOEXCEPT
|
||||
{
|
||||
return sv1.compare( sv2 ) < 0;
|
||||
}
|
||||
|
||||
BOOST_CXX14_CONSTEXPR friend bool operator<( std::basic_string<Ch> const& sv1, basic_string_view sv2 ) BOOST_NOEXCEPT
|
||||
template<class A> BOOST_CXX14_CONSTEXPR friend bool operator<( std::basic_string<Ch, std::char_traits<Ch>, A> const& sv1, basic_string_view sv2 ) BOOST_NOEXCEPT
|
||||
{
|
||||
return sv2.compare( sv1 ) > 0;
|
||||
}
|
||||
|
||||
BOOST_CXX14_CONSTEXPR friend bool operator<=( basic_string_view sv1, std::basic_string<Ch> const& sv2 ) BOOST_NOEXCEPT
|
||||
template<class A> BOOST_CXX14_CONSTEXPR friend bool operator<=( basic_string_view sv1, std::basic_string<Ch, std::char_traits<Ch>, A> const& sv2 ) BOOST_NOEXCEPT
|
||||
{
|
||||
return sv1.compare( sv2 ) <= 0;
|
||||
}
|
||||
|
||||
BOOST_CXX14_CONSTEXPR friend bool operator<=( std::basic_string<Ch> const& sv1, basic_string_view sv2 ) BOOST_NOEXCEPT
|
||||
template<class A> BOOST_CXX14_CONSTEXPR friend bool operator<=( std::basic_string<Ch, std::char_traits<Ch>, A> const& sv1, basic_string_view sv2 ) BOOST_NOEXCEPT
|
||||
{
|
||||
return sv2.compare( sv1 ) >= 0;
|
||||
}
|
||||
|
||||
BOOST_CXX14_CONSTEXPR friend bool operator>( basic_string_view sv1, std::basic_string<Ch> const& sv2 ) BOOST_NOEXCEPT
|
||||
template<class A> BOOST_CXX14_CONSTEXPR friend bool operator>( basic_string_view sv1, std::basic_string<Ch, std::char_traits<Ch>, A> const& sv2 ) BOOST_NOEXCEPT
|
||||
{
|
||||
return sv1.compare( sv2 ) > 0;
|
||||
}
|
||||
|
||||
BOOST_CXX14_CONSTEXPR friend bool operator>( std::basic_string<Ch> const& sv1, basic_string_view sv2 ) BOOST_NOEXCEPT
|
||||
template<class A> BOOST_CXX14_CONSTEXPR friend bool operator>( std::basic_string<Ch, std::char_traits<Ch>, A> const& sv1, basic_string_view sv2 ) BOOST_NOEXCEPT
|
||||
{
|
||||
return sv2.compare( sv1 ) < 0;
|
||||
}
|
||||
|
||||
BOOST_CXX14_CONSTEXPR friend bool operator>=( basic_string_view sv1, std::basic_string<Ch> const& sv2 ) BOOST_NOEXCEPT
|
||||
template<class A> BOOST_CXX14_CONSTEXPR friend bool operator>=( basic_string_view sv1, std::basic_string<Ch, std::char_traits<Ch>, A> const& sv2 ) BOOST_NOEXCEPT
|
||||
{
|
||||
return sv1.compare( sv2 ) >= 0;
|
||||
}
|
||||
|
||||
BOOST_CXX14_CONSTEXPR friend bool operator>=( std::basic_string<Ch> const& sv1, basic_string_view sv2 ) BOOST_NOEXCEPT
|
||||
template<class A> BOOST_CXX14_CONSTEXPR friend bool operator>=( std::basic_string<Ch, std::char_traits<Ch>, A> const& sv1, basic_string_view sv2 ) BOOST_NOEXCEPT
|
||||
{
|
||||
return sv2.compare( sv1 ) <= 0;
|
||||
}
|
||||
|
@ -8,6 +8,9 @@
|
||||
#if !defined(BOOST_NO_CXX17_HDR_STRING_VIEW)
|
||||
# include <string_view>
|
||||
#endif
|
||||
#if !defined(BOOST_NO_CXX17_HDR_MEMORY_RESOURCE)
|
||||
# include <memory_resource>
|
||||
#endif
|
||||
|
||||
#define TEST_EQ(x, y) \
|
||||
BOOST_TEST_EQ(x, y); \
|
||||
@ -85,6 +88,24 @@ int main()
|
||||
BOOST_TEST_NE( sv3, std::string_view( "122" ) );
|
||||
BOOST_TEST_NE( std::string_view( "122" ), sv3 );
|
||||
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_NO_CXX17_HDR_MEMORY_RESOURCE)
|
||||
|
||||
using pmr_string = std::basic_string<char, std::char_traits<char>, std::pmr::polymorphic_allocator<char>>;
|
||||
|
||||
BOOST_TEST_EQ( sv1, pmr_string( "" ) );
|
||||
BOOST_TEST_EQ( pmr_string( "" ), sv1 );
|
||||
|
||||
BOOST_TEST_NE( sv1, pmr_string( "1" ) );
|
||||
BOOST_TEST_NE( pmr_string( "1" ), sv1 );
|
||||
|
||||
BOOST_TEST_EQ( sv3, pmr_string( "123" ) );
|
||||
BOOST_TEST_EQ( pmr_string( "123" ), sv3 );
|
||||
|
||||
BOOST_TEST_NE( sv3, pmr_string( "122" ) );
|
||||
BOOST_TEST_NE( pmr_string( "122" ), sv3 );
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user