diff --git a/mozilla/string/public/nsAReadableString.h b/mozilla/string/public/nsAReadableString.h index 1eb71663943..5a60710fcf0 100644 --- a/mozilla/string/public/nsAReadableString.h +++ b/mozilla/string/public/nsAReadableString.h @@ -1271,6 +1271,22 @@ nsPromiseSubstring::GetReadableFragment( nsReadableFragment& aFrag +#ifdef NEED_CPP_DERIVED_TEMPLATE_OPERATORS + +#define NS_DEF_TEMPLATE_OPERATOR_PLUS + #define NS_DEF_TEMPLATE_DERIVED_STRING_STRING_OPERATOR_PLUS(_String1T, _String2T) \ + template \ + inline \ + nsPromiseConcatenation \ + operator+( const _String1T& lhs, const _String2T& rhs ) \ + { \ + return nsPromiseConcatenation(lhs, rhs); \ + } + + NS_DEF_TEMPLATE_DERIVED_STRING_STRING_OPERATOR_PLUS(nsPromiseSubstring, nsPromiseSubstring) + NS_DEF_TEMPLATE_DERIVED_STRING_STRING_OPERATOR_PLUS(nsPromiseConcatenation, nsPromiseSubstring) + +#endif // NEED_CPP_DERIVED_TEMPLATE_OPERATORS // @@ -1410,6 +1426,8 @@ operator+( const basic_nsAReadableString& lhs, const basic_nsAReadableStr #define NS_DEF_DERIVED_STRING_OPERATOR_PLUS(_StringT, _CharT) \ NS_DEF_DERIVED_STRING_STRING_OPERATOR_PLUS(_StringT, _StringT, _CharT) \ + NS_DEF_DERIVED_STRING_STRING_OPERATOR_PLUS(nsPromiseSubstring<_CharT>, _StringT, _CharT) \ + NS_DEF_DERIVED_STRING_STRING_OPERATOR_PLUS(_StringT, nsPromiseSubstring<_CharT>, _CharT) \ NS_DEF_DERIVED_STRING_STRING_OPERATOR_PLUS(nsPromiseConcatenation<_CharT>, _StringT, _CharT) #define NS_DEF_2_STRING_STRING_OPERATOR_PLUS(_String1T, _String2T, _CharT) \ diff --git a/mozilla/xpcom/ds/nsAReadableString.h b/mozilla/xpcom/ds/nsAReadableString.h index 1eb71663943..5a60710fcf0 100644 --- a/mozilla/xpcom/ds/nsAReadableString.h +++ b/mozilla/xpcom/ds/nsAReadableString.h @@ -1271,6 +1271,22 @@ nsPromiseSubstring::GetReadableFragment( nsReadableFragment& aFrag +#ifdef NEED_CPP_DERIVED_TEMPLATE_OPERATORS + +#define NS_DEF_TEMPLATE_OPERATOR_PLUS + #define NS_DEF_TEMPLATE_DERIVED_STRING_STRING_OPERATOR_PLUS(_String1T, _String2T) \ + template \ + inline \ + nsPromiseConcatenation \ + operator+( const _String1T& lhs, const _String2T& rhs ) \ + { \ + return nsPromiseConcatenation(lhs, rhs); \ + } + + NS_DEF_TEMPLATE_DERIVED_STRING_STRING_OPERATOR_PLUS(nsPromiseSubstring, nsPromiseSubstring) + NS_DEF_TEMPLATE_DERIVED_STRING_STRING_OPERATOR_PLUS(nsPromiseConcatenation, nsPromiseSubstring) + +#endif // NEED_CPP_DERIVED_TEMPLATE_OPERATORS // @@ -1410,6 +1426,8 @@ operator+( const basic_nsAReadableString& lhs, const basic_nsAReadableStr #define NS_DEF_DERIVED_STRING_OPERATOR_PLUS(_StringT, _CharT) \ NS_DEF_DERIVED_STRING_STRING_OPERATOR_PLUS(_StringT, _StringT, _CharT) \ + NS_DEF_DERIVED_STRING_STRING_OPERATOR_PLUS(nsPromiseSubstring<_CharT>, _StringT, _CharT) \ + NS_DEF_DERIVED_STRING_STRING_OPERATOR_PLUS(_StringT, nsPromiseSubstring<_CharT>, _CharT) \ NS_DEF_DERIVED_STRING_STRING_OPERATOR_PLUS(nsPromiseConcatenation<_CharT>, _StringT, _CharT) #define NS_DEF_2_STRING_STRING_OPERATOR_PLUS(_String1T, _String2T, _CharT) \ diff --git a/mozilla/xpcom/string/public/nsAReadableString.h b/mozilla/xpcom/string/public/nsAReadableString.h index 1eb71663943..5a60710fcf0 100644 --- a/mozilla/xpcom/string/public/nsAReadableString.h +++ b/mozilla/xpcom/string/public/nsAReadableString.h @@ -1271,6 +1271,22 @@ nsPromiseSubstring::GetReadableFragment( nsReadableFragment& aFrag +#ifdef NEED_CPP_DERIVED_TEMPLATE_OPERATORS + +#define NS_DEF_TEMPLATE_OPERATOR_PLUS + #define NS_DEF_TEMPLATE_DERIVED_STRING_STRING_OPERATOR_PLUS(_String1T, _String2T) \ + template \ + inline \ + nsPromiseConcatenation \ + operator+( const _String1T& lhs, const _String2T& rhs ) \ + { \ + return nsPromiseConcatenation(lhs, rhs); \ + } + + NS_DEF_TEMPLATE_DERIVED_STRING_STRING_OPERATOR_PLUS(nsPromiseSubstring, nsPromiseSubstring) + NS_DEF_TEMPLATE_DERIVED_STRING_STRING_OPERATOR_PLUS(nsPromiseConcatenation, nsPromiseSubstring) + +#endif // NEED_CPP_DERIVED_TEMPLATE_OPERATORS // @@ -1410,6 +1426,8 @@ operator+( const basic_nsAReadableString& lhs, const basic_nsAReadableStr #define NS_DEF_DERIVED_STRING_OPERATOR_PLUS(_StringT, _CharT) \ NS_DEF_DERIVED_STRING_STRING_OPERATOR_PLUS(_StringT, _StringT, _CharT) \ + NS_DEF_DERIVED_STRING_STRING_OPERATOR_PLUS(nsPromiseSubstring<_CharT>, _StringT, _CharT) \ + NS_DEF_DERIVED_STRING_STRING_OPERATOR_PLUS(_StringT, nsPromiseSubstring<_CharT>, _CharT) \ NS_DEF_DERIVED_STRING_STRING_OPERATOR_PLUS(nsPromiseConcatenation<_CharT>, _StringT, _CharT) #define NS_DEF_2_STRING_STRING_OPERATOR_PLUS(_String1T, _String2T, _CharT) \