47#ifndef OPENSWMM_ENGINE_PATH_RESOLVER_HPP
48#define OPENSWMM_ENGINE_PATH_RESOLVER_HPP
123 int max_up_levels = 16);
138std::string
resolveRelative(
const std::string& stored_token,
const std::string& anchor_dir);
162std::string
parentDir(
const std::string& file_path);
Definition AtomicOutputFile.hpp:25
std::string resolveRelative(const std::string &stored_token, const std::string &anchor_dir)
Join a stored token to a directory anchor using lexical normalization.
Definition PathResolver.cpp:264
PathClass
Classification of a makeRelative() result.
Definition PathResolver.hpp:66
@ Relative
Expressible relative to anchor; portable.
Definition PathResolver.hpp:67
@ Invalid
Empty or malformed input.
Definition PathResolver.hpp:72
@ AbsoluteSameVolume
Definition PathResolver.hpp:68
@ AbsoluteCrossVolume
Definition PathResolver.hpp:70
std::string normaliseSeparators(const std::string &path)
Normalize separator and dot spelling without resolving parent segments.
Definition PathResolver.cpp:225
bool isAbsolutePath(const std::string &path) noexcept
Recognize platform-neutral absolute-looking path syntax.
Definition PathResolver.cpp:205
std::string parentDir(const std::string &file_path)
Extract a directory token using normalized separator text.
Definition PathResolver.cpp:238
RelativeResult makeRelative(const std::string &target_absolute, const std::string &anchor_dir, int max_up_levels)
Compute a lexical relative token or return a classified absolute fallback.
Definition PathResolver.cpp:294
Outcome of computing target relative to anchor_dir.
Definition PathResolver.hpp:92
int up_levels
Definition PathResolver.hpp:95
PathClass classification
Definition PathResolver.hpp:94
std::string path
Definition PathResolver.hpp:93
std::string warning
Definition PathResolver.hpp:96