1 #ifndef SZA_UTIL_STRING_H
2 #define SZA_UTIL_STRING_H
24 String(
unsigned int,
bool convertNonAscii =
false);
25 String(
const std::string& str,
bool convertNonAscii =
false);
26 String(
const std::vector<unsigned char>& ucvec,
bool convertNonAscii =
false);
27 String(
const std::vector<char>& ucvec,
bool convertNonAscii =
false);
34 static void strip(std::string& targetStr,
const std::string& stripStr);
35 static void strip(std::string& targetStr,
char stripChar);
37 void strip(
const std::string& stripStr);
38 void strip(
char stripChar);
44 void wrapTo(
unsigned nChar,
unsigned nIndent);
46 bool contains(
char c);
47 bool contains(std::string s);
48 bool remainderContains(std::string s);
51 void replace(
char stripChar,
char replaceChar);
52 static void replace(std::string& targetStr,
char stripChar,
char replaceChar);
54 void advanceToNextNonWhitespaceChar();
56 void operator=(
const std::string& str);
57 void operator=(
const String str);
59 bool operator<(String& str);
60 bool operator==(String str);
61 bool operator==(std::string str);
62 bool operator!=(String str);
64 char& operator[](
unsigned int index);
66 inline std::string& str()
73 friend std::ostream& operator<<(std::ostream& os, String str);
75 String findFirstInstanceOf(std::string start,
bool useStart,
76 std::string stop,
bool useStop);
78 String findFirstInstanceOf(std::string start, std::string stop);
80 String findFirstInstanceOf(std::string stop);
82 String findNextInstanceOf(std::string start,
bool useStart,
83 std::string stop,
bool useStop,
bool consumeStop=
false);
85 String findNextInstanceOf(std::string start, std::string stop);
87 String findNextInstanceOf(std::string stop);
89 String findNextString();
93 String firstToLower();
94 String firstToUpper();
97 static const std::string emptyString_;
98 static const std::string whiteSpace_;
100 static std::string toLower(std::string str);
101 static std::string toUpper(std::string str);
102 static std::string firstToLower(std::string str);
103 static std::string firstToUpper(std::string str);
104 static std::string capitalized(std::string str);
106 String findNextStringSeparatedByChars(std::string separators,
bool matchEndOfString=
true);
108 void resetToBeginning();
112 static int toInt(std::string s);
119 bool matches(
unsigned char c, std::string matchSet);
126 static std::vector<unsigned char>
127 stringToBytes(std::string s,
bool convertNonAscii=
false);
129 static void parseNonAscii(std::string& s,
130 unsigned int& iChar,
unsigned int nChar,
131 std::vector<unsigned char>& ucvec);
133 static std::string bytesToString(std::vector<unsigned char> ucvec,
bool convertNonAscii =
false);
134 static std::string bytesToString(std::vector<char> cvec,
bool convertNonAscii =
false);
136 std::vector<unsigned char> getData();
140 std::string::size_type iStart_;
142 std::vector<unsigned char> ucvec_;
150 bool convertNonAscii_;
158 std::string convert(
char& c);
159 std::string convert(std::string& s);
169 #endif // End #ifndef SZA_UTIL_STRING_H