commit 6a9b2bea81d59a2208d0e1cc672839fa7e9a6486
parent de13fa02091571275c43d03a938b5c2d4e8acddd
Author: Morel BĂ©renger <berengermorel76@gmail.com>
Date: Tue, 16 Nov 2021 19:38:23 +0100
btl: add string == and != operators
Diffstat:
2 files changed, 38 insertions(+), 0 deletions(-)
diff --git a/btl/src/string.cpp b/btl/src/string.cpp
@@ -111,3 +111,33 @@ string operator+( char const* lhs, string const& rhs )
ret += rhs;
return ret;
}
+
+bool operator==( string const& str1, string const& str2 )
+{
+ return str1.size() == str2.size() && 0 == strcmp( str1.data(), str2.data() );
+}
+
+bool operator==( string const& str1, char const* str2 )
+{
+ return str1.size() == strlen( str2 ) && 0 == strncmp( str1.data(), str2, str1.size() );
+}
+
+bool operator==( char const* str1, string const& str2 )
+{
+ return strlen( str1 ) == str2.size() && 0 == strncmp( str1, str2.data(), str2.size() );
+}
+
+bool operator!=( string const& str1, string const& str2 )
+{
+ return ( str1 == str2 );
+}
+
+bool operator!=( string const& str1, char const* str2 )
+{
+ return ( str1 == str2 );
+}
+
+bool operator!=( char const* str1, string const& str2 )
+{
+ return ( str1 == str2 );
+}
diff --git a/btl/src/string.hpp b/btl/src/string.hpp
@@ -56,4 +56,12 @@ string operator+( string const& lhs, T rhs )
string operator+( char const* lhs, string const& rhs );
+bool operator==( string const& str1, string const& str2 );
+bool operator==( string const& str1, char const* str2 );
+bool operator==( char const* str1, string const& str2 );
+
+bool operator!=( string const& str1, string const& str2 );
+bool operator!=( string const& str1, char const* str2 );
+bool operator!=( char const* str1, string const& str2 );
+
#endif