48 #define STR_ON_STACK(name, size) \ 49 char __##name##buffer[size]; \ 50 str name((__##name##buffer), sizeof(__##name##buffer)) 107 static int toInt(
const char* pString);
109 static float toFloat(
const char* pString);
122 str(
const char* pString);
143 int printf(
const char* pFormat, ...);
159 int scanf(
const char* pFormat, ...);
174 int tokenize(
const char* delimators,
int char_ptr_count, ...);
183 bool insertAt(
const int index,
const char* pString);
192 void append(
const char* pString);
205 bool compareTo(
const char* pString)
const;
230 bool contains(
const char* pString)
const;
235 int countOf(
const char* pString)
const;
252 bool endsWith(
const char* pString)
const;
263 bool erase(
const char* pString);
283 void trimEnd(
const char* pChars);
292 bool replaceFirst(
const char* pFind,
const char* pWith);
293 bool replaceLast(
const char* pFind,
const char* pWith);
294 int replaceAll(
const char* pFind,
const char* pWith);
309 const str&
subString(
char fromFirstChar,
int charCount);
310 const str&
subString(
const char* fromStr,
int charCount);
311 const str&
subString(
char fromFirstChar,
char toLastChar);
332 const str*
getToken(
const char* pSplitter =
" ",
bool restart=
false);
412 bool operator<(
const char* pString)
const;
416 bool operator>(
const char* pString)
const;
435 const char*
c_str()
const {
return (*
this)(); };
436 operator float()
const;
437 operator int()
const;
447 static const int mInvalidIndex = -1;
448 static const int mAllocSize = 16;
451 void init(
int initialLength=mAllocSize)
459 reAllocateMem(initialLength);
464 bool ensureMemoryToInsertNChars(
const int nChars);
468 bool reAllocateMem(
const int size);
471 void copyFrom(
const char* pString);
474 int singleHexCharToInt(
unsigned char theChar);
477 int hexStrDigitsToInt(
char* pString);
bool insertAt(const int index, const str &s)
Definition: str.hpp:184
bool endsWithIgnoreCase(const char *pString) const
Definition: str.cpp:389
const char * operator()() const
() Operator (without a name): Ex: puts(myCStr());
Definition: str.cpp:965
void operator-=(const char *pString)
Remove all instances of pString using -= Operator.
Definition: str.cpp:901
int countOf(const str &s) const
Definition: str.hpp:236
int countOf(const char *pString) const
Definition: str.cpp:320
bool insertAtBeg(const char *pString)
Definition: str.cpp:179
int lastIndexOf(const char *pString) const
Definition: str.cpp:302
bool compareToIgnoreCase(const str &s) const
Definition: str.hpp:208
bool beginsWithWholeWordIgnoreCase(const char *pString, char seperator=' ') const
Definition: str.cpp:363
str()
Default constructor.
Definition: str.cpp:31
void clear()
Clears the string by putting NULL terminator at 1st char.
Definition: str.cpp:85
void operator--()
Pre-Decrement if String is an integer.
Definition: str.cpp:856
int lastIndexOf(const str &s) const
Definition: str.hpp:222
bool operator!=(const char *pString) const
Definition: str.cpp:928
bool eraseFirst(int nChars)
Definition: str.cpp:417
bool contains(const char *pString) const
Definition: str.cpp:248
bool compareToIgnoreCase(const char *pString) const
Definition: str.cpp:244
void toUpper()
Make every alphabet character uppercase.
Definition: str.cpp:102
bool operator>(const char *pString) const
Definition: str.cpp:954
int printf(const char *pFormat,...)
Definition: str.cpp:111
bool endsWith(const char *pString) const
Definition: str.cpp:376
bool endsWithIgnoreCase(const str &s) const
Definition: str.hpp:255
bool replaceFirst(const char *pFind, const char *pWith)
Definition: str.cpp:559
bool eraseLast(int nChars)
Definition: str.cpp:428
bool operator<=(const str &s) const
Definition: str.hpp:422
bool isFloat() const
Definition: str.cpp:729
static float toFloat(const char *pString)
Static method to convert char* string to float.
Definition: str.cpp:29
bool replaceLast(const char *pFind, const char *pWith)
Definition: str.cpp:570
const str * getToken(const char *pSplitter=" ", bool restart=false)
Definition: str.cpp:662
int getCapacity() const
Definition: str.cpp:71
int tokenize(const char *delimators, int char_ptr_count,...)
Definition: str.cpp:153
bool operator>(const str &s) const
Definition: str.hpp:418
char & operator[](int pos)
Index Operator to get and set value @ Index.
Definition: str.cpp:980
bool insertAt(const int index, const char *pString)
Definition: str.cpp:192
~str()
Destructor.
Definition: str.cpp:55
friend bool test_str(void)
For tests :
int firstIndexOfIgnoreCase(const char *pString) const
Definition: str.cpp:254
bool beginsWithIgnoreCase(const char *pString) const
Definition: str.cpp:345
bool reserve(int n)
reserves memory to hold n characters
Definition: str.cpp:75
void checksum_Remove()
Removes checksum characters: Ex: 123:0A becomes 123.
Definition: str.cpp:802
bool compareTo(const char *pString) const
Definition: str.cpp:240
bool eraseAllAfter(int index)
Definition: str.cpp:443
bool isAlphaNumeric() const
Definition: str.cpp:711
bool beginsWithIgnoreCase(const str &s) const
Definition: str.hpp:241
bool endsWith(const str &s) const
Definition: str.hpp:253
bool erase(const char *pString)
Definition: str.cpp:408
void toLower()
Make every alphabet character lowercase.
Definition: str.cpp:94
void checksum_Append()
Appends checksum characters: Ex: 123 becomes: 123:0A.
Definition: str.cpp:795
int firstIndexOf(const char *pString) const
Definition: str.cpp:297
bool eraseFirstWords(int words, char separator= ' ')
Definition: str.cpp:469
bool operator>=(const str &s) const
Definition: str.hpp:426
int firstIndexOf(const str &s) const
Definition: str.hpp:220
static int toInt(const char *pString)
Static method to convert char* string to integer.
Definition: str.cpp:28
bool containsIgnoreCase(const str &s) const
Definition: str.hpp:233
bool containsIgnoreCase(const char *pString) const
Definition: str.cpp:293
bool operator>=(const char *pString) const
Definition: str.cpp:958
void append(const char *pString)
Appends constant string pointer.
Definition: str.cpp:214
bool beginsWithWholeWord(const char *pString, char seperator=' ') const
Definition: str.cpp:352
int replaceAll(const char *pFind, const char *pWith)
Definition: str.cpp:581
const char * c_str() const
Definition: str.hpp:435
void append(const str &s)
Appends another str.
Definition: str.hpp:193
void trimStart(const str &s)
Definition: str.hpp:282
int eraseAllSpecialChars()
Erase all characters except alphabets and numerals.
Definition: str.cpp:487
static float toFloat(str &s)
Definition: str.hpp:110
bool insertAtBeg(const str &s)
Definition: str.hpp:180
unsigned int checksum_Get()
Get integer value of XOR checksum of this string.
Definition: str.cpp:785
bool eraseCharAt(int index)
Definition: str.cpp:439
bool compareTo(const str &s) const
Definition: str.hpp:206
bool operator<(const char *pString) const
Definition: str.cpp:952
bool operator==(const char *pString) const
Definition: str.cpp:916
int firstIndexOfIgnoreCase(const str &s) const
Definition: str.hpp:217
bool insertAtEnd(const char *pString)
Definition: str.cpp:183
To use the FreeRTOS so play with it a little *uses roughly of and uses roughly of RAM *The larger the size
Definition: readme.txt:4
bool checksum_Verify()
Definition: str.cpp:807
void trimEnd(const char *pChars)
Definition: str.cpp:535
void trimEnd(const str &s)
Definition: str.hpp:284
bool operator<(const str &s) const
Definition: str.hpp:413
bool beginsWith(const str &s) const
Definition: str.hpp:239
bool beginsWith(const char *pString) const
Definition: str.cpp:338
void clearAll()
Zeroes out ALL memory that belongs to this str.
Definition: str.cpp:89
bool operator<=(const char *pString) const
Definition: str.cpp:956
void operator=(const char *pString)
Assign a string: myCStr = "123";.
Definition: str.cpp:829
bool insertAtEnd(const str &s)
Definition: str.hpp:182
void trimStart(const char *pChars)
Definition: str.cpp:507
static int toInt(str &s)
Definition: str.hpp:108
bool isAllAlpha() const
Definition: str.cpp:695
bool isUint() const
Definition: str.cpp:750
void operator++()
Pre-Increment if String is an integer.
Definition: str.cpp:847
bool contains(const str &s) const
Definition: str.hpp:231
int getLen() const
Definition: str.cpp:67
void appendAsHex(unsigned int num)
Appends as hexadecimal ie: DEADBEEF.
Definition: str.cpp:232
bool isInt() const
Definition: str.cpp:767
bool eraseAfter(int index, int nChars)
Definition: str.cpp:453
void operator+=(const char singleChar)
Append char using += Operator.
Definition: str.cpp:875
const str & subString(int fromIndex)
Definition: str.cpp:625
int scanf(const char *pFormat,...)
Definition: str.cpp:143
bool erase(const str &s)
Definition: str.hpp:264