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

履歴 編集

variable
<ranges>

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

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

概要

empty_viewに対するenable_borrowed_rangeの特殊化。

empty_viewは常に空であり、要素への参照を返すことがないため、安全に借用可能である。

備考

この特殊化により、empty_viewborrowed_rangeコンセプトを満たすようになる。

#include <ranges>
#include <type_traits>

int main() {
  // empty_viewはborrowed_rangeである
  static_assert(std::ranges::borrowed_range<std::ranges::empty_view<int>>);

  // enable_borrowed_rangeがtrueに設定されている
  static_assert(std::ranges::enable_borrowed_range<std::ranges::empty_view<int>>);
}

出力

バージョン

言語

  • C++20

処理系

参照