Changeset 1889 for code/trunk/src/util
- Timestamp:
- Oct 6, 2008, 1:05:07 AM (16 years ago)
- Location:
- code/trunk/src/util
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
code/trunk/src/util/Convert.h
r1837 r1889 512 512 static bool convert(orxonox::Vector2* output, const std::string& input) 513 513 { 514 unsigned int opening_parenthesis, closing_parenthesis = input.find(')');514 size_t opening_parenthesis, closing_parenthesis = input.find(')'); 515 515 if ((opening_parenthesis = input.find('(')) == std::string::npos) { opening_parenthesis = 0; } else { opening_parenthesis++; } 516 516 … … 536 536 static bool convert(orxonox::Vector3* output, const std::string& input) 537 537 { 538 unsigned int opening_parenthesis, closing_parenthesis = input.find(')');538 size_t opening_parenthesis, closing_parenthesis = input.find(')'); 539 539 if ((opening_parenthesis = input.find('(')) == std::string::npos) { opening_parenthesis = 0; } else { opening_parenthesis++; } 540 540 … … 562 562 static bool convert(orxonox::Vector4* output, const std::string& input) 563 563 { 564 unsigned int opening_parenthesis, closing_parenthesis = input.find(')');564 size_t opening_parenthesis, closing_parenthesis = input.find(')'); 565 565 if ((opening_parenthesis = input.find('(')) == std::string::npos) { opening_parenthesis = 0; } else { opening_parenthesis++; } 566 566 … … 590 590 static bool convert(orxonox::Quaternion* output, const std::string& input) 591 591 { 592 unsigned int opening_parenthesis, closing_parenthesis = input.find(')');592 size_t opening_parenthesis, closing_parenthesis = input.find(')'); 593 593 if ((opening_parenthesis = input.find('(')) == std::string::npos) { opening_parenthesis = 0; } else { opening_parenthesis++; } 594 594 … … 618 618 static bool convert(orxonox::ColourValue* output, const std::string& input) 619 619 { 620 unsigned int opening_parenthesis, closing_parenthesis = input.find(')');620 size_t opening_parenthesis, closing_parenthesis = input.find(')'); 621 621 if ((opening_parenthesis = input.find('(')) == std::string::npos) { opening_parenthesis = 0; } else { opening_parenthesis++; } 622 622 -
code/trunk/src/util/String.cc
r1830 r1889 48 48 void strip(std::string* str) 49 49 { 50 unsigned int pos;50 size_t pos; 51 51 while ((pos = (*str).find(" ")) < (*str).length()) 52 52 (*str).erase(pos, 1); … … 76 76 std::string removeTrailingWhitespaces(const std::string& str) 77 77 { 78 unsigned int pos1 = 0;78 size_t pos1 = 0; 79 79 int pos2 = str.size() - 1; 80 80 for (; pos1 < str.size() && (str[pos1] == ' ' || str[pos1] == '\t' || str[pos1] == '\n'); pos1++); 81 for (; pos2 > 0&& (str[pos2] == ' ' || str[pos2] == '\t' || str[pos2] == '\n'); pos2--);81 for (; pos2 != 0 && (str[pos2] == ' ' || str[pos2] == '\t' || str[pos2] == '\n'); pos2--); 82 82 return str.substr(pos1, pos2 - pos1 + 1); 83 83 } … … 89 89 @return The position of the next quote (std::string::npos if there is no next quote) 90 90 */ 91 unsigned int getNextQuote(const std::string& str, unsigned int start)92 { 93 unsigned int quote = start - 1;91 size_t getNextQuote(const std::string& str, size_t start) 92 { 93 size_t quote = start - 1; 94 94 95 95 while ((quote = str.find('\"', quote + 1)) != std::string::npos) 96 96 { 97 unsigned int backslash = quote;98 unsigned int numbackslashes = 0;97 size_t backslash = quote; 98 size_t numbackslashes = 0; 99 99 for (; backslash > 0; backslash--, numbackslashes++) 100 100 if (str[backslash - 1] != '\\') … … 114 114 @return True if pos is between two quotes 115 115 */ 116 bool isBetweenQuotes(const std::string& str, unsigned int pos)116 bool isBetweenQuotes(const std::string& str, size_t pos) 117 117 { 118 118 if (pos == std::string::npos) 119 119 return false; 120 120 121 unsigned int quotecount = 0;122 unsigned int quote = (unsigned int)-1;121 size_t quotecount = 0; 122 size_t quote = (size_t)-1; 123 123 while ((quote = getNextQuote(str, quote + 1)) < pos) 124 124 { … … 141 141 bool hasStringBetweenQuotes(const std::string& str) 142 142 { 143 unsigned int pos1 = getNextQuote(str, 0);144 unsigned int pos2 = getNextQuote(str, pos1 + 1);143 size_t pos1 = getNextQuote(str, 0); 144 size_t pos2 = getNextQuote(str, pos1 + 1); 145 145 return (pos1 != std::string::npos && pos2 != std::string::npos && pos2 > pos1 + 1); 146 146 } … … 153 153 std::string getStringBetweenQuotes(const std::string& str) 154 154 { 155 unsigned int pos1 = getNextQuote(str, 0);156 unsigned int pos2 = getNextQuote(str, pos1 + 1);155 size_t pos1 = getNextQuote(str, 0); 156 size_t pos2 = getNextQuote(str, pos1 + 1); 157 157 if (pos1 != std::string::npos && pos2 != std::string::npos) 158 158 return str.substr(pos1, pos2 - pos1 + 1); … … 168 168 std::string stripEnclosingQuotes(const std::string& str) 169 169 { 170 unsigned int start = std::string::npos;171 unsigned int end = 0;172 173 for ( unsigned int pos = 0; (pos < str.size()) && (pos < std::string::npos); pos++)170 size_t start = std::string::npos; 171 size_t end = 0; 172 173 for (size_t pos = 0; (pos < str.size()) && (pos < std::string::npos); pos++) 174 174 { 175 175 if (str[pos] == '"') … … 183 183 } 184 184 185 for ( unsigned int pos = str.size() - 1; pos < std::string::npos; pos--)185 for (size_t pos = str.size() - 1; pos < std::string::npos; pos--) 186 186 { 187 187 if (str[pos] == '"') … … 290 290 std::string output = str; 291 291 292 for ( unsigned int pos = 0; (pos = output.find('\\', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\\\"); }293 for ( unsigned int pos = 0; (pos = output.find('\n', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\n"); }294 for ( unsigned int pos = 0; (pos = output.find('\t', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\t"); }295 for ( unsigned int pos = 0; (pos = output.find('\v', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\v"); }296 for ( unsigned int pos = 0; (pos = output.find('\b', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\b"); }297 for ( unsigned int pos = 0; (pos = output.find('\r', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\r"); }298 for ( unsigned int pos = 0; (pos = output.find('\f', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\f"); }299 for ( unsigned int pos = 0; (pos = output.find('\a', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\a"); }300 for ( unsigned int pos = 0; (pos = output.find('"', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\\""); }301 for ( unsigned int pos = 0; (pos = output.find('\0', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\0"); }292 for (size_t pos = 0; (pos = output.find('\\', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\\\"); } 293 for (size_t pos = 0; (pos = output.find('\n', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\n"); } 294 for (size_t pos = 0; (pos = output.find('\t', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\t"); } 295 for (size_t pos = 0; (pos = output.find('\v', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\v"); } 296 for (size_t pos = 0; (pos = output.find('\b', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\b"); } 297 for (size_t pos = 0; (pos = output.find('\r', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\r"); } 298 for (size_t pos = 0; (pos = output.find('\f', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\f"); } 299 for (size_t pos = 0; (pos = output.find('\a', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\a"); } 300 for (size_t pos = 0; (pos = output.find('"', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\\""); } 301 for (size_t pos = 0; (pos = output.find('\0', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\0"); } 302 302 303 303 return output; … … 315 315 316 316 std::string output = ""; 317 for ( unsigned int pos = 0; pos < str.size() - 1; )317 for (size_t pos = 0; pos < str.size() - 1; ) 318 318 { 319 319 if (str[pos] == '\\') … … 345 345 void lowercase(std::string* str) 346 346 { 347 for ( unsigned int i = 0; i < str->size(); ++i)347 for (size_t i = 0; i < str->size(); ++i) 348 348 { 349 349 (*str)[i] = (char)tolower((*str)[i]); … … 369 369 void uppercase(std::string* str) 370 370 { 371 for ( unsigned int i = 0; i < str->size(); ++i)371 for (size_t i = 0; i < str->size(); ++i) 372 372 { 373 373 (*str)[i] = (char)toupper((*str)[i]); … … 421 421 @param len Maximal number of chars to compare 422 422 */ 423 int nocaseCmp(const std::string& s1, const std::string& s2, unsigned int len)423 int nocaseCmp(const std::string& s1, const std::string& s2, size_t len) 424 424 { 425 425 if (len == 0) … … 466 466 @return The position 467 467 */ 468 unsigned int getCommentPosition(const std::string& str)468 size_t getCommentPosition(const std::string& str) 469 469 { 470 470 return getNextCommentPosition(str, 0); … … 477 477 @return The position 478 478 */ 479 unsigned int getNextCommentPosition(const std::string& str, unsigned int start)480 { 481 for ( unsigned int i = start; i < str.size(); i++)479 size_t getNextCommentPosition(const std::string& str, size_t start) 480 { 481 for (size_t i = start; i < str.size(); i++) 482 482 if (isComment(str.substr(i))) 483 483 return i; -
code/trunk/src/util/String.h
r1791 r1889 42 42 extern _UtilExport std::string blankString; 43 43 44 _UtilExport void 45 _UtilExport std::string 44 _UtilExport void strip(std::string* str); 45 _UtilExport std::string getStripped(const std::string& str); 46 46 47 _UtilExport std::string 47 _UtilExport std::string removeTrailingWhitespaces(const std::string& str); 48 48 49 _UtilExport unsigned int getNextQuote(const std::string& str, unsigned int start);50 _UtilExport bool isBetweenQuotes(const std::string& str, unsigned int pos);49 _UtilExport size_t getNextQuote(const std::string& str, size_t start); 50 _UtilExport bool isBetweenQuotes(const std::string& str, size_t pos); 51 51 52 _UtilExport bool 53 _UtilExport std::string 52 _UtilExport bool hasStringBetweenQuotes(const std::string& str); 53 _UtilExport std::string getStringBetweenQuotes(const std::string& str); 54 54 55 _UtilExport std::string 56 _UtilExport std::string 55 _UtilExport std::string stripEnclosingQuotes(const std::string& str); 56 _UtilExport std::string stripEnclosingBraces(const std::string& str); 57 57 58 _UtilExport bool 59 _UtilExport bool 60 _UtilExport bool 58 _UtilExport bool isEmpty(const std::string& str); 59 _UtilExport bool isComment(const std::string& str); 60 _UtilExport bool isNumeric(const std::string& str); 61 61 62 _UtilExport std::string 63 _UtilExport std::string 62 _UtilExport std::string addSlashes(const std::string& str); 63 _UtilExport std::string removeSlashes(const std::string& str); 64 64 65 _UtilExport void 66 _UtilExport std::string 65 _UtilExport void lowercase(std::string* str); 66 _UtilExport std::string getLowercase(const std::string& str); 67 67 68 _UtilExport void 69 _UtilExport std::string 68 _UtilExport void uppercase(std::string* str); 69 _UtilExport std::string getUppercase(const std::string& str); 70 70 71 _UtilExport int 72 _UtilExport int nocaseCmp(const std::string& s1, const std::string& s2, unsigned int len);71 _UtilExport int nocaseCmp(const std::string& s1, const std::string& s2); 72 _UtilExport int nocaseCmp(const std::string& s1, const std::string& s2, size_t len); 73 73 74 _UtilExport bool 75 _UtilExport std::string 76 _UtilExport unsigned intgetCommentPosition(const std::string& str);77 _UtilExport unsigned int getNextCommentPosition(const std::string& str, unsigned int start = 0);74 _UtilExport bool hasComment(const std::string& str); 75 _UtilExport std::string getComment(const std::string& str); 76 _UtilExport size_t getCommentPosition(const std::string& str); 77 _UtilExport size_t getNextCommentPosition(const std::string& str, size_t start = 0); 78 78 79 79 #endif /* _Util_String_H__ */
Note: See TracChangeset
for help on using the changeset viewer.