diff --git a/hardware/arduino/avr/cores/arduino/Arduino.h b/hardware/arduino/avr/cores/arduino/Arduino.h index ec1389e1426..83a6d2c4ac9 100644 --- a/hardware/arduino/avr/cores/arduino/Arduino.h +++ b/hardware/arduino/avr/cores/arduino/Arduino.h @@ -21,7 +21,6 @@ #define Arduino_h #include -#include #include #include @@ -31,6 +30,14 @@ #include "binary.h" +#ifdef __cplusplus + typedef bool boolean; +#else + typedef uint8_t boolean; + #define false 0 + #define true !false +#endif + #ifdef __cplusplus extern "C"{ #endif @@ -114,7 +121,6 @@ typedef unsigned int word; #define bit(b) (1UL << (b)) -typedef uint8_t boolean; typedef uint8_t byte; void init(void); diff --git a/hardware/arduino/avr/cores/arduino/WString.h b/hardware/arduino/avr/cores/arduino/WString.h index 74024309278..fd106af2747 100644 --- a/hardware/arduino/avr/cores/arduino/WString.h +++ b/hardware/arduino/avr/cores/arduino/WString.h @@ -62,6 +62,8 @@ class String #ifdef __GXX_EXPERIMENTAL_CXX0X__ String(String &&rval); String(StringSumHelper &&rval); + auto begin() -> const char* { return c_str(); } + auto end() -> const char* { return c_str() + length(); } #endif explicit String(char c); explicit String(unsigned char, unsigned char base=10);