WPILibC++ 2023.4.3
ghc::filesystem Namespace Reference

Namespaces

namespace  detail
 

Classes

class  basic_filebuf
 
class  basic_fstream
 
class  basic_ifstream
 
class  basic_ofstream
 
class  directory_entry
 
class  directory_iterator
 
class  file_status
 
class  filesystem_error
 
class  not_implemented_exception
 
class  path
 
class  path_helper_base
 
class  recursive_directory_iterator
 
struct  space_info
 
class  u8arguments
 

Typedefs

using file_time_type = std::chrono::time_point< std::chrono::system_clock >
 
typedef basic_filebuf< char > filebuf
 
typedef basic_filebuf< wchar_t > wfilebuf
 
typedef basic_ifstream< char > ifstream
 
typedef basic_ifstream< wchar_t > wifstream
 
typedef basic_ofstream< char > ofstream
 
typedef basic_ofstream< wchar_t > wofstream
 
typedef basic_fstream< char > fstream
 
typedef basic_fstream< wchar_t > wfstream
 

Enumerations

enum class  file_type {
  none , not_found , regular , directory ,
  symlink , block , character , fifo ,
  socket , unknown
}
 
enum class  perms : uint16_t {
  none = 0 , owner_read = 0400 , owner_write = 0200 , owner_exec = 0100 ,
  owner_all = 0700 , group_read = 040 , group_write = 020 , group_exec = 010 ,
  group_all = 070 , others_read = 04 , others_write = 02 , others_exec = 01 ,
  others_all = 07 , all = 0777 , set_uid = 04000 , set_gid = 02000 ,
  sticky_bit = 01000 , mask = 07777 , unknown = 0xffff
}
 
enum class  perm_options : uint16_t { replace = 3 , add = 1 , remove = 2 , nofollow = 4 }
 
enum class  copy_options : uint16_t {
  none = 0 , skip_existing = 1 , overwrite_existing = 2 , update_existing = 4 ,
  recursive = 8 , copy_symlinks = 0x10 , skip_symlinks = 0x20 , directories_only = 0x40 ,
  create_symlinks = 0x80 , create_hard_links = 0x100
}
 
enum class  directory_options : uint16_t { none = 0 , follow_directory_symlink = 1 , skip_permission_denied = 2 }
 

Functions

GHC_FS_API void swap (path &lhs, path &rhs) noexcept
 
GHC_FS_API size_t hash_value (const path &p) noexcept
 
GHC_FS_API bool operator== (const path &lhs, const path &rhs) noexcept
 
GHC_FS_API bool operator!= (const path &lhs, const path &rhs) noexcept
 
GHC_FS_API bool operator< (const path &lhs, const path &rhs) noexcept
 
GHC_FS_API bool operator<= (const path &lhs, const path &rhs) noexcept
 
GHC_FS_API bool operator> (const path &lhs, const path &rhs) noexcept
 
GHC_FS_API bool operator>= (const path &lhs, const path &rhs) noexcept
 
GHC_FS_API path operator/ (const path &lhs, const path &rhs)
 
template<class charT , class traits >
std::basic_ostream< charT, traits > & operator<< (std::basic_ostream< charT, traits > &os, const path &p)
 
template<class charT , class traits >
std::basic_istream< charT, traits > & operator>> (std::basic_istream< charT, traits > &is, path &p)
 
template<class Source , typename = path::path_from_string<Source>>
path u8path (const Source &source)
 
template<class InputIterator >
path u8path (InputIterator first, InputIterator last)
 
GHC_FS_API directory_iterator begin (directory_iterator iter) noexcept
 
GHC_FS_API directory_iterator end (const directory_iterator &) noexcept
 
GHC_FS_API recursive_directory_iterator begin (recursive_directory_iterator iter) noexcept
 
GHC_FS_API recursive_directory_iterator end (const recursive_directory_iterator &) noexcept
 
GHC_FS_API path absolute (const path &p, std::error_code &ec)
 
GHC_FS_API path canonical (const path &p, std::error_code &ec)
 
GHC_FS_API void copy (const path &from, const path &to, std::error_code &ec) noexcept
 
GHC_FS_API void copy (const path &from, const path &to, copy_options options, std::error_code &ec) noexcept
 
GHC_FS_API bool copy_file (const path &from, const path &to, std::error_code &ec) noexcept
 
GHC_FS_API bool copy_file (const path &from, const path &to, copy_options option, std::error_code &ec) noexcept
 
GHC_FS_API void copy_symlink (const path &existing_symlink, const path &new_symlink, std::error_code &ec) noexcept
 
GHC_FS_API bool create_directories (const path &p, std::error_code &ec) noexcept
 
GHC_FS_API bool create_directory (const path &p, std::error_code &ec) noexcept
 
GHC_FS_API bool create_directory (const path &p, const path &attributes, std::error_code &ec) noexcept
 
GHC_FS_API void create_directory_symlink (const path &to, const path &new_symlink, std::error_code &ec) noexcept
 
GHC_FS_API void create_symlink (const path &to, const path &new_symlink, std::error_code &ec) noexcept
 
GHC_FS_API path current_path (std::error_code &ec)
 
GHC_FS_API void current_path (const path &p, std::error_code &ec) noexcept
 
GHC_FS_API bool exists (file_status s) noexcept
 
GHC_FS_API bool exists (const path &p, std::error_code &ec) noexcept
 
GHC_FS_API bool equivalent (const path &p1, const path &p2, std::error_code &ec) noexcept
 
GHC_FS_API uintmax_t file_size (const path &p, std::error_code &ec) noexcept
 
GHC_FS_API bool is_block_file (file_status s) noexcept
 
GHC_FS_API bool is_block_file (const path &p, std::error_code &ec) noexcept
 
GHC_FS_API bool is_character_file (file_status s) noexcept
 
GHC_FS_API bool is_character_file (const path &p, std::error_code &ec) noexcept
 
GHC_FS_API bool is_directory (file_status s) noexcept
 
GHC_FS_API bool is_directory (const path &p, std::error_code &ec) noexcept
 
GHC_FS_API bool is_empty (const path &p, std::error_code &ec) noexcept
 
GHC_FS_API bool is_fifo (file_status s) noexcept
 
GHC_FS_API bool is_fifo (const path &p, std::error_code &ec) noexcept
 
GHC_FS_API bool is_other (file_status s) noexcept
 
GHC_FS_API bool is_other (const path &p, std::error_code &ec) noexcept
 
GHC_FS_API bool is_regular_file (file_status s) noexcept
 
GHC_FS_API bool is_regular_file (const path &p, std::error_code &ec) noexcept
 
GHC_FS_API bool is_socket (file_status s) noexcept
 
GHC_FS_API bool is_socket (const path &p, std::error_code &ec) noexcept
 
GHC_FS_API bool is_symlink (file_status s) noexcept
 
GHC_FS_API bool is_symlink (const path &p, std::error_code &ec) noexcept
 
GHC_FS_API file_time_type last_write_time (const path &p, std::error_code &ec) noexcept
 
GHC_FS_API void last_write_time (const path &p, file_time_type new_time, std::error_code &ec) noexcept
 
GHC_FS_API void permissions (const path &p, perms prms, std::error_code &ec) noexcept
 
GHC_FS_API void permissions (const path &p, perms prms, perm_options opts, std::error_code &ec) noexcept
 
GHC_FS_API path proximate (const path &p, std::error_code &ec)
 
GHC_FS_API path proximate (const path &p, const path &base, std::error_code &ec)
 
GHC_FS_API path read_symlink (const path &p, std::error_code &ec)
 
GHC_FS_API path relative (const path &p, std::error_code &ec)
 
GHC_FS_API path relative (const path &p, const path &base, std::error_code &ec)
 
GHC_FS_API bool remove (const path &p, std::error_code &ec) noexcept
 
GHC_FS_API uintmax_t remove_all (const path &p, std::error_code &ec) noexcept
 
GHC_FS_API void rename (const path &from, const path &to, std::error_code &ec) noexcept
 
GHC_FS_API void resize_file (const path &p, uintmax_t size, std::error_code &ec) noexcept
 
GHC_FS_API space_info space (const path &p, std::error_code &ec) noexcept
 
GHC_FS_API file_status status (const path &p, std::error_code &ec) noexcept
 
GHC_FS_API bool status_known (file_status s) noexcept
 
GHC_FS_API file_status symlink_status (const path &p, std::error_code &ec) noexcept
 
GHC_FS_API path temp_directory_path (std::error_code &ec) noexcept
 
GHC_FS_API path weakly_canonical (const path &p, std::error_code &ec) noexcept
 
GHC_FS_API void create_hard_link (const path &to, const path &new_hard_link, std::error_code &ec) noexcept
 
GHC_FS_API uintmax_t hard_link_count (const path &p, std::error_code &ec) noexcept
 
template<typename Enum >
constexpr detail::EnableBitmask< Enum > operator& (Enum X, Enum Y)
 
template<typename Enum >
constexpr detail::EnableBitmask< Enum > operator| (Enum X, Enum Y)
 
template<typename Enum >
constexpr detail::EnableBitmask< Enum > operator^ (Enum X, Enum Y)
 
template<typename Enum >
constexpr detail::EnableBitmask< Enum > operator~ (Enum X)
 
template<typename Enum >
detail::EnableBitmask< Enum > & operator&= (Enum &X, Enum Y)
 
template<typename Enum >
detail::EnableBitmask< Enum > & operator|= (Enum &X, Enum Y)
 
template<typename Enum >
detail::EnableBitmask< Enum > & operator^= (Enum &X, Enum Y)
 

Typedef Documentation

◆ file_time_type

using ghc::filesystem::file_time_type = typedef std::chrono::time_point<std::chrono::system_clock>

◆ filebuf

◆ fstream

◆ ifstream

◆ ofstream

◆ wfilebuf

◆ wfstream

◆ wifstream

◆ wofstream

Enumeration Type Documentation

◆ copy_options

enum class ghc::filesystem::copy_options : uint16_t
strong
Enumerator
none 
skip_existing 
overwrite_existing 
update_existing 
recursive 
copy_symlinks 
skip_symlinks 
directories_only 
create_symlinks 
create_hard_links 

◆ directory_options

enum class ghc::filesystem::directory_options : uint16_t
strong
Enumerator
none 
follow_directory_symlink 
skip_permission_denied 

◆ file_type

enum class ghc::filesystem::file_type
strong
Enumerator
none 
not_found 
regular 
directory 
symlink 
block 
character 
fifo 
socket 
unknown 

◆ perm_options

enum class ghc::filesystem::perm_options : uint16_t
strong
Enumerator
replace 
add 
remove 
nofollow 

◆ perms

enum class ghc::filesystem::perms : uint16_t
strong
Enumerator
none 
owner_read 
owner_write 
owner_exec 
owner_all 
group_read 
group_write 
group_exec 
group_all 
others_read 
others_write 
others_exec 
others_all 
all 
set_uid 
set_gid 
sticky_bit 
mask 
unknown 

Function Documentation

◆ absolute()

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

◆ begin() [1/2]

GHC_INLINE directory_iterator ghc::filesystem::begin ( directory_iterator  iter)
noexcept

◆ begin() [2/2]

GHC_INLINE recursive_directory_iterator ghc::filesystem::begin ( recursive_directory_iterator  iter)
noexcept

◆ canonical()

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

◆ copy() [1/2]

GHC_INLINE void ghc::filesystem::copy ( const path from,
const path to,
copy_options  options,
std::error_code &  ec 
)
noexcept

◆ copy() [2/2]

GHC_INLINE void ghc::filesystem::copy ( const path from,
const path to,
std::error_code &  ec 
)
noexcept

◆ copy_file() [1/2]

GHC_INLINE bool ghc::filesystem::copy_file ( const path from,
const path to,
copy_options  option,
std::error_code &  ec 
)
noexcept

◆ copy_file() [2/2]

GHC_INLINE bool ghc::filesystem::copy_file ( const path from,
const path to,
std::error_code &  ec 
)
noexcept

◆ copy_symlink()

GHC_INLINE void ghc::filesystem::copy_symlink ( const path existing_symlink,
const path new_symlink,
std::error_code &  ec 
)
noexcept

◆ create_directories()

GHC_INLINE bool ghc::filesystem::create_directories ( const path p,
std::error_code &  ec 
)
noexcept

◆ create_directory() [1/2]

GHC_INLINE bool ghc::filesystem::create_directory ( const path p,
const path attributes,
std::error_code &  ec 
)
noexcept

◆ create_directory() [2/2]

GHC_INLINE bool ghc::filesystem::create_directory ( const path p,
std::error_code &  ec 
)
noexcept

◆ create_directory_symlink()

GHC_INLINE void ghc::filesystem::create_directory_symlink ( const path to,
const path new_symlink,
std::error_code &  ec 
)
noexcept

◆ create_hard_link()

GHC_INLINE void ghc::filesystem::create_hard_link ( const path to,
const path new_hard_link,
std::error_code &  ec 
)
noexcept

◆ create_symlink()

GHC_INLINE void ghc::filesystem::create_symlink ( const path to,
const path new_symlink,
std::error_code &  ec 
)
noexcept

◆ current_path() [1/2]

GHC_INLINE void ghc::filesystem::current_path ( const path p,
std::error_code &  ec 
)
noexcept

◆ current_path() [2/2]

GHC_INLINE path ghc::filesystem::current_path ( std::error_code &  ec)

◆ end() [1/2]

GHC_INLINE directory_iterator ghc::filesystem::end ( const directory_iterator )
noexcept

◆ end() [2/2]

GHC_INLINE recursive_directory_iterator ghc::filesystem::end ( const recursive_directory_iterator )
noexcept

◆ equivalent()

GHC_INLINE bool ghc::filesystem::equivalent ( const path p1,
const path p2,
std::error_code &  ec 
)
noexcept

◆ exists() [1/2]

GHC_INLINE bool ghc::filesystem::exists ( const path p,
std::error_code &  ec 
)
noexcept

◆ exists() [2/2]

GHC_INLINE bool ghc::filesystem::exists ( file_status  s)
noexcept

◆ file_size()

GHC_INLINE uintmax_t ghc::filesystem::file_size ( const path p,
std::error_code &  ec 
)
noexcept

◆ hard_link_count()

GHC_INLINE uintmax_t ghc::filesystem::hard_link_count ( const path p,
std::error_code &  ec 
)
noexcept

◆ hash_value()

GHC_INLINE size_t ghc::filesystem::hash_value ( const path p)
noexcept

◆ is_block_file() [1/2]

GHC_INLINE bool ghc::filesystem::is_block_file ( const path p,
std::error_code &  ec 
)
noexcept

◆ is_block_file() [2/2]

GHC_INLINE bool ghc::filesystem::is_block_file ( file_status  s)
noexcept

◆ is_character_file() [1/2]

GHC_INLINE bool ghc::filesystem::is_character_file ( const path p,
std::error_code &  ec 
)
noexcept

◆ is_character_file() [2/2]

GHC_INLINE bool ghc::filesystem::is_character_file ( file_status  s)
noexcept

◆ is_directory() [1/2]

GHC_INLINE bool ghc::filesystem::is_directory ( const path p,
std::error_code &  ec 
)
noexcept

◆ is_directory() [2/2]

GHC_INLINE bool ghc::filesystem::is_directory ( file_status  s)
noexcept

◆ is_empty()

GHC_INLINE bool ghc::filesystem::is_empty ( const path p,
std::error_code &  ec 
)
noexcept

◆ is_fifo() [1/2]

GHC_INLINE bool ghc::filesystem::is_fifo ( const path p,
std::error_code &  ec 
)
noexcept

◆ is_fifo() [2/2]

GHC_INLINE bool ghc::filesystem::is_fifo ( file_status  s)
noexcept

◆ is_other() [1/2]

GHC_INLINE bool ghc::filesystem::is_other ( const path p,
std::error_code &  ec 
)
noexcept

◆ is_other() [2/2]

GHC_INLINE bool ghc::filesystem::is_other ( file_status  s)
noexcept

◆ is_regular_file() [1/2]

GHC_INLINE bool ghc::filesystem::is_regular_file ( const path p,
std::error_code &  ec 
)
noexcept

◆ is_regular_file() [2/2]

GHC_INLINE bool ghc::filesystem::is_regular_file ( file_status  s)
noexcept

◆ is_socket() [1/2]

GHC_INLINE bool ghc::filesystem::is_socket ( const path p,
std::error_code &  ec 
)
noexcept

◆ is_socket() [2/2]

GHC_INLINE bool ghc::filesystem::is_socket ( file_status  s)
noexcept

◆ is_symlink() [1/2]

GHC_INLINE bool ghc::filesystem::is_symlink ( const path p,
std::error_code &  ec 
)
noexcept

◆ is_symlink() [2/2]

GHC_INLINE bool ghc::filesystem::is_symlink ( file_status  s)
noexcept

◆ last_write_time() [1/2]

GHC_INLINE void ghc::filesystem::last_write_time ( const path p,
file_time_type  new_time,
std::error_code &  ec 
)
noexcept

◆ last_write_time() [2/2]

GHC_INLINE file_time_type ghc::filesystem::last_write_time ( const path p,
std::error_code &  ec 
)
noexcept

◆ operator!=()

GHC_INLINE bool ghc::filesystem::operator!= ( const path lhs,
const path rhs 
)
noexcept

◆ operator&()

template<typename Enum >
constexpr detail::EnableBitmask< Enum > ghc::filesystem::operator& ( Enum  X,
Enum  Y 
)
constexpr

◆ operator&=()

template<typename Enum >
detail::EnableBitmask< Enum > & ghc::filesystem::operator&= ( Enum &  X,
Enum  Y 
)

◆ operator/()

GHC_INLINE path ghc::filesystem::operator/ ( const path lhs,
const path rhs 
)

◆ operator<()

GHC_INLINE bool ghc::filesystem::operator< ( const path lhs,
const path rhs 
)
noexcept

◆ operator<<()

template<class charT , class traits >
std::basic_ostream< charT, traits > & ghc::filesystem::operator<< ( std::basic_ostream< charT, traits > &  os,
const path p 
)
inline

◆ operator<=()

GHC_INLINE bool ghc::filesystem::operator<= ( const path lhs,
const path rhs 
)
noexcept

◆ operator==()

GHC_INLINE bool ghc::filesystem::operator== ( const path lhs,
const path rhs 
)
noexcept

◆ operator>()

GHC_INLINE bool ghc::filesystem::operator> ( const path lhs,
const path rhs 
)
noexcept

◆ operator>=()

GHC_INLINE bool ghc::filesystem::operator>= ( const path lhs,
const path rhs 
)
noexcept

◆ operator>>()

template<class charT , class traits >
std::basic_istream< charT, traits > & ghc::filesystem::operator>> ( std::basic_istream< charT, traits > &  is,
path p 
)
inline

◆ operator^()

template<typename Enum >
constexpr detail::EnableBitmask< Enum > ghc::filesystem::operator^ ( Enum  X,
Enum  Y 
)
constexpr

◆ operator^=()

template<typename Enum >
detail::EnableBitmask< Enum > & ghc::filesystem::operator^= ( Enum &  X,
Enum  Y 
)

◆ operator|()

template<typename Enum >
constexpr detail::EnableBitmask< Enum > ghc::filesystem::operator| ( Enum  X,
Enum  Y 
)
constexpr

◆ operator|=()

template<typename Enum >
detail::EnableBitmask< Enum > & ghc::filesystem::operator|= ( Enum &  X,
Enum  Y 
)

◆ operator~()

template<typename Enum >
constexpr detail::EnableBitmask< Enum > ghc::filesystem::operator~ ( Enum  X)
constexpr

◆ permissions() [1/2]

GHC_INLINE void ghc::filesystem::permissions ( const path p,
perms  prms,
perm_options  opts,
std::error_code &  ec 
)
noexcept

◆ permissions() [2/2]

GHC_INLINE void ghc::filesystem::permissions ( const path p,
perms  prms,
std::error_code &  ec 
)
noexcept

◆ proximate() [1/2]

GHC_INLINE path ghc::filesystem::proximate ( const path p,
const path base,
std::error_code &  ec 
)

◆ proximate() [2/2]

GHC_FS_API path ghc::filesystem::proximate ( const path p,
std::error_code &  ec 
)

◆ read_symlink()

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

◆ relative() [1/2]

GHC_INLINE path ghc::filesystem::relative ( const path p,
const path base,
std::error_code &  ec 
)

◆ relative() [2/2]

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

◆ remove()

GHC_INLINE bool ghc::filesystem::remove ( const path p,
std::error_code &  ec 
)
noexcept

◆ remove_all()

GHC_INLINE uintmax_t ghc::filesystem::remove_all ( const path p,
std::error_code &  ec 
)
noexcept

◆ rename()

GHC_INLINE void ghc::filesystem::rename ( const path from,
const path to,
std::error_code &  ec 
)
noexcept

◆ resize_file()

GHC_INLINE void ghc::filesystem::resize_file ( const path p,
uintmax_t  size,
std::error_code &  ec 
)
noexcept

◆ space()

GHC_INLINE space_info ghc::filesystem::space ( const path p,
std::error_code &  ec 
)
noexcept

◆ status()

GHC_INLINE file_status ghc::filesystem::status ( const path p,
std::error_code &  ec 
)
noexcept

◆ status_known()

GHC_INLINE bool ghc::filesystem::status_known ( file_status  s)
noexcept

◆ swap()

GHC_INLINE void ghc::filesystem::swap ( path lhs,
path rhs 
)
noexcept

◆ symlink_status()

GHC_INLINE file_status ghc::filesystem::symlink_status ( const path p,
std::error_code &  ec 
)
noexcept

◆ temp_directory_path()

GHC_INLINE path ghc::filesystem::temp_directory_path ( std::error_code &  ec)
noexcept

◆ u8path() [1/2]

template<class Source , typename = path::path_from_string<Source>>
path ghc::filesystem::u8path ( const Source &  source)
inline

◆ u8path() [2/2]

template<class InputIterator >
path ghc::filesystem::u8path ( InputIterator  first,
InputIterator  last 
)
inline

◆ weakly_canonical()

GHC_INLINE path ghc::filesystem::weakly_canonical ( const path p,
std::error_code &  ec 
)
noexcept