Skip to content

Latest commit

 

History

History
38 lines (28 loc) · 1.28 KB

disable_sized_range.md

File metadata and controls

38 lines (28 loc) · 1.28 KB

disable_sized_range

  • ranges[meta header]
  • std::ranges[meta namespace]
  • variable[meta id-type]
  • cpp20[meta cpp]
namespace std::ranges {
  template<class>
  inline constexpr bool disable_sized_range = false;
}

概要

disable_sized_rangeは、sized_rangeを無効化するカスタマイゼーションポイントである。

sized_rangeコンセプトの構文要件を満たすが意味論要件を満たさないような型Tがあるとき、disable_sized_range<T>trueとなるように特殊化することでranges::sizeの引数にできないようにして、sized_rangeを無効化する。

具体的には、大きさを求めることはできるが、その計算量が償却定数にならないようなRangeが該当する。

(執筆中)

バージョン

言語

  • C++20

処理系

  • Clang: 13.0.0 [mark verified]
  • GCC: 10.1.0 [mark verified]
  • ICC: ?
  • Visual C++: 2019 Update 10 [mark verified]

参照