diff options
Diffstat (limited to 'common')
-rw-r--r-- | common/str.cpp | 12 | ||||
-rw-r--r-- | common/str.h | 3 |
2 files changed, 10 insertions, 5 deletions
diff --git a/common/str.cpp b/common/str.cpp index cd2bd631ac..d62a39511e 100644 --- a/common/str.cpp +++ b/common/str.cpp @@ -108,6 +108,14 @@ String &String::operator =(const String &str) { return *this; } +String& String::operator =(char c) { + ensureCapacity(1, false); + _len = 1; + _str[0] = c; + _str[1] = 0; + return *this; +} + String &String::operator +=(const char *str) { int len = strlen(str); if (len > 0) { @@ -139,10 +147,6 @@ String &String::operator += (char c) { return *this; } -char String::lastChar() const { - return (_len > 0) ? _str[_len-1] : 0; -} - void String::deleteLastChar() { if (_len > 0) { ensureCapacity(_len - 1, true); diff --git a/common/str.h b/common/str.h index d6354481d5..704a03a4d6 100644 --- a/common/str.h +++ b/common/str.h @@ -70,6 +70,7 @@ public: uint size() const { return _len; } bool isEmpty() const { return (_len == 0); } + char lastChar() const { return (_len > 0) ? _str[_len-1] : 0; } }; class String : public ConstString { @@ -94,6 +95,7 @@ public: // An alternative would be to add private clone() and cloneMutable methods that // would do the right thing. String &operator =(const String &str); + String &operator =(char c); String &operator +=(const char *str); String &operator +=(const String &str); String &operator +=(char c); @@ -108,7 +110,6 @@ public: return _str[idx]; } - char lastChar() const; void deleteLastChar(); void deleteChar(int p); void clear(); |