Commit Graph

329 Commits

Author SHA1 Message Date
LeonineKing1199
8f1fc75fdf Implement heterogeneous find() 2021-11-29 14:37:04 -08:00
LeonineKing1199
6f5727cbdb Clean up tests by pulling transparent tests into a named function 2021-11-23 14:14:26 -08:00
LeonineKing1199
3f1e4a703a Clean up tests to be a bit more readable 2021-11-23 12:15:53 -08:00
LeonineKing1199
bc9eca70d0 Remove unnecessary assignment operator for test key 2021-11-23 12:04:00 -08:00
LeonineKing1199
93216374ef Flesh out test suite to cover all permutations of transparent/non-transparent Hash & KeyEqual pairs 2021-11-22 13:30:10 -08:00
LeonineKing1199
937c3484cf Flesh out test case 2021-11-22 12:27:29 -08:00
LeonineKing1199
f41b3e8295 Get initial prototype of transparent count() working 2021-11-19 15:29:57 -08:00
LeonineKing1199
2e1ef850e3 Add const qualification to auto-generated allocator methods in test suite 2021-11-18 10:25:44 -08:00
LeonineKing1199
dbba786a35 Add missing const-qualification for operator== member functions 2021-11-18 10:24:57 -08:00
LeonineKing1199
1e553df5b6 Add explicit tests around use of scoped_allocator_adaptor to emulat… (#31)
* Add explicit tests around use of `scoped_allocator_adaptor` to emulate issue https://github.com/boostorg/unordered/issues/22

* Refine test to only run in C++11 mode and later with possibility of re-introducing C++03 support later

* Update test to use `<boost/cstdint.hpp>`

* Refactor test to use `UNORDERED_AUTO_TEST`

* Cleanup how the scoped allocator test is conditionally compiled

* Update test to generate a UUID for the name of the shared memory segment so tests can run safely in parallel

* Update test jamfile to relocate the Filesystem link dependency directly to the test that requires it
2021-11-15 21:22:40 +02:00
Peter Dimov
0f37f774f1 Merge branch 'develop' of https://github.com/yutakasi634/unordered into feature/pr-14 2021-09-01 04:15:55 +03:00
Edward Diener
887f1dc07c Change __BORLANDC__ to BOOST_BORLANDC and __CODEGEARC__ to BOOST_CODEGEARC, which are3defined in Boost config for the Embarcadero non-clang-based compilers. 2020-03-31 22:47:48 -04:00
yutaka
0d033679d4 Fix typo 2020-02-03 20:48:35 +09: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
09be9bae04 Use boost::is_nothrow_swappable, now that it's available everywhere 2018-01-27 09:38:19 +00:00
Daniel James
0d34053870 Use boost::to_address in node_handle_tests 2018-01-26 17:47:47 +00:00
Daniel James
66533ace80 Add element_type to nodes, so that pointer_traits will work
Might be better to change the template signature of iterators, but that would
be a disruptive change to make at the moment.
2018-01-26 17:43:06 +00:00
Daniel James
57492c1a94 Make allocator comparison const in allocator_traits test 2018-01-13 20:31:45 +00:00
Daniel James
df8fbca007 Double brackets for BOOST_STATIC_ASSERT 2018-01-13 20:31:45 +00:00
Daniel James
72fb9c7c96 Suppress warnings in noexcept_tests 2018-01-13 20:31:45 +00:00
Daniel James
ce0f16f328 Missing copyright messages 2018-01-10 15:15:09 +00:00
Daniel James
f12009fc61 operator= noexcept support 2018-01-05 17:54:44 +00:00
Daniel James
5854090dc7 Swap noexcept support
Not properly supported as we don't have is_nothrow_swappable yet.
2018-01-05 17:48:13 +00:00
Daniel James
daeaf5e98b Flexible exception testing hash/equal_to 2018-01-05 17:10:13 +00:00
Daniel James
4bffd7a85d Avoid some warnings 2018-01-04 18:29:31 +00:00
Daniel James
be0acc575f Implement allocator_traits::is_always_equal 2018-01-03 20:55:40 +00:00
Daniel James
07758b7af8 Catch exceptions by reference 2017-12-22 17:02:13 +00:00
Daniel James
b50e0d610f Initial implementation of template deduction guides 2017-12-19 12:56:51 +00: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
f72b0353d4 Shuffle code around for readability
The new indentation made some of the code difficult to read, especially
where macros were concerned, so move things around and add more explicit
namespace declarations.
2017-06-11 20:55:59 +01:00
Daniel James
0676b4f4ca Change clang format indentation + .editorconfig file 2017-06-11 20:55:59 +01:00
Daniel James
ee9a5a2c77 Add a configuration macro for Sun C++ workarounds 2017-05-16 19:01:50 +01:00
Daniel James
242e91a9fd "Sub-test" reporting mechanism 2017-05-10 19:02:47 +01:00
Daniel James
76e7322262 Use streams from lightweight test 2017-05-10 19:02:47 +01:00
Daniel James
3c42138e45 Fix testing piecewise_construct and tuple
For when std::piecewise_construct is available, but std::tuple isn't. In
order to test better, just repeat the tests with the four possible
combinations.
2017-05-08 18:42:53 +01:00
Daniel James
d84a57441b Use the unordered container for the fake merge in merge test
The merge tests into containers with unique keys are failing on some
platforms. My guess is that because of differences between ordering of
nodes with equivalent keys that different nodes are being 'merged' in
the unordered containers and the tracker containers. So when creating
the fake merge, use the unordered container as a reference. This is a
little less pure, but should be a good enough test.
2017-05-01 22:16:13 +01:00
Daniel James
338a94e577 Better rvalue emulation support in extractors
Means that inserting rvalues into unordered_set/unordered_map won't
create a node if no insert is required.
2017-05-01 21:03:11 +01:00
Daniel James
2e14c340a8 Reformat 2017-05-01 21:03:11 +01:00
Daniel James
35522d3ee0 Fix merging between containers with different hash/equality
This reverts commit 20b0c0a6d8.
2017-04-30 14:29:05 +01:00
Daniel James
8c139940e7 More merge tests between compatible containers 2017-04-30 14:29:05 +01:00
Daniel James
cae6b121b2 Improve test coverage a little 2017-04-28 21:26:21 +01:00
Daniel James
bfcdd51b4a Fix try_emplace overload 2017-04-28 09:53:50 +01:00
Daniel James
ea64f2e46e Remove the grouped node stuff 2017-04-27 18:22:43 +01:00
Daniel James
b070bb5e49 Move everything from table_unique/table_equiv into table 2017-04-24 09:46:05 +01:00
Daniel James
3117611a55 New tuple implementation
Adjusts to use less arguments on Visual C++ 11, which will hopefully fix
it on that compiler. Also changed to be a little less preprocessor
heavy. I'm not sure about the __SUNPRO_CC support, hopefully recent
versions of that compiler will have better support, and can use the
normal implementation. Will check that later.
2017-04-22 18:31:10 +01:00
Daniel James
1e491533fa More consistent std::tuple configuration
Was getting a weird test failure for Visual C++ 11,
BOOST_NO_CXX11_HDR_TUPLE is defined, so the code doesn't support
std::tuple, but BOOST_UNORDERED_HAVE_PIECEWISE_CONSTRUCT was also
true, and so there are functions for constructing using
std::piecewise_construct/std::tuple, which don't work.

So, I'm assuming that if BOOST_UNORDERED_HAVE_PIECEWISE_CONSTRUCT is true,
then there must be a std::tuple. I guess it doesn't have full C++11 support,
which is why BOOST_NO_CXX11_HDR_TUPLE is defined, but it appears to be
good enough for us. If not, this will break things.
2017-04-21 20:32:56 +01:00