1
0
forked from boostorg/core

Add other relational operators; update sv_eq_test

This commit is contained in:
Peter Dimov
2021-10-09 16:55:33 +03:00
parent db15c7419d
commit 5c82e38c93
2 changed files with 32 additions and 2 deletions

View File

@ -904,6 +904,26 @@ public:
{
return sv1.compare( sv2 ) != 0;
}
BOOST_CXX14_CONSTEXPR friend bool operator<( basic_string_view sv1, basic_string_view sv2 ) BOOST_NOEXCEPT
{
return sv1.compare( sv2 ) < 0;
}
BOOST_CXX14_CONSTEXPR friend bool operator<=( basic_string_view sv1, basic_string_view sv2 ) BOOST_NOEXCEPT
{
return sv1.compare( sv2 ) <= 0;
}
BOOST_CXX14_CONSTEXPR friend bool operator>( basic_string_view sv1, basic_string_view sv2 ) BOOST_NOEXCEPT
{
return sv1.compare( sv2 ) > 0;
}
BOOST_CXX14_CONSTEXPR friend bool operator>=( basic_string_view sv1, basic_string_view sv2 ) BOOST_NOEXCEPT
{
return sv1.compare( sv2 ) >= 0;
}
};
template<class Ch> std::basic_ostream<Ch>& operator<<( std::basic_ostream<Ch>& os, basic_string_view<Ch> str )

View File

@ -9,8 +9,18 @@
# include <string_view>
#endif
#define TEST_EQ(x, y) BOOST_TEST_EQ(x, y); BOOST_TEST_NOT((x) != (y))
#define TEST_NE(x, y) BOOST_TEST_NE(x, y); BOOST_TEST_NOT((x) == (y))
#define TEST_EQ(x, y) \
BOOST_TEST_EQ(x, y); \
BOOST_TEST_NOT((x) != (y)); \
BOOST_TEST_LE(x, y); \
BOOST_TEST_GE(x, y); \
BOOST_TEST_NOT((x) < (y)); \
BOOST_TEST_NOT((x) > (y))
#define TEST_NE(x, y) \
BOOST_TEST_NE(x, y); \
BOOST_TEST_NOT((x) == (y)); \
BOOST_TEST((x) < (y) || (x) > (y));
int main()
{