aboutsummaryrefslogtreecommitdiff
path: root/common/hashmap.h
AgeCommit message (Collapse)Author
2011-01-30COMMON: Add an erase method which takes an iterator to HashMap.Johannes Schickel
Currently there is no iterator returned from this method, to have some similarity to associative containers of the STL. I also "added" one unit test for this method, which is basically just a copy of the HashMap::erase(const Key &) test with the required adaptions. svn-id: r55661
2010-11-01COMMON: Disable DEBUG_HASH_COLLISIONS (oops)Max Horn
svn-id: r54013
2010-11-01COMMON: Change some (f)printf to debug calls; clenaup hashmap.hMax Horn
svn-id: r54003
2010-10-15COMMON: Extend workaround in HashMap code for sgi IRIX MIPSpro to also apply ↵Johannes Schickel
for Intel's C++ compiler. svn-id: r53507
2010-07-17Remove PalmOS portMax Horn
svn-id: r50964
2010-05-17Restrict MIPSpro workaround to non-gcc compilers -- fixes compilation with ↵Joost Peters
gcc on irix. svn-id: r49060
2010-01-25Strip trailing spaces/tabs.Johannes Schickel
svn-id: r47541
2009-09-22Remove superfluous checksWillem Jan Palenstijn
svn-id: r44258
2009-09-22Fix regression in 44236, which caused iterators to see dummy node entries as ↵Johannes Schickel
valid entries. svn-id: r44256
2009-09-21Stop confusing doxygen :)Max Horn
svn-id: r44237
2009-09-21COMMON: Remove Common::HashMap::_dummyNode, instead use HASHMAP_DUMMY_NODE ↵Max Horn
(this saves memory and should still be safe) svn-id: r44236
2009-09-06COMMON: HashMap::getVal now allows specifying a default value.Max Horn
A new variant of HashMap::getVal with a second 'default value' parameter has been added. This helps avoid many contains() + getVal() combos (which incur double lookup penalty), and is much lighter than using find() (which has to create an iterator). svn-id: r43983
2009-08-14MIPSpro compilation fixes / workarounds (from a patch by Rainer Canavan)Joost Peters
The hashmap.h change is ugly, but so far the only thing found to work. Suggestions for a better "fix" appreciated! svn-id: r43380
2009-07-03If NDEBUG is #defined, then assert does nothing, leading to warnings about ↵Max Horn
'old_size' not being used -> fix that svn-id: r42056
2009-06-13Fix erase() sometimes hiding other hash elements.Willem Jan Palenstijn
Like CPython, we now use a dummy node to mark nodes as erased, so that lookup() can skip over it. All tests should now pass again. svn-id: r41496
2009-04-28fixed a typoMax Horn
svn-id: r40171
2009-03-07Modified HashMap ctr to skip _defaultVal() on PS2 to avoid gcc 3.2.2 ICEMax Lingua
svn-id: r39174
2009-02-16More paranoia checksMax Horn
svn-id: r38339
2008-12-22Fixed indentation and removed whitespaces at the end of lineJordi Vilalta Prat
svn-id: r35481
2008-10-12COMMON: Added a new ObjectPool class, with matching operator new/delete ↵Max Horn
overloads svn-id: r34785
2008-09-02Revised HashMap implementationMax Horn
svn-id: r34273
2008-08-20Unified member names in container/storage classes Array, HashMap and String: ↵Max Horn
_storage, _size, _capacity svn-id: r34052
2008-08-20Extended HashMap debug outputMax Horn
svn-id: r34051
2008-08-04List the correct engines in about, Lars Persson
updated actions with Lure (from WinCE). Increased min heap size to 5MB svn-id: r33618
2008-07-22Disable hashmemory pool for Symbian OSLars Persson
svn-id: r33212
2008-05-28Decrement _nele when erasing an element from hashmap, and add a test-case ↵Willem Jan Palenstijn
for this bug. svn-id: r32343
2008-05-03Formatting.Johannes Schickel
svn-id: r31852
2008-04-02Committed patch #1929274 "HashMap: Iterator rework".Johannes Schickel
svn-id: r31356
2008-03-30Added fixme regarding header 'new'.Johannes Schickel
svn-id: r31339
2008-03-30Whitespacing fixesBertrand Augereau
svn-id: r31330
2008-03-30The hashmap uses the memorypool for allocating/deallocating its NodesBertrand Augereau
(It is faster and it saves approximately 70kB the DS or other small devices will appreciate having) svn-id: r31321
2008-03-30Cleanup.Johannes Schickel
svn-id: r31316
2008-03-30Fixed hashmap code. (please make a better check next time when changing code ↵Johannes Schickel
in common/, this was a really bad one :-/) svn-id: r31314
2008-03-30Formatting.Johannes Schickel
svn-id: r31308
2008-03-29Centralized the way the hashmaps allocate and free nodes (in order to ↵Bertrand Augereau
instrument and maybe use a pool allocator later) svn-id: r31305
2008-02-07Fix bug preventing compilation in iterator code.Johannes Schickel
svn-id: r30818
2008-01-31Second part of patch #1880781: "BeOS port for scummvm"Eugene Sandulenko
svn-id: r30720
2008-01-28Forward declare HashMap::ConstIterator (this might fix compile errors with ↵Max Horn
some old GCC versions) svn-id: r30670
2008-01-27Removed trailing spaces.Jordi Vilalta Prat
svn-id: r30664
2008-01-23assert if hashmap iterator is out of bounds (e.g. happens when derefing end()Max Horn
svn-id: r30623
2008-01-13Fix warnings HashMap causes on some compilers (notably, GCC 3.x used for ↵Max Horn
various cross compilers) svn-id: r30472
2007-12-28Fix hashmap.h properly (this is not a bug in GCC 4.0 etc., rather it's a bug ↵Max Horn
in newer GCC versions that they *accepted* the old code...) svn-id: r30022
2007-12-27same bug on arm-wince-gcc 4.1.0Kostas Nakos
svn-id: r30014
2007-12-27Fix for bug #1858824 "AMIGAOS4: Build Process breaks due to regression".Johannes Schickel
svn-id: r30013
2007-12-26Patch #1837119 (COMMON: Common::HashMap iterator rework) with workaroud for ↵Max Horn
Mac OS X compiler bug svn-id: r30004
2007-09-19Merged common/stdafx.h into common/scummsys.h. All referencing files have ↵Nicola Mettifogo
been updated. svn-id: r28966
2007-05-30Updated legal headers in source files, based on what Pidgin (the IM client ↵Max Horn
formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots svn-id: r27024
2007-03-12Protect Array<> and HashMap<> instances against self assignmentsMax Horn
svn-id: r26115
2007-03-09Avoid double frees in HashMap::eraseMax Horn
svn-id: r26040
2007-03-04Some HashMap cleanup:Max Horn
* Removed the odd return value of method erase() * Stopped erase() from leaking (oops!) * Added a (paranoia) consistency check to assign() svn-id: r25967