std::common_type<tuple-like>
來自 cppreference.com
定義於標頭檔案 <tuple> |
||
template< tuple-like TTuple, tuple-like UTuple > requires /* 見下文 */ |
(C++23 起) | |
兩種 tuple-like
型別的共同型別是一個 std::tuple,它由兩種型別的對應元素型別對的共同型別組成。
給定
-
TTypes
是由每個整數 i 在[
0,
std::tuple_size_v<TTuple>)
範圍內透過 std::tuple_element_t<i, TTuple> 序列形成的包,並且 -
UTypes
是由每個整數 i 在[
0,
std::tuple_size_v<UTuple>)
範圍內透過 std::tuple_element_t<i, 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>...> 表示一個型別。
[edit] 成員型別
成員型別 | 定義 |
型別
|
std::tuple<std::common_type_t<TTypes, UTypes>...> |
[edit] 示例
本節不完整 原因:無示例 |
[edit] 參閱
(C++11) |
確定一組型別的公共型別 (類模板) |
(C++23) |
確定兩個 pair 的公共型別(類模板特化) |