Quellcode durchsuchen

vstd: pass separators and input by reference

It removes many cases of redundnant string copying
Konstantin vor 2 Jahren
Ursprung
Commit
cb3723b54c
2 geänderte Dateien mit 4 neuen und 4 gelöschten Zeilen
  1. 2 2
      include/vstd/StringUtils.h
  2. 2 2
      lib/vstd/StringUtils.cpp

+ 2 - 2
include/vstd/StringUtils.h

@@ -5,8 +5,8 @@ VCMI_LIB_NAMESPACE_BEGIN
 namespace vstd
 {
 
-	DLL_LINKAGE std::vector<std::string> split(std::string s, std::string separators);
-	DLL_LINKAGE std::pair<std::string, std::string> splitStringToPair(std::string input, char separator);
+	DLL_LINKAGE std::vector<std::string> split(std::string s, const std::string& separators);
+	DLL_LINKAGE std::pair<std::string, std::string> splitStringToPair(const std::string& input, char separator);
 
 }
 

+ 2 - 2
lib/vstd/StringUtils.cpp

@@ -6,14 +6,14 @@ VCMI_LIB_NAMESPACE_BEGIN
 namespace vstd
 {
 
-	DLL_LINKAGE std::vector<std::string> split(std::string s, std::string separators)
+	DLL_LINKAGE std::vector<std::string> split(std::string s, const std::string& separators)
 	{
 		std::vector<std::string> result;
 		boost::split(result, s, boost::is_any_of(separators));
 		return result;
 	}
 
-	DLL_LINKAGE std::pair<std::string, std::string> splitStringToPair(std::string input, char separator)
+	DLL_LINKAGE std::pair<std::string, std::string> splitStringToPair(const std::string& input, char separator)
 	{
 		std::pair<std::string, std::string> ret;
 		size_t splitPos = input.find(separator);