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 информирует другие компоненты библиотеки, что кортежи поддерживают uses-allocator construction , даже несмотря на отсутствие вложенного allocator_type .

Содержание

Наследуется от std:: integral_constant

Константы-члены

value
[static]
true
(публичная статическая константа-член)

Функции-члены

operator bool
преобразует объект в bool , возвращает value
(публичная функция-член)
operator()
(C++14)
возвращает value
(публичная функция-член)

Типы-члены

Тип Определение
value_type bool
type std:: integral_constant < bool , value >

Пример

// myalloc - это stateful аллокатор с однoаргументным конструктором
// принимающим 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);                  // использует аллокатор #1 для элементов v
    std::get<1>(v[0]).resize(10); // использует аллокатор #2 для innervector_t

Смотрите также

проверяет, поддерживает ли указанный тип uses-allocator конструирование
(шаблон класса)