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