30 Commits

Author SHA1 Message Date
Braden Ganetsky
e214ecdbd0
Use std::ref instead of copying the function parameter… (#290)
* GHA: revise numerous CI jobs. Fix sanitizer on new kernel

* Use std::ref instead of copying the function parameter in std::initializer_list overloads of insert_{or|and}_[c]visit

* Reimplement detail::is_invocable

* Update docs for std::ref(f) changes

---------

Co-authored-by: sdarwin <samuel.d.darwin@gmail.com>
2024-10-08 17:35:58 +02:00
Braden Ganetsky
1e043993ac Update cfoa 'insert()' tests to check the return value of the iterator-pair and initializer-list overloads 2024-09-25 22:59:13 -05:00
joaquintides
834580b539
added insert_and_visit and similar operations to concurrent containers (#283) 2024-09-21 10:58:30 +02:00
joaquintides
f734e399e3
Feature/concurrent node containers (#271)
* added concurrent node containers

* removed spurious typename

* added missing includes

* avoided unused param warning

* worked around Clang bug

* s/{}/() to work around GCC4.8 problems with aggregate initialization

* used /bigobj for cfoa/visit_tests.cpp

* suppressed localized maybe-uninitialized warnings

* fixed comments

* added /bigobj to cfoa/insert_tests.cpp

* instrumented double exact comparison to spot a spurious error

* fixed pedantic error

* refactored byte_span machinery

* compromised on sub-epsilon equality for doubles that should be identical

* documented boost::concurrent_node_(map|set)

* added concurrent_node_set

* added missing AlternativeType

* tested empty node insertion

* tested node_handle allocator management

* added nonassignable_allocator and node_handle_allocator_swap_tests

* fixed warning disabling

* silenced spurious GCC warning

* broadened scope of previous pragma

* broadened even more

* worked around spurious constexpr-related msvc-14.0 bug
https://godbolt.org/z/v78545Ebf

* added workaround back

* replaced previous workaround with built-in one

* added workaround back on top of built-in solution (which doesn't work 100% of the time)
2024-08-25 18:34:58 +02:00
joaquintides
75a94781d5
Fix/b2 5.0.0 (#228)
updated CI after b2 5.0.0 new requirements on the compiler used for self-build
2023-12-30 22:11:11 +01:00
joaquintides
76185abe80
extended workaround to GCC 4.9 2023-12-30 19:41:13 +01:00
joaquintides
651f209e20 shut down VS warning 2023-09-16 10:15:36 +02:00
joaquintides
8d2a5c25ea tested boost::concurrent_flat_set 2023-09-16 10:15:05 +02:00
joaquintides
0440cd3183 widened previous workaround 2023-06-17 09:37:17 +02:00
Christian Mazakas
3a3148cc16 Add workaround for gcc-5.4 deficiencies in copy elision and new() construction 2023-06-16 14:16:26 -07:00
Christian Mazakas
c51c06492a Update iterator range insert to use emplace() vs insert() to avoid copies in certain cases 2023-06-15 22:15:57 -07:00
Christian Mazakas
44c50cd2ea Resolve potential ambiguities during insertion by introducing a member function template 2023-06-01 14:19:14 -07:00
Christian Mazakas
51520de04b Add allocator using fancy pointers to insert_tests 2023-05-31 07:30:37 -07:00
Christian Mazakas
a004e71dd0 Implement emplace, emplace_or_[c]visit 2023-04-05 13:21:18 -07:00
Christian Mazakas
52bf2bf7a2 Add insert_or_cvisit() overloads 2023-04-03 08:14:21 -07:00
Christian Mazakas
af4cdf8fab Shorten "transparent" to "transp" 2023-03-30 12:41:18 -07:00
Christian Mazakas
f468fb77e0 Hopefully fix sign-conversion warnings 2023-03-29 15:55:22 -07:00
Christian Mazakas
0c90585511 Refactor myriad test helpers into separate file 2023-03-29 15:00:32 -07:00
Christian Mazakas
13b4fd7133 Fix sign-compare warnings 2023-03-29 12:16:09 -07:00
Christian Mazakas
7b1af37b9c Update RAII counters to use unsigned integers instead of signed 2023-03-28 14:37:52 -07:00
Christian Mazakas
e4072747bb Implement insert_or_visit() 2023-03-28 14:28:42 -07:00
Christian Mazakas
ce674c8007 Add transparent insert_or_assign 2023-03-27 15:06:28 -07:00
Christian Mazakas
8b5539756b Partially implement insert_or_assign() 2023-03-24 14:35:01 -07:00
Christian Mazakas
99d5b9b1bb Avoid unsupported typedef on earlier compilers 2023-03-24 08:57:51 -07:00
Christian Mazakas
ad86f9211b Flesh out tests for insertion 2023-03-23 10:59:50 -07:00
Christian Mazakas
e9d9f19e76 Flesh out insert_tests 2023-03-22 10:47:01 -07:00
Christian Mazakas
4c927cd2f2 Implement myriad insert() overloads, get first threaded test working 2023-03-20 16:00:54 -07:00
joaquintides
41abb96d83 avoided sign conversion warning 2023-03-20 12:43:57 -07:00
Christian Mazakas
9e4f89aa43 Continue fleshing out insert_tests 2023-03-20 12:43:57 -07:00
Christian Mazakas
12935eb695 Add minimal prototype of concurrent_flat_map 2023-03-20 12:43:57 -07:00