tools

various tools
git clone git://deadbeef.fr/tools.git
Log | Files | Refs | README | LICENSE

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:
Mbtl/src/string.cpp | 30++++++++++++++++++++++++++++++
Mbtl/src/string.hpp | 8++++++++
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