mirror of
https://github.com/Icinga/icinga2.git
synced 2025-04-08 17:05:25 +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
061338156c
commit
80bce03565
@ -333,11 +333,21 @@ String icinga::operator+(const String& lhs, const char *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)
|
||||
{
|
||||
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)
|
||||
{
|
||||
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 char *rhs);
|
||||
String operator+(String&& lhs, const char *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 char *rhs);
|
||||
|
Loading…
x
Reference in New Issue
Block a user