Commit Graph

2456 Commits

Author SHA1 Message Date
joaquintides
d615a08f76 made operator [==|!=] templated again to accommodate fwd declarations 2023-05-12 12:33:27 +02:00
joaquintides
dacc1c8234 made operator[==|!=] non-templated 2023-05-12 11:41:50 +02:00
joaquintides
511e2b3272 refactored to provide equality comparison from table_core 2023-05-12 11:24:20 +02:00
Christian Mazakas
bcf5d0cf13 Attempt to disable extraneous runs on CI 2023-05-11 08:39:29 -07:00
Christian Mazakas
80a1904d92 Fix call_count check in rehash_tests 2023-05-11 08:39:16 -07:00
Christian Mazakas
21afc69894 Add initial tests for rehash(), reserve() 2023-05-10 13:22:02 -07:00
Christian Mazakas
c90b72a643 Squelch gcc self-move warning for version 13 2023-05-09 14:00:14 -07:00
Christian Mazakas
c2c34f96a3 Improve robustness of merge_tests to schedule merges without spurious wakeups and in a wider stride of insertions 2023-05-09 14:00:14 -07:00
joaquintides
69ba1c7c00 editorial 2023-05-09 19:53:56 +02:00
joaquintides
ba25041fc8 added tutorial on boost::concurrent_flat_map 2023-05-08 18:37:36 +02:00
joaquintides
02197674f4 prevented VS C4800 warning 2023-05-06 12:44:07 +02:00
Christian Mazakas
f0fe62d6ab Add count(), contains() 2023-05-05 15:41:23 -07:00
Christian Mazakas
53328766b9 Return size_type instead of size_t 2023-05-05 15:41:08 -07:00
Christian Mazakas
5b775345ba Clean up concurrent_table's merge impl 2023-05-05 11:47:20 -07:00
Christian Mazakas
99b0868283 Add initial impl of merge() 2023-05-05 10:20:52 -07:00
joaquintides
1c98a4a8f1 changed all titles to Title Casing 2023-05-05 18:56:33 +02:00
joaquintides
bf73366117 typo 2023-05-05 17:55:53 +02:00
joaquintides
719394c522 Split important info int separate paragraphs 2023-05-05 17:55:02 +02:00
joaquintides
03fccc1947 refined concurrency requirements and guarantees 2023-05-05 17:37:20 +02:00
joaquintides
814264082f fixed BNF syntax 2023-05-04 19:19:37 +02:00
joaquintides
70e3dc4628 Changed the return type of iterator/initializer_list insert[_or_[c]visit] and merge to size_type 2023-05-04 19:16:39 +02:00
joaquintides
b72dbef1a9 added equality comparison to reference 2023-05-04 18:51:03 +02:00
joaquintides
26924c73b9 fixed space reservation in concurrent_table::operator=(std::initializer_list) 2023-05-04 18:09:28 +02:00
Christian Mazakas
23e720a968 Split up Drone jobs even further due to extended runtimes 2023-05-03 15:32:06 -07:00
Christian Mazakas
4fb7751b55 Add missing #include 2023-05-03 11:37:32 -07:00
Christian Mazakas
3c0fb0fa1b Attempt to fix flaky CI 2023-05-03 11:37:32 -07:00
Christian Mazakas
3fe0807ae9 Add test that intermixes insertion and visitation
Attempt to test the happens-before and synchronizes-with relationship, looking for potential bugs on weakly-ordered models
2023-05-03 11:37:32 -07:00
joaquintides
dfb4f2a28a added reference for boost::concurrent_flat_map 2023-05-03 17:53:13 +02:00
Christian Mazakas
cc4cfc7ef2 Fix bug in swap_test iteration logic that caused early termination of the swap loop 2023-05-02 15:57:16 -07:00
Christian Mazakas
a9bf367d6e Test if being the kind of program that calls yield() pays dividends for flaky CI failures 2023-05-02 15:44:21 -07:00
Christian Mazakas
2ea0dbf30e Add impl of member function swap() 2023-05-02 13:44:27 -07:00
Christian Mazakas
40c4d456f3 Clean up for CI 2023-05-01 15:21:25 -07:00
Christian Mazakas
011b7a5969 Add initial impl of clear 2023-05-01 11:58:58 -07:00
Christian Mazakas
c52ad849ea Add policy check that excludes unsequenced policies
It's technically UB for the callable in an unsequenced policy to acquire a lock so we add static_assert()s to catch potential user error.
2023-05-01 11:58:58 -07:00
joaquintides
615ce1e9b6 refactored unprotected_rehash_if_full out 2023-04-29 11:35:11 +02:00
Christian Mazakas
bee9a3cb1a Split Drone jobs to help with CI timeouts and load 2023-04-28 14:10:58 -07:00
Christian Mazakas
081932221f Attempt to fix flaky assign_tests 2023-04-28 13:42:28 -07:00
Christian Mazakas
135c9586af Add fuzzy test mixing copy-assignment with insertion 2023-04-27 15:23:21 -07:00
Christian Mazakas
187fd3e71e Implement initializer_list assignment 2023-04-27 12:00:42 -07:00
Christian Mazakas
0959df1896 Flesh out move assignment tests 2023-04-27 09:30:49 -07:00
Christian Mazakas
7833a8359d Use Core's allocator access to handle allocator_traits not having uniform support in early C++11 compilers 2023-04-26 13:58:20 -07:00
Christian Mazakas
212c6a1e4d Add prototype of move assignment 2023-04-26 12:54:04 -07:00
Christian Mazakas
d7acb7e8b8 Fix capturing in latch_tests 2023-04-26 12:54:04 -07:00
joaquintides
0bc4f2c4b9 refactored foa::concurrent_table::merge internals 2023-04-26 13:39:38 +02:00
Christian Mazakas
2b612ed120 Flesh out assign_tests 2023-04-25 13:14:08 -07:00
Christian Mazakas
a7c15e86fc Update num_threads to use the concurrent hint from the stdlib 2023-04-25 12:18:15 -07:00
joaquintides
4c117ab20a made merge blocking 2023-04-25 15:53:18 +02:00
Christian Mazakas
e9c6a0fef5 Add polyfill implementation of std::latch 2023-04-24 13:29:35 -07:00
Christian Mazakas
ac216a93c8 Add tests back in 2023-04-24 13:29:07 -07:00
joaquintides
e49fef5f9a commented out all tests except those for cfoa 2023-04-23 17:27:50 +02:00