From 500a3fdbe7c89b53206d03e92bbc57ca1391312d Mon Sep 17 00:00:00 2001 From: Christopher Andrews Date: Tue, 15 Jul 2014 16:19:41 +1000 Subject: [PATCH] Removed C++11 dependency for `begin()` and `end()` As I was not able to base the return types of `begin()` & `end()` off the c_str() function, I have changed the source so the features can be used by C++98 code, while still allowing ranged loops in C++11. --- hardware/arduino/avr/cores/arduino/WString.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hardware/arduino/avr/cores/arduino/WString.h b/hardware/arduino/avr/cores/arduino/WString.h index 4667a0ddf..7335d4ed5 100644 --- a/hardware/arduino/avr/cores/arduino/WString.h +++ b/hardware/arduino/avr/cores/arduino/WString.h @@ -89,8 +89,6 @@ public: #if __cplusplus >= 201103L || defined(__GXX_EXPERIMENTAL_CXX0X__) String & operator = (String &&rval); String & operator = (StringSumHelper &&rval); - auto begin() -> const char* { return c_str(); } - auto end() -> const char* { return c_str() + length(); } #endif // concatenate (works w/ built-in types) @@ -163,6 +161,8 @@ public: void toCharArray(char *buf, unsigned int bufsize, unsigned int index=0) const {getBytes((unsigned char *)buf, bufsize, index);} const char * c_str() const { return buffer; } + const char* begin() { return c_str(); } + const char* end() { return c_str() + length(); } // search int indexOf( char ch ) const;