25 : m_Path{path.lexically_normal()}
29 operator const std::filesystem::path& ()
const
35 const std::filesystem::path& path()
const noexcept
43 std::filesystem::path m_Path;
47 inline std::filesystem::path back(
const std::filesystem::path& p)
50 throw std::runtime_error{
"Cannot extract final element from an empty path"};
59 template<
class Path,
class Pattern,
class Proj=std::
identity>
60 requires std::is_same_v<std::remove_cvref_t<Path>, std::filesystem::path> && std::predicate<std::ranges::equal_to, std::invoke_result_t<Proj, std::filesystem::path> , Pattern>
62 std::conditional_t<std::is_const_v<std::remove_reference_t<Path>>, std::filesystem::path::const_iterator, std::filesystem::path::iterator>
63 rfind(Path&& p, Pattern pattern, Proj proj = {})
69 if(std::ranges::equal_to{}(proj(*i), pattern))
return i;
std::conditional_t< std::is_const_v< std::remove_reference_t< Path > >, std::filesystem::path::const_iterator, std::filesystem::path::iterator > rfind(Path &&p, Pattern pattern, Proj proj={})
Definition: FileSystem.hpp:63
Definition: FileSystem.hpp:20