OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. |
3 * Copyright (C) 2009, 2010 Google Inc. All rights reserved. | 3 * Copyright (C) 2009, 2010 Google Inc. 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 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
224 }; | 224 }; |
225 | 225 |
226 template <typename T, template <class V> class OuterTemplate> struct RemoveT
emplate { | 226 template <typename T, template <class V> class OuterTemplate> struct RemoveT
emplate { |
227 typedef T Type; | 227 typedef T Type; |
228 }; | 228 }; |
229 | 229 |
230 template <typename T, template <class V> class OuterTemplate> struct RemoveT
emplate<OuterTemplate<T>, OuterTemplate> { | 230 template <typename T, template <class V> class OuterTemplate> struct RemoveT
emplate<OuterTemplate<T>, OuterTemplate> { |
231 typedef T Type; | 231 typedef T Type; |
232 }; | 232 }; |
233 | 233 |
| 234 template <typename T, template <typename, size_t, typename> class Vector, si
ze_t U, typename V> struct RemoveVector { |
| 235 typedef T Type; |
| 236 }; |
| 237 |
| 238 template <typename T, template <typename, size_t, typename> class Vector, si
ze_t U, typename V> struct RemoveVector<Vector<T, U, V>, Vector, U, V> { |
| 239 typedef T Type; |
| 240 }; |
| 241 |
234 template <typename T> struct RemoveConst { | 242 template <typename T> struct RemoveConst { |
235 typedef T Type; | 243 typedef T Type; |
236 }; | 244 }; |
237 | 245 |
238 template <typename T> struct RemoveConst<const T> { | 246 template <typename T> struct RemoveConst<const T> { |
239 typedef T Type; | 247 typedef T Type; |
240 }; | 248 }; |
241 | 249 |
242 template <typename T> struct RemoveVolatile { | 250 template <typename T> struct RemoveVolatile { |
243 typedef T Type; | 251 typedef T Type; |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
342 template<typename T>class OwnPtr; | 350 template<typename T>class OwnPtr; |
343 | 351 |
344 template<typename T> | 352 template<typename T> |
345 struct NeedsTracing<OwnPtr<T> > { | 353 struct NeedsTracing<OwnPtr<T> > { |
346 static const bool value = NeedsTracing<T>::value; | 354 static const bool value = NeedsTracing<T>::value; |
347 }; | 355 }; |
348 | 356 |
349 } // namespace WTF | 357 } // namespace WTF |
350 | 358 |
351 #endif // TypeTraits_h | 359 #endif // TypeTraits_h |
OLD | NEW |