1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-30 19:57:59 +02:00

optimize string concat

This commit is contained in:
Philipp Otterbein 2024-12-07 04:42:04 +01:00
parent ab5a9cf2db
commit ad3a67a2a0

View file

@ -338,7 +338,9 @@ std::string showBytes(uint64_t bytes);
*/
inline std::string operator + (const std::string & s1, std::string_view s2)
{
auto s = s1;
std::string s;
s.reserve(s1.size() + s2.size());
s.append(s1);
s.append(s2);
return s;
}
@ -351,10 +353,11 @@ inline std::string operator + (std::string && s, std::string_view s2)
inline std::string operator + (std::string_view s1, const char * s2)
{
auto s2Size = strlen(s2);
std::string s;
s.reserve(s1.size() + strlen(s2));
s.reserve(s1.size() + s2Size);
s.append(s1);
s.append(s2);
s.append(s2, s2Size);
return s;
}