зеркало из https://github.com/mozilla/gecko-dev.git
6543a55a77
nsBaseHashtable now supports non-default-constructible DataType and UserDataType, however not all methods can be instantiated. All methods which can't be instantiated with non-default-constructible DataType or UserDataType are now described as such in method definitions. The public API of PLDHashTable and nsBaseHashtable/nsDataHashtable was changed: - A new method PLDHashTable::WithEntryHandle has been added. It allows to use a custom function for entry initialization (instead of the global hook). - A new method nsBaseHashtable::MaybeGet has been added. - A new overload nsBaseHashtable::Remove has been added. - The nsDataHashtable::GetAndRemove method has been pulled up to nsBaseHashtable. In addition, the following implementation details have changed: PLDHashTable: - The code from the Add method has been split into MakeEntryHandle and a helper object called EntryHandle. The Add method is now implemented on top of that. nsTHashtable: - A new (non-public) API for WithEntryHandle has been added. - The InitEntry hook is no longer used. Instead of using the hook, PutEntry methods now use nsTHashtable::WithEntryHandle instead of PLDHashTable::Add. This change allows to do custom initialization in derived classes. nsBaseHashtable: - A new (non-public) API for WithEntryHandle has been added. - Put methods no longer use nsTHashtable::PutEntry, they now use the new method nsBaseHashtable::WithEntryHandle. Differential Revision: https://phabricator.services.mozilla.com/D99428 |
||
---|---|---|
.. | ||
test | ||
tools | ||
ArenaAllocator.h | ||
ArenaAllocatorExtensions.h | ||
ArrayAlgorithm.h | ||
ArrayIterator.h | ||
Atom.py | ||
AtomArray.h | ||
Dafsa.cpp | ||
Dafsa.h | ||
HTMLAtoms.py | ||
IncrementalTokenizer.cpp | ||
IncrementalTokenizer.h | ||
MruCache.h | ||
Observer.h | ||
PLDHashTable.cpp | ||
PLDHashTable.h | ||
PerfectHash.h | ||
SimpleEnumerator.h | ||
StaticAtoms.py | ||
StickyTimeDuration.h | ||
Tokenizer.cpp | ||
Tokenizer.h | ||
components.conf | ||
moz.build | ||
nsArray.cpp | ||
nsArray.h | ||
nsArrayEnumerator.cpp | ||
nsArrayEnumerator.h | ||
nsArrayUtils.cpp | ||
nsArrayUtils.h | ||
nsAtom.h | ||
nsAtomTable.cpp | ||
nsAtomTable.h | ||
nsBaseHashtable.h | ||
nsCOMArray.cpp | ||
nsCOMArray.h | ||
nsCRT.cpp | ||
nsCRT.h | ||
nsCharSeparatedTokenizer.h | ||
nsCheapSets.h | ||
nsClassHashtable.h | ||
nsDataHashtable.h | ||
nsDeque.cpp | ||
nsDeque.h | ||
nsEnumeratorUtils.cpp | ||
nsEnumeratorUtils.h | ||
nsExpirationTracker.h | ||
nsGkAtoms.cpp | ||
nsGkAtoms.h | ||
nsHashKeys.h | ||
nsHashPropertyBag.cpp | ||
nsHashPropertyBag.h | ||
nsIArray.idl | ||
nsIArrayExtensions.idl | ||
nsIINIParser.idl | ||
nsIMutableArray.idl | ||
nsINIParserImpl.cpp | ||
nsINIParserImpl.h | ||
nsIObserver.idl | ||
nsIObserverService.idl | ||
nsIPersistentProperties.h | ||
nsIPersistentProperties2.idl | ||
nsIProperties.idl | ||
nsIProperty.idl | ||
nsIPropertyBag.idl | ||
nsIPropertyBag2.idl | ||
nsISerializable.idl | ||
nsISimpleEnumerator.idl | ||
nsIStringEnumerator.idl | ||
nsISupportsIterators.idl | ||
nsISupportsPrimitives.idl | ||
nsIVariant.idl | ||
nsIWindowsRegKey.idl | ||
nsIWritablePropertyBag.idl | ||
nsIWritablePropertyBag2.idl | ||
nsInterfaceHashtable.h | ||
nsJSThingHashtable.h | ||
nsMathUtils.h | ||
nsObserverList.cpp | ||
nsObserverList.h | ||
nsObserverService.cpp | ||
nsObserverService.h | ||
nsPersistentProperties.cpp | ||
nsPersistentProperties.h | ||
nsPointerHashKeys.h | ||
nsProperties.cpp | ||
nsProperties.h | ||
nsQuickSort.cpp | ||
nsQuickSort.h | ||
nsRefPtrHashtable.h | ||
nsSimpleEnumerator.cpp | ||
nsSimpleEnumerator.h | ||
nsStaticAtomUtils.h | ||
nsStaticNameTable.cpp | ||
nsStaticNameTable.h | ||
nsStringEnumerator.cpp | ||
nsStringEnumerator.h | ||
nsSupportsPrimitives.cpp | ||
nsSupportsPrimitives.h | ||
nsTArray-inl.h | ||
nsTArray.cpp | ||
nsTArray.h | ||
nsTArrayForwardDeclare.h | ||
nsTHashtable.h | ||
nsTObserverArray.cpp | ||
nsTObserverArray.h | ||
nsTPriorityQueue.h | ||
nsVariant.cpp | ||
nsVariant.h | ||
nsWhitespaceTokenizer.h | ||
nsWindowsRegKey.cpp | ||
nsWindowsRegKey.h |