ADTF  3.18.2
strings_functions.h
Go to the documentation of this file.
1 
15 #ifndef A_UTIL_UTIL_STRINGS_STRINGS_FUNCTIONS_HEADER_INCLUDED
16 #define A_UTIL_UTIL_STRINGS_STRINGS_FUNCTIONS_HEADER_INCLUDED
17 
18 #include <string> //std::string
19 #include <vector> //std::vector
20 
21 namespace a_util {
22 namespace strings {
24 extern const std::string white_space;
25 
27 extern const std::string empty_string;
28 
38 int compare(const char* left, const char* right);
39 
50 int compare(const char* left, const char* right, std::size_t pos);
51 
63 int compare(const char* left, const char* right, std::size_t pos, std::size_t length);
64 
78 int compareNoCase(const char* left, const char* right);
79 
94 int compareNoCase(const char* left, const char* right, std::size_t pos);
95 
111 int compareNoCase(const char* left, const char* right, std::size_t pos, std::size_t length);
112 
121 bool isEqual(const char* left, const char* right);
122 
132 bool isEqual(const char* left, const char* right, std::size_t pos);
133 
144 bool isEqual(const char* left, const char* right, std::size_t pos, std::size_t length);
145 
154 bool isEqualNoCase(const char* left, const char* right);
155 
165 bool isEqualNoCase(const char* left, const char* right, std::size_t pos);
166 
177 bool isEqualNoCase(const char* left, const char* right, std::size_t pos, std::size_t length);
178 
185 std::size_t getLength(const char* str);
186 
196 std::size_t copy(char* dest, std::size_t dest_size, const char* source);
197 
208 std::size_t copy(char* dest, std::size_t dest_size, const char* source, std::size_t count);
209 
217 std::vector<std::string> split(const std::string& str, const std::string& separator);
218 
227 std::vector<std::string> split(const std::string& str,
228  const std::string& separator,
229  bool keep_empty);
230 
237 std::vector<std::string> splitToken(const std::string& str);
238 
246 std::vector<std::string> splitToken(const std::string& str, const std::string& separators);
247 
256 std::vector<std::string> splitToken(const std::string& str,
257  const std::string& separators,
258  bool keep_empty);
259 
266 std::string& trim(std::string& str);
267 
275 std::string& trim(std::string& str, const std::string& trimmed_chars);
276 
282 bool isEmpty(const char* str);
283 
289 bool isNotEmpty(const char* str);
290 
298 std::string& replace(std::string& str, const std::string& subject, const std::string& replacement);
299 
307 std::string replace(const std::string& str,
308  const std::string& subject,
309  const std::string& replacement);
310 
317 std::string join(const std::vector<std::string>& strings, const std::string& delimiter);
318 
319 } // namespace strings
320 } // namespace a_util
321 
322 #endif // A_UTIL_UTIL_STRINGS_STRINGS_FUNCTIONS_HEADER_INCLUDED
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.
Definition: base.h:24