Skip to content

Latest commit

 

History

History
33 lines (25 loc) · 1.33 KB

File metadata and controls

33 lines (25 loc) · 1.33 KB

simple-view

  • [meta exposition-only]
  • ranges[meta header]
  • concept[meta id-type]
  • cpp20[meta cpp]
template<class R>
  concept simple-view = // 説明専用コンセプト
    view<R> && range<const R> &&
    same_as<iterator_t<R>, iterator_t<const R>> &&
    same_as<sentinel_t<R>, sentinel_t<const R>>;

概要

simple-viewは型Rが単純(Rconstであっても Range である(const-iterableである)上で、Rが使用するイテレータ/センチネルと読み取り専用のイテレータ/センチネルが同じ型である)となるビューな Range を表す説明専用コンセプトである。

const-iterableが要件にあることは、const-iterableではない Range は内部でキャッシュ等の複雑度が高い仕様となることで、const-iterableでは無くならざるを得なくなることが背景であると考えられる。const-iterableでないビューとしては、ranges::filter_viewなどが挙げられる。

バージョン

言語

  • C++20

処理系

参考