diff options
author | Tor Egge <Tor.Egge@broadpark.no> | 2021-01-04 11:31:03 +0100 |
---|---|---|
committer | Tor Egge <Tor.Egge@broadpark.no> | 2021-01-04 11:32:35 +0100 |
commit | 14e5c16d6743c7f873689dd09618a97ed35391f6 (patch) | |
tree | 4d8438582ab00cf7890c6d2e885cc394ffc0ed2a /vespalib | |
parent | 77c81e3c43b8ac0f676d7615cbc04934436fa086 (diff) |
Add noexcept specifier to vespalib::string compare operators.
Diffstat (limited to 'vespalib')
-rw-r--r-- | vespalib/src/vespa/vespalib/stllike/string.h | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/vespalib/src/vespa/vespalib/stllike/string.h b/vespalib/src/vespa/vespalib/stllike/string.h index 05b04575ec1..9c9efc175e8 100644 --- a/vespalib/src/vespa/vespalib/stllike/string.h +++ b/vespalib/src/vespa/vespalib/stllike/string.h @@ -122,31 +122,31 @@ public: * was found, or npos if the substring could not be located */ size_type rfind(const char * s, size_type e=npos) const; - int compare(stringref s) const { return compare(s.data(), s.size()); } - int compare(const char *s, size_type sz) const { + int compare(stringref s) const noexcept { return compare(s.data(), s.size()); } + int compare(const char *s, size_type sz) const noexcept { int diff(memcmp(_s, s, std::min(sz, size()))); return (diff != 0) ? diff : (size() - sz); } const char & operator [] (size_t i) const { return _s[i]; } operator std::string () const { return std::string(_s, _sz); } - bool operator < (const char * s) const { return compare(s, strlen(s)) < 0; } - bool operator < (const std::string & s) const { return compare(s.data(), s.size()) < 0; } - bool operator < (stringref s) const { return compare(s.data(), s.size()) < 0; } - bool operator <= (const char * s) const { return compare(s, strlen(s)) <= 0; } - bool operator <= (const std::string & s) const { return compare(s.data(), s.size()) <= 0; } - bool operator <= (stringref s) const { return compare(s.data(), s.size()) <= 0; } - bool operator != (const char * s) const { return compare(s, strlen(s)) != 0; } - bool operator != (const std::string & s) const { return compare(s.data(), s.size()) != 0; } - bool operator != (stringref s) const { return compare(s.data(), s.size()) != 0; } - bool operator == (const char * s) const { return compare(s, strlen(s)) == 0; } - bool operator == (const std::string & s) const { return compare(s.data(), s.size()) == 0; } - bool operator == (stringref s) const { return compare(s.data(), s.size()) == 0; } - bool operator >= (const char * s) const { return compare(s, strlen(s)) >= 0; } - bool operator >= (const std::string & s) const { return compare(s.data(), s.size()) >= 0; } - bool operator >= (stringref s) const { return compare(s.data(), s.size()) >= 0; } - bool operator > (const char * s) const { return compare(s, strlen(s)) > 0; } - bool operator > (const std::string & s) const { return compare(s.data(), s.size()) > 0; } - bool operator > (stringref s) const { return compare(s.data(), s.size()) > 0; } + bool operator < (const char * s) const noexcept { return compare(s, strlen(s)) < 0; } + bool operator < (const std::string & s) const noexcept { return compare(s.data(), s.size()) < 0; } + bool operator < (stringref s) const noexcept { return compare(s.data(), s.size()) < 0; } + bool operator <= (const char * s) const noexcept { return compare(s, strlen(s)) <= 0; } + bool operator <= (const std::string & s) const noexcept { return compare(s.data(), s.size()) <= 0; } + bool operator <= (stringref s) const noexcept { return compare(s.data(), s.size()) <= 0; } + bool operator != (const char * s) const noexcept { return compare(s, strlen(s)) != 0; } + bool operator != (const std::string & s) const noexcept { return compare(s.data(), s.size()) != 0; } + bool operator != (stringref s) const noexcept { return compare(s.data(), s.size()) != 0; } + bool operator == (const char * s) const noexcept { return compare(s, strlen(s)) == 0; } + bool operator == (const std::string & s) const noexcept { return compare(s.data(), s.size()) == 0; } + bool operator == (stringref s) const noexcept { return compare(s.data(), s.size()) == 0; } + bool operator >= (const char * s) const noexcept { return compare(s, strlen(s)) >= 0; } + bool operator >= (const std::string & s) const noexcept { return compare(s.data(), s.size()) >= 0; } + bool operator >= (stringref s) const noexcept { return compare(s.data(), s.size()) >= 0; } + bool operator > (const char * s) const noexcept { return compare(s, strlen(s)) > 0; } + bool operator > (const std::string & s) const noexcept { return compare(s.data(), s.size()) > 0; } + bool operator > (stringref s) const noexcept { return compare(s.data(), s.size()) > 0; } private: const char *_s; size_type _sz; |