Sequoia
Loading...
Searching...
No Matches
Classes | Functions
FileSystem.hpp File Reference

Extensions to the std::filesystem library. More...

#include <filesystem>
#include <functional>

Go to the source code of this file.

Classes

class  sequoia::normal_path
 

Functions

std::filesystem::path sequoia::back (const std::filesystem::path &p)
 
template<class Path , class Pattern , class Proj = std::identity>
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>
std::conditional_t< std::is_const_v< std::remove_reference_t< Path > >, std::filesystem::path::const_iterator, std::filesystem::path::iterator > sequoia::rfind (Path &&p, Pattern pattern, Proj proj={})
 

Detailed Description

Extensions to the std::filesystem library.

Function Documentation

◆ rfind()

template<class Path , class Pattern , class Proj = std::identity>
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>
std::conditional_t< std::is_const_v< std::remove_reference_t< Path > >, std::filesystem::path::const_iterator, std::filesystem::path::iterator > sequoia::rfind ( Path &&  p,
Pattern  pattern,
Proj  proj = {} 
)

This function has slightly peculiar semantics, due to the fact that path::iterator isn't strictly bidirectional - which MSVC exploits. Therefore, it returns a forward iterator to the last instance of a pattern or end, otherwise.