OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights
reserved. | 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights
reserved. |
3 * Copyright (C) Research In Motion Limited 2011. All rights reserved. | 3 * Copyright (C) Research In Motion Limited 2011. All rights reserved. |
4 * | 4 * |
5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
9 * | 9 * |
10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
124 { | 124 { |
125 return StringAppend<const UChar*, AtomicString>(string1, string2); | 125 return StringAppend<const UChar*, AtomicString>(string1, string2); |
126 } | 126 } |
127 | 127 |
128 template<typename U, typename V> | 128 template<typename U, typename V> |
129 inline StringAppend<const UChar*, StringAppend<U, V> > operator+(const UChar* st
ring1, const StringAppend<U, V>& string2) | 129 inline StringAppend<const UChar*, StringAppend<U, V> > operator+(const UChar* st
ring1, const StringAppend<U, V>& string2) |
130 { | 130 { |
131 return StringAppend<const UChar*, StringAppend<U, V> >(string1, string2); | 131 return StringAppend<const UChar*, StringAppend<U, V> >(string1, string2); |
132 } | 132 } |
133 | 133 |
134 inline StringAppend<ASCIILiteral, String> operator+(const ASCIILiteral& string1,
const String& string2) | |
135 { | |
136 return StringAppend<ASCIILiteral, String>(string1, string2); | |
137 } | |
138 | |
139 inline StringAppend<ASCIILiteral, AtomicString> operator+(const ASCIILiteral& st
ring1, const AtomicString& string2) | |
140 { | |
141 return StringAppend<ASCIILiteral, AtomicString>(string1, string2); | |
142 } | |
143 | |
144 template<typename U, typename V> | |
145 inline StringAppend<ASCIILiteral, StringAppend<U, V> > operator+(const ASCIILite
ral& string1, const StringAppend<U, V>& string2) | |
146 { | |
147 return StringAppend<ASCIILiteral, StringAppend<U, V> >(string1, string2); | |
148 } | |
149 | |
150 template<typename T> | 134 template<typename T> |
151 StringAppend<String, T> operator+(const String& string1, T string2) | 135 StringAppend<String, T> operator+(const String& string1, T string2) |
152 { | 136 { |
153 return StringAppend<String, T>(string1, string2); | 137 return StringAppend<String, T>(string1, string2); |
154 } | 138 } |
155 | 139 |
156 template<typename U, typename V, typename W> | 140 template<typename U, typename V, typename W> |
157 StringAppend<StringAppend<U, V>, W> operator+(const StringAppend<U, V>& string1,
W string2) | 141 StringAppend<StringAppend<U, V>, W> operator+(const StringAppend<U, V>& string1,
W string2) |
158 { | 142 { |
159 return StringAppend<StringAppend<U, V>, W>(string1, string2); | 143 return StringAppend<StringAppend<U, V>, W>(string1, string2); |
160 } | 144 } |
161 | 145 |
162 } // namespace WTF | 146 } // namespace WTF |
163 | 147 |
164 #endif // StringOperators_h | 148 #endif // StringOperators_h |
OLD | NEW |