Namespaces
Variants

подобный кортежу, подобный паре

С сайта ru.cppreference.net
 
 
Библиотека утилит
Поддержка языка
Поддержка типов (базовые типы, RTTI)
Макросы проверки возможностей библиотеки (C++20)
Программные утилиты
Функции с переменным числом аргументов
Поддержка корутин (C++20)
Поддержка контрактов (C++26)
Трёхстороннее сравнение
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Общие утилиты
Операторы отношения (устарело в C++20)
 
 
template< class T >
concept tuple-like = /* see below */;
(1) (начиная с C++23)
(только для пояснения*)
template< class T >
concept pair-like =
    tuple-like<T> && std::tuple_size_v<std::remove_cvref_t<T>> == 2;
(2) (начиная с C++23)
(только для пояснения*)
1) Тип T моделирует и удовлетворяет концепции tuple-like, если std::remove_cvref_t<T> является специализацией
  • std::array,
  • std::complex,
(начиная с C++26)
  • std::pair,
  • std::tuple, или
  • std::ranges::subrange.
2) pair-like объекты — это tuple-like объекты ровно с 2 элементами.

Примечания

tuple-like типы реализуют протокол кортежа , то есть такие типы могут использоваться с std::get , std::tuple_element и std::tuple_size .

Элементы tuple-like типов могут быть привязаны с помощью структурированной привязки .

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

tuple-like и pair-like используются в следующих компонентах стандартной библиотеки:

создает новый tuple
(публичная функция-член)
присваивает содержимое одного tuple другому
(публичная функция-член)
(удалено в C++20) (удалено в C++20) (удалено в C++20) (удалено в C++20) (удалено в C++20) (C++20)
лексикографически сравнивает значения в кортеже
(шаблон функции)
определяет общий ссылочный тип tuple и tuple-like типа
(специализация шаблона класса)
определяет общий тип tuple и tuple-like типа
(специализация шаблона класса)
(C++11)
создает tuple путем объединения любого количества кортежей
(шаблон функции)
(C++17)
вызывает функцию с кортежем аргументов
(шаблон функции)
создает объект с кортежем аргументов
(шаблон функции)
создает новый pair
(публичная функция-член std::pair<T1,T2> )
присваивает содержимое
(публичная функция-член std::pair<T1,T2> )
преобразует subrange в pair-like тип
(публичная функция-член std::ranges::subrange<I,S,K> )
принимает view состоящий из tuple-like значений и число N, и создает view N -го элемента каждого кортежа
(шаблон класса) (объект адаптера диапазона)