71 #ifndef __GXX_EXPERIMENTAL_CXX0X__ 72 #define __GXX_EXPERIMENTAL_CXX0X__ 91 class __FlashStringHelper;
102 #define FPSTR(pstr_pointer) reinterpret_cast<flash_string_t>(pstr_pointer) 113 #define F(string_literal) String(FPSTR(PSTR_COUNTED(string_literal)), sizeof(string_literal) - 1) 141 typedef void (
String::*StringIfHelperType)()
const;
142 void StringIfHelper()
const {}
168 if (cstr)
copy(cstr, length);
179 #ifdef __GXX_EXPERIMENTAL_CXX0X__ 187 explicit String(
unsigned char,
unsigned char base = 10);
188 explicit String(
int,
unsigned char base = 10);
189 explicit String(
unsigned int,
unsigned char base = 10);
190 explicit String(
long,
unsigned char base = 10);
191 explicit String(
long long,
unsigned char base = 10);
192 explicit String(
unsigned long,
unsigned char base = 10);
193 explicit String(
unsigned long long,
unsigned char base = 10);
194 explicit String(
float,
unsigned char decimalPlaces=2);
195 explicit String(
double,
unsigned char decimalPlaces=2);
263 #ifdef __GXX_EXPERIMENTAL_CXX0X__ 266 if (
this != &rval)
move(rval);
288 bool concat(
const char *cstr);
289 bool concat(
const char *cstr,
size_t length);
294 bool concat(
unsigned char num);
296 bool concat(
unsigned int num);
298 bool concat(
long long num);
299 bool concat(
unsigned long num);
300 bool concat(
unsigned long long num);
397 operator StringIfHelperType()
const 399 return isNull() ? 0 : &String::StringIfHelper;
412 int compareTo(
const char* cstr,
size_t length)
const;
432 bool equals(
const char *cstr)
const;
433 bool equals(
const char *cstr,
size_t length)
const;
436 return fstr.
equals(*
this);
585 size_t getBytes(
unsigned char *buf,
size_t bufsize,
size_t index = 0)
const;
591 void toCharArray(
char *buf,
size_t bufsize,
size_t index = 0)
const 593 getBytes((
unsigned char *)buf, bufsize, index);
629 int indexOf(
char ch,
size_t fromIndex = 0)
const;
630 int indexOf(
const char* s2_buf,
size_t fromIndex,
size_t s2_len)
const;
631 int indexOf(
const char* s2_buf,
size_t fromIndex = 0)
const 633 return indexOf(s2_buf, fromIndex, strlen(s2_buf));
655 int lastIndexOf(
const char* s2_buf,
size_t fromIndex,
size_t s2_len)
const;
703 bool replace(
const char* find_buf,
size_t find_len,
const char* replace_buf,
size_t replace_len);
718 void remove(
size_t index)
720 remove(index, SIZE_MAX);
722 void remove(
size_t index,
size_t count);
741 long toInt(
void)
const;
765 static_assert(STRING_OBJECT_SIZE ==
sizeof(
SsoBuf),
"SSO Buffer alignment problem");
766 static_assert(STRING_OBJECT_SIZE >=
sizeof(
PtrBuf),
"STRING_OBJECT_SIZE too small");
767 static_assert(STRING_OBJECT_SIZE <= 128,
"STRING_OBJECT_SIZE too large (max. 128)");
768 static_assert(STRING_OBJECT_SIZE % 4 == 0,
"STRING_OBJECT_SIZE must be a multiple of 4");
811 String &
copy(
const char *cstr,
size_t length);
813 #ifdef __GXX_EXPERIMENTAL_CXX0X__ 839 #endif // __cplusplus bool equalsIgnoreCase(const FlashString &fstr) const
Definition: WString.h:510
int lastIndexOf(char ch) const
bool operator==(const String &rhs) const
Definition: WString.h:445
bool operator<=(const String &rhs) const
Definition: WString.h:486
bool operator>=(const String &rhs) const
Definition: WString.h:490
bool concat(char c)
Definition: WString.h:290
bool startsWith(const String &prefix) const
Compare the start of a String Comparison is case-sensitive, must match exactly.
Definition: WString.h:522
#define __forceinline
Definition: sming_attr.h:13
StringSumHelper(unsigned long long num)
Definition: WString.h:832
StringSumHelper(int num)
Definition: WString.h:827
static const String empty
An empty string evaluates to true.
Definition: WString.h:147
const char * c_str() const
Get a constant (un-modifiable) pointer to String content.
Definition: WString.h:600
size_t getBytes(unsigned char *buf, size_t bufsize, size_t index=0) const
Read contents of a String into a buffer.
static constexpr size_t SSO_CAPACITY
Max chars. (excluding NUL terminator) we can store in SSO mode.
Definition: WString.h:745
#define str(s)
Definition: testrunner.h:124
String substring(size_t from) const
Definition: WString.h:681
String & operator+=(const String &rhs)
Definition: WString.h:313
void toUpperCase(void)
Convert the entire String content to upper case.
StringSumHelper(long num)
Definition: WString.h:829
const __FlashStringHelper * flash_string_t
Provides a strongly-typed pointer to allow safe implicit operation using String class methods...
Definition: WString.h:91
void setlen(size_t len)
Definition: WString.h:799
StringSumHelper(long long num)
Definition: WString.h:830
StringSumHelper(const char *p)
Definition: WString.h:824
size_t capacity() const
Definition: WString.h:793
StringSumHelper(unsigned long num)
Definition: WString.h:831
const char * begin() const
Definition: WString.h:614
const char * cbuffer() const
Definition: WString.h:787
Used when contents allocated on heap.
Definition: WString.h:749
String substring(size_t from, size_t to) const
The String class.
Definition: WString.h:136
String & operator=(const String &rhs)
bool equalsIgnoreCase(const WString &str) const
int indexOf(char ch, size_t fromIndex=0) const
int indexOf(const char *s2_buf, size_t fromIndex=0) const
Definition: WString.h:631
char * begin()
Get a modifiable pointer to String content.
Definition: WString.h:606
StringSumHelper(char c)
Definition: WString.h:825
bool endsWith(const String &suffix) const
Compare the end of a String.
String(const String &str)
Definition: WString.h:170
float toFloat(void) const
bool equals(const char *cstr, size_t len=0) const
Check for equality with a C-string.
bool operator>(const String &rhs) const
Definition: WString.h:482
char charAt(size_t index) const
Obtain the character at the given index.
Definition: WString.h:553
StringSumHelper(float num)
Definition: WString.h:833
bool operator!=(const String &rhs) const
Definition: WString.h:464
static const String nullstr
A null string evaluates to false.
Definition: WString.h:146
int compareTo(const String &s) const
Definition: WString.h:413
friend StringSumHelper & operator+(const StringSumHelper &lhs, const String &rhs)
char * buffer()
Definition: WString.h:781
size_t length(void) const
Obtain the String length in characters, excluding NUL terminator.
Definition: WString.h:228
bool setLength(size_t length)
set the string length accordingly, expanding if necessary
StringSumHelper(const String &s)
Definition: WString.h:823
void setString(const char *cstr, int length=-1)
bool operator<(const String &rhs) const
Definition: WString.h:478
String()
Default constructor.
Definition: WString.h:153
unsigned char set
true for SSO mode
Definition: WString.h:758
bool equalsIgnoreCase(const String &s2) const
Definition: WString.h:506
describes a counted string stored in flash memory
Definition: String.hpp:173
void toCharArray(char *buf, size_t bufsize, size_t index=0) const
Read contents of String into a buffer.
Definition: WString.h:591
void setCharAt(size_t index, char c)
Sets the character at a given index.
char * buffer
Definition: WString.h:750
String(const char *cstr, size_t length)
Definition: WString.h:166
PtrBuf ptr
Definition: WString.h:761
Definition: WString.h:820
void toLowerCase(void)
Convert the entire String content to lower case.
unsigned char len
Definition: WString.h:757
bool equals(const FlashString &fstr) const
Definition: WString.h:434
char operator[](size_t index) const
void trim(void)
Remove all leading and trailing whitespace characters from the String.
bool reserve(size_t size)
Pre-allocate String memory.
bool operator==(const FlashString &fstr) const
Definition: WString.h:453
char buffer[SSO_CAPACITY+1]
Definition: WString.h:756
bool equals(const String &s) const
Definition: WString.h:428
StringSumHelper(unsigned char num)
Definition: WString.h:826
bool equalsIgnoreCase(const char *cstr) const
int indexOf(const String &s2, size_t fromIndex=0) const
Definition: WString.h:635
SsoBuf sso
Definition: WString.h:762
StringSumHelper(unsigned int num)
Definition: WString.h:828
bool isNull() const
Definition: WString.h:775
String(String &&rval)
Definition: WString.h:180
size_t len
Definition: WString.h:751
size_t capacity
Definition: WString.h:752
const char * end() const
Definition: WString.h:615
char * end()
Get a modifiable pointer to one-past the end of the String.
Definition: WString.h:613
String & copy(const char *cstr, size_t length)
void replace(char find, char replace)
Definition: WString.h:755
StringSumHelper(double num)
Definition: WString.h:834
String(flash_string_t pstr, int length=-1)
Definition: WString.h:174
bool concat(const String &str)
Definition: WString.h:283
~String(void)
Definition: WString.h:198
int compareTo(const char *cstr, size_t length) const