std:: allocation_result
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Определено в заголовочном файле
<memory>
|
||
|
template
<
class
Pointer,
class
SizeType
=
std::
size_t
>
struct allocation_result ; |
(начиная с C++23) | |
allocation_result
специализации возвращаются из функции-члена
allocate_at_least
соответствующих типов
Allocator
(например,
std::allocator::allocate_at_least
) и
std::allocator_traits::allocate_at_least
.
Каждая специализация
allocation_result
не имеет базовых классов или объявленных членов, кроме
ptr
и
count
, поэтому она подходит для
агрегатной инициализации
и
структурированных привязок
.
Содержание |
Параметры шаблона
| Pointer | - |
обычно
std::
allocator_traits
<
Alloc
>
::
pointer
, где
Alloc
является типом
Allocator
|
| SizeType | - |
обычно
std::
allocator_traits
<
Alloc
>
::
size_type
, где
Alloc
является типом
Allocator
|
Члены данных
| Название члена | Определение |
|
ptr
|
указатель типа
Pointer
, который обычно используется для адреса первого элемента в хранилище, выделенном функцией
allocate_at_least
(публичный объект-член) |
|
count
|
значение типа
SizeType
, которое обычно используется для фактического количества элементов в хранилище, выделенном функцией
allocate_at_least
(публичный объект-член) |
Примечания
Pointer
и
SizeType
являются указателем на тип объекта и
std::
make_unsigned_t
<
std::
ptrdiff_t
>
(что почти всегда совпадает с
std::size_t
) по умолчанию.
| Макрос тестирования возможностей | Значение | Стандарт | Возможность |
|---|---|---|---|
__cpp_lib_allocate_at_least
|
202302L
|
(C++23) | Обратная связь по размеру в интерфейсе аллокатора |
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |
Смотрите также
|
(C++23)
|
выделяет неинициализированную память размером не менее запрошенного
(публичная функция-член
std::allocator<T>
)
|
|
[static]
(C++23)
|
выделяет память размером не менее запрошенного через аллокатор
(публичная статическая функция-член
std::allocator_traits<Alloc>
)
|