Spec-Zone.ru › C++

std::allocator_arg, std::allocator_arg_t

Определён в заголовочном файле <memory>
struct allocator_arg_t { explicit allocator_arg_t() = default; };
(1) (начиная с C++11)
constexpr std::allocator_arg_t allocator_arg {};
(2) (начиная с C++11)
(inline начиная с C++17)
1) std::allocator_arg_t — это тип пустого класса, используемый для устранения неоднозначности перегрузок конструкторов и функций-членов объектов, учитывающих аллокатор, включая std::tuple, std::function, std::packaged_task,(до C++17) и std::promise.
2) std::allocator_arg — это экземпляр (1), который можно передавать конструкторам и функциям-членам таких разрешённых типов.

Отчёты об ошибках

Следующие отчёты об ошибках, изменяющие поведение, были применены задним числом к ранее опубликованным стандартам C++.

DR Применяется к Поведение согласно опубликованной версии Корректное поведение
LWG 2510 C++11 конструктор по умолчанию не был явным, что могло привести к неоднозначности сделан явным

См. также

uses_allocator
(C++11)
проверяет, поддерживает ли указанный тип конструирование с использованием аллокатора
(шаблон класса)

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

Spec-Zone.ru

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