mirror of
https://github.com/vcmi/vcmi.git
synced 2024-12-24 22:14:36 +02:00
vstd: pass separators and input by reference
It removes many cases of redundnant string copying
This commit is contained in:
parent
14d27c788f
commit
cb3723b54c
@ -5,8 +5,8 @@ VCMI_LIB_NAMESPACE_BEGIN
|
|||||||
namespace vstd
|
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);
|
||||||
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);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,14 +6,14 @@ VCMI_LIB_NAMESPACE_BEGIN
|
|||||||
namespace vstd
|
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;
|
std::vector<std::string> result;
|
||||||
boost::split(result, s, boost::is_any_of(separators));
|
boost::split(result, s, boost::is_any_of(separators));
|
||||||
return result;
|
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;
|
std::pair<std::string, std::string> ret;
|
||||||
size_t splitPos = input.find(separator);
|
size_t splitPos = input.find(separator);
|
||||||
|
Loading…
Reference in New Issue
Block a user