1027. std::allocator needs to be a concept-constrained template

Section: 23.10.10 [default.allocator] Status: NAD Concepts Submitter: Alisdair Meredith Opened: 2009-03-11 Last modified: 2016-02-10

Priority: Not Prioritized

View all other issues in [default.allocator].

View all issues with NAD Concepts status.

Discussion:

Addresses UK 213 [CD1]

std::allocator should be constrained to simplify its use on constrained contexts. This library component models allocation from free store via the new operator so choose constraints to match. The Allocator concept allows for a wider variety of allocators that users may choose to supply if their allocation model does not require operator new, without impacting the requirements of this template.

Suggested direction:

The primary allocator template should be constrained to require ObjectType<T> and FreeStoreAllocatable<T>. Further operations to be constrained as required.

[ Summit: ]

Agree as stated. A future paper will address additional related issues.

Proposed resolution: