// // Created by martial.simon on 2/25/25. // #include "windows_path.hh" #include WindowsPath::WindowsPath(char drive) : Path() { path_.push_back(std::string{ drive } + std::string{ ':' }); } std::string WindowsPath::to_string() const { if (path_.empty()) return ""; std::ostringstream os; os << path_[0]; for (size_t i = 1; i < path_.size(); i++) { os << "\\" << path_[i]; } if (!final_) os << "\\"; return os.str(); } Path& WindowsPath::join(const std::string& tail, bool is_file) { // :, ", |, ?, * if (tail.find(':') != std::string::npos || tail.find('\"') != std::string::npos || tail.find('|') != std::string::npos || tail.find('?') != std::string::npos || tail.find('*') != std::string::npos) return *this; return Path::join(tail, is_file); }