Created on 2019-11-04.00:00:00 last changed 45 months ago
Proposed resolution:
This wording is relative to N4835.
Modify [mem.poly.allocator.mem] as indicated:
[[nodiscard]] Tp* allocate(size_t n);[…]-1- Effects: If
SIZE_MAXnumeric_limits<size_t>::max() / sizeof(Tp) < n, throws length_error. […]template<class T> T* allocate_object(size_t n = 1);-8- Effects: Allocates memory suitable for holding an array of n objects of type T, as follows:
(8.1) — if
SIZE_MAXnumeric_limits<size_t>::max() / sizeof(T) < n, throws length_error,(8.2) — otherwise equivalent to:
return static_cast<T*>(allocate_bytes(n*sizeof(T), alignof(T)));
[ 2019-11 Status to Ready during Tuesday morning issue processing in Belfast. ]
Addresses JP 218/219
It's better to use a C++ property than C standard library macro, SIZE_MAX.
History | |||
---|---|---|---|
Date | User | Action | Args |
2021-02-25 10:48:01 | admin | set | status: wp -> c++20 |
2020-02-24 16:02:59 | admin | set | status: voting -> wp |
2020-01-17 04:54:50 | admin | set | status: ready -> voting |
2019-11-07 08:20:25 | admin | set | messages: + msg10783 |
2019-11-07 08:20:25 | admin | set | status: new -> ready |
2019-11-04 18:41:45 | admin | set | messages: + msg10733 |
2019-11-04 00:00:00 | admin | create |