15 #ifndef A_UTIL_UTIL_STRINGS_STRINGS_FUNCTIONS_HEADER_INCLUDED
16 #define A_UTIL_UTIL_STRINGS_STRINGS_FUNCTIONS_HEADER_INCLUDED
38 int compare(
const char* left,
const char* right);
50 int compare(
const char* left,
const char* right, std::size_t pos);
63 int compare(
const char* left,
const char* right, std::size_t pos, std::size_t length);
94 int compareNoCase(
const char* left,
const char* right, std::size_t pos);
111 int compareNoCase(
const char* left,
const char* right, std::size_t pos, std::size_t length);
121 bool isEqual(
const char* left,
const char* right);
132 bool isEqual(
const char* left,
const char* right, std::size_t pos);
144 bool isEqual(
const char* left,
const char* right, std::size_t pos, std::size_t length);
177 bool isEqualNoCase(
const char* left,
const char* right, std::size_t pos, std::size_t length);
196 std::size_t
copy(
char* dest, std::size_t dest_size,
const char* source);
208 std::size_t
copy(
char* dest, std::size_t dest_size,
const char* source, std::size_t count);
217 std::vector<std::string>
split(
const std::string& str,
const std::string& separator);
227 std::vector<std::string>
split(
const std::string& str,
228 const std::string& separator,
246 std::vector<std::string>
splitToken(
const std::string& str,
const std::string& separators);
257 const std::string& separators,
266 std::string&
trim(std::string& str);
275 std::string&
trim(std::string& str,
const std::string& trimmed_chars);
298 std::string&
replace(std::string& str,
const std::string& subject,
const std::string& replacement);
308 const std::string& subject,
309 const std::string& replacement);
317 std::string
join(
const std::vector<std::string>& strings,
const std::string& delimiter);
const std::string white_space
Contains all whitespaces (" \t\n\r")
std::string & replace(std::string &str, const std::string &subject, const std::string &replacement)
In-place replacement of all occurences of subject with replacement.
bool isEqualNoCase(const char *left, const char *right)
Compares two 0-terminated C-strings for equality ignoring their case.
int compare(const char *left, const char *right)
Compares two 0-terminated C-strings.
std::size_t getLength(const char *str)
Counts the number of characters in a 0-terminated C-string.
std::size_t copy(char *dest, std::size_t dest_size, const char *source)
Copies up to dest_size-1 characters from source to dest, ensuring null termination.
bool isEqual(const char *left, const char *right)
Compares two 0-terminated C-strings for equality.
std::string & trim(std::string &str)
Trims all whitespace characters from the start and end of a string.
std::vector< std::string > splitToken(const std::string &str)
Splits a string on whitespace characters.
int compareNoCase(const char *left, const char *right)
Compares two 0-terminated C-strings, ignoring the case using _tcsicmp.
const std::string empty_string
Contains the empty string.
std::vector< std::string > split(const std::string &str, const std::string &separator)
Splits a string using a specified separator string.
bool isNotEmpty(const char *str)
Checks whether a C-style string is not empty, meaning neither nullptr nor "".
bool isEmpty(const char *str)
Checks whether a C-style string is empty, meaning nullptr or "".
std::string join(const std::vector< std::string > &strings, const std::string &delimiter)
Joins all strings from the vector into one string, separated by the specified delimiter string.
Serves as the root component, with common functionality documented in core functionality.