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

履歴 編集

class template
<ranges>

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

namespace std::ranges {
  template<class D>
    requires is_class_v<D> && same_as<D, remove_cv_t<D>>
  class view_interface : public view_base { …… };
}

概要

view_interfaceは、viewを実装する際に便利なクラステンプレートである。使用するときは、派生クラスをview_interfaceのテンプレート引数にする(CRTP)。

テンプレートパラメータ制約

Dview_interface<D>の派生クラスであること。

メンバ関数

これらのメンバ関数は、std::ranges以下のカスタマイゼーションポイントオブジェクトを使って実装されており、テンプレート引数Dとして渡された範囲型に対して該当する呼び出しが可能な場合のみオーバーロード解決に参加する。

名前 説明 対応バージョン
empty 範囲が空かどうかを判定する C++20
operator bool 範囲が空でないかどうかを判定する C++20
data 範囲の先頭へのポインタを取得する C++20
size 要素数を取得する C++20
front 先頭要素への参照を取得する C++20
back 末尾要素への参照を取得する C++20
operator[] 要素へアクセスする C++20
derived Dへダウンキャストする (説明専用) C++20

バージョン

言語

  • C++20

処理系

参照