最終更新日時(UTC):
が更新

履歴 編集

class template
<ranges>

std::ranges::iota_diff_t(C++20)

概要

iota_viewのイテレータの差の型。

このクラスの名前は規定されていない。

このクラスの型を取得したい場合、range_difference_tを使用できる。

定義

iota_diff_t(W) は次のように定義される。

  1. Wが整数型ではないか、sizeof(iter_difference_t<W>) > sizeof(W)ならば、iter_difference_t<W>
  2. それ以外の場合、そのような型が存在すれば、符号付き整数型であってその幅がWの幅より大きい型
  3. それ以外の場合、未規定の符号付き整数のような型で、幅がWの幅以上の型

実装例(MSVC)

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>>;

バージョン

言語

  • C++20

処理系

参照