Where Online Learning is simpler!
The C and C++ Include Header Files
/usr/include/c++/11/bits/fs_fwd.h
$ cat -n /usr/include/c++/11/bits/fs_fwd.h 1 // Filesystem declarations -*- C++ -*- 2 3 // Copyright (C) 2014-2021 Free Software Foundation, Inc. 4 // 5 // This file is part of the GNU ISO C++ Library. This library is free 6 // software; you can redistribute it and/or modify it under the 7 // terms of the GNU General Public License as published by the 8 // Free Software Foundation; either version 3, or (at your option) 9 // any later version. 10 11 // This library is distributed in the hope that it will be useful, 12 // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 // GNU General Public License for more details. 15 16 // Under Section 7 of GPL version 3, you are granted additional 17 // permissions described in the GCC Runtime Library Exception, version 18 // 3.1, as published by the Free Software Foundation. 19 20 // You should have received a copy of the GNU General Public License and 21 // a copy of the GCC Runtime Library Exception along with this program; 22 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 23 //
. 24 25 /** @file include/bits/fs_fwd.h 26 * This is an internal header file, included by other library headers. 27 * Do not attempt to use it directly. @headername{filesystem} 28 */ 29 30 #ifndef _GLIBCXX_FS_FWD_H 31 #define _GLIBCXX_FS_FWD_H 1 32 33 #if __cplusplus >= 201703L 34 35 #include
36 #include
37 #include
38 39 namespace std _GLIBCXX_VISIBILITY(default) 40 { 41 _GLIBCXX_BEGIN_NAMESPACE_VERSION 42 43 /// ISO C++ 2017 namespace for File System library 44 namespace filesystem 45 { 46 #if _GLIBCXX_USE_CXX11_ABI 47 /// @cond undocumented 48 inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } 49 /// @endcond 50 #endif 51 52 /** @addtogroup filesystem 53 * @{ 54 */ 55 56 class file_status; 57 _GLIBCXX_BEGIN_NAMESPACE_CXX11 58 class path; 59 class filesystem_error; 60 class directory_entry; 61 class directory_iterator; 62 class recursive_directory_iterator; 63 _GLIBCXX_END_NAMESPACE_CXX11 64 65 /// Information about free space on a disk 66 struct space_info 67 { 68 uintmax_t capacity; 69 uintmax_t free; 70 uintmax_t available; 71 72 #if __cpp_impl_three_way_comparison >= 201907L 73 friend bool operator==(const space_info&, const space_info&) = default; 74 #endif 75 }; 76 77 /// Enumerated type representing the type of a file 78 enum class file_type : signed char { 79 none = 0, not_found = -1, regular = 1, directory = 2, symlink = 3, 80 block = 4, character = 5, fifo = 6, socket = 7, unknown = 8 81 }; 82 83 /// Bitmask type controlling effects of `filesystem::copy` 84 enum class copy_options : unsigned short { 85 none = 0, 86 skip_existing = 1, overwrite_existing = 2, update_existing = 4, 87 recursive = 8, 88 copy_symlinks = 16, skip_symlinks = 32, 89 directories_only = 64, create_symlinks = 128, create_hard_links = 256 90 }; 91 92 /// @{ 93 /// @relates copy_options 94 constexpr copy_options 95 operator&(copy_options __x, copy_options __y) noexcept 96 { 97 using __utype = typename std::underlying_type
::type; 98 return static_cast
( 99 static_cast<__utype>(__x) & static_cast<__utype>(__y)); 100 } 101 102 constexpr copy_options 103 operator|(copy_options __x, copy_options __y) noexcept 104 { 105 using __utype = typename std::underlying_type
::type; 106 return static_cast
( 107 static_cast<__utype>(__x) | static_cast<__utype>(__y)); 108 } 109 110 constexpr copy_options 111 operator^(copy_options __x, copy_options __y) noexcept 112 { 113 using __utype = typename std::underlying_type
::type; 114 return static_cast
( 115 static_cast<__utype>(__x) ^ static_cast<__utype>(__y)); 116 } 117 118 constexpr copy_options 119 operator~(copy_options __x) noexcept 120 { 121 using __utype = typename std::underlying_type
::type; 122 return static_cast
(~static_cast<__utype>(__x)); 123 } 124 125 inline copy_options& 126 operator&=(copy_options& __x, copy_options __y) noexcept 127 { return __x = __x & __y; } 128 129 inline copy_options& 130 operator|=(copy_options& __x, copy_options __y) noexcept 131 { return __x = __x | __y; } 132 133 inline copy_options& 134 operator^=(copy_options& __x, copy_options __y) noexcept 135 { return __x = __x ^ __y; } 136 /// @} 137 138 139 /// Bitmask type representing file access permissions 140 enum class perms : unsigned { 141 none = 0, 142 owner_read = 0400, 143 owner_write = 0200, 144 owner_exec = 0100, 145 owner_all = 0700, 146 group_read = 040, 147 group_write = 020, 148 group_exec = 010, 149 group_all = 070, 150 others_read = 04, 151 others_write = 02, 152 others_exec = 01, 153 others_all = 07, 154 all = 0777, 155 set_uid = 04000, 156 set_gid = 02000, 157 sticky_bit = 01000, 158 mask = 07777, 159 unknown = 0xFFFF, 160 }; 161 162 /// @{ 163 /// @relates perms 164 constexpr perms 165 operator&(perms __x, perms __y) noexcept 166 { 167 using __utype = typename std::underlying_type
::type; 168 return static_cast
( 169 static_cast<__utype>(__x) & static_cast<__utype>(__y)); 170 } 171 172 constexpr perms 173 operator|(perms __x, perms __y) noexcept 174 { 175 using __utype = typename std::underlying_type
::type; 176 return static_cast
( 177 static_cast<__utype>(__x) | static_cast<__utype>(__y)); 178 } 179 180 constexpr perms 181 operator^(perms __x, perms __y) noexcept 182 { 183 using __utype = typename std::underlying_type
::type; 184 return static_cast
( 185 static_cast<__utype>(__x) ^ static_cast<__utype>(__y)); 186 } 187 188 constexpr perms 189 operator~(perms __x) noexcept 190 { 191 using __utype = typename std::underlying_type
::type; 192 return static_cast
(~static_cast<__utype>(__x)); 193 } 194 195 inline perms& 196 operator&=(perms& __x, perms __y) noexcept 197 { return __x = __x & __y; } 198 199 inline perms& 200 operator|=(perms& __x, perms __y) noexcept 201 { return __x = __x | __y; } 202 203 inline perms& 204 operator^=(perms& __x, perms __y) noexcept 205 { return __x = __x ^ __y; } 206 /// @} 207 208 /// Bitmask type controlling changes to permissions 209 enum class perm_options : unsigned { 210 replace = 0x1, 211 add = 0x2, 212 remove = 0x4, 213 nofollow = 0x8 214 }; 215 216 /// @{ 217 /// @relates perm_options 218 constexpr perm_options 219 operator&(perm_options __x, perm_options __y) noexcept 220 { 221 using __utype = typename std::underlying_type
::type; 222 return static_cast
( 223 static_cast<__utype>(__x) & static_cast<__utype>(__y)); 224 } 225 226 constexpr perm_options 227 operator|(perm_options __x, perm_options __y) noexcept 228 { 229 using __utype = typename std::underlying_type
::type; 230 return static_cast
( 231 static_cast<__utype>(__x) | static_cast<__utype>(__y)); 232 } 233 234 constexpr perm_options 235 operator^(perm_options __x, perm_options __y) noexcept 236 { 237 using __utype = typename std::underlying_type
::type; 238 return static_cast
( 239 static_cast<__utype>(__x) ^ static_cast<__utype>(__y)); 240 } 241 242 constexpr perm_options 243 operator~(perm_options __x) noexcept 244 { 245 using __utype = typename std::underlying_type
::type; 246 return static_cast
(~static_cast<__utype>(__x)); 247 } 248 249 inline perm_options& 250 operator&=(perm_options& __x, perm_options __y) noexcept 251 { return __x = __x & __y; } 252 253 inline perm_options& 254 operator|=(perm_options& __x, perm_options __y) noexcept 255 { return __x = __x | __y; } 256 257 inline perm_options& 258 operator^=(perm_options& __x, perm_options __y) noexcept 259 { return __x = __x ^ __y; } 260 /// @} 261 262 /// Bitmask type controlling directory iteration 263 enum class directory_options : unsigned char { 264 none = 0, follow_directory_symlink = 1, skip_permission_denied = 2 265 }; 266 267 /// @{ 268 /// @relates directory_options 269 constexpr directory_options 270 operator&(directory_options __x, directory_options __y) noexcept 271 { 272 using __utype = typename std::underlying_type
::type; 273 return static_cast
( 274 static_cast<__utype>(__x) & static_cast<__utype>(__y)); 275 } 276 277 constexpr directory_options 278 operator|(directory_options __x, directory_options __y) noexcept 279 { 280 using __utype = typename std::underlying_type
::type; 281 return static_cast
( 282 static_cast<__utype>(__x) | static_cast<__utype>(__y)); 283 } 284 285 constexpr directory_options 286 operator^(directory_options __x, directory_options __y) noexcept 287 { 288 using __utype = typename std::underlying_type
::type; 289 return static_cast
( 290 static_cast<__utype>(__x) ^ static_cast<__utype>(__y)); 291 } 292 293 constexpr directory_options 294 operator~(directory_options __x) noexcept 295 { 296 using __utype = typename std::underlying_type
::type; 297 return static_cast
(~static_cast<__utype>(__x)); 298 } 299 300 inline directory_options& 301 operator&=(directory_options& __x, directory_options __y) noexcept 302 { return __x = __x & __y; } 303 304 inline directory_options& 305 operator|=(directory_options& __x, directory_options __y) noexcept 306 { return __x = __x | __y; } 307 308 inline directory_options& 309 operator^=(directory_options& __x, directory_options __y) noexcept 310 { return __x = __x ^ __y; } 311 /// @} 312 313 /// The type used for file timestamps 314 using file_time_type = __file_clock::time_point; 315 316 // operational functions 317 318 void copy(const path& __from, const path& __to, copy_options __options); 319 void copy(const path& __from, const path& __to, copy_options __options, 320 error_code&); 321 322 bool copy_file(const path& __from, const path& __to, copy_options __option); 323 bool copy_file(const path& __from, const path& __to, copy_options __option, 324 error_code&); 325 326 path current_path(); 327 328 bool exists(file_status) noexcept; 329 330 bool is_other(file_status) noexcept; 331 332 uintmax_t file_size(const path&); 333 uintmax_t file_size(const path&, error_code&) noexcept; 334 uintmax_t hard_link_count(const path&); 335 uintmax_t hard_link_count(const path&, error_code&) noexcept; 336 file_time_type last_write_time(const path&); 337 file_time_type last_write_time(const path&, error_code&) noexcept; 338 339 void permissions(const path&, perms, perm_options, error_code&) noexcept; 340 341 path proximate(const path& __p, const path& __base, error_code& __ec); 342 path proximate(const path& __p, const path& __base, error_code& __ec); 343 344 path relative(const path& __p, const path& __base, error_code& __ec); 345 346 file_status status(const path&); 347 file_status status(const path&, error_code&) noexcept; 348 349 bool status_known(file_status) noexcept; 350 351 file_status symlink_status(const path&); 352 file_status symlink_status(const path&, error_code&) noexcept; 353 354 bool is_regular_file(file_status) noexcept; 355 bool is_symlink(file_status) noexcept; 356 357 bool remove(const path&, error_code&) noexcept; 358 uintmax_t remove_all(const path&); 359 uintmax_t remove_all(const path&, error_code&); 360 361 /// @} 362 } // namespace filesystem 363 _GLIBCXX_END_NAMESPACE_VERSION 364 } // namespace std 365 #endif // C++17 366 #endif // _GLIBCXX_FS_FWD_H
Contact us
|
About us
|
Term of use
|
Copyright © 2000-2025 MyWebUniversity.com ™