Commit Graph

1193 Commits

Author SHA1 Message Date
Christian Mazakas
8877d21237 Replace dependency on SmartPtr with primitives in Core 2023-06-02 14:14:18 -07:00
Christian Mazakas
44c50cd2ea Resolve potential ambiguities during insertion by introducing a member function template 2023-06-01 14:19:14 -07:00
joaquintides
7aaa2e9452 polished BOOST_UNORDERED_PREFETCH[_ELEMENTS] 2023-05-28 19:09:14 +02:00
Christian Mazakas
950e640fcf Update concurrent_table to use macro-based prefetching 2023-05-26 21:06:01 -07:00
Christian Mazakas
7874625c08 Replace prefetch_elements() with macro so builtins aren't optimized away by DSE 2023-05-26 20:56:52 -07:00
Christian Mazakas
2ab4225473 Add workaround for gcc-12 and above where the prefetch call is ignored 2023-05-26 08:16:02 -07:00
joaquintides
253a9bccf6 fixed leak in throwing allocator-extended move ctor 2023-05-24 09:19:31 +02:00
Christian Mazakas
4a416501c8 Fix misuse of ctad macro 2023-05-17 10:14:45 -07:00
Christian Mazakas
bf06fa97e3 Add deduction guides 2023-05-17 09:38:29 -07:00
Christian Mazakas
fcf6fee0f6 Make usage of forceinline consistent with the underlying concurrent_table 2023-05-16 15:42:47 -07:00
Christian Mazakas
8ddfc8ec7a Update execution policies to accept by forwarding reference 2023-05-16 14:33:41 -07:00
Christian Mazakas
5f249bc681 Add fwd header 2023-05-16 13:31:35 -07:00
Christian Mazakas
6295c7f0d4 Add free function erase_if() 2023-05-15 13:40:33 -07:00
Christian Mazakas
c3879e238d Add free function swap() 2023-05-15 07:54:19 -07:00
joaquintides
9260bff8f8 editorial 2023-05-15 10:20:45 +02:00
joaquintides
81480feeb4 fixed regression at unprotected_emplace 2023-05-12 12:45:31 +02:00
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
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