polymorphic_allocator
and incomplete typesSection: 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 theAllocator
requirements [...]-?- All specializations of class template
pmr::polymorphic_allocator
satisfy the allocator completeness requirements (16.4.4.6.2 [allocator.requirements.completeness]).