WPILibC++ 2023.4.3
ghc::filesystem::detail Namespace Reference

Typedefs

template<typename Enum >
using EnableBitmask = typename std::enable_if< std::is_same< Enum, perms >::value||std::is_same< Enum, perm_options >::value||std::is_same< Enum, copy_options >::value||std::is_same< Enum, directory_options >::value, Enum >::type
 

Enumerations

enum  utf8_states_t { S_STRT = 0 , S_RJCT = 8 }
 
enum class  portable_error {
  none = 0 , exists , not_found , not_supported ,
  not_implemented , invalid_argument , is_a_directory
}
 

Functions

GHC_FS_API void appendUTF8 (std::string &str, uint32_t unicode)
 
GHC_FS_API bool is_surrogate (uint32_t c)
 
GHC_FS_API bool is_high_surrogate (uint32_t c)
 
GHC_FS_API bool is_low_surrogate (uint32_t c)
 
GHC_FS_API unsigned consumeUtf8Fragment (const unsigned state, const uint8_t fragment, uint32_t &codepoint)
 
GHC_FS_API std::error_code make_error_code (portable_error err)
 
GHC_FS_API std::error_code make_system_error (int err=0)
 
GHC_INLINE bool in_range (uint32_t c, uint32_t lo, uint32_t hi)
 
GHC_INLINE bool validUtf8 (const std::string &utf8String)
 
template<class StringType , class Utf8String , typename std::enable_if< path::_is_basic_string< Utf8String >::value &&(sizeof(typename Utf8String::value_type)==1) &&(sizeof(typename StringType::value_type)==1)>::type * = nullptr>
StringType fromUtf8 (const Utf8String &utf8String, const typename StringType::allocator_type &alloc=typename StringType::allocator_type())
 
template<class StringType , typename charT , std::size_t N>
StringType fromUtf8 (const charT(&utf8String)[N])
 
template<typename strT , typename std::enable_if< path::_is_basic_string< strT >::value &&(sizeof(typename strT::value_type)==1), int >::type size = 1>
std::string toUtf8 (const strT &unicodeString)
 
template<typename charT >
std::string toUtf8 (const charT *unicodeString)
 
template<typename strT , typename std::enable_if< path::_is_basic_string< strT >::value, bool >::type = true>
GHC_INLINE bool startsWith (const strT &what, const strT &with)
 
template<typename strT , typename std::enable_if< path::_is_basic_string< strT >::value, bool >::type = true>
GHC_INLINE bool endsWith (const strT &what, const strT &with)
 
GHC_INLINE bool equals_simple_insensitive (const path::value_type *str1, const path::value_type *str2)
 
GHC_INLINE int compare_simple_insensitive (const path::value_type *str1, size_t len1, const path::value_type *str2, size_t len2)
 
GHC_INLINE const char * strerror_adapter (char *gnu, char *)
 
GHC_INLINE const char * strerror_adapter (int posix, char *buffer)
 
template<typename ErrorNumber >
GHC_INLINE std::string systemErrorText (ErrorNumber code=0)
 
GHC_INLINE void create_symlink (const path &target_name, const path &new_symlink, bool, std::error_code &ec)
 
GHC_INLINE void create_hardlink (const path &target_name, const path &new_hardlink, std::error_code &ec)
 
template<typename T >
GHC_INLINE file_status file_status_from_st_mode (T mode)
 
GHC_INLINE path resolveSymlink (const path &p, std::error_code &ec)
 
GHC_INLINE bool is_not_found_error (std::error_code &ec)
 
GHC_INLINE file_status symlink_status_ex (const path &p, std::error_code &ec, uintmax_t *sz=nullptr, uintmax_t *nhl=nullptr, time_t *lwt=nullptr) noexcept
 
GHC_INLINE file_status status_ex (const path &p, std::error_code &ec, file_status *sls=nullptr, uintmax_t *sz=nullptr, uintmax_t *nhl=nullptr, time_t *lwt=nullptr, int recurse_count=0) noexcept
 

Typedef Documentation

◆ EnableBitmask

template<typename Enum >
using ghc::filesystem::detail::EnableBitmask = typedef typename std::enable_if<std::is_same<Enum, perms>::value || std::is_same<Enum, perm_options>::value || std::is_same<Enum, copy_options>::value || std::is_same<Enum, directory_options>::value, Enum>::type

Enumeration Type Documentation

◆ portable_error

Enumerator
none 
exists 
not_found 
not_supported 
not_implemented 
invalid_argument 
is_a_directory 

◆ utf8_states_t

Enumerator
S_STRT 
S_RJCT 

Function Documentation

◆ appendUTF8()

GHC_INLINE void ghc::filesystem::detail::appendUTF8 ( std::string &  str,
uint32_t  unicode 
)

◆ compare_simple_insensitive()

GHC_INLINE int ghc::filesystem::detail::compare_simple_insensitive ( const path::value_type str1,
size_t  len1,
const path::value_type str2,
size_t  len2 
)

◆ consumeUtf8Fragment()

GHC_INLINE unsigned ghc::filesystem::detail::consumeUtf8Fragment ( const unsigned  state,
const uint8_t  fragment,
uint32_t &  codepoint 
)

◆ create_hardlink()

GHC_INLINE void ghc::filesystem::detail::create_hardlink ( const path target_name,
const path new_hardlink,
std::error_code &  ec 
)

◆ create_symlink()

GHC_INLINE void ghc::filesystem::detail::create_symlink ( const path target_name,
const path new_symlink,
bool  ,
std::error_code &  ec 
)

◆ endsWith()

template<typename strT , typename std::enable_if< path::_is_basic_string< strT >::value, bool >::type = true>
GHC_INLINE bool ghc::filesystem::detail::endsWith ( const strT &  what,
const strT &  with 
)

◆ equals_simple_insensitive()

GHC_INLINE bool ghc::filesystem::detail::equals_simple_insensitive ( const path::value_type str1,
const path::value_type str2 
)

◆ file_status_from_st_mode()

template<typename T >
GHC_INLINE file_status ghc::filesystem::detail::file_status_from_st_mode ( mode)

◆ fromUtf8() [1/2]

template<class StringType , typename charT , std::size_t N>
StringType ghc::filesystem::detail::fromUtf8 ( const charT(&)  utf8String[N])
inline

◆ fromUtf8() [2/2]

template<class StringType , class Utf8String , typename std::enable_if< path::_is_basic_string< Utf8String >::value &&(sizeof(typename Utf8String::value_type)==1) &&(sizeof(typename StringType::value_type)==1)>::type * = nullptr>
StringType ghc::filesystem::detail::fromUtf8 ( const Utf8String &  utf8String,
const typename StringType::allocator_type &  alloc = typename StringType::allocator_type() 
)
inline

◆ in_range()

GHC_INLINE bool ghc::filesystem::detail::in_range ( uint32_t  c,
uint32_t  lo,
uint32_t  hi 
)

◆ is_high_surrogate()

GHC_INLINE bool ghc::filesystem::detail::is_high_surrogate ( uint32_t  c)

◆ is_low_surrogate()

GHC_INLINE bool ghc::filesystem::detail::is_low_surrogate ( uint32_t  c)

◆ is_not_found_error()

GHC_INLINE bool ghc::filesystem::detail::is_not_found_error ( std::error_code &  ec)

◆ is_surrogate()

GHC_INLINE bool ghc::filesystem::detail::is_surrogate ( uint32_t  c)

◆ make_error_code()

GHC_INLINE std::error_code ghc::filesystem::detail::make_error_code ( portable_error  err)

◆ make_system_error()

GHC_INLINE std::error_code ghc::filesystem::detail::make_system_error ( int  err = 0)

◆ resolveSymlink()

GHC_INLINE path ghc::filesystem::detail::resolveSymlink ( const path p,
std::error_code &  ec 
)

◆ startsWith()

template<typename strT , typename std::enable_if< path::_is_basic_string< strT >::value, bool >::type = true>
GHC_INLINE bool ghc::filesystem::detail::startsWith ( const strT &  what,
const strT &  with 
)

◆ status_ex()

GHC_INLINE file_status ghc::filesystem::detail::status_ex ( const path p,
std::error_code &  ec,
file_status sls = nullptr,
uintmax_t *  sz = nullptr,
uintmax_t *  nhl = nullptr,
time_t *  lwt = nullptr,
int  recurse_count = 0 
)
noexcept

◆ strerror_adapter() [1/2]

GHC_INLINE const char * ghc::filesystem::detail::strerror_adapter ( char *  gnu,
char *   
)

◆ strerror_adapter() [2/2]

GHC_INLINE const char * ghc::filesystem::detail::strerror_adapter ( int  posix,
char *  buffer 
)

◆ symlink_status_ex()

GHC_INLINE file_status ghc::filesystem::detail::symlink_status_ex ( const path p,
std::error_code &  ec,
uintmax_t *  sz = nullptr,
uintmax_t *  nhl = nullptr,
time_t *  lwt = nullptr 
)
noexcept

◆ systemErrorText()

template<typename ErrorNumber >
GHC_INLINE std::string ghc::filesystem::detail::systemErrorText ( ErrorNumber  code = 0)

◆ toUtf8() [1/2]

template<typename charT >
std::string ghc::filesystem::detail::toUtf8 ( const charT *  unicodeString)
inline

◆ toUtf8() [2/2]

template<typename strT , typename std::enable_if< path::_is_basic_string< strT >::value &&(sizeof(typename strT::value_type)==1), int >::type size = 1>
std::string ghc::filesystem::detail::toUtf8 ( const strT &  unicodeString)
inline

◆ validUtf8()

GHC_INLINE bool ghc::filesystem::detail::validUtf8 ( const std::string &  utf8String)