Commit Graph

1174 Commits

Author SHA1 Message Date
Christian Mazakas
21afc69894 Add initial tests for rehash(), reserve() 2023-05-10 13:22:02 -07: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
26924c73b9 fixed space reservation in concurrent_table::operator=(std::initializer_list) 2023-05-04 18:09:28 +02:00
Christian Mazakas
4fb7751b55 Add missing #include 2023-05-03 11:37:32 -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
187fd3e71e Implement initializer_list assignment 2023-04-27 12:00:42 -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
joaquintides
0bc4f2c4b9 refactored foa::concurrent_table::merge internals 2023-04-26 13:39:38 +02:00
joaquintides
4c117ab20a made merge blocking 2023-04-25 15:53:18 +02:00
Christian Mazakas
26ab9ff584 Add prototype copy assignment operator 2023-04-21 15:56:22 -07:00
Christian Mazakas
88d4d64edf Add last remaining constructors 2023-04-21 10:33:21 -07:00
joaquintides
7f7e577e77 polished description 2023-04-21 09:13:28 +02:00
Christian Mazakas
80d7203d78 Add more iterator constructor overloads 2023-04-20 15:35:04 -07:00
Christian Mazakas
e08f9f11a1 Add more constructors 2023-04-20 12:58:29 -07:00
joaquintides
0e8affcc07 [skip ci] editorial 2023-04-20 20:40:10 +02:00
joaquintides
c214fb44a3 completed internal code documentation 2023-04-20 18:49:42 +02:00
joaquintides
a91efeb237 refactored size_/ml swap 2023-04-20 17:29:21 +02:00
Christian Mazakas
7812b26d3a Add allocator aware move constructors 2023-04-19 15:18:53 -07:00
Christian Mazakas
8bd07e17c3 Add forced inlining to keep msvc benchmarks on par with raw concurrent_table 2023-04-19 10:52:41 -07:00
Christian Mazakas
37edc392a5 Add allocator-aware copy constructor 2023-04-19 09:35:38 -07:00
Christian Mazakas
fb403bc233 Add explicit allocator constructor 2023-04-18 15:36:12 -07:00
Christian Mazakas
910b8de697 Add iterator range + allocator constructor, continue to clean up constructor_tests 2023-04-18 15:11:53 -07:00
Christian Mazakas
a9ad06139e Add move constructor 2023-04-18 12:00:08 -07:00
joaquintides
9a0e5e9ea8 dispensed with std::array 2023-04-15 12:13:40 +02:00
joaquintides
b1a52d0236 explicitly declared guards' copy ctors as it prevents VS from doing spurious copies (!) 2023-04-15 09:51:01 +02:00
joaquintides
1723358298 refactored to deICE Clang<=3.8 and for clarity 2023-04-14 10:48:26 +02:00
joaquintides
0e5ef25a69 added workaround for GCC<=5 having problems with return {...} syntax 2023-04-13 19:31:20 +02:00
joaquintides
ab84a922cf added workaround for lack of std::is_trivially_copy_assignable in GCC<5.0 2023-04-13 13:00:29 +02:00
Christian Mazakas
d8bc38f154 Clean up tag dispatch for group_type copy assignment 2023-04-12 14:41:36 -07:00
Christian Mazakas
d9b62d24dc Begin work on constructors 2023-04-12 12:22:59 -07:00
Christian Mazakas
b771278813 Fix copy assignment warning in gcc 2023-04-12 12:22:38 -07:00
joaquintides
2226a7238d adjusted arg constness in erase and erase_if 2023-04-11 16:32:47 +02:00
joaquintides
00c6a93a56 restored invocability static asserts 2023-04-10 11:03:11 +02:00
joaquintides
c54151769f updated insert_or_assign impls to f-last interface 2023-04-09 21:56:12 +02:00
joaquintides
8a4e987030 made f the last argument in all *_or_[c]visit functions 2023-04-09 20:20:55 +02:00
Christian Mazakas
ed80cb14e2 Add visit_all() 2023-04-07 12:39:39 -07:00
Christian Mazakas
3bd28dc3d7 Implement basic version of single element visitation 2023-04-06 13:42:57 -07:00
Christian Mazakas
e4d2da40f2 Add missing static_assert()s 2023-04-06 09:36:08 -07:00
Christian Mazakas
a004e71dd0 Implement emplace, emplace_or_[c]visit 2023-04-05 13:21:18 -07:00
Christian Mazakas
ddcab1c171 Add impl of try_emplace, try_emplace_or_[c]visit 2023-04-04 15:16:52 -07:00
Christian Mazakas
e3cbf03f47 Commit missing changes to erase_if() 2023-04-03 14:11:51 -07:00