Пространства имён
Варианты
Действия

std::basic_common_reference<tuple-подобный>

Материал из cppreference.com
 
 
Библиотека утилит
Языковая поддержка
Поддержка типов (базовые типы, RTTI)
Макросы тестирования функциональности библиотеки (C++20)    
Управление динамической памятью
Программные утилиты
Поддержка сопрограмм (C++20)
Вариативные функции
Трёхстороннее сравнение (C++20)
(C++20)
(C++20)(C++20)(C++20)(C++20)(C++20)(C++20)
Общие утилиты
Дата и время
Функциональные объекты
Библиотека форматирования (C++20)
(C++11)
Операторы отношения (устарело в C++20)
Целочисленные функции сравнения
(C++20)(C++20)(C++20)    
(C++20)
Операции обмена и типа
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Общие лексические типы
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
Элементарные преобразования строк
(C++17)
(C++17)
 
 
<tbody> </tbody>
Определено в заголовочном файле <tuple>
template< tuple-like TTuple, tuple-like UTuple, template<class> class TQual, template<class> class UQual > requires /* смотрите ниже */ struct basic_common_reference<TTuple, UTuple, TQual, UQual>;
(начиная с C++23)

Общим ссылочным типом двух tuple-like типов является std::tuple, состоящий из общих ссылочных типов всех соответствующих пар типов элементов обоих типов, где cv и ссылочные квалификаторы tuple-подобных типов применяются к типам их элементов.

Дано

  • TTypes как пакет, образованный последовательностью std::tuple_element_t<i, TTuple> для каждого целого числа i в [0std::tuple_size_v<TTuple>), и
  • UTypes как пакет, образованный последовательностью std::tuple_element_t<i, UTuple> для каждого целого числа i в [0std::tuple_size_v<UTuple>),

дол��ны быть выполнены следующие ограничения:

  • TTuple или UTuple это специализация std::tuple specialization.
  • std::is_same_v<TTuple, std::decay_t<TTuple>> равно true.
  • std::is_same_v<UTuple, std::decay_t<UTuple>> равно true.
  • std::tuple_size_v<TTuple> равно std::tuple_size_v<UTuple> (TTuple и UTuple имеют одинаковое количество элементов).
  • std::tuple<std::common_reference_t<TQual<TTypes>..., UQual<UTypes>>...> обозначает тип.

Типы элементы

Тип элемент Определение
type std::tuple<std::common_reference_t<TQual<TTypes>..., UQual<UTypes>>...>

Пример

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

определяет общий ссылочный тип группы типов
(шаблон класса) [править]
определяет общий ссылочный тип двух pair
(специализация шаблона класса) [править]