634 Commits

Author SHA1 Message Date
greg7mdp 78071573aa Fix issue #117 - segfault when out of memory.
when constructing an object to be inserted throws std::bad_alloc, the slot was mark as used
(even though the object was not properly constructed), so eventually the destructor of a
non-initialized object was called causing a segfault.

Solution: mark the slot used only after the object is successfully constructed.
v1.3.9 1.3.9
2023-04-15 20:22:50 -04:00
greg7mdp 3a4f3983a1 Fix a couple return type mismatches reported by clang-tidy. 2023-04-15 16:02:43 -04:00
greg7mdp d2bed96d29 Use curl instead of wget 2023-04-10 08:50:44 -04:00
greg7mdp 59d56923f5 Add example mt_word_counter 2023-04-09 18:48:26 -04:00
greg7mdp 8540627c91 issue #187 - swap allocators only if permitted by AllocTraits 2023-04-08 21:12:42 -04:00
greg7mdp 7883cb6cd1 Remove #ifdef 1 - no change in behavior. 2023-03-26 11:18:26 -04:00
greg7mdp 55725dbe70 Improve check for <shared_mutex> existence 2023-03-12 18:31:12 -04:00
greg7mdp e7df60b86d Make Throw a macro, for platforms missing definitions for std::*_error types. 2023-03-12 18:20:43 -04:00
greg7mdp 87ece91c6e Fix comment showing how to use FetchContents - issue #182 2023-01-19 16:24:50 -05:00
greg7mdp c36739b79f fix typo in comment (erase instead of _erase) 2022-11-29 09:19:25 -05:00
greg7mdp d676385fb4 Fix clang-15 warnings 2022-11-19 14:25:19 -05:00
greg7mdp ab663358bc Remove deprecated use of std::aligned_storage. Issue #171 2022-11-05 16:11:40 -04:00
greg7mdp dc5bd3620e Disable assert causing duplicated hash calls when NDEBUG is not defined - issue #168 2022-10-03 09:09:34 -04:00
greg7mdp acf0424bde update doc/new_release.md 2022-10-01 17:24:43 -04:00
greg7mdp 3dc631a004 update doc/new_release.md 2022-10-01 17:23:12 -04:00
greg7mdp f5e1638a91 update version number to start with the letter v v1.3.8 2022-10-01 16:04:30 -04:00
greg7mdp 4ca9c6a119 update version number 2022-10-01 15:53:35 -04:00
greg7mdp cc5b24b42c Fix file mode issue 2022-10-01 00:02:25 -04:00
greg7mdp a10ad015db Update phmap::Hash so that std::hash<Foo*> can be overridden - issue #168 2022-10-01 00:01:18 -04:00
greg7mdp 267fc4ddc8 Modernize CMakeLists.txt and make gtest download optional 2022-09-30 22:36:59 -04:00
greg7mdp 9b525fdb6d remove executable flag for two source files - issue #169 2022-09-30 19:55:23 -04:00
greg7mdp 736b921c1a Update version numbers 2022-09-30 19:53:46 -04:00
greg7mdp 0e4997324b Update gtest macro in btree_test.cc 1.37 2022-09-22 18:50:35 -04:00
Gregory Popovitch 3bde3fb888 Merge pull request #165 from greg7mdp/disable_locking
Allow swap() to work with parallel hash maps/sets with different mutex types, so you can use the same container with or without locking.
1.36
2022-09-12 11:04:17 -04:00
greg7mdp f06b3985d2 remove outdated appveyor file 2022-09-12 10:57:39 -04:00
greg7mdp f0409c6d05 Fix access of protected member, and add test for templated swap() 2022-09-11 12:16:35 -04:00
greg7mdp 0d912f754f Allow swapping parallel hash maps/sets with different mutex types 2022-09-11 10:07:32 -04:00
greg7mdp ca9f02fda3 Fix issue #44 - example to dump TriviallyCopyable types doesn't work any
more
2022-08-12 20:24:24 -04:00
greg7mdp d62b8472a3 Add doc for parallel hashmap extended APIs, and remove some unnecessary casts in phmap.hpp 2022-07-25 22:57:43 -04:00
greg7mdp d24c47fdce Add with_submap api for parallel maps allowing access to submaps under lock protection 2022-07-25 21:37:43 -04:00
greg7mdp f71777d540 Small cleanup in StringHashEqT definition 2022-07-22 19:03:02 -04:00
greg7mdp 25a6a5024d revert incorrect change 2022-07-22 17:14:02 -04:00
greg7mdp 8650bcc503 Fix compiler warning in btree - issue #156 2022-07-22 10:22:44 -04:00
Gregory Popovitch 85b6d203f8 Merge pull request #160 from kc9jud/master
execution: Overloads of `for_each` and `for_each_m` taking ExecutionPolicy
2022-07-21 13:14:52 -04:00
Patrick Fasano 6fc51c1b49 execution: Overloads of for_each and for_each_m taking ExecutionPolicy
* Adds additional overloads to `for_each` and `for_each_m` that accept execution policies.
* Execution policy is applied to the loop over subsets.
2022-07-21 12:19:58 -04:00
greg7mdp cc82fd2ae4 forgot to add new file 2022-07-19 20:45:54 -04:00
greg7mdp 1249057455 Fix issue #158 - imperfect hash for tuple of small integers 2022-07-19 20:32:09 -04:00
greg7mdp 01ea8093e6 use ADL lookup for erase_if instead of adding to std (gtl reported issue) 1.35 2022-06-25 14:55:26 -04:00
greg7mdp ce7710e9c3 Fix HashtableDebugAccess as in gtl 2022-06-21 21:03:16 -04:00
Gregory Popovitch fa666ae03f Merge pull request #150 from stdpain/master
fix wrong function type for parallel_hash_set::lazy_emplace_with_hash
2022-06-21 15:50:57 +02:00
stdpain 40afe134cb fix wrong function type for parallel_hash_set::lazy_emplace_with_hash
in flat_hash_set the proto type is `iterator lazy_emplace_with_hash(const key_arg<K>& key, size_t& hashval, F&& f)`.
2022-06-21 20:54:33 +08:00
greg7mdp a0f0493e2a rename macro which can conflict with msvc headers 2022-06-21 08:08:13 -04:00
greg7mdp 87f09380ce try fix for win32 issue 2022-06-20 21:36:41 -04:00
greg7mdp c34bb0e9a3 tentative fix for issue #145 2022-06-20 20:51:40 -04:00
greg7mdp 9e87d79404 Fix example to reflect new usage of lazy_emplace_l - issue #143 2022-06-20 19:54:26 -04:00
greg7mdp eb60b8ac59 minor cmake updates 2022-06-20 19:22:05 -04:00
Gregory Popovitch d4052fe8a4 Merge pull request #149 from stdpain/master
Implement HashtableDebugAccess for parallel_hash_set
2022-06-21 00:35:40 +02:00
stdpain b03e4d38f1 Implement HashtableDebugAccess for parallel_hash_set 2022-06-20 19:45:17 +08:00
greg 655dee936b Add ${CMAKE_CURRENT_SOURCE_DIR} to header path - issue #142 2022-05-07 16:12:57 -04:00
greg d8274d45ab add support for std::erase_if for hash containers - issue #141 2022-05-07 10:12:35 -04:00