std::common_type<tuple-like>
Материал из cppreference.com
<tbody>
</tbody>
| Определено в заголовочном файле <tuple>
|
||
template< tuple-like TTuple, tuple-like UTuple > requires /* смотрите ниже */ struct common_type<TTuple, UTuple>; |
(начиная с C++23) | |
Общим типом двух tuple-like типов является std::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.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_type_t<TTypes, UTypes>...>обозначает тип.
Типы элементы
| Тип элемент | Определение |
type
|
std::tuple<std::common_type_t<TTypes, UTypes>...>
|
Пример
| Этот раздел не завершён Причина: нет примера |
Смотрите также
(C++11) |
определяет общий тип группы типов (шаблон класса) |
(C++23) |
получает общий тип двух pair (специализация шаблона класса) |