This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of Voting status.

3037. polymorphic_allocator and incomplete types

Section: 19.12.3 [mem.poly.allocator.class] Status: Voting Submitter: Casey Carter Opened: 2017-11-15 Last modified: 2018-10-09

Priority: 2

View other active issues in [mem.poly.allocator.class].

View all other issues in [mem.poly.allocator.class].

View all issues with Voting status.

Discussion:

polymorphic_allocator can trivially support the allocator completeness requirements (15.5.3.5.1 [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

Proposed resolution:

Wording relative to N4700.

  1. Add a new paragraph in 19.12.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 (15.5.3.5.1 [allocator.requirements.completeness]).