| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright (C) 2005, 2006, 2007, 2008, 2011, 2012 Apple Inc. All rights | 2  * Copyright (C) 2005, 2006, 2007, 2008, 2011, 2012 Apple Inc. All rights | 
| 3  * reserved. | 3  * 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 401 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 412 template <typename Key, typename Value> | 412 template <typename Key, typename Value> | 
| 413 struct HashTraits<KeyValuePair<Key, Value>> | 413 struct HashTraits<KeyValuePair<Key, Value>> | 
| 414     : public KeyValuePairHashTraits<HashTraits<Key>, HashTraits<Value>> {}; | 414     : public KeyValuePairHashTraits<HashTraits<Key>, HashTraits<Value>> {}; | 
| 415 | 415 | 
| 416 template <typename T> | 416 template <typename T> | 
| 417 struct NullableHashTraits : public HashTraits<T> { | 417 struct NullableHashTraits : public HashTraits<T> { | 
| 418   static const bool emptyValueIsZero = false; | 418   static const bool emptyValueIsZero = false; | 
| 419   static T emptyValue() { return reinterpret_cast<T>(1); } | 419   static T emptyValue() { return reinterpret_cast<T>(1); } | 
| 420 }; | 420 }; | 
| 421 | 421 | 
| 422 // This is for tracing inside collections that have special support for weak |  | 
| 423 // pointers. The trait has a trace method which returns true if there are weak |  | 
| 424 // pointers to things that have not (yet) been marked live. Returning true |  | 
| 425 // indicates that the entry in the collection may yet be removed by weak |  | 
| 426 // handling. Default implementation for non-weak types is to use the regular |  | 
| 427 // non-weak TraceTrait. Default implementation for types with weakness is to |  | 
| 428 // call traceInCollection on the type's trait. |  | 
| 429 template <WeakHandlingFlag weakHandlingFlag, |  | 
| 430           ShouldWeakPointersBeMarkedStrongly strongify, |  | 
| 431           typename T, |  | 
| 432           typename Traits> |  | 
| 433 struct TraceInCollectionTrait; |  | 
| 434 |  | 
| 435 }  // namespace WTF | 422 }  // namespace WTF | 
| 436 | 423 | 
| 437 using WTF::HashTraits; | 424 using WTF::HashTraits; | 
| 438 using WTF::PairHashTraits; | 425 using WTF::PairHashTraits; | 
| 439 using WTF::NullableHashTraits; | 426 using WTF::NullableHashTraits; | 
| 440 using WTF::SimpleClassHashTraits; | 427 using WTF::SimpleClassHashTraits; | 
| 441 | 428 | 
| 442 #endif  // WTF_HashTraits_h | 429 #endif  // WTF_HashTraits_h | 
| OLD | NEW | 
|---|