brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 7938fe5 Raw
33 lines · cpp
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9// UNSUPPORTED: c++03, c++11, c++14, c++1710// UNSUPPORTED: no-filesystem11 12// <filesystem>13 14// template <>15// inline constexpr bool ranges::enable_borrowed_range<filesystem::directory_iterator> = true;16// template <>17// inline constexpr bool ranges::enable_borrowed_range<filesystem::recursive_directory_iterator> = true;18 19#include <filesystem>20#include <ranges>21 22template<class Range>23void test() {24  static_assert(std::ranges::enable_borrowed_range<Range>);25  static_assert(!std::ranges::enable_borrowed_range<Range&>);26  static_assert(!std::ranges::enable_borrowed_range<const Range>);27}28 29void test() {30  test<std::filesystem::directory_iterator>();31  test<std::filesystem::recursive_directory_iterator>();32}33