32 operator std::string()
const
36 operator std::string_view()
const noexcept
40 const char* CString()
const noexcept
42 return logical_path_.c_str();
45 [[nodiscard]]
const std::string& LogicalPath()
const noexcept
50 [[nodiscard]]
bool Empty()
const noexcept
52 return logical_path_.empty();
55 [[nodiscard]] std::wstring ToWString()
const
57 return std::wstring(logical_path_.begin(), logical_path_.end());
60 [[nodiscard]]
bool HasExtension(std::string_view ext)
const noexcept
62 return Extension() == ext;
65 [[nodiscard]] std::string_view Extension()
const noexcept
67 const std::size_t pos = logical_path_.rfind(
'.');
68 if (pos != std::string::npos)
70 return std::string_view(logical_path_).substr(pos);
72 return std::string_view{};
76 std::string logical_path_;