global concat op for strings

master
Daniel Kolesa 2016-05-07 17:25:40 +01:00
parent 7561d40b14
commit a5c4b9d3ca
1 changed files with 22 additions and 0 deletions

View File

@ -908,6 +908,28 @@ String to_string(std::initializer_list<T> init) {
return to_string(iter(init));
}
/* TODO: rvalue ref versions for rhs when we have efficient prepend */
inline String operator+(ConstCharRange lhs, ConstCharRange rhs) {
String ret(lhs); ret += rhs; return ret;
}
inline String operator+(String &&lhs, ConstCharRange rhs) {
String ret(move(lhs)); ret += rhs; return ret;
}
inline String operator+(ConstCharRange lhs, char rhs) {
String ret(lhs); ret += rhs; return ret;
}
inline String operator+(String &&lhs, char rhs) {
String ret(move(lhs)); ret += rhs; return ret;
}
inline String operator+(char lhs, ConstCharRange rhs) {
String ret(lhs); ret += rhs; return ret;
}
template<typename R>
struct TempCString {
private: