namespace std::ranges {
template<class T>
inline constexpr bool enable_borrowed_range = false;
}
概要
enable_borrowed_range<T>
がtrue
であることは、T
がborrowed_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
処理系
- Clang: 13.0.0 ✅
- GCC: 10.1.0 ✅
- ICC: ?
- Visual C++: 2019 Update 10 ✅