arduino-audio-tools
|
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) | |
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 | |
void | allocate (int len=-1) |
virtual const char * | c_str () |
provides the string value as const char* | |
size_t | capacity () |
virtual void | clear () |
clears the string by setting the terminating 0 at the beginning | |
virtual bool | contains (const char *str) |
checks if the string contains a substring | |
bool | containsNumber () |
void | copyFrom (const char *source, int len, int maxlen=0) |
assigns a memory buffer | |
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 | |
bool | isConst () override |
checks if the string is a constant that must not be changed | |
virtual bool | isEmpty () |
checks if the string is empty | |
bool | isInteger () |
Returns true if the string is an integer. | |
bool | isNumber () |
bool | isOnHeap () override |
checks if the string is on the heap | |
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 | |
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) |
StrExt & | operator= (StrExt &obj) |
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 | 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) |
void | setCapacity (size_t newLen) |
void | setChars (char c, int len) |
Fills the string with len chars. | |
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. | |
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 | |
Static Public Member Functions | |
static const char * | toBinary (void const *const ptr, size_t const size) |
provides a binary string represntation | |
Protected Member Functions | |
bool | grow (int newMaxLen) |
only supported in subclasses | |
Static Protected Member Functions | |
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 | |
char * | chars = nullptr |
bool | is_const =false |
int | len =0 |
int | maxlen = 0 |
char | savedChar |
int | savedLen = -1 |
Vector< char > | vector |
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.
|
inlinestaticprotectedinherited |
compute the rounding factor and fractional multiplier
print the decimal point
generate space padding
|
inlinevirtualinherited |
file matching supporting * and ? - replacing regex which is not supported in all environments
virtual bool matches(const char* match){ int m_size = strlen(match); if (length() < m_size) return false; if (strncmp(this->chars,match,m_size-1)!=0) return false; if (match[m_size-1]=='*' || match[m_size-1]==this->chars[m_size-1] ){ return true; } return false; }
returns 1 (true) if there is a match returns 0 if the pattern is not whitin the line
the line is ended but char was expected
end of mask
if the line also ends here then the pattern match
try to restart the mask on the rest
|
inlinevirtualinherited |
|
inlinevirtualinherited |