Namespaces
Variants

std::uses_allocator<std::function>

从 zh.cppreference.net
 
 
 
函数对象
函数调用
(C++17)(C++23)
恒等函数对象
(C++20)
透明运算符包装器
(C++14)
(C++14)
(C++14)
(C++14)  
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)

旧的绑定器与适配器
(至 C++17*)
(至 C++17*)
(至 C++17*)
(至 C++17*)
(至 C++17*)(至 C++17*)(至 C++17*)(至 C++17*)
(至 C++20*)
(至 C++20*)
(至 C++17*)(至 C++17*)
(至 C++17*)(至 C++17*)

(至 C++17*)
(至 C++17*)(至 C++17*)(至 C++17*)(至 C++17*)
(至 C++20*)
(至 C++20*)
 
 
定义于头文件 <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 >

参见

检查指定类型是否支持使用分配器构造
(类模板)