33#ifndef DVD_FILE_WITH_PATH_H_
34#define DVD_FILE_WITH_PATH_H_
50 explicit ResourcePath(
const std::string_view path) : _fileSystemPath(path) {}
52 [[nodiscard]]
size_t length() const noexcept;
53 [[nodiscard]]
bool empty() const noexcept;
63 template<
size_t N = 0>
90bool operator== (
const ResourcePath& lhs, std::string_view rhs);
91bool operator!= (
const ResourcePath& lhs, std::string_view rhs);
93bool operator== (
const ResourcePath& lhs,
const ResourcePath& rhs);
94bool operator!= (
const ResourcePath& lhs,
const ResourcePath& rhs);
108struct fmt::formatter<
Divide::ResourcePath>
110 constexpr auto parse( format_parse_context& ctx ) {
return ctx.begin(); }
112 template<
typename FormatContext>
115 return fmt::format_to( ctx.out(),
"{}", path.string() );
127 return std::hash<std::filesystem::path>{}(path.fileSystemPath());
Handle console commands that start with a forward slash.
FORCE_INLINE bool operator!=(const GUIDWrapper &lhs, const GUIDWrapper &rhs) noexcept
ResourcePath operator/(const ResourcePath &lhs, const ResourcePath &rhs)
ResourcePath & operator/=(ResourcePath &lhs, const ResourcePath &rhs)
bool operator==(const DisplayManager::OutputDisplayProperties &lhs, const DisplayManager::OutputDisplayProperties &rhs) noexcept
bool empty() const noexcept
std::conditional_t<(N > 0), Str< N >, Divide::string > StringReturnType
size_t length() const noexcept
ResourcePath & append(std::string_view str)
ResourcePath & makeRelative(const ResourcePath &base)
PROPERTY_R(std::filesystem::path, fileSystemPath)
ResourcePath(const std::string_view path)
ResourcePath getRelative(const ResourcePath &base) const
size_t operator()(const Divide::ResourcePath &path) const