std::uses_allocator<std::function>
Определено в заголовке <functional> | ||
|---|---|---|
template< class R, class... ArgTypes, class Alloc >
struct uses_allocator<std::function<R(ArgTypes...)>, Alloc> : std::true_type { };
| (с C++11) (до C++17) |
Эта специализация std::uses_allocator информирует другие компоненты библиотеки о том, что все объекты типа std::function поддерживают конструкцию с использованием аллокатора, даже если у них нет вложенного allocator_type.
Примечания
Поддержка аллокаторов в std::function была плохо определена и несовместимо реализована. Некоторые реализации не поддерживают конструкцию с использованием аллокатора вообще, некоторые предоставляют необходимые перегрузки конструктора, но игнорируют переданный аргумент аллокатора, а некоторые предоставляют перегрузки и используют переданный аллокатор для создания, но не когда std::function переназначается. В результате, поддержка аллокаторов была удалена в C++17.
Наследуется от std::integral_constant
Члены-константы
| value
[static] | true (общедоступная статическая константа) |
Члены-функции
| operator bool | преобразует объект в bool, возвращает value (общедоступная функция-член) |
| operator()
(C++14) | возвращает value (общедоступная функция-член) |
Типы-члены
| Тип | Определение |
|---|---|
value_type | bool |
type | std::integral_constant<bool, value> |
См. также
|
(C++11) | проверяет, поддерживает ли указанный тип конструкцию с использованием аллокатора (шаблон класса) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/functional/function/uses_allocator