- ranges[meta header]
- std::ranges[meta namespace]
- class template[meta id-type]
- cpp20[meta cpp]
iota_view
のイテレータの差の型。
このクラスの名前は規定されていない。
このクラスの型を取得したい場合、range_difference_t
を使用できる。
iota_diff_t(W)
は次のように定義される。
W
が整数型ではないか、sizeof(
iter_difference_t
<W>) > sizeof(W)
ならば、iter_difference_t
<W>
- それ以外の場合、そのような型が存在すれば、符号付き整数型であってその幅が
W
の幅より大きい型 - それ以外の場合、未規定の符号付き整数のような型で、幅が
W
の幅以上の型
template <class _Ty>
using _Iota_diff_t = conditional_t<is_integral_v<_Ty>,
conditional_t<sizeof(_Ty) < sizeof(int), int,
conditional_t<sizeof(_Ty) < sizeof(long long), long long, _Signed128>>,
iter_difference_t<_Ty>>;
- conditional_t[link /reference/type_traits/conditional.md]
- is_integral_v[link /reference/type_traits/is_integral.md]
- iter_difference_t[link /reference/iterator/iter_difference_t.md]
- C++20
- Clang: 13.0.0 [mark verified]
- GCC: 10.1.0 [mark verified]
- ICC: ?
- Visual C++: 2019 Update 10 [mark verified]