30 #ifndef _GLIBCXX_EXPERIMENTAL_FS_FWD_H 31 #define _GLIBCXX_EXPERIMENTAL_FS_FWD_H 1 33 #if __cplusplus < 201103L 41 namespace std _GLIBCXX_VISIBILITY(default)
43 namespace experimental
49 #if _GLIBCXX_INLINE_VERSION 50 inline namespace __7 { }
52 _GLIBCXX_BEGIN_NAMESPACE_VERSION
54 #if _GLIBCXX_USE_CXX11_ABI 55 inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
69 _GLIBCXX_BEGIN_NAMESPACE_CXX11
71 class filesystem_error;
72 class directory_entry;
73 class directory_iterator;
74 class recursive_directory_iterator;
75 _GLIBCXX_END_NAMESPACE_CXX11
84 enum class file_type : signed char {
85 none = 0, not_found = -1, regular = 1, directory = 2, symlink = 3,
86 block = 4, character = 5, fifo = 6, socket = 7, unknown = 8
92 skip_existing = 1, overwrite_existing = 2, update_existing = 4,
94 copy_symlinks = 16, skip_symlinks = 32,
95 directories_only = 64, create_symlinks = 128, create_hard_links = 256
101 using __utype =
typename std::underlying_type<copy_options>::type;
103 static_cast<__utype
>(__x) & static_cast<__utype>(__y));
109 using __utype =
typename std::underlying_type<copy_options>::type;
111 static_cast<__utype
>(__x) | static_cast<__utype>(__y));
117 using __utype =
typename std::underlying_type<copy_options>::type;
119 static_cast<__utype
>(__x) ^ static_cast<__utype>(__y));
125 using __utype =
typename std::underlying_type<copy_options>::type;
126 return static_cast<copy_options>(~static_cast<__utype>(__x));
131 {
return __x = __x & __y; }
135 {
return __x = __x | __y; }
139 {
return __x = __x ^ __y; }
164 remove_perms = 0x20000,
165 symlink_nofollow = 0x40000
171 using __utype =
typename std::underlying_type<perms>::type;
172 return static_cast<perms>(
173 static_cast<__utype
>(__x) & static_cast<__utype>(__y));
179 using __utype =
typename std::underlying_type<perms>::type;
180 return static_cast<perms>(
181 static_cast<__utype
>(__x) | static_cast<__utype>(__y));
187 using __utype =
typename std::underlying_type<perms>::type;
188 return static_cast<perms>(
189 static_cast<__utype
>(__x) ^ static_cast<__utype>(__y));
193 operator~(
perms __x) noexcept
195 using __utype =
typename std::underlying_type<perms>::type;
196 return static_cast<perms>(~static_cast<__utype>(__x));
201 {
return __x = __x & __y; }
205 {
return __x = __x | __y; }
209 {
return __x = __x ^ __y; }
212 enum class directory_options : unsigned char {
213 none = 0, follow_directory_symlink = 1, skip_permission_denied = 2
216 constexpr directory_options
217 operator&(directory_options __x, directory_options __y) noexcept
219 using __utype =
typename std::underlying_type<directory_options>::type;
220 return static_cast<directory_options
>(
221 static_cast<__utype
>(__x) & static_cast<__utype>(__y));
224 constexpr directory_options
225 operator|(directory_options __x, directory_options __y) noexcept
227 using __utype =
typename std::underlying_type<directory_options>::type;
228 return static_cast<directory_options
>(
229 static_cast<__utype
>(__x) | static_cast<__utype>(__y));
232 constexpr directory_options
233 operator^(directory_options __x, directory_options __y) noexcept
235 using __utype =
typename std::underlying_type<directory_options>::type;
236 return static_cast<directory_options
>(
237 static_cast<__utype
>(__x) ^ static_cast<__utype>(__y));
240 constexpr directory_options
241 operator~(directory_options __x) noexcept
243 using __utype =
typename std::underlying_type<directory_options>::type;
244 return static_cast<directory_options
>(~static_cast<__utype>(__x));
247 inline directory_options&
248 operator&=(directory_options& __x, directory_options __y) noexcept
249 {
return __x = __x & __y; }
251 inline directory_options&
252 operator|=(directory_options& __x, directory_options __y) noexcept
253 {
return __x = __x | __y; }
255 inline directory_options&
256 operator^=(directory_options& __x, directory_options __y) noexcept
257 {
return __x = __x ^ __y; }
259 using file_time_type = std::chrono::system_clock::time_point;
273 file_status status(
const path&);
276 bool status_known(file_status) noexcept;
278 file_status symlink_status(
const path&);
281 bool is_regular_file(file_status) noexcept;
282 bool is_symlink(file_status) noexcept;
285 _GLIBCXX_END_NAMESPACE_VERSION
293 #endif // _GLIBCXX_EXPERIMENTAL_FS_FWD_H
bitset< _Nb > operator^(const bitset< _Nb > &__x, const bitset< _Nb > &__y) noexcept
Global bitwise operations on bitsets.
ISO C++ entities toplevel namespace is std.
copy_options
Bitmask type.
bitset< _Nb > operator|(const bitset< _Nb > &__x, const bitset< _Nb > &__y) noexcept
Global bitwise operations on bitsets.
bitset< _Nb > operator&(const bitset< _Nb > &__x, const bitset< _Nb > &__y) noexcept
Global bitwise operations on bitsets.