tinyhttp
|
Str which keeps the data on the heap. We grow the allocated memory only if the copy source is not fitting. More...
#include <StrExt.h>
Public Member Functions | |
StrExt (const char *str) | |
StrExt (int initialAllocatedLength) | |
StrExt (Str &source) | |
StrExt (StrExt &&obj)=default | |
StrExt (StrExt &source) | |
void | allocate (int len=-1) |
size_t | capacity () |
void | clear () |
clears the string by setting the terminating 0 at the beginning | |
bool | isConst () |
checks if the string is a constant that must not be changed | |
bool | isOnHeap () |
checks if the string is on the heap | |
void | operator= (char *str) |
we can assign a char* | |
void | operator= (const char *str) |
we can assign a const char* | |
void | operator= (double v) |
we can assign a double | |
void | operator= (int v) |
we can assign an int | |
StrExt & | operator= (StrExt &&obj)=default |
StrExt & | operator= (StrExt &obj) |
void | setCapacity (size_t newLen) |
Public Member Functions inherited from tinyhttp::Str | |
Str (char chars[], int maxlen, int len=0) | |
Creates a Str with the indicated buffer. | |
Str (const char *chars) | |
Creates a Str for string constant. | |
Str (const Str &)=default | |
Str (Str &&)=default | |
virtual void | add (const char *append) |
adds a string | |
virtual void | add (const char c) |
adds a character | |
virtual void | add (double value, int precision=2, int withd=0) |
adds a double value | |
virtual void | add (int value) |
adds a int value | |
virtual const char * | c_str () |
provides the string value as const char* | |
virtual bool | contains (const char *str) |
checks if the string contains a substring | |
bool | containsNumber () |
virtual int | count (char c, int startPos) |
count number of indicated characters as position | |
virtual bool | endsWith (const char *str) |
checks if the string ends with the indicated substring | |
virtual bool | endsWithIgnoreCase (const char *str) |
checks if the string ends with the indicated substring | |
virtual bool | equals (const char *str) |
checks if the string equals indicated parameter string | |
virtual bool | equalsIgnoreCase (const char *alt) |
Compares the string ignoring the case. | |
virtual int | indexOf (const char *cont, int start=0) |
provides the position of the the indicated substring after the indicated start position | |
virtual int | indexOf (const char c, int start=0) |
provides the position of the the indicated character after the indicated start position | |
virtual void | insert (int pos, const char *str) |
inserts a substring into the string | |
virtual bool | isEmpty () |
checks if the string is empty | |
bool | isInteger () |
Returns true if the string is an integer. | |
virtual bool | isNewLine () |
bool | isNumber () |
virtual int | lastIndexOf (const char *cont) |
provides the position of the last occurrence of the indicated substring | |
virtual int | length () |
provides the current length (filled with characters) of the string - excluding the terminating 0 | |
virtual void | ltrim () |
remove leading spaces | |
virtual bool | matches (const char *pattern) |
file matching supporting * and ? - replacing regex which is not supported in all environments More... | |
virtual int | maxLength () |
provides the maximum length of the string | |
int | numberOfDecimals () |
Determines the number of decimals in the number string. | |
virtual bool | operator!= (const char *alt) const |
checks if the indicated string is different from the current string | |
virtual bool | operator!= (const Str &alt) const |
checks if the indicated string is different from the current string | |
virtual void | operator+= (const char *str) |
adds a substring at the end of the string | |
virtual void | operator+= (const char value) |
adds a character | |
virtual void | operator+= (double value) |
adds a double at the end of the string | |
virtual void | operator+= (int value) |
adds a int at the end of the string | |
virtual void | operator<< (int n) |
shift characters to the right -> we just move the pointer | |
virtual void | operator= (char c) |
we can assign a char | |
Str & | operator= (const Str &)=default |
Str & | operator= (Str &&)=default |
virtual bool | operator== (const char *alt) const |
checks if the indicated string is equal to the current string | |
virtual bool | operator== (const Str &alt) const |
checks if the indicated string is equal to the current string | |
virtual char | operator[] (int index) |
virtual void | remove (const char *toRemove) |
removes the indicated substring from the string | |
virtual void | removeAll (const char *toRemove) |
removes the indicated substring from the string | |
virtual bool | replace (const char *toReplace, const char *replaced) |
Replaces the first instance of toReplace with replaced. | |
virtual bool | replace (const char *toReplace, const float replaced) |
virtual bool | replace (const char *toReplace, const int replaced) |
Replaces the first instance of toReplace with replaced. | |
virtual bool | replaceAll (const char *toReplace, const char *replaced) |
Replaces all instances of toReplace with replaced. | |
virtual void | rtrim () |
remove trailing spaces | |
virtual void | set (char chars[], int maxlen, int len=0, bool isConst=false) |
assigns a memory buffer | |
virtual void | set (const char *alt) |
assigs a value More... | |
virtual void | set (const char c) |
virtual void | set (const Str &alt) |
assigs from another Str value More... | |
virtual void | set (double value, int precision=2, int withd=0) |
virtual void | set (int value) |
virtual void | setLength (int len, bool addZero=true) |
limits the length of the string (by adding a delimiting 0) | |
virtual void | setLengthUndo () |
undo the last setLength call | |
virtual bool | startsWith (const char *str) |
checks if the string starts with the indicated substring | |
virtual void | substring (const char *from, int start, int end) |
copies a substring into the current string | |
virtual void | substring (Str &from, int start, int end) |
copies a substring into the current string | |
virtual void | swap (Str &str) |
double | toDouble () |
Converts the string to a double. | |
float | toFloat () |
Converts the string to a double. | |
int | toInt () |
Converts the string to an int. | |
long | toLong () |
Converts the string to an long. | |
void | toLowerCase () |
Converts the string to lowercase letters. | |
void | toUpperCase () |
Converts the string to uppercase letters. | |
virtual void | trim () |
remove leading and traling spaces | |
Protected Member Functions | |
bool | grow (int newMaxLen) |
only supported in subclasses | |
Additional Inherited Members | |
Static Public Member Functions inherited from tinyhttp::Str | |
static const char * | toBinary (void const *const ptr, size_t const size) |
provides a binary string represntation | |
Static Protected Member Functions inherited from tinyhttp::Str | |
static char * | floatToString (char *outstr, double val, int precision, int widthp) |
static char * | itoa (int n, char s[]) |
static void | reverse (char s[]) |
static int | strncmp_i (const char *s1, const char *s2, int n) |
Protected Attributes inherited from tinyhttp::Str | |
char * | chars = nullptr |
bool | is_const =false |
int | len =0 |
int | maxlen = 0 |
char | savedChar |
int | savedLen = -1 |
Str which keeps the data on the heap. We grow the allocated memory only if the copy source is not fitting.
While it should be avoided to use a lot of heap allocatioins in embedded devices it is sometimes more convinent to allocate a string once on the heap and have the insurance that it might grow if we need to process an unexpected size.
We also need to use this if we want to manage a vecor of strings.