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が単純(Rはconstであっても Range である(const-iterableである)上で、Rが使用するイテレータ/センチネルと読み取り専用のイテレータ/センチネルが同じ型である)となるビューな Range を表す説明専用コンセプトである。
const-iterableが要件にあることは、const-iterableではない Range は内部でキャッシュ等の複雑度が高い仕様となることで、const-iterableでは無くならざるを得なくなることが背景であると考えられる。const-iterableでないビューとしては、ranges::filter_viewなどが挙げられる。
バージョン
言語
- C++20
処理系
- Clang: ??
- GCC: ??
- ICC: ??
- Visual C++: ??