std::common_type<tuple-like>
Материал из cppreference.com
Определено в заголовочном файле <tuple> | ||
template< tuple-like TTuple, tuple-like UTuple > requires /* смотрите ниже */ | (начиная с 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 (специализация шаблона класса) |