mirror of
https://github.com/Icinga/icinga2.git
synced 2025-07-29 08:34:20 +02:00
String: provide operator+ for String&&, not only const String&
so that e.g. `String("foo")+"bar"` re-uses `String("foo")` instead of copying.
This commit is contained in:
parent
a65f2d6b41
commit
e510c037b2
@ -333,11 +333,21 @@ String icinga::operator+(const String& lhs, const char *rhs)
|
|||||||
return lhs.GetData() + rhs;
|
return lhs.GetData() + rhs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String icinga::operator+(String&& lhs, const char *rhs)
|
||||||
|
{
|
||||||
|
return std::move(lhs.GetData()) + rhs;
|
||||||
|
}
|
||||||
|
|
||||||
String icinga::operator+(const char *lhs, const String& rhs)
|
String icinga::operator+(const char *lhs, const String& rhs)
|
||||||
{
|
{
|
||||||
return lhs + rhs.GetData();
|
return lhs + rhs.GetData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String icinga::operator+(const char *lhs, String&& rhs)
|
||||||
|
{
|
||||||
|
return lhs + std::move(rhs.GetData());
|
||||||
|
}
|
||||||
|
|
||||||
bool icinga::operator==(const String& lhs, const String& rhs)
|
bool icinga::operator==(const String& lhs, const String& rhs)
|
||||||
{
|
{
|
||||||
return lhs.GetData() == rhs.GetData();
|
return lhs.GetData() == rhs.GetData();
|
||||||
|
@ -144,7 +144,9 @@ std::istream& operator>>(std::istream& stream, String& str);
|
|||||||
|
|
||||||
String operator+(const String& lhs, const String& rhs);
|
String operator+(const String& lhs, const String& rhs);
|
||||||
String operator+(const String& lhs, const char *rhs);
|
String operator+(const String& lhs, const char *rhs);
|
||||||
|
String operator+(String&& lhs, const char *rhs);
|
||||||
String operator+(const char *lhs, const String& rhs);
|
String operator+(const char *lhs, const String& rhs);
|
||||||
|
String operator+(const char *lhs, String&& rhs);
|
||||||
|
|
||||||
bool operator==(const String& lhs, const String& rhs);
|
bool operator==(const String& lhs, const String& rhs);
|
||||||
bool operator==(const String& lhs, const char *rhs);
|
bool operator==(const String& lhs, const char *rhs);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user