最終更新日時(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 { …… };
}

概要

view_interfaceは、viewを実装する際に便利なクラステンプレートである。

使用するときは、Dview_interfaceを公開継承した上で派生クラスDview_interfaceのテンプレート引数にする(CRTP)。

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

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

メンバ関数

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

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

バージョン

言語

  • C++20

処理系

関連項目

参照