A single path is not conceptually a "range" of
anything — it's just a single filesystem path.
C++17 made the mistake of giving "begin" and "end" methods to `std::filesystem::path`, so that to C++ a std::filesystem::path looks like a range of paths.
What it should have done was to give `std::filesystem::path` one or more "range accessor" methods:
for (auto&& component : mypath.components()) { ... }
for (auto&& character : mypath.str()) { ... }
Niall, if you are actively pursuing `path_view` for C++2b, please try to avoid making the same mistakes that <filesystem> made!
Thanks,
–Arthur