Namespaces
Variants

std:: uses_allocator <std::tuple>

From cppreference.net
Utilities library
定义于头文件 <tuple>
template < class ... Types , class Alloc >
struct uses_allocator < std:: tuple < Types... > , Alloc > : std:: true_type { } ;
(C++11 起)

std::uses_allocator 的特化告知其他库组件:元组支持 使用分配器构造 ,即使它们不具有嵌套的 allocator_type

目录

继承自 std:: integral_constant

成员常量

value
[静态]
true
(公开静态成员常量)

成员函数

operator bool
将对象转换为 bool ,返回 value
(公开成员函数)
operator()
(C++14)
返回 value
(公开成员函数)

成员类型

类型 定义
value_type bool
type std:: integral_constant < bool , value >

示例

// myalloc 是一个有状态的分配器,具有单参数构造函数
// 该构造函数接收一个 int 参数。它没有默认构造函数。
    using innervector_t = std::vector<int, myalloc<int>>;
    using elem_t = std::tuple<int, innervector_t>;
    using Alloc = std::scoped_allocator_adaptor< myalloc<elem_t>, myalloc<int>>;
    Alloc a(1,2);
    std::vector<elem_t, Alloc> v(a);
    v.resize(1);                  // 对 v 的元素使用分配器 #1
    std::get<1>(v[0]).resize(10); // 对 innervector_t 使用分配器 #2

参见

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