Commit Graph

17 Commits

Author SHA1 Message Date
Mats Palmgren
9a66affd7f Bug 1376498 part 5 - Remove nsClassHashtable::RemoveAndForget(). r=froydnj
MozReview-Commit-ID: 2VVgViNhruj
2017-07-05 02:01:45 +02:00
Mats Palmgren
fae81013c9 Bug 1376498 part 3 - Make nsClassHashtable inherit Remove() for API consistency with ns[Base|Interface|RefPtr]Hashtable. r=froydnj
MozReview-Commit-ID: LQMaamZhkM4
2017-07-05 02:01:44 +02:00
Mats Palmgren
a4d601d6c4 Bug 1371094 part 1 - Move the nsClassHashtable::LookupForAdd() method to nsBaseHashtable. r=froydnj
Also change nsClassHashtable::LookupOrAdd to not regard existing entries with
a nullptr value as non-existent.  This is to make it consistent with
nsBaseHashtable::LookupForAdd() and other methods.

MozReview-Commit-ID: 1wYqK8XQbyW
2017-06-14 01:03:38 +02:00
Mats Palmgren
6467c38383 Bug 1370632 - Move LookupRemoveIf() to nsBaseHashtable instead so that it can be used on more hashtables types. r=froydnj
MozReview-Commit-ID: 9kQSytPWok5
2017-06-07 15:22:41 +02:00
Mats Palmgren
0630f5b2bf Bug 1367207 part 3 - Introduce nsClassHashtable::LookupRemoveIf() for consumers that wants to do a Get() then inspect/modify the value then, maybe, Remove() the entry. This is to avoid a second hashtable lookup for the Remove(). r=froydnj
Also, make RemoveAndForget() use RemoveEntry(), not Remove(), to remove
the entry to avoid a second hashtable lookup.

MozReview-Commit-ID: Bj5Heo8YLFJ
2017-06-07 15:22:41 +02:00
Ehsan Akhgari
5de2ecd325 Bug 1361745 - Part 1: Improve the nsClassHashtable::LookupForAdd() API; r=froydnj
The OrInsert() method adds the new entry to the hashtable if needed, and
returns the newly added entry or the pre-existing one.  It allows for a
more concise syntax at the call site.
2017-05-08 10:02:04 -04:00
Ehsan Akhgari
49ea4e277a Bug 1359848 - Part 1: Add the nsClassHashtable::LookupForAdd() API to allow consumers to lookup and add an entry to a class hashtable if it doesn't exist already with a single lookup; r=froydnj 2017-05-03 08:59:48 -04:00
Benjamin Smedberg
2b3617b084 Bug 1332631 part C - file moves from xpcom/glue to xpcom/ds, r=froydnj
MozReview-Commit-ID: 9ZhC5bROWdO

--HG--
rename : xpcom/glue/Observer.h => xpcom/ds/Observer.h
rename : xpcom/glue/PLDHashTable.cpp => xpcom/ds/PLDHashTable.cpp
rename : xpcom/glue/PLDHashTable.h => xpcom/ds/PLDHashTable.h
rename : xpcom/glue/nsArrayEnumerator.cpp => xpcom/ds/nsArrayEnumerator.cpp
rename : xpcom/glue/nsArrayEnumerator.h => xpcom/ds/nsArrayEnumerator.h
rename : xpcom/glue/nsArrayUtils.cpp => xpcom/ds/nsArrayUtils.cpp
rename : xpcom/glue/nsArrayUtils.h => xpcom/ds/nsArrayUtils.h
rename : xpcom/glue/nsBaseHashtable.h => xpcom/ds/nsBaseHashtable.h
rename : xpcom/glue/nsCOMArray.cpp => xpcom/ds/nsCOMArray.cpp
rename : xpcom/glue/nsCOMArray.h => xpcom/ds/nsCOMArray.h
rename : xpcom/glue/nsClassHashtable.h => xpcom/ds/nsClassHashtable.h
rename : xpcom/glue/nsDataHashtable.h => xpcom/ds/nsDataHashtable.h
rename : xpcom/glue/nsDeque.cpp => xpcom/ds/nsDeque.cpp
rename : xpcom/glue/nsDeque.h => xpcom/ds/nsDeque.h
rename : xpcom/glue/nsEnumeratorUtils.cpp => xpcom/ds/nsEnumeratorUtils.cpp
rename : xpcom/glue/nsEnumeratorUtils.h => xpcom/ds/nsEnumeratorUtils.h
rename : xpcom/glue/nsHashKeys.h => xpcom/ds/nsHashKeys.h
rename : xpcom/glue/nsInterfaceHashtable.h => xpcom/ds/nsInterfaceHashtable.h
rename : xpcom/glue/nsJSThingHashtable.h => xpcom/ds/nsJSThingHashtable.h
rename : xpcom/glue/nsPointerHashKeys.h => xpcom/ds/nsPointerHashKeys.h
rename : xpcom/glue/nsQuickSort.cpp => xpcom/ds/nsQuickSort.cpp
rename : xpcom/glue/nsQuickSort.h => xpcom/ds/nsQuickSort.h
rename : xpcom/glue/nsRefPtrHashtable.h => xpcom/ds/nsRefPtrHashtable.h
rename : xpcom/glue/nsTArray-inl.h => xpcom/ds/nsTArray-inl.h
rename : xpcom/glue/nsTArray.cpp => xpcom/ds/nsTArray.cpp
rename : xpcom/glue/nsTArray.h => xpcom/ds/nsTArray.h
rename : xpcom/glue/nsTArrayForwardDeclare.h => xpcom/ds/nsTArrayForwardDeclare.h
rename : xpcom/glue/nsTHashtable.h => xpcom/ds/nsTHashtable.h
rename : xpcom/glue/nsTObserverArray.cpp => xpcom/ds/nsTObserverArray.cpp
rename : xpcom/glue/nsTObserverArray.h => xpcom/ds/nsTObserverArray.h
rename : xpcom/glue/nsTPriorityQueue.h => xpcom/ds/nsTPriorityQueue.h
extra : rebase_source : 5f0638e3268acb932e1a8d3f499d283bc1922acd
extra : histedit_source : dcea9485885877bb02f95a1ecc627465a507f757
2017-01-20 13:59:21 -05:00
bsmedberg%covad.net
f0d2e05a7e Bug 299992 (re-landing) - Move pldhash etc. into the xpcom glue, and centralize various instances of nsINIParser in the xpcom glue. Some files were cvscopied from xpcom/ds to xpcom/glue r=brendan/darin 2005-08-15 18:29:55 +00:00
bsmedberg%covad.net
8992fb4c7d Backout bug 299992 - too much odd platform-specific bustage 2005-08-11 22:07:08 +00:00
bsmedberg%covad.net
e9c48557e9 Bug 299992, the part before the actual work: move pldhash and the templatized hashtables into the glue (and drop the minor dependencies on NSPR), and centralize our various in-tree nsINIParser classes into the glue (does not affect the ones used for the various installers) r=brendan/darin a=chase/cbeard 2005-08-11 20:40:53 +00:00
bsmedberg%covad.net
581fce1582 Bug 209622 - bustage fix for stupid compilers (Sun WS and DEC OSF1) -
also remove unused configure test. r=dbaron sr=alecf
2003-06-19 18:42:23 +00:00
bsmedberg%covad.net
a82cd52521 Bug 193031 fix category manager to use aPersist parameter. Bug 54639 Category Manager is not thread-safe. Bug 208437 separate threadsafe nsBaseHashtable into super-class nsBaseHashtableMT. r=dougt/alecf I know Sun Workshop builds are still broken... working on it. 2003-06-18 11:26:27 +00:00
bsmedberg%covad.net
110776c7d6 Fix ANSI-strict compiler errors using GCC 3.4 (from CVS). bug 201407 r=jkeiser sr=brendan a=sspitzer 2003-05-11 01:28:03 +00:00
bsmedberg%covad.net
d1f638b36f Bug 201034 non-const enumeration in nsBaseHashtable, add
nsTHashtable::RawRemove. Add a hashtable test-suite, and
clean up some codesize issues. Also fixes bug 203030 and
hopefully SunOS build bustage. r=jkeiser sr=alecf a=asa
2003-04-24 01:54:57 +00:00
bsmedberg%covad.net
2fe15728d7 bug 200709 remove dynamic linking of nsTHashtable and family. r=jkeiser sr=alecf 2003-04-10 13:27:16 +00:00
jkeiser%netscape.com
57a1ab6f5c Templatized hashtable class by bsmedberg@covad.net (bug 180264), r=jkeiser@netscape.com, sr=alecf@netscape.com 2003-04-02 06:53:57 +00:00