string_util: Remove unnecessary std::string instance in TabsToSpaces()
We can just use the variant of std::string's replace() function that can replace an occurrence with N copies of the same character, eliminating the need to allocate a std::string containing a buffer of spaces.
This commit is contained in:
		| @@ -168,15 +168,14 @@ void SplitString(const std::string& str, const char delim, std::vector<std::stri | ||||
|     output.pop_back(); | ||||
| } | ||||
|  | ||||
| std::string TabsToSpaces(int tab_size, const std::string& in) { | ||||
|     const std::string spaces(tab_size, ' '); | ||||
|     std::string out(in); | ||||
|  | ||||
| std::string TabsToSpaces(int tab_size, std::string in) { | ||||
|     size_t i = 0; | ||||
|     while (out.npos != (i = out.find('\t'))) | ||||
|         out.replace(i, 1, spaces); | ||||
|  | ||||
|     return out; | ||||
|     while ((i = in.find('\t')) != std::string::npos) { | ||||
|         in.replace(i, 1, tab_size, ' '); | ||||
|     } | ||||
|  | ||||
|     return in; | ||||
| } | ||||
|  | ||||
| std::string ReplaceAll(std::string result, const std::string& src, const std::string& dest) { | ||||
|   | ||||
| @@ -57,7 +57,7 @@ static bool TryParse(const std::string& str, N* const output) { | ||||
|         return false; | ||||
| } | ||||
|  | ||||
| std::string TabsToSpaces(int tab_size, const std::string& in); | ||||
| std::string TabsToSpaces(int tab_size, std::string in); | ||||
|  | ||||
| void SplitString(const std::string& str, char delim, std::vector<std::string>& output); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user