OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2008 Apple Inc. All rights reserved. | 2 * Copyright (C) 2008 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
43 static bool equal(const AtomicString& a, const AtomicString& b) | 43 static bool equal(const AtomicString& a, const AtomicString& b) |
44 { | 44 { |
45 return a == b; | 45 return a == b; |
46 } | 46 } |
47 | 47 |
48 static const bool safeToCompareToEmptyOrDeleted = false; | 48 static const bool safeToCompareToEmptyOrDeleted = false; |
49 }; | 49 }; |
50 | 50 |
51 // AtomicStringHash is the default hash for AtomicString | 51 // AtomicStringHash is the default hash for AtomicString |
52 template<> struct HashTraits<WTF::AtomicString> : GenericHashTraits<WTF::Ato
micString> { | 52 template<> struct HashTraits<WTF::AtomicString> : GenericHashTraits<WTF::Ato
micString> { |
| 53 // Unlike other types, we can return a const reference for AtomicString'
s empty value (nullAtom). |
| 54 typedef const WTF::AtomicString& PeekType; |
| 55 |
| 56 static const WTF::AtomicString& emptyValue() { return nullAtom; } |
| 57 static PeekType peek(const WTF::AtomicString& value) { return value; } |
| 58 |
53 static const bool emptyValueIsZero = true; | 59 static const bool emptyValueIsZero = true; |
54 static void constructDeletedValue(WTF::AtomicString& slot) { new (NotNul
l, &slot) WTF::AtomicString(HashTableDeletedValue); } | 60 static void constructDeletedValue(WTF::AtomicString& slot) { new (NotNul
l, &slot) WTF::AtomicString(HashTableDeletedValue); } |
55 static bool isDeletedValue(const WTF::AtomicString& slot) { return slot.
isHashTableDeletedValue(); } | 61 static bool isDeletedValue(const WTF::AtomicString& slot) { return slot.
isHashTableDeletedValue(); } |
56 }; | 62 }; |
57 | 63 |
58 } | 64 } |
59 | 65 |
60 using WTF::AtomicStringHash; | 66 using WTF::AtomicStringHash; |
61 | 67 |
62 #endif | 68 #endif |
OLD | NEW |