aboutsummaryrefslogtreecommitdiff
path: root/common/hashmap.h
AgeCommit message (Collapse)Author
2019-09-09BUILD: Fix GCC bogus warning by removing constLe Philousophe
GCC emits "warning: type qualifiers ignored on cast result type" when some types are used for HashMap because of the const modifier. This applies especially to pointer-to-member-functions. The const there is not really useful as it only prevents unfortunate object editions.
2019-06-30JANITORIAL: Avoid C4121 warnings in MSVC by reordering fieldsLe Philousophe
C4121 is about 'symbol': alignment of a member was sensitive to packing
2018-07-30COMMON: Fix HashMap never reusing erased items storageThierry Crozat
When erasing and inserting many items this caused the hashmap capacity to grow more than it should which resulted in performances issues (and possibly memory issues as well). The issue was reported on IRC today with the wintermute engine.
2018-05-25COMMON: fix wrong size assignment in HashMapwhiterandrek
2018-05-10COMMON: Use nullptr instead of NULL or 0 where appropriateBastien Bouclet
2018-04-15JANITORIAL: Fix whitespaceAdrian Frühwirth
2014-02-18COMMON: Make GPL headers consistent in themselves.Johannes Schickel
2013-01-26JANITORIAL: Enforce "} // End of namespace" with a single space after }.Johannes Schickel
2012-02-22COMMON: Add a size_type to HashMap.Johannes Schickel
2011-07-03COMMON: Fix compilation when USE_HASHMAP_MEMORY_POOL is not defined.Johannes Schickel
2011-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
2011-04-28JANITORIAL: Reduce header dependencies in shared codeOri Avtalion
Some backends may break as I only compiled SDL
2011-04-04COMMON: Fix (harmless) int <-> uint mismatchMax Horn
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