/src/mozilla-central/xpcom/ds/nsBaseHashtable.h
Line | Count | Source (jump to first uncovered line) |
1 | | /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
2 | | /* vim: set ts=8 sts=2 et sw=2 tw=80: */ |
3 | | /* This Source Code Form is subject to the terms of the Mozilla Public |
4 | | * License, v. 2.0. If a copy of the MPL was not distributed with this |
5 | | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
6 | | |
7 | | #ifndef nsBaseHashtable_h__ |
8 | | #define nsBaseHashtable_h__ |
9 | | |
10 | | #include "mozilla/MemoryReporting.h" |
11 | | #include "mozilla/Move.h" |
12 | | #include "nsTHashtable.h" |
13 | | #include "nsDebug.h" |
14 | | |
15 | | template<class KeyClass, class DataType, class UserDataType> |
16 | | class nsBaseHashtable; // forward declaration |
17 | | |
18 | | /** |
19 | | * the private nsTHashtable::EntryType class used by nsBaseHashtable |
20 | | * @see nsTHashtable for the specification of this class |
21 | | * @see nsBaseHashtable for template parameters |
22 | | */ |
23 | | template<class KeyClass, class DataType> |
24 | | class nsBaseHashtableET : public KeyClass |
25 | | { |
26 | | public: |
27 | | DataType mData; |
28 | | friend class nsTHashtable<nsBaseHashtableET<KeyClass, DataType>>; |
29 | | |
30 | | private: |
31 | | typedef typename KeyClass::KeyType KeyType; |
32 | | typedef typename KeyClass::KeyTypePointer KeyTypePointer; |
33 | | |
34 | | explicit nsBaseHashtableET(KeyTypePointer aKey); |
35 | | nsBaseHashtableET(nsBaseHashtableET<KeyClass, DataType>&& aToMove); |
36 | | ~nsBaseHashtableET(); |
37 | | }; |
38 | | |
39 | | /** |
40 | | * templated hashtable for simple data types |
41 | | * This class manages simple data types that do not need construction or |
42 | | * destruction. |
43 | | * |
44 | | * @param KeyClass a wrapper-class for the hashtable key, see nsHashKeys.h |
45 | | * for a complete specification. |
46 | | * @param DataType the datatype stored in the hashtable, |
47 | | * for example, uint32_t or nsCOMPtr. If UserDataType is not the same, |
48 | | * DataType must implicitly cast to UserDataType |
49 | | * @param UserDataType the user sees, for example uint32_t or nsISupports* |
50 | | */ |
51 | | template<class KeyClass, class DataType, class UserDataType> |
52 | | class nsBaseHashtable |
53 | | : protected nsTHashtable<nsBaseHashtableET<KeyClass, DataType>> |
54 | | { |
55 | | typedef mozilla::fallible_t fallible_t; |
56 | | |
57 | | public: |
58 | | typedef typename KeyClass::KeyType KeyType; |
59 | | typedef nsBaseHashtableET<KeyClass, DataType> EntryType; |
60 | | |
61 | | using nsTHashtable<EntryType>::Contains; |
62 | | using nsTHashtable<EntryType>::GetGeneration; |
63 | | using nsTHashtable<EntryType>::SizeOfExcludingThis; |
64 | | using nsTHashtable<EntryType>::SizeOfIncludingThis; |
65 | | |
66 | 908 | nsBaseHashtable() {} nsBaseHashtable<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*, void*>::nsBaseHashtable() Line | Count | Source | 66 | 3 | nsBaseHashtable() {} |
nsBaseHashtable<nsUint32HashKey, nsAutoPtr<nsTString<char> >, nsTString<char>*>::nsBaseHashtable() Line | Count | Source | 66 | 3 | nsBaseHashtable() {} |
nsBaseHashtable<nsISupportsHashKey, nsCOMPtr<nsIConsoleListener>, nsIConsoleListener*>::nsBaseHashtable() Line | Count | Source | 66 | 1 | nsBaseHashtable() {} |
nsBaseHashtable<nsStringHashKey, nsCOMPtr<nsIVariant>, nsIVariant*>::nsBaseHashtable() Line | Count | Source | 66 | 5 | nsBaseHashtable() {} |
nsBaseHashtable<nsRefPtrHashKey<nsIMemoryReporter>, bool, bool>::nsBaseHashtable() Line | Count | Source | 66 | 3 | nsBaseHashtable() {} |
nsBaseHashtable<nsPtrHashKey<nsIMemoryReporter>, bool, bool>::nsBaseHashtable() Line | Count | Source | 66 | 3 | nsBaseHashtable() {} |
Unexecuted instantiation: nsBaseHashtable<nsCharPtrHashKey, nsAutoPtr<nsINIParser_internal::INIValue>, nsINIParser_internal::INIValue*>::nsBaseHashtable() Unexecuted instantiation: nsBaseHashtable<nsUint32HashKey, RefPtr<mozilla::dom::Gamepad>, mozilla::dom::Gamepad*>::nsBaseHashtable() nsBaseHashtable<nsUint64HashKey, nsGlobalWindowInner*, nsGlobalWindowInner*>::nsBaseHashtable() Line | Count | Source | 66 | 3 | nsBaseHashtable() {} |
Unexecuted instantiation: nsBaseHashtable<nsHashKeyDisallowMemmove<nsPtrHashKey<nsXBLPrototypeHandler> >, JS::Heap<JSObject*>, JSObject*>::nsBaseHashtable() nsBaseHashtable<nsUint64HashKey, nsGlobalWindowOuter*, nsGlobalWindowOuter*>::nsBaseHashtable() Line | Count | Source | 66 | 3 | nsBaseHashtable() {} |
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementDefinition>, mozilla::dom::CustomElementDefinition*>::nsBaseHashtable() Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementCreationCallback>, mozilla::dom::CustomElementCreationCallback*>::nsBaseHashtable() Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise>, mozilla::dom::Promise*>::nsBaseHashtable() Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, nsAutoPtr<nsTHashtable<nsRefPtrHashKey<nsIWeakReference> > >, nsTHashtable<nsRefPtrHashKey<nsIWeakReference> >*>::nsBaseHashtable() Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, TMimeType<char16_t>::ParameterValue, TMimeType<char16_t>::ParameterValue>::nsBaseHashtable() nsBaseHashtable<nsCStringHashKey, TMimeType<char>::ParameterValue, TMimeType<char>::ParameterValue>::nsBaseHashtable() Line | Count | Source | 66 | 875 | nsBaseHashtable() {} |
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, nsAutoPtr<AutoTArray<mozilla::dom::HTMLSlotElement*, 1ul> >, AutoTArray<mozilla::dom::HTMLSlotElement*, 1ul>*>::nsBaseHashtable() Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<RawServoStyleRule const>, mozilla::WeakPtr<mozilla::dom::CSSStyleRule>, mozilla::WeakPtr<mozilla::dom::CSSStyleRule> >::nsBaseHashtable() Unexecuted instantiation: nsBaseHashtable<nsISupportsHashKey, nsAutoPtr<nsTArray<mozilla::css::ImageLoader::FrameWithFlags> >, nsTArray<mozilla::css::ImageLoader::FrameWithFlags>*>::nsBaseHashtable() Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIFrame>, nsAutoPtr<nsTArray<nsCOMPtr<imgIRequest> > >, nsTArray<nsCOMPtr<imgIRequest> >*>::nsBaseHashtable() Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, nsAutoPtr<nsExternalResourceMap::ExternalResource>, nsExternalResourceMap::ExternalResource*>::nsBaseHashtable() Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, RefPtr<nsExternalResourceMap::PendingLoad>, nsExternalResourceMap::PendingLoad*>::nsBaseHashtable() Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, mozilla::UniquePtr<RawServoSelectorList, mozilla::DefaultDelete<RawServoSelectorList> >, mozilla::UniquePtr<RawServoSelectorList, mozilla::DefaultDelete<RawServoSelectorList> > >::nsBaseHashtable() Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, RefPtr<imgIRequest>, imgIRequest*>::nsBaseHashtable() Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, bool, bool>::nsBaseHashtable() nsBaseHashtable<nsRefPtrHashKey<nsAtom>, int, int>::nsBaseHashtable() Line | Count | Source | 66 | 6 | nsBaseHashtable() {} |
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<gfxFontEntry>, nsAutoPtr<mozilla::dom::InspectorFontFace>, mozilla::dom::InspectorFontFace*>::nsBaseHashtable() nsBaseHashtable<nsISupportsHashKey, mozilla::TimeStamp, mozilla::TimeStamp>::nsBaseHashtable() Line | Count | Source | 66 | 3 | nsBaseHashtable() {} |
Unexecuted instantiation: nsBaseHashtable<nsUint64HashKey, nsTString<char>, nsTString<char> >::nsBaseHashtable() |
67 | | explicit nsBaseHashtable(uint32_t aInitLength) |
68 | | : nsTHashtable<EntryType>(aInitLength) |
69 | 12 | { |
70 | 12 | } nsBaseHashtable<nsCharPtrHashKey, nsAutoPtr<mozilla::LogModule>, mozilla::LogModule*>::nsBaseHashtable(unsigned int) Line | Count | Source | 69 | 3 | { | 70 | 3 | } |
nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::nsBaseHashtable(unsigned int) Line | Count | Source | 69 | 3 | { | 70 | 3 | } |
Unexecuted instantiation: nsBaseHashtable<nsDepCharHashKey, nsAutoPtr<BloatEntry>, BloatEntry*>::nsBaseHashtable(unsigned int) Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord>, SerialNumberRecord*>::nsBaseHashtable(unsigned int) nsBaseHashtable<nsRefPtrHashKey<nsAtom>, EventNameMapping, EventNameMapping>::nsBaseHashtable(unsigned int) Line | Count | Source | 69 | 3 | { | 70 | 3 | } |
nsBaseHashtable<nsStringHashKey, EventNameMapping, EventNameMapping>::nsBaseHashtable(unsigned int) Line | Count | Source | 69 | 3 | { | 70 | 3 | } |
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster>, mozilla::dom::ChromeMessageBroadcaster*>::nsBaseHashtable(unsigned int) Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<mozilla::dom::Element>, nsCOMPtr<mozilla::dom::Element>, mozilla::dom::Element*>::nsBaseHashtable(unsigned int) Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::nsBaseHashtable(unsigned int) Unexecuted instantiation: nsBaseHashtable<nsNodeInfoManager::NodeInfoInnerKey, mozilla::dom::NodeInfo*, mozilla::dom::NodeInfo*>::nsBaseHashtable(unsigned int) |
71 | | |
72 | | /** |
73 | | * Return the number of entries in the table. |
74 | | * @return number of entries |
75 | | */ |
76 | 15.0M | uint32_t Count() const { return nsTHashtable<EntryType>::Count(); } nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::Count() const Line | Count | Source | 76 | 6 | uint32_t Count() const { return nsTHashtable<EntryType>::Count(); } |
nsBaseHashtable<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*, void*>::Count() const Line | Count | Source | 76 | 15.0M | uint32_t Count() const { return nsTHashtable<EntryType>::Count(); } |
nsBaseHashtable<nsISupportsHashKey, nsCOMPtr<nsIConsoleListener>, nsIConsoleListener*>::Count() const Line | Count | Source | 76 | 8.90k | uint32_t Count() const { return nsTHashtable<EntryType>::Count(); } |
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord>, SerialNumberRecord*>::Count() const Unexecuted instantiation: nsBaseHashtable<nsHashKeyDisallowMemmove<nsPtrHashKey<nsXBLPrototypeHandler> >, JS::Heap<JSObject*>, JSObject*>::Count() const Unexecuted instantiation: nsBaseHashtable<nsUint32HashKey, RefPtr<mozilla::dom::Gamepad>, mozilla::dom::Gamepad*>::Count() const Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster>, mozilla::dom::ChromeMessageBroadcaster*>::Count() const Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<mozilla::dom::Element>, nsCOMPtr<mozilla::dom::Element>, mozilla::dom::Element*>::Count() const Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, nsAutoPtr<nsTHashtable<nsRefPtrHashKey<nsIWeakReference> > >, nsTHashtable<nsRefPtrHashKey<nsIWeakReference> >*>::Count() const Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise>, mozilla::dom::Promise*>::Count() const Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, nsAutoPtr<AutoTArray<mozilla::dom::HTMLSlotElement*, 1ul> >, AutoTArray<mozilla::dom::HTMLSlotElement*, 1ul>*>::Count() const Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::Count() const Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, bool, bool>::Count() const Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, RefPtr<imgIRequest>, imgIRequest*>::Count() const |
77 | | |
78 | | /** |
79 | | * retrieve the value for a key. |
80 | | * @param aKey the key to retreive |
81 | | * @param aData data associated with this key will be placed at this |
82 | | * pointer. If you only need to check if the key exists, aData |
83 | | * may be null. |
84 | | * @return true if the key exists. If key does not exist, aData is not |
85 | | * modified. |
86 | | */ |
87 | | bool Get(KeyType aKey, UserDataType* aData) const |
88 | 18 | { |
89 | 18 | EntryType* ent = this->GetEntry(aKey); |
90 | 18 | if (!ent) { |
91 | 18 | return false; |
92 | 18 | } |
93 | 0 | |
94 | 0 | if (aData) { |
95 | 0 | *aData = ent->mData; |
96 | 0 | } |
97 | 0 |
|
98 | 0 | return true; |
99 | 0 | } Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, EventNameMapping, EventNameMapping>::Get(nsAtom*, EventNameMapping*) const Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, EventNameMapping, EventNameMapping>::Get(nsTSubstring<char16_t> const&, EventNameMapping*) const Unexecuted instantiation: nsBaseHashtable<nsHashKeyDisallowMemmove<nsPtrHashKey<nsXBLPrototypeHandler> >, JS::Heap<JSObject*>, JSObject*>::Get(nsXBLPrototypeHandler*, JSObject**) const Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, TMimeType<char16_t>::ParameterValue, TMimeType<char16_t>::ParameterValue>::Get(nsTSubstring<char16_t> const&, TMimeType<char16_t>::ParameterValue*) const Unexecuted instantiation: nsBaseHashtable<nsCStringHashKey, TMimeType<char>::ParameterValue, TMimeType<char>::ParameterValue>::Get(nsTSubstring<char> const&, TMimeType<char>::ParameterValue*) const nsBaseHashtable<nsRefPtrHashKey<nsAtom>, int, int>::Get(nsAtom*, int*) const Line | Count | Source | 88 | 18 | { | 89 | 18 | EntryType* ent = this->GetEntry(aKey); | 90 | 18 | if (!ent) { | 91 | 18 | return false; | 92 | 18 | } | 93 | 0 | | 94 | 0 | if (aData) { | 95 | 0 | *aData = ent->mData; | 96 | 0 | } | 97 | 0 |
| 98 | 0 | return true; | 99 | 0 | } |
|
100 | | |
101 | | /** |
102 | | * Get the value, returning a zero-initialized POD or a default-initialized |
103 | | * object if the entry is not present in the table. |
104 | | * |
105 | | * @param aKey the key to retrieve |
106 | | * @return The found value, or UserDataType{} if no entry was found with the |
107 | | * given key. |
108 | | * @note If zero/default-initialized values are stored in the table, it is |
109 | | * not possible to distinguish between such a value and a missing entry. |
110 | | */ |
111 | | UserDataType Get(KeyType aKey) const |
112 | 0 | { |
113 | 0 | EntryType* ent = this->GetEntry(aKey); |
114 | 0 | if (!ent) { |
115 | 0 | return UserDataType{}; |
116 | 0 | } |
117 | 0 | |
118 | 0 | return ent->mData; |
119 | 0 | } Unexecuted instantiation: nsBaseHashtable<nsUint64HashKey, nsGlobalWindowOuter*, nsGlobalWindowOuter*>::Get(unsigned long const&) const Unexecuted instantiation: nsBaseHashtable<nsNodeInfoManager::NodeInfoInnerKey, mozilla::dom::NodeInfo*, mozilla::dom::NodeInfo*>::Get(mozilla::dom::NodeInfo::NodeInfoInner*) const |
120 | | |
121 | | /** |
122 | | * Add key to the table if not already present, and return a reference to its |
123 | | * value. If key is not already in the table then the value is default |
124 | | * constructed. |
125 | | */ |
126 | | DataType& GetOrInsert(const KeyType& aKey) |
127 | 0 | { |
128 | 0 | EntryType* ent = this->PutEntry(aKey); |
129 | 0 | return ent->mData; |
130 | 0 | } |
131 | | |
132 | | /** |
133 | | * Put a new value for the associated key |
134 | | * @param aKey the key to put |
135 | | * @param aData the new data |
136 | | */ |
137 | | void Put(KeyType aKey, const UserDataType& aData) |
138 | 1.41k | { |
139 | 1.41k | if (!Put(aKey, aData, mozilla::fallible)) { |
140 | 0 | NS_ABORT_OOM(this->mTable.EntrySize() * this->mTable.EntryCount()); |
141 | 0 | } |
142 | 1.41k | } nsBaseHashtable<nsCharPtrHashKey, nsAutoPtr<mozilla::LogModule>, mozilla::LogModule*>::Put(char const*, mozilla::LogModule* const&) Line | Count | Source | 138 | 75 | { | 139 | 75 | if (!Put(aKey, aData, mozilla::fallible)) { | 140 | 0 | NS_ABORT_OOM(this->mTable.EntrySize() * this->mTable.EntryCount()); | 141 | 0 | } | 142 | 75 | } |
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::Put(void*, mozilla::JSHolderInfo* const&) Unexecuted instantiation: nsBaseHashtable<nsISupportsHashKey, nsCOMPtr<nsIConsoleListener>, nsIConsoleListener*>::Put(nsISupports*, nsIConsoleListener* const&) Unexecuted instantiation: nsBaseHashtable<nsCharPtrHashKey, nsAutoPtr<nsINIParser_internal::INIValue>, nsINIParser_internal::INIValue*>::Put(char const*, nsINIParser_internal::INIValue* const&) Unexecuted instantiation: nsBaseHashtable<nsDepCharHashKey, nsAutoPtr<BloatEntry>, BloatEntry*>::Put(char const*, BloatEntry* const&) nsBaseHashtable<nsRefPtrHashKey<nsIMemoryReporter>, bool, bool>::Put(nsIMemoryReporter*, bool const&) Line | Count | Source | 138 | 52 | { | 139 | 52 | if (!Put(aKey, aData, mozilla::fallible)) { | 140 | 0 | NS_ABORT_OOM(this->mTable.EntrySize() * this->mTable.EntryCount()); | 141 | 0 | } | 142 | 52 | } |
nsBaseHashtable<nsPtrHashKey<nsIMemoryReporter>, bool, bool>::Put(nsIMemoryReporter*, bool const&) Line | Count | Source | 138 | 33 | { | 139 | 33 | if (!Put(aKey, aData, mozilla::fallible)) { | 140 | 0 | NS_ABORT_OOM(this->mTable.EntrySize() * this->mTable.EntryCount()); | 141 | 0 | } | 142 | 33 | } |
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, nsCOMPtr<nsIVariant>, nsIVariant*>::Put(nsTSubstring<char16_t> const&, nsIVariant* const&) nsBaseHashtable<nsRefPtrHashKey<nsAtom>, EventNameMapping, EventNameMapping>::Put(nsAtom*, EventNameMapping const&) Line | Count | Source | 138 | 609 | { | 139 | 609 | if (!Put(aKey, aData, mozilla::fallible)) { | 140 | 0 | NS_ABORT_OOM(this->mTable.EntrySize() * this->mTable.EntryCount()); | 141 | 0 | } | 142 | 609 | } |
nsBaseHashtable<nsStringHashKey, EventNameMapping, EventNameMapping>::Put(nsTSubstring<char16_t> const&, EventNameMapping const&) Line | Count | Source | 138 | 588 | { | 139 | 588 | if (!Put(aKey, aData, mozilla::fallible)) { | 140 | 0 | NS_ABORT_OOM(this->mTable.EntrySize() * this->mTable.EntryCount()); | 141 | 0 | } | 142 | 588 | } |
Unexecuted instantiation: nsBaseHashtable<nsHashKeyDisallowMemmove<nsPtrHashKey<nsXBLPrototypeHandler> >, JS::Heap<JSObject*>, JSObject*>::Put(nsXBLPrototypeHandler*, JSObject* const&) Unexecuted instantiation: nsBaseHashtable<nsUint32HashKey, RefPtr<mozilla::dom::Gamepad>, mozilla::dom::Gamepad*>::Put(unsigned int const&, mozilla::dom::Gamepad* const&) Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, TMimeType<char16_t>::ParameterValue, TMimeType<char16_t>::ParameterValue>::Put(nsTSubstring<char16_t> const&, TMimeType<char16_t>::ParameterValue const&) Unexecuted instantiation: nsBaseHashtable<nsCStringHashKey, TMimeType<char>::ParameterValue, TMimeType<char>::ParameterValue>::Put(nsTSubstring<char> const&, TMimeType<char>::ParameterValue const&) Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, nsAutoPtr<nsExternalResourceMap::ExternalResource>, nsExternalResourceMap::ExternalResource*>::Put(nsIURI*, nsExternalResourceMap::ExternalResource* const&) nsBaseHashtable<nsRefPtrHashKey<nsAtom>, int, int>::Put(nsAtom*, int const&) Line | Count | Source | 138 | 57 | { | 139 | 57 | if (!Put(aKey, aData, mozilla::fallible)) { | 140 | 0 | NS_ABORT_OOM(this->mTable.EntrySize() * this->mTable.EntryCount()); | 141 | 0 | } | 142 | 57 | } |
Unexecuted instantiation: nsBaseHashtable<nsUint64HashKey, nsTString<char>, nsTString<char> >::Put(unsigned long const&, nsTString<char> const&) |
143 | | |
144 | | MOZ_MUST_USE bool Put(KeyType aKey, const UserDataType& aData, |
145 | | const fallible_t&) |
146 | 1.41k | { |
147 | 1.41k | EntryType* ent = this->PutEntry(aKey, mozilla::fallible); |
148 | 1.41k | if (!ent) { |
149 | 0 | return false; |
150 | 0 | } |
151 | 1.41k | |
152 | 1.41k | ent->mData = aData; |
153 | 1.41k | |
154 | 1.41k | return true; |
155 | 1.41k | } nsBaseHashtable<nsCharPtrHashKey, nsAutoPtr<mozilla::LogModule>, mozilla::LogModule*>::Put(char const*, mozilla::LogModule* const&, std::nothrow_t const&) Line | Count | Source | 146 | 75 | { | 147 | 75 | EntryType* ent = this->PutEntry(aKey, mozilla::fallible); | 148 | 75 | if (!ent) { | 149 | 0 | return false; | 150 | 0 | } | 151 | 75 | | 152 | 75 | ent->mData = aData; | 153 | 75 | | 154 | 75 | return true; | 155 | 75 | } |
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::Put(void*, mozilla::JSHolderInfo* const&, std::nothrow_t const&) Unexecuted instantiation: nsBaseHashtable<nsISupportsHashKey, nsCOMPtr<nsIConsoleListener>, nsIConsoleListener*>::Put(nsISupports*, nsIConsoleListener* const&, std::nothrow_t const&) Unexecuted instantiation: nsBaseHashtable<nsCharPtrHashKey, nsAutoPtr<nsINIParser_internal::INIValue>, nsINIParser_internal::INIValue*>::Put(char const*, nsINIParser_internal::INIValue* const&, std::nothrow_t const&) Unexecuted instantiation: nsBaseHashtable<nsDepCharHashKey, nsAutoPtr<BloatEntry>, BloatEntry*>::Put(char const*, BloatEntry* const&, std::nothrow_t const&) nsBaseHashtable<nsRefPtrHashKey<nsIMemoryReporter>, bool, bool>::Put(nsIMemoryReporter*, bool const&, std::nothrow_t const&) Line | Count | Source | 146 | 52 | { | 147 | 52 | EntryType* ent = this->PutEntry(aKey, mozilla::fallible); | 148 | 52 | if (!ent) { | 149 | 0 | return false; | 150 | 0 | } | 151 | 52 | | 152 | 52 | ent->mData = aData; | 153 | 52 | | 154 | 52 | return true; | 155 | 52 | } |
nsBaseHashtable<nsPtrHashKey<nsIMemoryReporter>, bool, bool>::Put(nsIMemoryReporter*, bool const&, std::nothrow_t const&) Line | Count | Source | 146 | 33 | { | 147 | 33 | EntryType* ent = this->PutEntry(aKey, mozilla::fallible); | 148 | 33 | if (!ent) { | 149 | 0 | return false; | 150 | 0 | } | 151 | 33 | | 152 | 33 | ent->mData = aData; | 153 | 33 | | 154 | 33 | return true; | 155 | 33 | } |
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, nsCOMPtr<nsIVariant>, nsIVariant*>::Put(nsTSubstring<char16_t> const&, nsIVariant* const&, std::nothrow_t const&) nsBaseHashtable<nsRefPtrHashKey<nsAtom>, EventNameMapping, EventNameMapping>::Put(nsAtom*, EventNameMapping const&, std::nothrow_t const&) Line | Count | Source | 146 | 609 | { | 147 | 609 | EntryType* ent = this->PutEntry(aKey, mozilla::fallible); | 148 | 609 | if (!ent) { | 149 | 0 | return false; | 150 | 0 | } | 151 | 609 | | 152 | 609 | ent->mData = aData; | 153 | 609 | | 154 | 609 | return true; | 155 | 609 | } |
nsBaseHashtable<nsStringHashKey, EventNameMapping, EventNameMapping>::Put(nsTSubstring<char16_t> const&, EventNameMapping const&, std::nothrow_t const&) Line | Count | Source | 146 | 588 | { | 147 | 588 | EntryType* ent = this->PutEntry(aKey, mozilla::fallible); | 148 | 588 | if (!ent) { | 149 | 0 | return false; | 150 | 0 | } | 151 | 588 | | 152 | 588 | ent->mData = aData; | 153 | 588 | | 154 | 588 | return true; | 155 | 588 | } |
Unexecuted instantiation: nsBaseHashtable<nsHashKeyDisallowMemmove<nsPtrHashKey<nsXBLPrototypeHandler> >, JS::Heap<JSObject*>, JSObject*>::Put(nsXBLPrototypeHandler*, JSObject* const&, std::nothrow_t const&) Unexecuted instantiation: nsBaseHashtable<nsUint32HashKey, RefPtr<mozilla::dom::Gamepad>, mozilla::dom::Gamepad*>::Put(unsigned int const&, mozilla::dom::Gamepad* const&, std::nothrow_t const&) Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, TMimeType<char16_t>::ParameterValue, TMimeType<char16_t>::ParameterValue>::Put(nsTSubstring<char16_t> const&, TMimeType<char16_t>::ParameterValue const&, std::nothrow_t const&) Unexecuted instantiation: nsBaseHashtable<nsCStringHashKey, TMimeType<char>::ParameterValue, TMimeType<char>::ParameterValue>::Put(nsTSubstring<char> const&, TMimeType<char>::ParameterValue const&, std::nothrow_t const&) Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, nsAutoPtr<nsExternalResourceMap::ExternalResource>, nsExternalResourceMap::ExternalResource*>::Put(nsIURI*, nsExternalResourceMap::ExternalResource* const&, std::nothrow_t const&) nsBaseHashtable<nsRefPtrHashKey<nsAtom>, int, int>::Put(nsAtom*, int const&, std::nothrow_t const&) Line | Count | Source | 146 | 57 | { | 147 | 57 | EntryType* ent = this->PutEntry(aKey, mozilla::fallible); | 148 | 57 | if (!ent) { | 149 | 0 | return false; | 150 | 0 | } | 151 | 57 | | 152 | 57 | ent->mData = aData; | 153 | 57 | | 154 | 57 | return true; | 155 | 57 | } |
Unexecuted instantiation: nsBaseHashtable<nsUint64HashKey, nsTString<char>, nsTString<char> >::Put(unsigned long const&, nsTString<char> const&, std::nothrow_t const&) |
156 | | |
157 | | /** |
158 | | * Put a new value for the associated key |
159 | | * @param aKey the key to put |
160 | | * @param aData the new data |
161 | | */ |
162 | | void Put(KeyType aKey, UserDataType&& aData) |
163 | 6 | { |
164 | 6 | if (!Put(aKey, std::move(aData), mozilla::fallible)) { |
165 | 0 | NS_ABORT_OOM(this->mTable.EntrySize() * this->mTable.EntryCount()); |
166 | 0 | } |
167 | 6 | } Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, mozilla::UniquePtr<RawServoSelectorList, mozilla::DefaultDelete<RawServoSelectorList> >, mozilla::UniquePtr<RawServoSelectorList, mozilla::DefaultDelete<RawServoSelectorList> > >::Put(nsTSubstring<char16_t> const&, mozilla::UniquePtr<RawServoSelectorList, mozilla::DefaultDelete<RawServoSelectorList> >&&) nsBaseHashtable<nsUint32HashKey, nsAutoPtr<nsTString<char> >, nsTString<char>*>::Put(unsigned int const&, nsTString<char>*&&) Line | Count | Source | 163 | 6 | { | 164 | 6 | if (!Put(aKey, std::move(aData), mozilla::fallible)) { | 165 | 0 | NS_ABORT_OOM(this->mTable.EntrySize() * this->mTable.EntryCount()); | 166 | 0 | } | 167 | 6 | } |
Unexecuted instantiation: nsBaseHashtable<nsCharPtrHashKey, nsAutoPtr<nsINIParser_internal::INIValue>, nsINIParser_internal::INIValue*>::Put(char const*, nsINIParser_internal::INIValue*&&) Unexecuted instantiation: nsBaseHashtable<nsUint64HashKey, nsGlobalWindowInner*, nsGlobalWindowInner*>::Put(unsigned long const&, nsGlobalWindowInner*&&) Unexecuted instantiation: nsBaseHashtable<nsUint64HashKey, nsGlobalWindowOuter*, nsGlobalWindowOuter*>::Put(unsigned long const&, nsGlobalWindowOuter*&&) Unexecuted instantiation: nsBaseHashtable<nsNodeInfoManager::NodeInfoInnerKey, mozilla::dom::NodeInfo*, mozilla::dom::NodeInfo*>::Put(mozilla::dom::NodeInfo::NodeInfoInner*, mozilla::dom::NodeInfo*&&) Unexecuted instantiation: nsBaseHashtable<nsISupportsHashKey, mozilla::TimeStamp, mozilla::TimeStamp>::Put(nsISupports*, mozilla::TimeStamp&&) |
168 | | |
169 | | MOZ_MUST_USE bool Put(KeyType aKey, UserDataType&& aData, const fallible_t&) |
170 | 6 | { |
171 | 6 | EntryType* ent = this->PutEntry(aKey, mozilla::fallible); |
172 | 6 | if (!ent) { |
173 | 0 | return false; |
174 | 0 | } |
175 | 6 | |
176 | 6 | ent->mData = std::move(aData); |
177 | 6 | |
178 | 6 | return true; |
179 | 6 | } Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, mozilla::UniquePtr<RawServoSelectorList, mozilla::DefaultDelete<RawServoSelectorList> >, mozilla::UniquePtr<RawServoSelectorList, mozilla::DefaultDelete<RawServoSelectorList> > >::Put(nsTSubstring<char16_t> const&, mozilla::UniquePtr<RawServoSelectorList, mozilla::DefaultDelete<RawServoSelectorList> >&&, std::nothrow_t const&) nsBaseHashtable<nsUint32HashKey, nsAutoPtr<nsTString<char> >, nsTString<char>*>::Put(unsigned int const&, nsTString<char>*&&, std::nothrow_t const&) Line | Count | Source | 170 | 6 | { | 171 | 6 | EntryType* ent = this->PutEntry(aKey, mozilla::fallible); | 172 | 6 | if (!ent) { | 173 | 0 | return false; | 174 | 0 | } | 175 | 6 | | 176 | 6 | ent->mData = std::move(aData); | 177 | 6 | | 178 | 6 | return true; | 179 | 6 | } |
Unexecuted instantiation: nsBaseHashtable<nsCharPtrHashKey, nsAutoPtr<nsINIParser_internal::INIValue>, nsINIParser_internal::INIValue*>::Put(char const*, nsINIParser_internal::INIValue*&&, std::nothrow_t const&) Unexecuted instantiation: nsBaseHashtable<nsUint64HashKey, nsGlobalWindowInner*, nsGlobalWindowInner*>::Put(unsigned long const&, nsGlobalWindowInner*&&, std::nothrow_t const&) Unexecuted instantiation: nsBaseHashtable<nsUint64HashKey, nsGlobalWindowOuter*, nsGlobalWindowOuter*>::Put(unsigned long const&, nsGlobalWindowOuter*&&, std::nothrow_t const&) Unexecuted instantiation: nsBaseHashtable<nsNodeInfoManager::NodeInfoInnerKey, mozilla::dom::NodeInfo*, mozilla::dom::NodeInfo*>::Put(mozilla::dom::NodeInfo::NodeInfoInner*, mozilla::dom::NodeInfo*&&, std::nothrow_t const&) Unexecuted instantiation: nsBaseHashtable<nsISupportsHashKey, mozilla::TimeStamp, mozilla::TimeStamp>::Put(nsISupports*, mozilla::TimeStamp&&, std::nothrow_t const&) |
180 | | |
181 | | /** |
182 | | * Remove the entry associated with aKey (if any), optionally _moving_ its |
183 | | * current value into *aData. Return true if found. |
184 | | * @param aKey the key to remove from the hashtable |
185 | | * @param aData where to move the value (if non-null). If an entry is not |
186 | | * found, *aData will be assigned a default-constructed value |
187 | | * (i.e. reset to zero or nullptr for primitive types). |
188 | | * @return true if an entry for aKey was found (and removed) |
189 | | */ |
190 | | bool Remove(KeyType aKey, DataType* aData = nullptr) |
191 | 0 | { |
192 | 0 | if (auto* ent = this->GetEntry(aKey)) { |
193 | 0 | if (aData) { |
194 | 0 | *aData = std::move(ent->mData); |
195 | 0 | } |
196 | 0 | this->RemoveEntry(ent); |
197 | 0 | return true; |
198 | 0 | } |
199 | 0 | if (aData) { |
200 | 0 | *aData = std::move(DataType()); |
201 | 0 | } |
202 | 0 | return false; |
203 | 0 | } Unexecuted instantiation: nsBaseHashtable<nsUint32HashKey, nsAutoPtr<nsTString<char> >, nsTString<char>*>::Remove(unsigned int const&, nsAutoPtr<nsTString<char> >*) Unexecuted instantiation: nsBaseHashtable<nsCharPtrHashKey, nsAutoPtr<nsINIParser_internal::INIValue>, nsINIParser_internal::INIValue*>::Remove(char const*, nsAutoPtr<nsINIParser_internal::INIValue>*) Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord>, SerialNumberRecord*>::Remove(void const*, nsAutoPtr<SerialNumberRecord>*) Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsIMemoryReporter>, bool, bool>::Remove(nsIMemoryReporter*, bool*) Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIMemoryReporter>, bool, bool>::Remove(nsIMemoryReporter*, bool*) Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, EventNameMapping, EventNameMapping>::Remove(nsTSubstring<char16_t> const&, EventNameMapping*) Unexecuted instantiation: nsBaseHashtable<nsUint64HashKey, nsGlobalWindowInner*, nsGlobalWindowInner*>::Remove(unsigned long const&, nsGlobalWindowInner**) Unexecuted instantiation: nsBaseHashtable<nsUint64HashKey, nsGlobalWindowOuter*, nsGlobalWindowOuter*>::Remove(unsigned long const&, nsGlobalWindowOuter**) Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, nsAutoPtr<nsTHashtable<nsRefPtrHashKey<nsIWeakReference> > >, nsTHashtable<nsRefPtrHashKey<nsIWeakReference> >*>::Remove(nsAtom*, nsAutoPtr<nsTHashtable<nsRefPtrHashKey<nsIWeakReference> > >*) Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, nsAutoPtr<AutoTArray<mozilla::dom::HTMLSlotElement*, 1ul> >, AutoTArray<mozilla::dom::HTMLSlotElement*, 1ul>*>::Remove(nsTSubstring<char16_t> const&, nsAutoPtr<AutoTArray<mozilla::dom::HTMLSlotElement*, 1ul> >*) Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, mozilla::UniquePtr<RawServoSelectorList, mozilla::DefaultDelete<RawServoSelectorList> >, mozilla::UniquePtr<RawServoSelectorList, mozilla::DefaultDelete<RawServoSelectorList> > >::Remove(nsTSubstring<char16_t> const&, mozilla::UniquePtr<RawServoSelectorList, mozilla::DefaultDelete<RawServoSelectorList> >*) Unexecuted instantiation: nsBaseHashtable<nsNodeInfoManager::NodeInfoInnerKey, mozilla::dom::NodeInfo*, mozilla::dom::NodeInfo*>::Remove(mozilla::dom::NodeInfo::NodeInfoInner*, mozilla::dom::NodeInfo**) |
204 | | |
205 | | struct LookupResult { |
206 | | private: |
207 | | EntryType* mEntry; |
208 | | nsBaseHashtable& mTable; |
209 | | #ifdef DEBUG |
210 | | uint32_t mTableGeneration; |
211 | | #endif |
212 | | |
213 | | public: |
214 | | LookupResult(EntryType* aEntry, nsBaseHashtable& aTable) |
215 | | : mEntry(aEntry) |
216 | | , mTable(aTable) |
217 | | #ifdef DEBUG |
218 | | , mTableGeneration(aTable.GetGeneration()) |
219 | | #endif |
220 | 0 | {} Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::LookupResult::LookupResult(nsBaseHashtableET<nsPtrHashKey<void>, mozilla::JSHolderInfo*>*, nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>&) Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::LookupResult::LookupResult(nsBaseHashtableET<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject> >*, nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>&) |
221 | | |
222 | | // Is there something stored in the table? |
223 | | explicit operator bool() const |
224 | 0 | { |
225 | 0 | MOZ_ASSERT(mTableGeneration == mTable.GetGeneration()); |
226 | 0 | return mEntry; |
227 | 0 | } Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::LookupResult::operator bool() const Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::LookupResult::operator bool() const |
228 | | |
229 | | void Remove() |
230 | 0 | { |
231 | 0 | if (!*this) { |
232 | 0 | return; |
233 | 0 | } |
234 | 0 | mTable.RemoveEntry(mEntry); |
235 | 0 | mEntry = nullptr; |
236 | 0 | } Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::LookupResult::Remove() Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::LookupResult::Remove() |
237 | | |
238 | | MOZ_MUST_USE DataType& Data() |
239 | 0 | { |
240 | 0 | MOZ_ASSERT(!!*this, "must have an entry to access its value"); |
241 | 0 | return mEntry->mData; |
242 | 0 | } Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::LookupResult::Data() Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::LookupResult::Data() |
243 | | }; |
244 | | |
245 | | /** |
246 | | * Looks up aKey in the hashtable and returns an object that allows you to |
247 | | * read/modify the value of the entry, or remove the entry (if found). |
248 | | * |
249 | | * A typical usage of this API looks like this: |
250 | | * |
251 | | * if (auto entry = hashtable.Lookup(key)) { |
252 | | * DoSomething(entry.Data()); |
253 | | * if (entry.Data() > 42) { |
254 | | * entry.Remove(); |
255 | | * } |
256 | | * } // else - an entry with the given key doesn't exist |
257 | | * |
258 | | * This is useful for cases where you want to read/write the value of an entry |
259 | | * and (optionally) remove the entry without having to do multiple hashtable |
260 | | * lookups. If you want to insert a new entry if one does not exist, then use |
261 | | * LookupForAdd instead, see below. |
262 | | */ |
263 | | MOZ_MUST_USE LookupResult Lookup(KeyType aKey) |
264 | 0 | { |
265 | 0 | return LookupResult(this->GetEntry(aKey), *this); |
266 | 0 | } Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::Lookup(void*) Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::Lookup(nsIContent*) |
267 | | |
268 | | struct EntryPtr { |
269 | | private: |
270 | | EntryType* mEntry; |
271 | | bool mExistingEntry; |
272 | | nsBaseHashtable& mTable; |
273 | | // For debugging purposes |
274 | | #ifdef DEBUG |
275 | | uint32_t mTableGeneration; |
276 | | bool mDidInitNewEntry; |
277 | | #endif |
278 | | |
279 | | public: |
280 | | EntryPtr(nsBaseHashtable& aTable, EntryType* aEntry, bool aExistingEntry) |
281 | | : mEntry(aEntry) |
282 | | , mExistingEntry(aExistingEntry) |
283 | | , mTable(aTable) |
284 | | #ifdef DEBUG |
285 | | , mTableGeneration(aTable.GetGeneration()) |
286 | | , mDidInitNewEntry(false) |
287 | | #endif |
288 | 7.50M | {} nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::EntryPtr::EntryPtr(nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>&, nsBaseHashtableET<nsPtrHashKey<void>, mozilla::JSHolderInfo*>*, bool) Line | Count | Source | 288 | 3 | {} |
nsBaseHashtable<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*, void*>::EntryPtr::EntryPtr(nsBaseHashtable<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*, void*>&, nsBaseHashtableET<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*>*, bool) Line | Count | Source | 288 | 7.50M | {} |
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord>, SerialNumberRecord*>::EntryPtr::EntryPtr(nsBaseHashtable<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord>, SerialNumberRecord*>&, nsBaseHashtableET<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord> >*, bool) Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster>, mozilla::dom::ChromeMessageBroadcaster*>::EntryPtr::EntryPtr(nsBaseHashtable<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster>, mozilla::dom::ChromeMessageBroadcaster*>&, nsBaseHashtableET<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster> >*, bool) Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise>, mozilla::dom::Promise*>::EntryPtr::EntryPtr(nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise>, mozilla::dom::Promise*>&, nsBaseHashtableET<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise> >*, bool) Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::EntryPtr::EntryPtr(nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>&, nsBaseHashtableET<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject> >*, bool) Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, bool, bool>::EntryPtr::EntryPtr(nsBaseHashtable<nsURIHashKey, bool, bool>&, nsBaseHashtableET<nsURIHashKey, bool>*, bool) |
289 | | ~EntryPtr() |
290 | 7.50M | { |
291 | 7.50M | MOZ_ASSERT(mExistingEntry || mDidInitNewEntry || !mEntry, |
292 | 7.50M | "Forgot to call OrInsert() or OrRemove() on a new entry"); |
293 | 7.50M | } nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::EntryPtr::~EntryPtr() Line | Count | Source | 290 | 3 | { | 291 | 3 | MOZ_ASSERT(mExistingEntry || mDidInitNewEntry || !mEntry, | 292 | 3 | "Forgot to call OrInsert() or OrRemove() on a new entry"); | 293 | 3 | } |
nsBaseHashtable<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*, void*>::EntryPtr::~EntryPtr() Line | Count | Source | 290 | 7.50M | { | 291 | 7.50M | MOZ_ASSERT(mExistingEntry || mDidInitNewEntry || !mEntry, | 292 | 7.50M | "Forgot to call OrInsert() or OrRemove() on a new entry"); | 293 | 7.50M | } |
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord>, SerialNumberRecord*>::EntryPtr::~EntryPtr() Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster>, mozilla::dom::ChromeMessageBroadcaster*>::EntryPtr::~EntryPtr() Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise>, mozilla::dom::Promise*>::EntryPtr::~EntryPtr() Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::EntryPtr::~EntryPtr() Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, bool, bool>::EntryPtr::~EntryPtr() |
294 | | |
295 | | // Is there something stored in the table already? |
296 | | explicit operator bool() const |
297 | 7.50M | { |
298 | 7.50M | MOZ_ASSERT(mTableGeneration == mTable.GetGeneration()); |
299 | 7.50M | return mExistingEntry; |
300 | 7.50M | } nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::EntryPtr::operator bool() const Line | Count | Source | 297 | 3 | { | 298 | 3 | MOZ_ASSERT(mTableGeneration == mTable.GetGeneration()); | 299 | 3 | return mExistingEntry; | 300 | 3 | } |
nsBaseHashtable<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*, void*>::EntryPtr::operator bool() const Line | Count | Source | 297 | 7.50M | { | 298 | 7.50M | MOZ_ASSERT(mTableGeneration == mTable.GetGeneration()); | 299 | 7.50M | return mExistingEntry; | 300 | 7.50M | } |
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord>, SerialNumberRecord*>::EntryPtr::operator bool() const Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise>, mozilla::dom::Promise*>::EntryPtr::operator bool() const Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::EntryPtr::operator bool() const Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, bool, bool>::EntryPtr::operator bool() const |
301 | | |
302 | | template <class F> |
303 | | UserDataType OrInsert(F func) |
304 | 21 | { |
305 | 21 | MOZ_ASSERT(mTableGeneration == mTable.GetGeneration()); |
306 | 21 | MOZ_ASSERT(mEntry); |
307 | 21 | if (!mExistingEntry) { |
308 | 21 | mEntry->mData = func(); |
309 | | #ifdef DEBUG |
310 | | mDidInitNewEntry = true; |
311 | | #endif |
312 | | } |
313 | 21 | return mEntry->mData; |
314 | 21 | } Unified_cpp_xpcom_base0.cpp:mozilla::JSHolderInfo* nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::EntryPtr::OrInsert<mozilla::CycleCollectedJSRuntime::AddJSHolder(void*, nsScriptObjectTracer*)::$_0>(mozilla::CycleCollectedJSRuntime::AddJSHolder(void*, nsScriptObjectTracer*)::$_0) Line | Count | Source | 304 | 3 | { | 305 | 3 | MOZ_ASSERT(mTableGeneration == mTable.GetGeneration()); | 306 | 3 | MOZ_ASSERT(mEntry); | 307 | 3 | if (!mExistingEntry) { | 308 | 3 | mEntry->mData = func(); | 309 | | #ifdef DEBUG | 310 | | mDidInitNewEntry = true; | 311 | | #endif | 312 | | } | 313 | 3 | return mEntry->mData; | 314 | 3 | } |
Unified_cpp_xpcom_base0.cpp:void* nsBaseHashtable<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*, void*>::EntryPtr::OrInsert<mozilla::CycleCollectedJSRuntime::DeferredFinalize(void* (*)(void*, void*), bool (*)(unsigned int, void*), void*)::$_1>(mozilla::CycleCollectedJSRuntime::DeferredFinalize(void* (*)(void*, void*), bool (*)(unsigned int, void*), void*)::$_1) Line | Count | Source | 304 | 18 | { | 305 | 18 | MOZ_ASSERT(mTableGeneration == mTable.GetGeneration()); | 306 | 18 | MOZ_ASSERT(mEntry); | 307 | 18 | if (!mExistingEntry) { | 308 | 18 | mEntry->mData = func(); | 309 | | #ifdef DEBUG | 310 | | mDidInitNewEntry = true; | 311 | | #endif | 312 | | } | 313 | 18 | return mEntry->mData; | 314 | 18 | } |
Unexecuted instantiation: Unified_cpp_xpcom_base2.cpp:SerialNumberRecord* nsBaseHashtable<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord>, SerialNumberRecord*>::EntryPtr::OrInsert<GetSerialNumber(void*, bool)::$_1>(GetSerialNumber(void*, bool)::$_1) Unexecuted instantiation: nsGlobalWindowInner.cpp:mozilla::dom::ChromeMessageBroadcaster* nsBaseHashtable<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster>, mozilla::dom::ChromeMessageBroadcaster*>::EntryPtr::OrInsert<nsGlobalWindowInner::GetGroupMessageManager(nsTSubstring<char16_t> const&)::$_8>(nsGlobalWindowInner::GetGroupMessageManager(nsTSubstring<char16_t> const&)::$_8) Unexecuted instantiation: Unified_cpp_dom_base1.cpp:mozilla::dom::Promise* nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise>, mozilla::dom::Promise*>::EntryPtr::OrInsert<mozilla::dom::CustomElementRegistry::WhenDefined(nsTSubstring<char16_t> const&, mozilla::ErrorResult&)::$_0>(mozilla::dom::CustomElementRegistry::WhenDefined(nsTSubstring<char16_t> const&, mozilla::ErrorResult&)::$_0) Unexecuted instantiation: Unified_cpp_dom_base7.cpp:mozilla::dom::BoxObject* nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::EntryPtr::OrInsert<nsIDocument::GetBoxObjectFor(mozilla::dom::Element*, mozilla::ErrorResult&)::$_0>(nsIDocument::GetBoxObjectFor(mozilla::dom::Element*, mozilla::ErrorResult&)::$_0) Unexecuted instantiation: Unified_cpp_dom_base7.cpp:bool nsBaseHashtable<nsURIHashKey, bool, bool>::EntryPtr::OrInsert<nsIDocument::MaybePreconnect(nsIURI*, mozilla::CORSMode)::$_1>(nsIDocument::MaybePreconnect(nsIURI*, mozilla::CORSMode)::$_1) |
315 | | |
316 | | void OrRemove() |
317 | | { |
318 | | MOZ_ASSERT(mTableGeneration == mTable.GetGeneration()); |
319 | | MOZ_ASSERT(mEntry); |
320 | | mTable.RemoveEntry(mEntry); |
321 | | mEntry = nullptr; |
322 | | } |
323 | | |
324 | | MOZ_MUST_USE DataType& Data() |
325 | 7.50M | { |
326 | 7.50M | MOZ_ASSERT(mTableGeneration == mTable.GetGeneration()); |
327 | 7.50M | MOZ_ASSERT(mEntry); |
328 | 7.50M | return mEntry->mData; |
329 | 7.50M | } Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::EntryPtr::Data() nsBaseHashtable<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*, void*>::EntryPtr::Data() Line | Count | Source | 325 | 7.50M | { | 326 | 7.50M | MOZ_ASSERT(mTableGeneration == mTable.GetGeneration()); | 327 | 7.50M | MOZ_ASSERT(mEntry); | 328 | 7.50M | return mEntry->mData; | 329 | 7.50M | } |
Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise>, mozilla::dom::Promise*>::EntryPtr::Data() Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::EntryPtr::Data() |
330 | | }; |
331 | | |
332 | | /** |
333 | | * Looks up aKey in the hashtable and returns an object that allows you to |
334 | | * insert a new entry into the hashtable for that key if an existing entry |
335 | | * isn't found for it. |
336 | | * |
337 | | * A typical usage of this API looks like this: |
338 | | * |
339 | | * auto insertedValue = table.LookupForAdd(key).OrInsert([]() { |
340 | | * return newValue; |
341 | | * }); |
342 | | * |
343 | | * auto p = table.LookupForAdd(key); |
344 | | * if (p) { |
345 | | * // The entry already existed in the table. |
346 | | * DoSomething(p.Data()); |
347 | | * } else { |
348 | | * // An existing entry wasn't found, store a new entry in the hashtable. |
349 | | * p.OrInsert([]() { return newValue; }); |
350 | | * } |
351 | | * |
352 | | * We ensure that the hashtable isn't modified before EntryPtr method calls. |
353 | | * This is useful for cases where you want to insert a new entry into the |
354 | | * hashtable if one doesn't exist before but would like to avoid two hashtable |
355 | | * lookups. |
356 | | */ |
357 | | MOZ_MUST_USE EntryPtr LookupForAdd(KeyType aKey) |
358 | 7.50M | { |
359 | 7.50M | auto count = Count(); |
360 | 7.50M | EntryType* ent = this->PutEntry(aKey); |
361 | 7.50M | return EntryPtr(*this, ent, count == Count()); |
362 | 7.50M | } nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::LookupForAdd(void*) Line | Count | Source | 358 | 3 | { | 359 | 3 | auto count = Count(); | 360 | 3 | EntryType* ent = this->PutEntry(aKey); | 361 | 3 | return EntryPtr(*this, ent, count == Count()); | 362 | 3 | } |
nsBaseHashtable<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*, void*>::LookupForAdd(bool (*&)(unsigned int, void*)) Line | Count | Source | 358 | 7.50M | { | 359 | 7.50M | auto count = Count(); | 360 | 7.50M | EntryType* ent = this->PutEntry(aKey); | 361 | 7.50M | return EntryPtr(*this, ent, count == Count()); | 362 | 7.50M | } |
Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord>, SerialNumberRecord*>::LookupForAdd(void const*) Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster>, mozilla::dom::ChromeMessageBroadcaster*>::LookupForAdd(nsTSubstring<char16_t> const&) Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise>, mozilla::dom::Promise*>::LookupForAdd(nsAtom*) Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::LookupForAdd(nsIContent*) Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, bool, bool>::LookupForAdd(nsIURI*) |
363 | | |
364 | | // This is an iterator that also allows entry removal. Example usage: |
365 | | // |
366 | | // for (auto iter = table.Iter(); !iter.Done(); iter.Next()) { |
367 | | // const KeyType key = iter.Key(); |
368 | | // const UserDataType data = iter.UserData(); |
369 | | // // or |
370 | | // const DataType& data = iter.Data(); |
371 | | // // ... do stuff with |key| and/or |data| ... |
372 | | // // ... possibly call iter.Remove() once ... |
373 | | // } |
374 | | // |
375 | | class Iterator : public PLDHashTable::Iterator |
376 | | { |
377 | | public: |
378 | | typedef PLDHashTable::Iterator Base; |
379 | | |
380 | 36 | explicit Iterator(nsBaseHashtable* aTable) : Base(&aTable->mTable) {} nsBaseHashtable<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*, void*>::Iterator::Iterator(nsBaseHashtable<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*, void*>*) Line | Count | Source | 380 | 18 | explicit Iterator(nsBaseHashtable* aTable) : Base(&aTable->mTable) {} |
Unexecuted instantiation: nsBaseHashtable<nsISupportsHashKey, nsCOMPtr<nsIConsoleListener>, nsIConsoleListener*>::Iterator::Iterator(nsBaseHashtable<nsISupportsHashKey, nsCOMPtr<nsIConsoleListener>, nsIConsoleListener*>*) Unexecuted instantiation: nsBaseHashtable<nsCharPtrHashKey, nsAutoPtr<nsINIParser_internal::INIValue>, nsINIParser_internal::INIValue*>::Iterator::Iterator(nsBaseHashtable<nsCharPtrHashKey, nsAutoPtr<nsINIParser_internal::INIValue>, nsINIParser_internal::INIValue*>*) Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsIMemoryReporter>, bool, bool>::Iterator::Iterator(nsBaseHashtable<nsRefPtrHashKey<nsIMemoryReporter>, bool, bool>*) Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIMemoryReporter>, bool, bool>::Iterator::Iterator(nsBaseHashtable<nsPtrHashKey<nsIMemoryReporter>, bool, bool>*) Unexecuted instantiation: nsBaseHashtable<nsDepCharHashKey, nsAutoPtr<BloatEntry>, BloatEntry*>::Iterator::Iterator(nsBaseHashtable<nsDepCharHashKey, nsAutoPtr<BloatEntry>, BloatEntry*>*) Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord>, SerialNumberRecord*>::Iterator::Iterator(nsBaseHashtable<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord>, SerialNumberRecord*>*) Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, nsCOMPtr<nsIVariant>, nsIVariant*>::Iterator::Iterator(nsBaseHashtable<nsStringHashKey, nsCOMPtr<nsIVariant>, nsIVariant*>*) Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster>, mozilla::dom::ChromeMessageBroadcaster*>::Iterator::Iterator(nsBaseHashtable<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster>, mozilla::dom::ChromeMessageBroadcaster*>*) Unexecuted instantiation: nsBaseHashtable<nsHashKeyDisallowMemmove<nsPtrHashKey<nsXBLPrototypeHandler> >, JS::Heap<JSObject*>, JSObject*>::Iterator::Iterator(nsBaseHashtable<nsHashKeyDisallowMemmove<nsPtrHashKey<nsXBLPrototypeHandler> >, JS::Heap<JSObject*>, JSObject*>*) Unexecuted instantiation: nsBaseHashtable<nsUint32HashKey, RefPtr<mozilla::dom::Gamepad>, mozilla::dom::Gamepad*>::Iterator::Iterator(nsBaseHashtable<nsUint32HashKey, RefPtr<mozilla::dom::Gamepad>, mozilla::dom::Gamepad*>*) Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<mozilla::dom::Element>, nsCOMPtr<mozilla::dom::Element>, mozilla::dom::Element*>::Iterator::Iterator(nsBaseHashtable<nsPtrHashKey<mozilla::dom::Element>, nsCOMPtr<mozilla::dom::Element>, mozilla::dom::Element*>*) Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementDefinition>, mozilla::dom::CustomElementDefinition*>::Iterator::Iterator(nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementDefinition>, mozilla::dom::CustomElementDefinition*>*) Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise>, mozilla::dom::Promise*>::Iterator::Iterator(nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise>, mozilla::dom::Promise*>*) Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementCreationCallback>, mozilla::dom::CustomElementCreationCallback*>::Iterator::Iterator(nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementCreationCallback>, mozilla::dom::CustomElementCreationCallback*>*) nsBaseHashtable<nsUint64HashKey, nsGlobalWindowOuter*, nsGlobalWindowOuter*>::Iterator::Iterator(nsBaseHashtable<nsUint64HashKey, nsGlobalWindowOuter*, nsGlobalWindowOuter*>*) Line | Count | Source | 380 | 18 | explicit Iterator(nsBaseHashtable* aTable) : Base(&aTable->mTable) {} |
Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, nsAutoPtr<nsExternalResourceMap::ExternalResource>, nsExternalResourceMap::ExternalResource*>::Iterator::Iterator(nsBaseHashtable<nsURIHashKey, nsAutoPtr<nsExternalResourceMap::ExternalResource>, nsExternalResourceMap::ExternalResource*>*) Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::Iterator::Iterator(nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>*) Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, RefPtr<imgIRequest>, imgIRequest*>::Iterator::Iterator(nsBaseHashtable<nsURIHashKey, RefPtr<imgIRequest>, imgIRequest*>*) Unexecuted instantiation: nsBaseHashtable<nsNodeInfoManager::NodeInfoInnerKey, mozilla::dom::NodeInfo*, mozilla::dom::NodeInfo*>::Iterator::Iterator(nsBaseHashtable<nsNodeInfoManager::NodeInfoInnerKey, mozilla::dom::NodeInfo*, mozilla::dom::NodeInfo*>*) Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<gfxFontEntry>, nsAutoPtr<mozilla::dom::InspectorFontFace>, mozilla::dom::InspectorFontFace*>::Iterator::Iterator(nsBaseHashtable<nsPtrHashKey<gfxFontEntry>, nsAutoPtr<mozilla::dom::InspectorFontFace>, mozilla::dom::InspectorFontFace*>*) Unexecuted instantiation: nsBaseHashtable<nsUint64HashKey, nsGlobalWindowInner*, nsGlobalWindowInner*>::Iterator::Iterator(nsBaseHashtable<nsUint64HashKey, nsGlobalWindowInner*, nsGlobalWindowInner*>*) Unexecuted instantiation: nsBaseHashtable<nsISupportsHashKey, mozilla::TimeStamp, mozilla::TimeStamp>::Iterator::Iterator(nsBaseHashtable<nsISupportsHashKey, mozilla::TimeStamp, mozilla::TimeStamp>*) |
381 | | Iterator(Iterator&& aOther) : Base(aOther.mTable) {} |
382 | | ~Iterator() {} |
383 | | |
384 | 18 | KeyType Key() const { return static_cast<EntryType*>(Get())->GetKey(); } nsBaseHashtable<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*, void*>::Iterator::Key() const Line | Count | Source | 384 | 18 | KeyType Key() const { return static_cast<EntryType*>(Get())->GetKey(); } |
Unexecuted instantiation: nsBaseHashtable<nsCharPtrHashKey, nsAutoPtr<nsINIParser_internal::INIValue>, nsINIParser_internal::INIValue*>::Iterator::Key() const Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord>, SerialNumberRecord*>::Iterator::Key() const Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsIMemoryReporter>, bool, bool>::Iterator::Key() const Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIMemoryReporter>, bool, bool>::Iterator::Key() const Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, nsCOMPtr<nsIVariant>, nsIVariant*>::Iterator::Key() const Unexecuted instantiation: nsBaseHashtable<nsUint32HashKey, RefPtr<mozilla::dom::Gamepad>, mozilla::dom::Gamepad*>::Iterator::Key() const Unexecuted instantiation: nsBaseHashtable<nsISupportsHashKey, mozilla::TimeStamp, mozilla::TimeStamp>::Iterator::Key() const |
385 | | UserDataType UserData() const |
386 | 0 | { |
387 | 0 | return static_cast<EntryType*>(Get())->mData; |
388 | 0 | } Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster>, mozilla::dom::ChromeMessageBroadcaster*>::Iterator::UserData() const Unexecuted instantiation: nsBaseHashtable<nsISupportsHashKey, nsCOMPtr<nsIConsoleListener>, nsIConsoleListener*>::Iterator::UserData() const Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, nsCOMPtr<nsIVariant>, nsIVariant*>::Iterator::UserData() const Unexecuted instantiation: nsBaseHashtable<nsUint32HashKey, RefPtr<mozilla::dom::Gamepad>, mozilla::dom::Gamepad*>::Iterator::UserData() const Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementDefinition>, mozilla::dom::CustomElementDefinition*>::Iterator::UserData() const Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise>, mozilla::dom::Promise*>::Iterator::UserData() const Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementCreationCallback>, mozilla::dom::CustomElementCreationCallback*>::Iterator::UserData() const Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, nsAutoPtr<nsExternalResourceMap::ExternalResource>, nsExternalResourceMap::ExternalResource*>::Iterator::UserData() const Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::Iterator::UserData() const Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, RefPtr<imgIRequest>, imgIRequest*>::Iterator::UserData() const Unexecuted instantiation: nsBaseHashtable<nsAttrHashKey, RefPtr<mozilla::dom::Attr>, mozilla::dom::Attr*>::Iterator::UserData() const Unexecuted instantiation: nsBaseHashtable<nsUint64HashKey, nsGlobalWindowInner*, nsGlobalWindowInner*>::Iterator::UserData() const |
389 | 18 | DataType& Data() const { return static_cast<EntryType*>(Get())->mData; } nsBaseHashtable<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*, void*>::Iterator::Data() const Line | Count | Source | 389 | 18 | DataType& Data() const { return static_cast<EntryType*>(Get())->mData; } |
Unexecuted instantiation: nsBaseHashtable<nsCharPtrHashKey, nsAutoPtr<nsINIParser_internal::INIValue>, nsINIParser_internal::INIValue*>::Iterator::Data() const Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord>, SerialNumberRecord*>::Iterator::Data() const Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsIMemoryReporter>, bool, bool>::Iterator::Data() const Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIMemoryReporter>, bool, bool>::Iterator::Data() const Unexecuted instantiation: nsBaseHashtable<nsDepCharHashKey, nsAutoPtr<BloatEntry>, BloatEntry*>::Iterator::Data() const Unexecuted instantiation: nsBaseHashtable<nsHashKeyDisallowMemmove<nsPtrHashKey<nsXBLPrototypeHandler> >, JS::Heap<JSObject*>, JSObject*>::Iterator::Data() const Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<mozilla::dom::Element>, nsCOMPtr<mozilla::dom::Element>, mozilla::dom::Element*>::Iterator::Data() const Unexecuted instantiation: nsBaseHashtable<nsUint64HashKey, nsGlobalWindowOuter*, nsGlobalWindowOuter*>::Iterator::Data() const Unexecuted instantiation: nsBaseHashtable<nsNodeInfoManager::NodeInfoInnerKey, mozilla::dom::NodeInfo*, mozilla::dom::NodeInfo*>::Iterator::Data() const Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<gfxFontEntry>, nsAutoPtr<mozilla::dom::InspectorFontFace>, mozilla::dom::InspectorFontFace*>::Iterator::Data() const Unexecuted instantiation: nsBaseHashtable<nsUint64HashKey, nsGlobalWindowInner*, nsGlobalWindowInner*>::Iterator::Data() const Unexecuted instantiation: nsBaseHashtable<nsISupportsHashKey, mozilla::TimeStamp, mozilla::TimeStamp>::Iterator::Data() const |
390 | | |
391 | | private: |
392 | | Iterator() = delete; |
393 | | Iterator(const Iterator&) = delete; |
394 | | Iterator& operator=(const Iterator&) = delete; |
395 | | Iterator& operator=(const Iterator&&) = delete; |
396 | | }; |
397 | | |
398 | 36 | Iterator Iter() { return Iterator(this); } nsBaseHashtable<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*, void*>::Iter() Line | Count | Source | 398 | 18 | Iterator Iter() { return Iterator(this); } |
Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster>, mozilla::dom::ChromeMessageBroadcaster*>::Iter() Unexecuted instantiation: nsBaseHashtable<nsISupportsHashKey, nsCOMPtr<nsIConsoleListener>, nsIConsoleListener*>::Iter() Unexecuted instantiation: nsBaseHashtable<nsCharPtrHashKey, nsAutoPtr<nsINIParser_internal::INIValue>, nsINIParser_internal::INIValue*>::Iter() Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsIMemoryReporter>, bool, bool>::Iter() Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIMemoryReporter>, bool, bool>::Iter() Unexecuted instantiation: nsBaseHashtable<nsDepCharHashKey, nsAutoPtr<BloatEntry>, BloatEntry*>::Iter() Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord>, SerialNumberRecord*>::Iter() Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, nsCOMPtr<nsIVariant>, nsIVariant*>::Iter() Unexecuted instantiation: nsBaseHashtable<nsHashKeyDisallowMemmove<nsPtrHashKey<nsXBLPrototypeHandler> >, JS::Heap<JSObject*>, JSObject*>::Iter() Unexecuted instantiation: nsBaseHashtable<nsUint32HashKey, RefPtr<mozilla::dom::Gamepad>, mozilla::dom::Gamepad*>::Iter() Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<mozilla::dom::Element>, nsCOMPtr<mozilla::dom::Element>, mozilla::dom::Element*>::Iter() nsBaseHashtable<nsUint64HashKey, nsGlobalWindowOuter*, nsGlobalWindowOuter*>::Iter() Line | Count | Source | 398 | 18 | Iterator Iter() { return Iterator(this); } |
Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, nsAutoPtr<nsExternalResourceMap::ExternalResource>, nsExternalResourceMap::ExternalResource*>::Iter() Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject>, mozilla::dom::BoxObject*>::Iter() Unexecuted instantiation: nsBaseHashtable<nsNodeInfoManager::NodeInfoInnerKey, mozilla::dom::NodeInfo*, mozilla::dom::NodeInfo*>::Iter() Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<gfxFontEntry>, nsAutoPtr<mozilla::dom::InspectorFontFace>, mozilla::dom::InspectorFontFace*>::Iter() Unexecuted instantiation: nsBaseHashtable<nsUint64HashKey, nsGlobalWindowInner*, nsGlobalWindowInner*>::Iter() Unexecuted instantiation: nsBaseHashtable<nsISupportsHashKey, mozilla::TimeStamp, mozilla::TimeStamp>::Iter() |
399 | | |
400 | | Iterator ConstIter() const |
401 | 0 | { |
402 | 0 | return Iterator(const_cast<nsBaseHashtable*>(this)); |
403 | 0 | } Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, nsCOMPtr<nsIVariant>, nsIVariant*>::ConstIter() const Unexecuted instantiation: nsBaseHashtable<nsUint32HashKey, RefPtr<mozilla::dom::Gamepad>, mozilla::dom::Gamepad*>::ConstIter() const Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster>, mozilla::dom::ChromeMessageBroadcaster*>::ConstIter() const Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementDefinition>, mozilla::dom::CustomElementDefinition*>::ConstIter() const Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise>, mozilla::dom::Promise*>::ConstIter() const Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementCreationCallback>, mozilla::dom::CustomElementCreationCallback*>::ConstIter() const Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, nsAutoPtr<nsExternalResourceMap::ExternalResource>, nsExternalResourceMap::ExternalResource*>::ConstIter() const Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, RefPtr<imgIRequest>, imgIRequest*>::ConstIter() const |
404 | | |
405 | | /** |
406 | | * reset the hashtable, removing all entries |
407 | | */ |
408 | 0 | void Clear() { nsTHashtable<EntryType>::Clear(); } Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, RefPtr<nsExternalResourceMap::PendingLoad>, nsExternalResourceMap::PendingLoad*>::Clear() Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, nsAutoPtr<nsExternalResourceMap::ExternalResource>, nsExternalResourceMap::ExternalResource*>::Clear() Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster>, mozilla::dom::ChromeMessageBroadcaster*>::Clear() Unexecuted instantiation: nsBaseHashtable<nsStringHashKey, nsCOMPtr<nsIVariant>, nsIVariant*>::Clear() Unexecuted instantiation: nsBaseHashtable<nsHashKeyDisallowMemmove<nsPtrHashKey<nsXBLPrototypeHandler> >, JS::Heap<JSObject*>, JSObject*>::Clear() Unexecuted instantiation: nsBaseHashtable<nsUint32HashKey, RefPtr<mozilla::dom::Gamepad>, mozilla::dom::Gamepad*>::Clear() Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementDefinition>, mozilla::dom::CustomElementDefinition*>::Clear() Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise>, mozilla::dom::Promise*>::Clear() Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementCreationCallback>, mozilla::dom::CustomElementCreationCallback*>::Clear() Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, RefPtr<imgIRequest>, imgIRequest*>::Clear() Unexecuted instantiation: nsBaseHashtable<nsURIHashKey, bool, bool>::Clear() |
409 | | |
410 | | /** |
411 | | * Measure the size of the table's entry storage. The size of things pointed |
412 | | * to by entries must be measured separately; hence the "Shallow" prefix. |
413 | | * |
414 | | * @param aMallocSizeOf the function used to measure heap-allocated blocks |
415 | | * @return the summed size of the table's storage |
416 | | */ |
417 | | size_t ShallowSizeOfExcludingThis(mozilla::MallocSizeOf aMallocSizeOf) const |
418 | 0 | { |
419 | 0 | return this->mTable.ShallowSizeOfExcludingThis(aMallocSizeOf); |
420 | 0 | } Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<void>, mozilla::JSHolderInfo*, mozilla::JSHolderInfo*>::ShallowSizeOfExcludingThis(unsigned long (*)(void const*)) const Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsIMemoryReporter>, bool, bool>::ShallowSizeOfExcludingThis(unsigned long (*)(void const*)) const Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIMemoryReporter>, bool, bool>::ShallowSizeOfExcludingThis(unsigned long (*)(void const*)) const |
421 | | |
422 | | /** |
423 | | * Like ShallowSizeOfExcludingThis, but includes sizeof(*this). |
424 | | */ |
425 | | size_t ShallowSizeOfIncludingThis(mozilla::MallocSizeOf aMallocSizeOf) const |
426 | 0 | { |
427 | 0 | return aMallocSizeOf(this) + ShallowSizeOfExcludingThis(aMallocSizeOf); |
428 | 0 | } Unexecuted instantiation: nsBaseHashtable<nsRefPtrHashKey<nsIMemoryReporter>, bool, bool>::ShallowSizeOfIncludingThis(unsigned long (*)(void const*)) const Unexecuted instantiation: nsBaseHashtable<nsPtrHashKey<nsIMemoryReporter>, bool, bool>::ShallowSizeOfIncludingThis(unsigned long (*)(void const*)) const |
429 | | |
430 | | /** |
431 | | * Swap the elements in this hashtable with the elements in aOther. |
432 | | */ |
433 | | void SwapElements(nsBaseHashtable& aOther) |
434 | | { |
435 | | nsTHashtable<EntryType>::SwapElements(aOther); |
436 | | } |
437 | | |
438 | | |
439 | | #ifdef DEBUG |
440 | | using nsTHashtable<EntryType>::MarkImmutable; |
441 | | #endif |
442 | | }; |
443 | | |
444 | | // |
445 | | // nsBaseHashtableET definitions |
446 | | // |
447 | | |
448 | | template<class KeyClass, class DataType> |
449 | | nsBaseHashtableET<KeyClass, DataType>::nsBaseHashtableET(KeyTypePointer aKey) |
450 | | : KeyClass(aKey) |
451 | | , mData() |
452 | 1.44k | { |
453 | 1.44k | } nsBaseHashtableET<nsCharPtrHashKey, nsAutoPtr<mozilla::LogModule> >::nsBaseHashtableET(char const*) Line | Count | Source | 452 | 75 | { | 453 | 75 | } |
nsBaseHashtableET<nsPtrHashKey<void>, mozilla::JSHolderInfo*>::nsBaseHashtableET(void const*) Line | Count | Source | 452 | 3 | { | 453 | 3 | } |
nsBaseHashtableET<nsFuncPtrHashKey<bool (*)(unsigned int, void*)>, void*>::nsBaseHashtableET(bool (* const*)(unsigned int, void*)) Line | Count | Source | 452 | 18 | { | 453 | 18 | } |
nsBaseHashtableET<nsUint32HashKey, nsAutoPtr<nsTString<char> > >::nsBaseHashtableET(unsigned int const*) Line | Count | Source | 452 | 6 | { | 453 | 6 | } |
Unexecuted instantiation: nsBaseHashtableET<nsISupportsHashKey, nsCOMPtr<nsIConsoleListener> >::nsBaseHashtableET(nsISupports const*) Unexecuted instantiation: nsBaseHashtableET<nsStringHashKey, nsCOMPtr<nsIVariant> >::nsBaseHashtableET(nsTSubstring<char16_t> const*) Unexecuted instantiation: nsBaseHashtableET<nsDepCharHashKey, nsAutoPtr<BloatEntry> >::nsBaseHashtableET(char const*) Unexecuted instantiation: nsBaseHashtableET<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord> >::nsBaseHashtableET(void const*) nsBaseHashtableET<nsRefPtrHashKey<nsIMemoryReporter>, bool>::nsBaseHashtableET(nsIMemoryReporter const*) Line | Count | Source | 452 | 52 | { | 453 | 52 | } |
nsBaseHashtableET<nsPtrHashKey<nsIMemoryReporter>, bool>::nsBaseHashtableET(nsIMemoryReporter const*) Line | Count | Source | 452 | 33 | { | 453 | 33 | } |
Unexecuted instantiation: nsBaseHashtableET<nsCharPtrHashKey, nsAutoPtr<nsINIParser_internal::INIValue> >::nsBaseHashtableET(char const*) nsBaseHashtableET<nsRefPtrHashKey<nsAtom>, EventNameMapping>::nsBaseHashtableET(nsAtom const*) Line | Count | Source | 452 | 609 | { | 453 | 609 | } |
nsBaseHashtableET<nsStringHashKey, EventNameMapping>::nsBaseHashtableET(nsTSubstring<char16_t> const*) Line | Count | Source | 452 | 588 | { | 453 | 588 | } |
Unexecuted instantiation: nsBaseHashtableET<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster> >::nsBaseHashtableET(nsTSubstring<char16_t> const*) Unexecuted instantiation: nsBaseHashtableET<nsUint32HashKey, RefPtr<mozilla::dom::Gamepad> >::nsBaseHashtableET(unsigned int const*) Unexecuted instantiation: nsBaseHashtableET<nsUint64HashKey, nsGlobalWindowInner*>::nsBaseHashtableET(unsigned long const*) Unexecuted instantiation: nsBaseHashtableET<nsHashKeyDisallowMemmove<nsPtrHashKey<nsXBLPrototypeHandler> >, JS::Heap<JSObject*> >::nsBaseHashtableET(nsXBLPrototypeHandler const*) Unexecuted instantiation: nsBaseHashtableET<nsUint64HashKey, nsGlobalWindowOuter*>::nsBaseHashtableET(unsigned long const*) Unexecuted instantiation: nsBaseHashtableET<nsPtrHashKey<mozilla::dom::Element>, nsCOMPtr<mozilla::dom::Element> >::nsBaseHashtableET(mozilla::dom::Element const*) Unexecuted instantiation: nsBaseHashtableET<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementDefinition> >::nsBaseHashtableET(nsAtom const*) Unexecuted instantiation: nsBaseHashtableET<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementCreationCallback> >::nsBaseHashtableET(nsAtom const*) Unexecuted instantiation: nsBaseHashtableET<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise> >::nsBaseHashtableET(nsAtom const*) Unexecuted instantiation: nsBaseHashtableET<nsRefPtrHashKey<nsAtom>, nsAutoPtr<nsTHashtable<nsRefPtrHashKey<nsIWeakReference> > > >::nsBaseHashtableET(nsAtom const*) Unexecuted instantiation: nsBaseHashtableET<nsStringHashKey, TMimeType<char16_t>::ParameterValue>::nsBaseHashtableET(nsTSubstring<char16_t> const*) Unexecuted instantiation: nsBaseHashtableET<nsCStringHashKey, TMimeType<char>::ParameterValue>::nsBaseHashtableET(nsTSubstring<char> const*) Unexecuted instantiation: nsBaseHashtableET<nsStringHashKey, nsAutoPtr<AutoTArray<mozilla::dom::HTMLSlotElement*, 1ul> > >::nsBaseHashtableET(nsTSubstring<char16_t> const*) Unexecuted instantiation: nsBaseHashtableET<nsPtrHashKey<RawServoStyleRule const>, mozilla::WeakPtr<mozilla::dom::CSSStyleRule> >::nsBaseHashtableET(RawServoStyleRule const*) Unexecuted instantiation: nsBaseHashtableET<nsISupportsHashKey, nsAutoPtr<nsTArray<mozilla::css::ImageLoader::FrameWithFlags> > >::nsBaseHashtableET(nsISupports const*) Unexecuted instantiation: nsBaseHashtableET<nsPtrHashKey<nsIFrame>, nsAutoPtr<nsTArray<nsCOMPtr<imgIRequest> > > >::nsBaseHashtableET(nsIFrame const*) Unexecuted instantiation: nsBaseHashtableET<nsURIHashKey, nsAutoPtr<nsExternalResourceMap::ExternalResource> >::nsBaseHashtableET(nsIURI const*) Unexecuted instantiation: nsBaseHashtableET<nsURIHashKey, RefPtr<nsExternalResourceMap::PendingLoad> >::nsBaseHashtableET(nsIURI const*) Unexecuted instantiation: nsBaseHashtableET<nsStringHashKey, mozilla::UniquePtr<RawServoSelectorList, mozilla::DefaultDelete<RawServoSelectorList> > >::nsBaseHashtableET(nsTSubstring<char16_t> const*) Unexecuted instantiation: nsBaseHashtableET<nsURIHashKey, RefPtr<imgIRequest> >::nsBaseHashtableET(nsIURI const*) Unexecuted instantiation: nsBaseHashtableET<nsURIHashKey, bool>::nsBaseHashtableET(nsIURI const*) Unexecuted instantiation: nsBaseHashtableET<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject> >::nsBaseHashtableET(nsIContent const*) nsBaseHashtableET<nsRefPtrHashKey<nsAtom>, int>::nsBaseHashtableET(nsAtom const*) Line | Count | Source | 452 | 57 | { | 453 | 57 | } |
Unexecuted instantiation: nsBaseHashtableET<nsNodeInfoManager::NodeInfoInnerKey, mozilla::dom::NodeInfo*>::nsBaseHashtableET(mozilla::dom::NodeInfo::NodeInfoInner const*) Unexecuted instantiation: nsBaseHashtableET<nsPtrHashKey<gfxFontEntry>, nsAutoPtr<mozilla::dom::InspectorFontFace> >::nsBaseHashtableET(gfxFontEntry const*) Unexecuted instantiation: nsBaseHashtableET<nsISupportsHashKey, mozilla::TimeStamp>::nsBaseHashtableET(nsISupports const*) Unexecuted instantiation: nsBaseHashtableET<nsUint64HashKey, nsTString<char> >::nsBaseHashtableET(unsigned long const*) |
454 | | |
455 | | template<class KeyClass, class DataType> |
456 | | nsBaseHashtableET<KeyClass, DataType>::nsBaseHashtableET( |
457 | | nsBaseHashtableET<KeyClass, DataType>&& aToMove) |
458 | | : KeyClass(std::move(aToMove)) |
459 | | , mData(std::move(aToMove.mData)) |
460 | 0 | { |
461 | 0 | } |
462 | | |
463 | | template<class KeyClass, class DataType> |
464 | | nsBaseHashtableET<KeyClass, DataType>::~nsBaseHashtableET() |
465 | 0 | { |
466 | 0 | } Unexecuted instantiation: nsBaseHashtableET<nsCharPtrHashKey, nsAutoPtr<mozilla::LogModule> >::~nsBaseHashtableET() Unexecuted instantiation: nsBaseHashtableET<nsUint32HashKey, nsAutoPtr<nsTString<char> > >::~nsBaseHashtableET() Unexecuted instantiation: nsBaseHashtableET<nsISupportsHashKey, nsCOMPtr<nsIConsoleListener> >::~nsBaseHashtableET() Unexecuted instantiation: nsBaseHashtableET<nsStringHashKey, nsCOMPtr<nsIVariant> >::~nsBaseHashtableET() Unexecuted instantiation: nsBaseHashtableET<nsDepCharHashKey, nsAutoPtr<BloatEntry> >::~nsBaseHashtableET() Unexecuted instantiation: nsBaseHashtableET<nsPtrHashKey<void const>, nsAutoPtr<SerialNumberRecord> >::~nsBaseHashtableET() Unexecuted instantiation: nsBaseHashtableET<nsCharPtrHashKey, nsAutoPtr<nsINIParser_internal::INIValue> >::~nsBaseHashtableET() Unexecuted instantiation: nsBaseHashtableET<nsStringHashKey, RefPtr<mozilla::dom::ChromeMessageBroadcaster> >::~nsBaseHashtableET() Unexecuted instantiation: nsBaseHashtableET<nsUint32HashKey, RefPtr<mozilla::dom::Gamepad> >::~nsBaseHashtableET() Unexecuted instantiation: nsBaseHashtableET<nsHashKeyDisallowMemmove<nsPtrHashKey<nsXBLPrototypeHandler> >, JS::Heap<JSObject*> >::~nsBaseHashtableET() Unexecuted instantiation: nsBaseHashtableET<nsPtrHashKey<mozilla::dom::Element>, nsCOMPtr<mozilla::dom::Element> >::~nsBaseHashtableET() Unexecuted instantiation: nsBaseHashtableET<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementDefinition> >::~nsBaseHashtableET() Unexecuted instantiation: nsBaseHashtableET<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::CustomElementCreationCallback> >::~nsBaseHashtableET() Unexecuted instantiation: nsBaseHashtableET<nsRefPtrHashKey<nsAtom>, RefPtr<mozilla::dom::Promise> >::~nsBaseHashtableET() Unexecuted instantiation: nsBaseHashtableET<nsRefPtrHashKey<nsAtom>, nsAutoPtr<nsTHashtable<nsRefPtrHashKey<nsIWeakReference> > > >::~nsBaseHashtableET() Unexecuted instantiation: nsBaseHashtableET<nsStringHashKey, TMimeType<char16_t>::ParameterValue>::~nsBaseHashtableET() Unexecuted instantiation: nsBaseHashtableET<nsCStringHashKey, TMimeType<char>::ParameterValue>::~nsBaseHashtableET() Unexecuted instantiation: nsBaseHashtableET<nsStringHashKey, nsAutoPtr<AutoTArray<mozilla::dom::HTMLSlotElement*, 1ul> > >::~nsBaseHashtableET() Unexecuted instantiation: nsBaseHashtableET<nsPtrHashKey<RawServoStyleRule const>, mozilla::WeakPtr<mozilla::dom::CSSStyleRule> >::~nsBaseHashtableET() Unexecuted instantiation: nsBaseHashtableET<nsISupportsHashKey, nsAutoPtr<nsTArray<mozilla::css::ImageLoader::FrameWithFlags> > >::~nsBaseHashtableET() Unexecuted instantiation: nsBaseHashtableET<nsPtrHashKey<nsIFrame>, nsAutoPtr<nsTArray<nsCOMPtr<imgIRequest> > > >::~nsBaseHashtableET() Unexecuted instantiation: nsBaseHashtableET<nsURIHashKey, nsAutoPtr<nsExternalResourceMap::ExternalResource> >::~nsBaseHashtableET() Unexecuted instantiation: nsBaseHashtableET<nsURIHashKey, RefPtr<nsExternalResourceMap::PendingLoad> >::~nsBaseHashtableET() Unexecuted instantiation: nsBaseHashtableET<nsStringHashKey, mozilla::UniquePtr<RawServoSelectorList, mozilla::DefaultDelete<RawServoSelectorList> > >::~nsBaseHashtableET() Unexecuted instantiation: nsBaseHashtableET<nsURIHashKey, RefPtr<imgIRequest> >::~nsBaseHashtableET() Unexecuted instantiation: nsBaseHashtableET<nsPtrHashKey<nsIContent>, RefPtr<mozilla::dom::BoxObject> >::~nsBaseHashtableET() Unexecuted instantiation: nsBaseHashtableET<nsPtrHashKey<gfxFontEntry>, nsAutoPtr<mozilla::dom::InspectorFontFace> >::~nsBaseHashtableET() Unexecuted instantiation: nsBaseHashtableET<nsUint64HashKey, nsTString<char> >::~nsBaseHashtableET() |
467 | | |
468 | | #endif // nsBaseHashtable_h__ |