Spec-Zone.ru › C++

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) Обратная связь о размере в интерфейсе Allocator

Пример

См. также

allocate_at_least
(C++23)
выделяет неинициализированное хранилище размером не меньше запрошенного
(открытая функция-член std::allocator<T>)
allocate_at_least
[static] (C++23)
выделяет хранилище размером не меньше запрошенного с помощью аллокатора
(открытая статическая функция-член std::allocator_traits<Alloc>)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/memory/allocation_result

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API