20 #ifndef MPD_FS_TRAITS_HXX 21 #define MPD_FS_TRAITS_HXX 38 #define PATH_LITERAL(s) _T(s) 40 #define PATH_LITERAL(s) (s) 48 typedef std::wstring
string;
76 #if !CLANG_CHECK_VERSION(3,6) 100 #if !CLANG_CHECK_VERSION(3,6) 102 assert(p !=
nullptr);
183 #if !CLANG_CHECK_VERSION(3,6) 185 assert(p !=
nullptr);
200 #if !CLANG_CHECK_VERSION(3,6) 202 assert(p !=
nullptr);
gcc_pure static gcc_nonnull_all string GetParent(const_pointer_type p) noexcept
Determine the "parent" file name of the given native path.
gcc_pure static gcc_nonnull_all string Build(const_pointer_type a, size_t a_size, const_pointer_type b, size_t b_size) noexcept
Constructs the path from the given components.
Simple OO wrapper for a const string pointer.
gcc_pure static gcc_nonnull_all string GetParent(const_pointer_type p) noexcept
Determine the "parent" file name of the given UTF-8 path.
This class describes the nature of a MPD internal filesystem path.
This class describes the nature of a native filesystem path.
string::traits_type char_traits
static constexpr bool IsAlphaASCII(char ch)
string::traits_type char_traits
static constexpr const_pointer_type CURRENT_DIRECTORY
static constexpr value_type SEPARATOR
gcc_pure static gcc_nonnull_all const_pointer_type Relative(const_pointer_type base, const_pointer_type other) noexcept
Determine the relative part of the given path to this object, not including the directory separator...
value_type * pointer_type
gcc_pure static gcc_nonnull_all size_t GetLength(const_pointer_type p) noexcept
gcc_pure static gcc_nonnull_all const_pointer_type GetBase(const_pointer_type p) noexcept
Determine the "base" file name of the given UTF-8 path.
gcc_pure static gcc_nonnull_all const_pointer_type FindLastSeparator(const_pointer_type p) noexcept
Pointer::pointer_type pointer_type
static constexpr bool IsSeparator(value_type ch) noexcept
gcc_pure static gcc_nonnull_all bool IsAbsolute(const_pointer_type p) noexcept
Pointer::const_pointer_type const_pointer_type
gcc_pure static gcc_nonnull_all const char * StringFindLast(const char *haystack, char needle) noexcept
const value_type * const_pointer_type
const T * const_pointer_type
gcc_pure static gcc_nonnull_all const_pointer_type FindLastSeparator(const_pointer_type p) noexcept
gcc_pure static gcc_nonnull_all const_pointer_type Relative(const_pointer_type base, const_pointer_type other) noexcept
Determine the relative part of the given path to this object, not including the directory separator...
gcc_pure static gcc_nonnull_all size_t GetLength(const_pointer_type p) noexcept
gcc_pure static gcc_nonnull_all bool IsAbsolute(const_pointer_type p) noexcept
static constexpr bool IsSeparator(value_type ch)
static constexpr const_pointer_type CURRENT_DIRECTORY
gcc_pure static gcc_nonnull_all string Build(const_pointer_type a, const_pointer_type b) noexcept
gcc_pure static gcc_nonnull_all const char * StringFind(const char *haystack, const char *needle) noexcept
gcc_pure static gcc_nonnull_all size_t StringLength(const char *p) noexcept
static constexpr value_type SEPARATOR
gcc_pure static gcc_nonnull_all string Build(const_pointer_type a, size_t a_size, const_pointer_type b, size_t b_size) noexcept
Constructs the path from the given components.
gcc_pure static gcc_nonnull_all const_pointer_type Find(const_pointer_type p, value_type ch) noexcept
StringPointer< value_type > Pointer
char_traits::char_type value_type
gcc_pure static gcc_nonnull_all string Build(const_pointer_type a, const_pointer_type b) noexcept
gcc_pure static gcc_nonnull_all const_pointer_type Find(const_pointer_type p, value_type ch) noexcept
gcc_pure static gcc_nonnull_all const_pointer_type GetBase(const_pointer_type p) noexcept
Determine the "base" file name of the given native path.
char_traits::char_type value_type