• Class / Function / Type

      std::
    • Header file

      <>
    • Other / All

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

    履歴 編集

    class template
    <ranges>

    std::ranges::iota_diff_t

    概要

    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

    処理系

    参照