namespace std::ranges {
template<class T>
inline constexpr bool enable_borrowed_range<empty_view<T>> = true;
}
概要
empty_view
に対するenable_borrowed_range
の特殊化。
empty_view
は常に空であり、要素への参照を返すことがないため、安全に借用可能である。
備考
この特殊化により、empty_view
はborrowed_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
処理系
- Clang: 13.0.0 ✅
- GCC: 10.1.0 ✅
- ICC: ?
- Visual C++: 2019 Update 10 ✅