|
static bool | replace (std::string &s, const std::string &from, const std::string &to, std::size_t *pos_p=nullptr) |
| Replaces 'from' with 'to', starting at offset '*pos_p'. More...
|
|
static void | replace (std::string &s, char from, char to) |
| Replaces all 'from' characters with 'to'. More...
|
|
static void | replace (StringArray &, char from, char to) |
| Replaces 'from' characters with 'to' in all the strings in the array. More...
|
|
static unsigned int | replaceAll (std::string &s, const std::string &from, const std::string &to) |
| Does a global replace on string 's', replacing all occurrences of sub-string 'from' with 'to'. More...
|
|
static unsigned int | replaceAll (std::string &s, const char *from, const char *to) |
| A c-string overload, provided for performance reasons. More...
|
|
static std::string | replaced (const std::string &s, char from, char to) |
| Returns the string 's' with all occurrences of 'from' replaced by 'to'. More...
|
|
static void | removeAll (std::string &, char) |
| Removes all occurrences of the character from the string. See also only(). More...
|
|
static std::string & | trimLeft (std::string &s, string_view ws, std::size_t limit=0U) |
| Trims the lhs of s, taking off up to 'limit' of the 'ws' characters. More...
|
|
static std::string & | trimRight (std::string &s, string_view ws, std::size_t limit=0U) |
| Trims the rhs of s, taking off up to 'limit' of the 'ws' characters. More...
|
|
static std::string & | trim (std::string &s, string_view ws) |
| Trims both ends of s, taking off any of the 'ws' characters. More...
|
|
static std::string | trimmed (const std::string &s, string_view ws) |
| Returns a trim()med version of s. More...
|
|
static std::string | trimmed (std::string &&s, string_view ws) |
| Returns a trim()med version of s. More...
|
|
static bool | isNumeric (const std::string &s, bool allow_minus_sign=false) |
| Returns true if every character is a decimal digit. More...
|
|
static bool | isHex (const std::string &s) |
| Returns true if every character is a hexadecimal digit. More...
|
|
static bool | isPrintableAscii (const std::string &s) |
| Returns true if every character is a 7-bit, non-control character (ie. More...
|
|
static bool | isUShort (const std::string &s) |
| Returns true if the string can be converted into an unsigned short without throwing an exception. More...
|
|
static bool | isUInt (const std::string &s) |
| Returns true if the string can be converted into an unsigned integer without throwing an exception. More...
|
|
static bool | isULong (const std::string &s) |
| Returns true if the string can be converted into an unsigned long without throwing an exception. More...
|
|
static bool | isInt (const std::string &s) |
| Returns true if the string can be converted into an integer without throwing an exception. More...
|
|
static std::string | fromBool (bool b) |
| Converts boolean 'b' to a string. More...
|
|
static std::string | fromDouble (double d) |
| Converts double 'd' to a string. More...
|
|
static std::string | fromInt (int i) |
| Converts int 'i' to a string. More...
|
|
static std::string | fromLong (long l) |
| Converts long 'l' to a string. More...
|
|
static std::string | fromShort (short s) |
| Converts short 's' to a string. More...
|
|
static std::string | fromUInt (unsigned int ui) |
| Converts unsigned int 'ui' to a string. More...
|
|
static std::string | fromULong (unsigned long ul) |
| Converts unsigned long 'ul' to a string. More...
|
|
static std::string | fromUShort (unsigned short us) |
| Converts unsigned short 'us' to a string. More...
|
|
static bool | toBool (const std::string &s) |
| Converts string 's' to a bool. More...
|
|
static double | toDouble (const std::string &s) |
| Converts string 's' to a double. More...
|
|
static int | toInt (const std::string &s) |
| Converts string 's' to an int. More...
|
|
static long | toLong (const std::string &s) |
| Converts string 's' to a long. More...
|
|
static short | toShort (const std::string &s) |
| Converts string 's' to a short. More...
|
|
static unsigned int | toUInt (const std::string &s) |
| Converts string 's' to an unsigned int. More...
|
|
static unsigned int | toUInt (const std::string &s, Limited) |
| Converts string 's' to an unsigned int. More...
|
|
static unsigned int | toUInt (const std::string &s1, const std::string &s2) |
| Overload that converts the first string if it can be converted without throwing, or otherwise the second string. More...
|
|
static unsigned long | toULong (const std::string &s, Limited) |
| Converts string 's' to an unsigned long. More...
|
|
static unsigned long | toULong (const std::string &s, Hex) |
| An overload for hexadecimal strings. More...
|
|
static unsigned long | toULong (const std::string &s, Hex, Limited) |
| An overload for hexadecimal strings where overflow results in the return of the maximum value. More...
|
|
template<typename T > |
static T | toUnsigned (const char *p, const char *end, bool &overflow, bool &invalid) noexcept |
| Low-level conversion from an unsigned decimal string to a number. More...
|
|
template<typename T > |
static T | toUnsigned (const char *&p, const char *end, bool &overflow) noexcept |
| Low-level conversion from an unsigned decimal string to a number. More...
|
|
static unsigned long | toULong (const std::string &s) |
| Converts string 's' to an unsigned long. More...
|
|
static unsigned long | toULong (const std::string &s1, const std::string &s2) |
| Overload that converts the first string if it can be converted without throwing, or otherwise the second string. More...
|
|
static unsigned short | toUShort (const std::string &s, Limited) |
| Converts string 's' to an unsigned short. More...
|
|
static unsigned short | toUShort (const std::string &s) |
| Converts string 's' to an unsigned short. More...
|
|
static void | toUpper (std::string &s) |
| Replaces all Latin-1 lower-case characters in string 's' by upper-case characters. More...
|
|
static void | toLower (std::string &s) |
| Replaces all Latin-1 upper-case characters in string 's' by lower-case characters. More...
|
|
static std::string | upper (const std::string &s) |
| Returns a copy of 's' in which all Latin-1 lower-case characters have been replaced by upper-case characters. More...
|
|
static std::string | lower (const std::string &s) |
| Returns a copy of 's' in which all Latin-1 upper-case characters have been replaced by lower-case characters. More...
|
|
static std::string | toPrintableAscii (const std::string &in, char escape='\\') |
| Returns a 7-bit printable representation of the given input string. More...
|
|
static std::string | toPrintableAscii (const std::wstring &in, wchar_t escape=L'\\') |
| Returns a 7-bit printable representation of the given wide input string. More...
|
|
static std::string | printable (const std::string &in, char escape='\\') |
| Returns a printable representation of the given input string, using chacter code ranges 0x20 to 0x7e and 0xa0 to 0xfe inclusive. More...
|
|
static std::string | printable (std::string &&in, char escape='\\') |
| Returns a printable representation of the given input string, using chacter code ranges 0x20 to 0x7e and 0xa0 to 0xfe inclusive. More...
|
|
static std::string | only (const std::string &allow_chars, const std::string &s) |
| Returns the 's' with all occurrences of the characters not appearing in the fist string deleted. More...
|
|
static void | escape (std::string &s, char c_escape, const std::string &specials_in, const std::string &specials_out) |
| Prefixes each occurrence of one of the special-in characters with the escape character and its corresponding special-out character. More...
|
|
static void | escape (std::string &s, char c_escape, const char *specials_in, const char *specials_out) |
| Overload for c-style 'special' strings. More...
|
|
static void | escape (std::string &s) |
| Overload for 'normal' backslash escaping of whitespace. More...
|
|
static std::string | escaped (const std::string &, char c_escape, const std::string &specials_in, const std::string &specials_out) |
| Returns the escape()d string. More...
|
|
static std::string | escaped (const std::string &, char c_escape, const char *specials_in, const char *specials_out) |
| Returns the escape()d string. More...
|
|
static std::string | escaped (const std::string &) |
| Returns the escape()d string. More...
|
|
static void | unescape (std::string &s, char c_escape, const char *specials_in, const char *specials_out) |
| Unescapes the string by replacing e-e with e, e-special-in with special-out, and e-other with other. More...
|
|
static void | unescape (std::string &s) |
| Overload for 'normal' unescaping where the string has backslash escaping of whitespace. More...
|
|
static std::string | unescaped (const std::string &s) |
| Returns the unescape()d version of s. More...
|
|
static string_view | meta () |
| Returns a list of shell meta-characters with a tilde as the first character. More...
|
|
static std::string | readLineFrom (std::istream &stream, const std::string &eol=std::string()) |
| Reads a line from the stream using the given line terminator. More...
|
|
static void | readLineFrom (std::istream &stream, const std::string &eol, std::string &result, bool pre_erase_result=true) |
| An overload which avoids string copying. More...
|
|
static void | splitIntoTokens (const std::string &in, StringArray &out, string_view ws, char esc='\0') |
| Splits the string into 'ws'-delimited tokens. More...
|
|
static StringArray | splitIntoTokens (const std::string &in, string_view ws=Str::ws(), char esc='\0') |
| Overload that returns by value. More...
|
|
static void | splitIntoFields (const std::string &in, StringArray &out, string_view ws, char escape='\0', bool remove_escapes=true) |
| Splits the string into fields. More...
|
|
static StringArray | splitIntoFields (const std::string &in, string_view ws=Str::ws()) |
| Overload that returns by value. More...
|
|
static std::string | dequote (const std::string &, char qq='\"' , char esc = '\\' , string_view ws = Str::ws() , string_view nbws = Str::ws() ) |
| Dequotes a string by removing unescaped quotes and escaping quoted whitespace, so "qq-aaa-esc-qq-bbb-ws-ccc-qq" becomes "aaa-qq-bbb-esc-ws-ccc". More...
|
|
static std::string | join (const std::string &sep, const StringArray &strings) |
| Concatenates an array of strings with separators. More...
|
|
static std::string | join (const std::string &sep, const std::set< std::string > &strings) |
| Concatenates a set of strings with separators. More...
|
|
static std::string | join (const std::string &sep, const std::string &s1, const std::string &s2, const std::string &s3=std::string(), const std::string &s4=std::string(), const std::string &s5=std::string(), const std::string &s6=std::string(), const std::string &s7=std::string(), const std::string &s8=std::string(), const std::string &s9=std::string()) |
| Concatenates a small number of strings with separators. More...
|
|
static std::string | join (const std::string &sep, const StringMap &, const std::string &eq=std::string(1U,'='), const std::string &tail=std::string()) |
| Concatenates entries in a map, where an entry is "<key><eq><value><tail>". More...
|
|
static std::set< std::string > | keySet (const StringMap &string_map) |
| Extracts the keys from a map of strings. More...
|
|
static StringArray | keys (const StringMap &string_map) |
| Extracts the keys from a map of strings. More...
|
|
static std::string | head (const std::string &in, std::size_t pos, const std::string &default_=std::string()) |
| Returns the first part of the string up to just before the given position. More...
|
|
static std::string | head (const std::string &in, const std::string &sep, bool default_empty=true) |
| Overload taking a separator string, and with the default as either the input string or the empty string. More...
|
|
static std::string | tail (const std::string &in, std::size_t pos, const std::string &default_=std::string()) |
| Returns the last part of the string after the given position. More...
|
|
static std::string | tail (const std::string &in, const std::string &sep, bool default_empty=true) |
| Overload taking a separator string, and with the default as either the input string or the empty string. More...
|
|
static bool | match (const std::string &, const std::string &) |
| Returns true if the two strings are the same. More...
|
|
static bool | match (const StringArray &, const std::string &) |
| Returns true if any string in the array matches the given string. More...
|
|
static bool | iless (const std::string &, const std::string &) |
| Returns true if the first string is lexicographically less than the first, after Latin-1 lower-case letters have been folded to upper-case. More...
|
|
static bool | imatch (char, char) |
| Returns true if the two characters are the same, ignoring Latin-1 case. More...
|
|
static bool | imatch (const std::string &, const std::string &) |
| Returns true if the two strings are the same, ignoring Latin-1 case. More...
|
|
static bool | imatch (const StringArray &, const std::string &) |
| Returns true if any string in the array matches the given string, ignoring Latin-1 case. More...
|
|
static std::size_t | ifind (const std::string &s, const std::string &key, std::size_t pos=0U) |
| Returns the position of the key in 's' using a Latin-1 case-insensitive search. More...
|
|
static bool | tailMatch (const std::string &in, const std::string &ending) |
| Returns true if the string has the given ending (or the given ending is empty). More...
|
|
static bool | tailMatch (const StringArray &in, const std::string &ending) |
| Returns true if any string in the array has the given ending (or the given ending is empty). More...
|
|
static bool | headMatch (const std::string &in, const std::string &head) |
| Returns true if the string has the given start (or head is empty). More...
|
|
static bool | headMatch (const std::string &in, const char *head) |
| A c-string overload. More...
|
|
static bool | headMatch (const StringArray &in, const std::string &head) |
| Returns true if any string in the array has the given start (or head is empty). More...
|
|
static std::string | headMatchResidue (const StringArray &in, const std::string &head) |
| Returns the unmatched part of the first string in the array that has the given start. More...
|
|
static string_view | ws () |
| Returns a string of standard whitespace characters. More...
|
|
static string_view | alnum () |
| Returns a string of seven-bit alphanumeric characters, ie A-Z, a-z and 0-9. More...
|
|
static std::string | positive () |
| Returns a default positive string. See isPositive(). More...
|
|
static std::string | negative () |
| Returns a default negative string. See isNegative(). More...
|
|
static bool | isPositive (const std::string &) |
| Returns true if the string has a positive meaning, such as "1", "true", "yes". More...
|
|
static bool | isNegative (const std::string &) |
| Returns true if the string has a negative meaning, such as "0", "false", "no". More...
|
|
static std::string | unique (const std::string &s, char c, char r) |
| Returns a string with repeated 'c' characters replaced by one 'r' character. More...
|
|
static std::string | unique (const std::string &s, char c) |
| An overload that replaces repeated 'c' characters by one 'c' character. More...
|
|
static StringArray::iterator | keepMatch (StringArray::iterator begin, StringArray::iterator end, const StringArray &match_list, bool ignore_case=false) |
| Removes items in the begin/end list that do not match any of the elements in the match-list (whitelist), but keeps everything (by returning 'end') if the match-list is empty. More...
|
|
static StringArray::iterator | removeMatch (StringArray::iterator begin, StringArray::iterator end, const StringArray &match_list, bool ignore_case=false) |
| Removes items in the begin/end list that match one of the elements in the match-list (blocklist). More...
|
|
static errno_t | strncpy_s (char *dst, std::size_t n_dst, const char *src, std::size_t count) noexcept |
| Does the same as windows strncpy_s(). More...
|
|