std::basic_common_reference<tuple-подобный>
Материал из cppreference.com
<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в[0,std::tuple_size_v<TTuple>), иUTypesкак пакет, образованный последовательностьюstd::tuple_element_t<i, UTuple>для каждого целого числаiв[0,std::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 (специализация шаблона класса) |