Граф коммитов

38 Коммитов

Автор SHA1 Сообщение Дата
Gerald Squelart 213ba5c515 Bug 1336215 - Optimize iterator if nsDeque is const - r=froydnj
Handling potential nsDeque size changes means a bit of extra work.

But if the nsDeque is const, we can assume that it shouldn't get modified, so
we can provide a more optimized iterator that doesn't need to handle size
changes.

Optimizing a range-for loop in which the deque is not modified, can be done
by writing: `for (void* item : const_cast<const nsDeque&>(deque)) {...}`

MozReview-Commit-ID: AFupjoTsoH3

--HG--
extra : rebase_source : a71b09c9cb73787ce686c7c762f92ef0c208e76a
2017-02-03 13:08:10 +11:00
Gerald Squelart dade4b9e6e Bug 1336215 - Make nsDeque::ConstIterator resistant to size changes - r=froydnj
Note that iterators stay at the same index if the deque size changes
(including end-iterators staying at the end).
This means that after front operations, iterators will effectively point at
different elements! (Possibly skipping or re-visiting some.)
But this is consistent with ForEach and hand-crafted index-based for loops.

MozReview-Commit-ID: 5IvazJR68dG

--HG--
extra : rebase_source : c574fd2d2642d784482698c0fc861269200d1059
2017-02-03 09:19:47 +11:00
Gerald Squelart d109b21181 Bug 1336215 - More complete and consistent nsDeque doc, deleted special copy members - r=froydnj
MozReview-Commit-ID: GvjFPiX6lii

--HG--
extra : rebase_source : 1ffc8392106757743f0718aa5cf68d03aa16e384
2017-02-03 12:43:13 +11:00
Gerald Squelart d5ce43788f Bug 1322700 - Enable range-for with nsDeque - r=froydnj
It's now possible to write:
  for (void* item : deque) { ... }

MozReview-Commit-ID: FLoczCZd77y

--HG--
extra : rebase_source : 237293e94b478beb2bf352c1179d42c289dda145
2017-02-02 12:28:35 +11: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
aaronr@us.ibm.com 4d5884fb58 move nsDeque to xpcom glue. Bug 395349, r+a=bsmedberg 2007-09-18 11:14:34 -07:00
peterv@propagandism.org 12431cf555 Fix for bug 375075 (Stop leaking the cycle collector on shutdown). r=bsmedberg, sr=dbaron. 2007-03-27 02:49:06 -07:00
mrbkap%gmail.com 550985b369 bug 288460: Make ScanDocStructure() more strict about tags that break the ShouldVerifyHeirarchy check and mark all children of the tag as malformed so that its children don't think they're well formed. r=rbs sr=bzbarsky a=shaver 2005-06-01 21:08:53 +00:00
gerv%gerv.net 31625ba2b1 Bug 236613: change to MPL/LGPL/GPL tri-license. 2004-04-18 14:21:17 +00:00
cls%seawood.org e887c496ee Fix mingw 3.3.1/3.3.3 bustage.
Follow MSVC as much as possible by requiring proper dllimport/dllexport declarations.
Remove dllimport/dllexport declarations from all nsXPTCStubBase functions and just export the class itself.
Bug #226609 r=shaver/swalker sr=dbaron a=chofmann
2004-03-16 08:07:25 +00:00
cls%seawood.org 3977ae5a71 Backing out changes from bug 226609. MSVC is being uncharacteristically picky. 2004-03-16 00:59:29 +00:00
cls%seawood.org 8e702f20f2 Fix mingw 3.3.1/3.3.3 bustage. Follow MSVC as much as possible by requiring proper dllimport/dllexport declarations.
Bug #226609 r=shaver sr=dbaron a=chofmann
2004-03-15 23:47:04 +00:00
dougt%netscape.com 0d2808c511 Create a new xpcom obsolete library (and component library).
Moved nsFileSpec and related classes into this obsolete library.
  Moved nsRegistry and related libreg functionality into the obsolete library.

Updated many callers using the obsolete nsFile spec to use nsIFile and Necko to do file IO.

Combined the following DLLs (source -> dest)
  uriloader -> docshell
  shistory -> docshell
  jsurl -> jsdom
  gkview -> gklayout

Moved nsAdapterEnumerator out of xpcom/ds and into mailnews, since they're the only consumer

Modifed the xpt_link tool so that you can specify a �only include� cid list that can mask CID�s that you are not interested in.

Added build options:
Prevent the building of xpinstall (--disable-xpinstall)
Prevent the building js component loader (--disable-jsloader)
A build option to only build a single profile (--enable-single-profile)
A build flag to only built the required xpfe components (--disable-xpfe-components).

Removal or hiding of unused functions and classes including nsEscape*, nsDequeIterator, nsRecyclingAllocatorImpl, nsDiscriminatedUnion, nsOpaqueKey, nsCRT::strlen, NS_NewCommandLineService

Bug 194240, r/sr = darin, alec.
2003-03-15 01:04:32 +00:00
timeless%mac.com abdca2b41a Bug 114166 rewrite nsDeque
r=akkana sr=alecf
rs=alecf for TestDeque.cpp
2002-02-20 03:08:32 +00:00
jdunn%netscape.com 061ee47034 AIX's new compiler, xlC5.x, doesn't allow the use of "friend" to declare
a function prototype.  So we have to decare the function and then
declare it a friend.  When Default arguments are used, they need to
be specified in the function prototype and NOT in the friend declaration.
# 43311
r=dbaron@fas.harvard.edu
2002-01-10 14:16:05 +00:00
akkana%netscape.com 8772e8472b Hmm, let's try that spelling correction again 2001-12-08 06:59:49 +00:00
akkana%netscape.com ba1f9f6c3b Spelling correction. Noticed by and r=timeless 2001-12-08 06:32:59 +00:00
gerv%gerv.net 4e12e44b2f Relicensing Round 1, Take 2. Most C-like NPL files -> NPL/GPL/LGPL. Bug 98089. 2001-09-28 20:14:13 +00:00
shaver%netscape.com b829e11c5a Fix for 18505 (rename nsDeque::Peek to nsDeque::PeekFront) from Sammy Ford
<fuzed@swbell.net>.
1999-11-27 17:47:05 +00:00
dmose%mozilla.org 142ac52eaf updated xPL license boilerplate to v1.1, a=chofmann@netscape.com,r=endico@mozilla.org 1999-11-06 03:43:54 +00:00
rickg%netscape.com 6f744b281a perf update and bug fix: a=chofmann r=buster 1999-09-30 04:03:49 +00:00
rickg%netscape.com df4e839971 perf. improvement to deque 1999-07-16 17:31:00 +00:00
dp%netscape.com 94344009c8 Landing xpcom20/21 branch. 1999-05-26 01:38:36 +00:00
rickg%netscape.com 3554b4a46a fixed bug in deque::pushfront 1999-03-31 08:42:06 +00:00
rickg%netscape.com 48537437de new API on deque to set deallocator 1999-02-26 07:23:56 +00:00
rickg%netscape.com ce3f1fd855 small bug fixes and removal of global statics 1999-02-26 06:33:54 +00:00
rickg%netscape.com 214c399537 exposed objectAt in deque, and fixed toInteger bug 1999-01-15 19:20:51 +00:00
rickg%netscape.com 95d921dff4 modest improvements to string and deque 1999-01-09 01:09:39 +00:00
kipp%netscape.com e727d0c80d Fixed compiler problem with other compilers by removing useless const in front of void 1998-08-27 02:39:36 +00:00
rickg%netscape.com 551ef88034 fixed off by one error in Pop() 1998-08-21 02:03:56 +00:00
rickg%netscape.com 21e9c2ad51 improved deque API a tad 1998-08-05 01:59:34 +00:00
rickg ff4f9c2c9c major improvements to parser API's; fixed a few bugs 1998-07-02 08:14:22 +00:00
rickg 9150405dab huge refactoring effort; transient style support; tables fixes, and more 1998-06-17 23:13:28 +00:00
jevering b4c345c05c Fixed double ended queue to accept a callback in the constructor
to a function which frees the inserted objects.
1998-06-12 01:36:24 +00:00
rickg 98c934dab7 small improvement to deque-iterator interface 1998-05-19 01:51:24 +00:00
rickg 13210310b6 minor performance tweak for deque 1998-05-14 22:18:44 +00:00
rickg 3f6b5b2a01 minor tweak to iterator 1998-04-30 05:55:51 +00:00
rickg fccfcf293e added a few new container types 1998-04-22 18:28:48 +00:00