This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of C++20 status.
Section: 20.4.3 [mem.poly.allocator.class] Status: C++20 Submitter: Casey Carter Opened: 2017-11-15 Last modified: 2021-02-25
Priority: 2
View all other issues in [mem.poly.allocator.class].
View all issues with C++20 status.
Discussion:
polymorphic_allocator can trivially support the allocator completeness requirements (16.4.4.6.2 [allocator.requirements.completeness]) just as does the default allocator. Doing so imposes no implementation burden, and enables pmr::forward_list, pmr::list, and pmr::vector to support incomplete types as do the non-pmr equivalents.
[2018-01; Priority set to 2 after mailing list discussion]
[2018-08-23 Batavia Issues processing]
Status to Tentatively Ready
[2018-11, Adopted in San Diego]
Proposed resolution:
Wording relative to N4700.
Add a new paragraph in 20.4.3 [mem.poly.allocator.class] after para 1:
1 A specialization of class template pmr::polymorphic_allocator conforms to the Allocator requirements [...]
-?- All specializations of class template pmr::polymorphic_allocator satisfy the allocator completeness requirements (16.4.4.6.2 [allocator.requirements.completeness]).