diff --git a/cores/arduino/WString.cpp b/cores/arduino/WString.cpp index 5dcf585..41c80e8 100644 --- a/cores/arduino/WString.cpp +++ b/cores/arduino/WString.cpp @@ -157,6 +157,7 @@ String & String::copy(const char *cstr, unsigned int length) return *this; } +#ifdef __GXX_EXPERIMENTAL_CXX0X__ void String::move(String &rhs) { if (buffer) { @@ -176,6 +177,7 @@ void String::move(String &rhs) rhs.capacity = 0; rhs.len = 0; } +#endif String & String::operator = (const String &rhs) { @@ -340,6 +342,11 @@ StringSumHelper & operator + (const StringSumHelper &lhs, unsigned long num) /* Comparison */ /*********************************************/ +String::operator bool() const +{ + return !!buffer; +} + int String::compareTo(const String &s) const { if (!buffer || !s.buffer) { diff --git a/cores/arduino/WString.h b/cores/arduino/WString.h index f797861..5e78ee5 100644 --- a/cores/arduino/WString.h +++ b/cores/arduino/WString.h @@ -63,7 +63,9 @@ public: // copy and move String & copy(const char *cstr, unsigned int length); + #ifdef __GXX_EXPERIMENTAL_CXX0X__ void move(String &rhs); + #endif String & operator = (const String &rhs); String & operator = (const char *cstr); #ifdef __GXX_EXPERIMENTAL_CXX0X__ @@ -101,6 +103,7 @@ public: friend StringSumHelper & operator + (const StringSumHelper &lhs, unsigned long num); // comparison + operator bool() const; int compareTo(const String &s) const; unsigned char equals(const String &s) const; unsigned char equals(const char *cstr) const;