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

履歴 編集

variable
<ranges>

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

namespace std::ranges {
  template<class T>
  inline constexpr bool enable_borrowed_range = false;
}

概要

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

borrowed_rangeコンセプトの要件は意味論要件がメインなため、enable_borrowed_rangeを特殊化することで、明示的にborrowed_rangeであることを示すようになっている。

#include <ranges>

int main()
{
  constexpr int a[] = {1, 2};
  const std::ranges::subrange sub(a);
  static_assert(std::ranges::borrowed_range<decltype(sub)>);
}

出力

バージョン

言語

  • C++20

処理系

参照