diff options
Diffstat (limited to 'Swiften/Base/String.h')
-rw-r--r-- | Swiften/Base/String.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Swiften/Base/String.h b/Swiften/Base/String.h index 0a5530c..7a6a9cc 100644 --- a/Swiften/Base/String.h +++ b/Swiften/Base/String.h @@ -49,79 +49,83 @@ namespace Swift { bool beginsWith(char c) const { return data_.size() > 0 && data_[0] == c; } bool beginsWith(const String& s) const { return data_.substr(0, s.data_.size()) == s; } bool endsWith(char c) const { return data_.size() > 0 && data_[data_.size()-1] == c; } String getSubstring(size_t begin, size_t end) const { return String(data_.substr(begin, end)); } size_t find(char c) const { assert((c & 0x80) == 0); return data_.find(c); } size_t npos() const { return data_.npos; } friend String operator+(const String& a, const String& b) { return String(a.data_ + b.data_); } friend String operator+(const String& a, char b) { return String(a.data_ + b); } String& operator+=(const String& o) { data_ += o.data_; return *this; } String& operator+=(char c) { data_ += c; return *this; } String& operator=(const String& o) { data_ = o.data_; return *this; } + bool contains(const String& o) { + return data_.find(o.data_) != std::string::npos; + } + char operator[](size_t i) const { return data_[i]; } friend bool operator>(const String& a, const String& b) { return a.data_ > b.data_; } friend bool operator<(const String& a, const String& b) { return a.data_ < b.data_; } friend bool operator!=(const String& a, const String& b) { return a.data_ != b.data_; } friend bool operator==(const String& a, const String& b) { return a.data_ == b.data_; } friend std::ostream& operator<<(std::ostream& os, const String& s) { os << s.data_; return os; } private: std::string data_; }; } #endif |