aboutsummaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorMax Horn2004-07-21 14:20:37 +0000
committerMax Horn2004-07-21 14:20:37 +0000
commit0605918ab412f3424450f11f8582dfb4c4940208 (patch)
treeafe5702152e37d249bd2037b1fc11cca99ac7084 /common
parent9dfee6c315aa2908002bc800adb706e5f070f08c (diff)
downloadscummvm-rg350-0605918ab412f3424450f11f8582dfb4c4940208.tar.gz
scummvm-rg350-0605918ab412f3424450f11f8582dfb4c4940208.tar.bz2
scummvm-rg350-0605918ab412f3424450f11f8582dfb4c4940208.zip
Small tweaks for the String class
svn-id: r14293
Diffstat (limited to 'common')
-rw-r--r--common/str.cpp12
-rw-r--r--common/str.h3
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();