std::allocation_result
Материал из cppreference.com
Определено в заголовочном файле <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 (C++23) |
обычно используется для адреса первого элемента в хранилище, выделенном allocate_at_least (публичный объект-член) |
count (C++23) |
обычно используется для фактического количества элементов в хранилище, выделенном 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) |
выделяет неинициализированное хранилище как минимум такого же размера, как запрошенный размер (public функция-элемент std::allocator )
|
[static] (C++23) |
выделяет память не менее запрошенного размера с помощью аллокатора (public static функция-элемент std::allocator_traits )
|