27 bool skipPrefix(
const path& pth,
const path&
prefix, path::const_iterator& it) {
29 for (
auto& p : prefix) {
30 if (it == pth.end()) {
46 path::const_iterator it;
47 return skipPrefix(pth, prefix, it);
51 path::const_iterator it;
52 if (!skipPrefix(pth, prefix, it)) {
53 throw filesystem_error(
54 "Path does not start with prefix",
57 bsys::errc::make_error_code(bsys::errc::invalid_argument));
61 for (; it != pth.end(); ++it) {
69 return canonical(pth.parent_path(), base) / pth.filename();
73 return read_symlink(
"/proc/self/exe");
—— Concurrent Priority Queue Implementation ——
bool prefix(Cursor &c, uint32_t expected)
path remove_prefix(const path &pth, const path &prefix)
path canonical_parent(const path &pth, const path &base)
bool starts_with(const path &pth, const path &prefix)