llvm-project/libcxx/test/std/containers
Arthur O'Dwyer 3894a8a476 [libc++] Implement the resolutions of LWG3506 and LWG3522.
Implement the changes in all language modes.

LWG3506 "Missing allocator-extended constructors for priority_queue"
makes the following changes:
- New allocator-extended constructors for priority_queue.
- New deduction guides targeting those constructors.

LWG3522: "Missing requirement on InputIterator template parameter
for priority_queue constructors". The iterator parameter should be
constrained to actually be an iterator type. `priority_queue{1,2}`
should be SFINAE-friendly ill-formed.

Also, do a drive-by fix in the allocator-extended move constructor:
there's no need to do a `make_heap` after moving from `__q.c` into
our own `c`, because that container was already heapified when it
was part of `__q`. [priqueue.cons.alloc] actually specifies the
behavior and does *not* mention calling `make_heap`. I think this
was just a copy-paste thinko. It dates back to the initial import
of libc++.

Differential Revision: https://reviews.llvm.org/D106824
Differential Revision: https://reviews.llvm.org/D106827
2021-07-28 21:15:20 -04:00
..
associative [libc++] Disable incomplete library features. 2021-07-27 22:37:35 +02:00
container.adaptors [libc++] Implement the resolutions of LWG3506 and LWG3522. 2021-07-28 21:15:20 -04:00
container.node [libc++] Remove the c++98 Lit feature from the test suite 2020-06-03 09:37:22 -04:00
container.requirements [libc++] Remove the c++98 Lit feature from the test suite 2020-06-03 09:37:22 -04:00
containers.general Support tests in freestanding 2019-02-04 20:31:13 +00:00
sequences [libc++] Disable incomplete library features. 2021-07-27 22:37:35 +02:00
unord [libc++] Disable incomplete library features. 2021-07-27 22:37:35 +02:00
views [libc++] Disable incomplete library features. 2021-07-27 22:37:35 +02:00
Copyable.h [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
Emplaceable.h [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
NotConstructible.h [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
check_consecutive.h [libcxx][test] Fix order checking in some more unordered_multimap tests 2019-05-22 18:10:32 +00:00
iterator.rel_ops.compile.pass.cpp [libc++] Mark failing rel_ops test as XFAIL in back-deployment 2021-07-15 08:04:33 -04:00
map_allocator_requirement_test_templates.h [libc++] Remove signal-based checkpoints in libc++ tests 2020-10-14 10:38:32 -04:00
set_allocator_requirement_test_templates.h [libc++] Remove signal-based checkpoints in libc++ tests 2020-10-14 10:38:32 -04:00
test_compare.h [libc++] [test] Update "test_compare.h" users to avoid removed-in-C++20 members. NFCI. 2021-05-29 16:54:24 -04:00
test_hash.h [libc++] [test] No longer rely on std::hash<T>::argument_type. 2021-06-14 10:14:42 -04:00