Commit Graph

103 Commits

Author SHA1 Message Date
greg c8a0e5a2b8 add support for bidirectional iterators on non-parallel hashmaps - issue #58 2020-08-16 21:49:26 -04:00
greg 5a74cb42ff update try_emplace_l so that the lambda is called only when the key was already present - issue #60 2020-08-16 18:44:12 -04:00
greg 0d229b1159 Add new API try_emplace_l (issue #60) 2020-08-16 18:27:20 -04:00
Colin Gaudreau edc886bcda Fixed accidental typo. 2020-08-09 21:51:07 -05:00
Colin Gaudreau 9baa437c3f Fixed merge with upstream to work on gcc 2020-08-09 21:48:07 -05:00
Colin Gaudreau c28f03be22 Merged with upstream repo. 2020-08-09 20:59:33 -05:00
Colin Gaudreau f6337521ab Added modify_if method
- Added method to safely modify a value in a map using
  the UniqueLock.
2020-08-07 13:08:45 -05:00
greg 17f9048990 change mutable if_contains to modify_if 2020-08-07 13:10:31 -04:00
greg 7bbf9dc041 issue #60: add non-const if_contains() which can update the mapped_value. 2020-08-07 12:58:43 -04:00
greg 0c6e8c3208 add reserve() call when inserting lists of values with random access iterators. 2020-07-28 10:44:22 -04:00
greg e77d86e49c replace "container_internal" with the shorter "priv" 2020-07-27 09:14:43 -04:00
greg 37b04503db cleanup some test failures. 2020-07-19 17:51:13 -04:00
greg d02fd308c4 Merge branch 'master' of https://github.com/greg7mdp/parallel-hashmap 2020-07-09 14:46:26 -04:00
greg afe1ded1ae Improve subtable selection in parallel_* maps by using higher bits of the key, as suggested by @fowles - issue #53 2020-07-09 14:46:23 -04:00
Brian McKinnon a1349d2b65 Make a single if_contains function to simplify the interface 2020-05-03 10:32:36 -05:00
Brian McKinnon 73b0e63445 Fixed enable_if_t is a c++14 feature 2020-05-02 21:39:23 -05:00
Brian McKinnon 3bfc1784ad Fix compiler error for is_invocable is a c++17 feature 2020-05-02 21:23:59 -05:00
Brian McKinnon bf7203b3c8 Renamed the thread-safe "contains" to if_contains.
Add tests to parallel_flat_hash_map_mutex_test
2020-05-02 20:45:46 -05:00
Brian McKinnon 131a84f6ed Fix compiler error on clang/gcc 2020-05-02 18:25:02 -05:00
Brian McKinnon adc918235e Add missing const 2020-05-02 17:09:10 -05:00
Brian McKinnon 0e723143fa Add "if_contains" to parallel_hash_map so the value does not need to be copied to be read in a thread-safe manner
Add tests for parallel_hash_map thread-safe functions.
2020-05-02 16:47:33 -05:00
Brian McKinnon 13853156fc Add "contains" function to parallel_hash_map that also returns the value is a thread-safe manner
Fixed a bug in the call to lazy_emplace
2020-05-01 20:27:22 -05:00
greg 5542475554 remove alignment directive which provides very minimal (if any) speed bump 2020-03-28 11:58:32 -04:00
greg b791e794ac rename function name which conflicts with a #define macro from /usr/include/X11/Xos.h 2020-03-27 19:35:00 -04:00
greg 23e651c2d5 make dump() function const (issue #44) 2020-03-27 19:30:40 -04:00
greg 5ba0c2d619 Update phmap.h 2020-03-14 19:32:27 -04:00
greg a9e4a37b1a Update phmap.h 2020-03-14 16:00:11 -04:00
greg f30643573e try to fix build issue 2020-03-14 15:50:48 -04:00
greg 7bffc3a5f1 issue #42 2020-03-14 13:46:59 -04:00
greg 9191e51500 enable warning level for for tests (msvc) and cleanup some warnings. 2020-01-01 13:56:35 -05:00
greg 5e40c675e1 increase warning level in examples, and suppress two more warnings for msvc 2019-12-31 14:21:24 -05:00
greg 787e16a4f4 cleanup a couple more warnings when building in release 2019-12-31 13:31:20 -05:00
greg fd2f93683c cleanup more warnings with MSVC 2019-12-31 13:26:03 -05:00
greg 1d5651cffe cleanup some warnings 2019-12-31 12:29:45 -05:00
greg 3c5aba629c reorganize headers and start adding btree support 2019-12-28 22:09:25 -05:00
greg 1a9d07831c add conanfile.py, and fix a couple windows warnings. 2019-12-05 17:35:40 -05:00
greg 1de1a98cbd Add default hash for std::pair and std::tuple... slight code reorganization. 2019-11-03 13:42:47 -05:00
greg bf58b839f9 Merge branch 'master' of https://github.com/greg7mdp/parallel-hashmap 2019-10-21 08:06:16 -04:00
greg 7a7feb2c69 fix compilation issue on msvc when xhash is included. 2019-10-21 08:06:04 -04:00
myozka a4834da9af phmap.h header; included missing atomic header
Missing header was causing a compilation error in some cases where the parent application including the library does not include `atomic` before including phmap header
2019-10-11 19:24:25 -04:00
greg 43913a33b5 define dump()/load() APIs on;y when using deterministic phmap. 2019-09-02 08:56:28 -04:00
Gregory Popovitch daaed8b1aa Merge pull request #23 from gtarcoder/master
Added dump&&load interface for trivially_copyable types
2019-08-25 09:15:07 -04:00
sunkaicheng 62a1674d94 remove mmap load and dump 2019-08-25 20:47:05 +08:00
sunkaicheng 3653f03683 fix typo 2019-08-25 20:12:14 +08:00
debugman 8fbc1526e1 Merge branch 'master' into mmap 2019-08-25 20:09:01 +08:00
sunkaicheng 34ecd92f63 added mmap load 2019-08-25 19:59:28 +08:00
sunkaicheng 61f1bdb037 use single file to store data for parallel hash 2019-08-23 10:22:41 +08:00
sunkaicheng 0866192922 use single file to store data for parallel hash 2019-08-21 09:09:12 +08:00
sunkaicheng 6ae6e2ee49 only support dump&load is_trivially_copyable types 2019-08-20 00:56:59 +08:00
greg bb885f1a9f throw exception for invalid operator[]() access as standard requires 2019-08-18 15:35:47 -04:00