17 #if defined(_WIN32) || defined(WIN32)
19 #elif __has_include(<linux/limits.h>)
20 # include <linux/limits.h>
25 #include "lfilesystem/lfilesystem_Export.h"
45 return static_cast<char> (std::filesystem::path::preferred_separator);
54 #if defined(_WIN32) || defined(WIN32)
71 #if defined(__linux__) || defined(__gnu_linux__) || defined(linux) || defined(__linux)
83 [[nodiscard]] LFILE_EXPORT constexpr std::uintmax_t
maxPathLength() noexcept
85 #if defined(_WIN32) || defined(WIN32)
86 return static_cast<std::uintmax_t
> (MAX_PATH);
87 #elif defined(NAME_MAX)
88 return static_cast<std::uintmax_t
> (NAME_MAX);
89 #elif defined(PATH_MAX)
90 return static_cast<std::uintmax_t
> (PATH_MAX);
91 #elif defined(FILENAME_MAX)
92 return static_cast<std::uintmax_t
> (FILENAME_MAX);
94 # error "Cannot detect maximum path length for your platform!"
LFILE_EXPORT consteval bool filesystemIsCaseSensitive() noexcept
Returns true if the current platform's filesystem is likely to be case-sensitive.
constexpr LFILE_EXPORT char dirSeparator() noexcept
Returns the platform's preferred directory separator: \ on Windows, and / everywhere else.
LFILE_EXPORT consteval char PATHseparator() noexcept
Returns the platform's separator char for the PATH environment variable: ; on Windows,...
constexpr LFILE_EXPORT std::uintmax_t maxPathLength() noexcept
Returns the maximum path length possible on the current operating system.