170 Commits

Author SHA1 Message Date
joaquintides
cd9a592f00
Fixed std::initializer_list assignment issues for open-addressing containers (#277)
* fixed #276

* used range insert, stylistic this->

* assigned non-empty std::initializer_lists
2024-09-02 18:56:13 +02:00
Braden Ganetsky
82ba55e4a4 Write test pmr_emplace_erase to check basic functionality with pmr allocators 2024-03-24 12:22:44 -05:00
Braden Ganetsky
626db552ab Write pmr memory resource 'counted_new_delete_resource' 2024-03-24 10:47:02 -05:00
Braden Ganetsky
1d25c1c053 Update copyright notices 2024-02-11 11:22:28 -06:00
Braden Ganetsky
f411968ffd Add tests for immovable key_type 2024-02-11 11:22:26 -06:00
Braden Ganetsky
be7c63e1bf Add foa and fca tests for emplace(k,v) 2024-02-10 11:10:28 -06:00
Braden Ganetsky
67c5cdb3a6
Optimize emplace() for exactly a value_type or init_type argument (#227)
* Add structs to count special member functions

* Add failing emplace tests, that will pass after making the optimization

* Optimize emplace() to not allocate when we already have a value_type or init_type

* Fix newly failing cfoa tests
2023-12-31 18:56:14 +01:00
joaquintides
7fd94b9df7
Fix/bucket iterator indirection operator (#220 rewrite) (#221)
* Add tests for member of pointer operator for bucket iterators

* Fix erroneous conversion from node* to value_type* in bucket iterators

Originally caughy by vslashg  from PR https://github.com/boostorg/unordered/pull/220

* Update change log

* Update GHA config to use containers in C++20 builds for clang-14 as it's incompatible with libstdc++-13

* fixed Python installation problem

* tried variation of former fix

* tried another variation of former fix

* tried yet another variation

* editorial

---------

Co-authored-by: Christian Mazakas <christian.mazakas@gmail.com>
2023-11-17 08:51:40 +01:00
Christian Mazakas
20559cbe5c Remove extraneous whitespace introduced by a clang-format bug 2023-09-29 07:44:52 -07:00
Christian Mazakas
b4884b7201 Relocate piecewise_construct to impl file, remove unnecessary fwd header 2023-09-27 12:21:15 -07:00
Christian Mazakas
777f2084a3 Remove dependency on TypeTraits 2023-09-27 11:44:45 -07:00
Christian Mazakas
1d991d065e Remove BOOST_UNORDERED_EMPLACE_LIMIT 2023-09-27 11:44:44 -07:00
Christian Mazakas
8782036a88 Remove BOOST_UNORDERED_HAVE_PIECEWISE_CONSTRUCT 2023-09-27 11:44:44 -07:00
Christian Mazakas
16386f586f Remove usage of BOOST_UNORDERED_CXX11_CONSTRUCTION 2023-09-27 11:44:44 -07:00
Christian Mazakas
dce386068b Remove extraneous semicolons 2023-06-21 07:46:53 -07:00
Christian Mazakas
6fed6ea5ad Remove extraneous fwd.hpp include from public facing headers 2023-06-15 22:15:57 -07:00
Christian Mazakas
2386188d69 Relocate macros needed by test suite into detail/fwd.hpp 2023-03-20 12:43:57 -07:00
Christian Mazakas
f7f5466ed2 Add necessary #include's and typedefs for test suite to use foa-based node containers 2023-02-14 10:55:35 -08:00
Christian Mazakas
5b0fe7f655 Update test::compare_range to use BOOST_TEST_ALL_WITH 2023-02-14 10:55:35 -08:00
Christian Mazakas
534170a942 Remove foa-related macro used for relaxing invariant checking in check_equivalent_keys 2022-12-13 13:53:29 -08:00
Christian Mazakas
a7156026b3
Fix typo, potential UB in overflow check and refactor to use BOOST_ASSERT_MSG() (#157) 2022-11-02 20:22:17 +02:00
Christian Mazakas
189e551dc7
Add test proving max_load() invariants (#156) 2022-11-01 17:05:18 +01:00
Christian Mazakas
1f781a407e Test cleanup 2022-10-24 15:05:49 -07:00
Christian Mazakas
fb1b1dfe2d Add missing copyright updates 2022-10-24 11:31:25 -07:00
Christian Mazakas
703f8d1065 Delete boost-level headers as they're no longer considered idiomatic and update all tests to use the test/helpers/unorderd.hpp header where applicable 2022-10-20 15:25:40 -07:00
Christian Mazakas
0ac4aeca50 Add swap_exception_tests for FOA, only testing weak exception guarantee 2022-10-19 11:05:09 -07:00
Christian Mazakas
776935f24d Reintroduce strong guarantee checking 2022-10-19 11:04:38 -07:00
Christian Mazakas
46065065be Temporarily disable strong checks for FOA 2022-10-18 15:54:02 -07:00
Christian Mazakas
e16537d244 Add helper header to include map types based on FOA vs FCA 2022-10-14 13:37:26 -07:00
Christian Mazakas
505b060637 Update insert_tests to handle new open-addressing table implementation 2022-09-26 15:17:54 -07:00
Christian Mazakas
f1481f0deb Remove dependency on Boost.Detail 2022-06-21 08:42:52 -07:00
Christian Mazakas
39d60cd91d Update test metafunction to use boost::declval instead of using null pointers 2022-02-09 11:51:23 -08:00
LeonineKing1199
05b795bc14 Remove unnecessary macro for determining which allocator_traits implementation is being used 2021-12-08 10:06:01 -08:00
Peter Dimov
c0a9f638ce
Merge pull request #37 from LeonineKing1199/memory-tracker-fixes
Replace `BOOST_TEST` call with `BOOST_ASSERT` to resolve testing woes
2021-11-19 04:26:33 +02:00
LeonineKing1199
d0d4be9e35 Add missing operator== overloads for direct list_iterator comparisons 2021-11-18 10:19:46 -08:00
LeonineKing1199
24a38922bd Replace BOOST_TEST call with BOOST_ASSERT to resolve https://github.com/boostorg/unordered/issues/36 2021-11-18 09:36:04 -08:00
Peter Dimov
70fca4483e std::equal_to has no first_argument_type in C++20 2021-08-31 21:16:09 +03:00
Peter Dimov
b2b017accb Disable -Wfloat-equal for clang-cl as well 2021-08-31 21:10:52 +03:00
Daniel James
cfd4bacc2c Stop using BOOST_DEDUCED_TYPENAME
We no longer support any of the compilers that require it. I'd be very
surprised if anything was working on them.
2018-01-27 09:39:59 +00:00
Daniel James
4bffd7a85d Avoid some warnings 2018-01-04 18:29:31 +00:00
Daniel James
9d558b010d Reformat 2017-12-28 11:44:57 +00:00
Daniela Engert
64441d2b64
Inheriting std::iterator is deprecated in c++17.
Therefore get rid of all of that and replace inheritance by lifting std::iterator's members into the derived class.

Signed-off-by: Daniela Engert <dani@ngrt.de>
2017-12-28 12:01:41 +01:00
Daniel James
311e126ac4 Remove dependency on iterator 2017-12-03 18:58:52 +00:00
Daniel James
c037169e1a Update paths for headers moved from detail 2017-12-03 14:24:47 +00:00
Daniel James
9bb861accc Use std::advance in test::next, and use it instead of boost::next
Mainly to avoid warnings from boost::next
2017-12-01 08:35:38 +00:00
Daniel James
613f154d47 Improved test formatting 2017-10-09 12:34:47 +01:00
Daniel James
6b5b968b97 Format with clang-format 4.0 2017-10-05 10:54:22 +01:00
Daniel James
0676b4f4ca Change clang format indentation + .editorconfig file 2017-06-11 20:55:59 +01:00
Daniel James
a897843f6c Try to work around an MSVC bug
Although, perhaps I shouldn't be generating over 1000 runs for a test.
2017-05-11 00:36:31 +01:00
Daniel James
80de85f217 Move test state + functions into single class 2017-05-10 19:02:47 +01:00