RedFlame v0.1.1
A high intensity flame eminating from software
Loading...
Searching...
No Matches
StringUtils.h
1//---------------------------------------------------------------
2//
3// File: StringUtils.h
4//
5//---------------------------------------------------------------
6
7#pragma once
8
9#include <string>
10#include <cstdarg> // For variable args
11
12namespace Gen
13{
14
16{
17public:
21
24 static std::string toUpper(const std::string& s1);
25 static std::string toLower(const std::string& s1);
26
27 static void trim (std::string& s1, const std::string& s2 = StringUtils::whiteSpace);
28 static void trim (std::string& s1, const char* pChars);
29 static void trim (std::string& s1, char c);
30 static void trimFront(std::string& s1, const std::string& s2 = StringUtils::whiteSpace);
31 static void trimFront(std::string& s1, const char* pChars);
32 static void trimFront(std::string& s1, char c);
33 static void trimEnd (std::string& s1, const std::string& s2 = StringUtils::whiteSpace);
34 static void trimEnd (std::string& s1, const char* pChars);
35 static void trimEnd (std::string& s1, char c);
36
37 static void prepend(std::string& s1, const std::string& s2);
38 static void prepend(std::string& s1, const char* pChars);
39 static void prepend(std::string& s1, char c);
40
41 static void replace(std::string& s1,
42 const std::string& oldSubstring,
43 const std::string& newSubstring);
44 static void replace(std::string& s1,
45 const char* oldSubstring,
46 const char* newSubstring);
48
51 static std::string toString(const char* pFmt, ...);
52
53 static bool startsWith(const std::string& s1, const std::string& s2);
54 static bool startsWith(const std::string& s1, const char* pChars);
55 static bool startsWith(const std::string& s1, char c);
56
57 static bool startsWithAnyOf(const std::string& s1, const std::string& s2);
58 static bool startsWithAnyOf(const std::string& s1, const char* pChars);
59
60 static bool endsWith(const std::string& s1, const std::string& s2);
61 static bool endsWith(const std::string& s1, const char* pChars);
62 static bool endsWith(const std::string& s1, char c);
63
64 static bool endsWithAnyOf(const std::string& s1, const std::string& s2);
65 static bool endsWithAnyOf(const std::string& s1, const char* pChars);
66
67 static bool containsAnyOf(const std::string& s1, const std::string& s2);
68 static bool containsAnyOf(const std::string& s1, const char* pChars);
69
70 static bool insensitiveEquals(const std::string& s1, const std::string& s2);
71 static bool insensitivePredicate(const std::string::value_type &s1,
72 const std::string::value_type &s2);
73 static int countCharInString(const std::string& s1, char c);
75
76 static const std::string whiteSpace;
77};
78
79/*-----------------------------------------------------------*/
88
89} // namespace Gen
90
91//---------------------------------------------------------------
92
93#include "StringUtils.hpp" // Inlines
Some useful static functions for working with std::strings.
Definition StringUtils.h:16
static const std::string whiteSpace
these chars " \t\v\f\r\n"
Definition StringUtils.h:76
static void prepend(std::string &s1, const std::string &s2)
Definition StringUtils.hpp:223
static bool insensitiveEquals(const std::string &s1, const std::string &s2)
Definition StringUtils.cpp:342
static void trimFront(std::string &s1, const std::string &s2=StringUtils::whiteSpace)
Definition StringUtils.cpp:185
static int countCharInString(const std::string &s1, char c)
Definition StringUtils.cpp:289
static bool startsWithAnyOf(const std::string &s1, const std::string &s2)
Definition StringUtils.cpp:93
static std::string toString(const char *pFmt,...)
Definition StringUtils.cpp:28
static void replace(std::string &s1, const std::string &oldSubstring, const std::string &newSubstring)
Definition StringUtils.cpp:263
static bool containsAnyOf(const std::string &s1, const std::string &s2)
Definition StringUtils.cpp:152
static std::string toUpper(const std::string &s1)
Definition StringUtils.cpp:362
static bool endsWithAnyOf(const std::string &s1, const std::string &s2)
Definition StringUtils.cpp:133
static void trimEnd(std::string &s1, const std::string &s2=StringUtils::whiteSpace)
Definition StringUtils.cpp:168
static void trim(std::string &s1, const std::string &s2=StringUtils::whiteSpace)
Definition StringUtils.cpp:205
static bool startsWith(const std::string &s1, const std::string &s2)
Definition StringUtils.cpp:69
static bool endsWith(const std::string &s1, const std::string &s2)
Definition StringUtils.cpp:112
static bool insensitivePredicate(const std::string::value_type &s1, const std::string::value_type &s2)
Definition StringUtils.cpp:320
static std::string toLower(const std::string &s1)
Definition StringUtils.cpp:383
Supply Library description.
Definition BuildInfo.h:12