std::iter_value_t, std::iter_reference_t, std::iter_difference_t, std::iter_rvalue_reference_t, std::iter_common_reference_t
提供: cppreference.com
<tbody> </tbody>
| ヘッダ |
||
|
|
||
|
|
(1) | (C++20以上) |
|
|
(2) | (C++20以上) |
|
|
(3) | (C++20以上) |
|
|
(4) | (C++20以上) |
|
|
(5) | (C++20以上) |
イテレータの関連型を計算します。 説明専用のコンセプト dereferenceable は、式 *std::declval<T&>() が有効かつ参照可能な型 (特に、 void でない) である場合に限り、満たされます。
1) T の値型を計算します。 std::iterator_traits<T> が特殊化されていなければ、 std::iter_value_t<T> は std::readable_traits<T>::value_type です。 そうでなければ、 std::iterator_traits<T>::value_type です。
2) T の参照型を計算します。
3) T の差型を計算します。 std::iterator_traits<T> が特殊化されていなければ、 std::iter_difference_t<T> は std::incrementable_traits<T>::difference_type です。 そうでなければ、 std::iterator_traits<T>::difference_type です。
4) T の右辺値参照型を計算します。 このエイリアステンプレートに対する制約の「see below」部分は、式 ranges::iter_move(std::declval<T&>()) が有効かつ参照可能な型 (特に、 void でない) である場合に限り、満たされます。
5) T の共通参照型を計算します。 これはその参照型とその値型への左辺値参照型の間の共通の参照型です。