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

履歴 編集

variable
<ranges>

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

namespace std::ranges {
  template<class T>
  inline constexpr bool enable_view = derived_from<T, view_base>;
}

概要

enable_view<T>trueであることは、Tviewであるための必要条件である。

viewコンセプトの要件は意味論要件がメインなため、view_baseを基底クラスにするか、enable_viewを特殊化することで、明示的にviewであることを示すようになっている。

#include <ranges>

int main()
{
  using namespace std::ranges;
  static_assert(enable_view<view_base>);
  static_assert(!enable_view<int>);

  struct t : view_base { };

  static_assert(enable_view<t>);
}

出力

バージョン

言語

  • C++20

処理系

参照