std::uses_allocator<std::function>
Материал из cppreference.com
< cpp | utility | functional | 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 (public static константа-элемент) |
Функции-элементы
operator bool | преобразует объект в bool, возвращает value (public функция-элемент) |
operator() (C++14) | возвращает value (public функция-элемент) |
Типы элементы
Тип | Определение |
value_type | bool |
type | std::integral_constant<bool, value> |
[править]Смотрите также
(C++11) | проверяет, поддерживает ли указанный тип конструирование с uses_allocator (шаблон класса) |