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