File indexing completed on 2026-05-03 08:13:47
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef _LIBCPP___FILESYSTEM_PERM_OPTIONS_H
0011 #define _LIBCPP___FILESYSTEM_PERM_OPTIONS_H
0012
0013 #include <__config>
0014
0015 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
0016 # pragma GCC system_header
0017 #endif
0018
0019 #if _LIBCPP_STD_VER >= 17
0020
0021 _LIBCPP_BEGIN_NAMESPACE_FILESYSTEM
0022
0023 enum class perm_options : unsigned char { replace = 1, add = 2, remove = 4, nofollow = 8 };
0024
0025 _LIBCPP_HIDE_FROM_ABI inline constexpr perm_options operator&(perm_options __lhs, perm_options __rhs) {
0026 return static_cast<perm_options>(static_cast<unsigned>(__lhs) & static_cast<unsigned>(__rhs));
0027 }
0028
0029 _LIBCPP_HIDE_FROM_ABI inline constexpr perm_options operator|(perm_options __lhs, perm_options __rhs) {
0030 return static_cast<perm_options>(static_cast<unsigned>(__lhs) | static_cast<unsigned>(__rhs));
0031 }
0032
0033 _LIBCPP_HIDE_FROM_ABI inline constexpr perm_options operator^(perm_options __lhs, perm_options __rhs) {
0034 return static_cast<perm_options>(static_cast<unsigned>(__lhs) ^ static_cast<unsigned>(__rhs));
0035 }
0036
0037 _LIBCPP_HIDE_FROM_ABI inline constexpr perm_options operator~(perm_options __lhs) {
0038 return static_cast<perm_options>(~static_cast<unsigned>(__lhs));
0039 }
0040
0041 _LIBCPP_HIDE_FROM_ABI inline perm_options& operator&=(perm_options& __lhs, perm_options __rhs) {
0042 return __lhs = __lhs & __rhs;
0043 }
0044
0045 _LIBCPP_HIDE_FROM_ABI inline perm_options& operator|=(perm_options& __lhs, perm_options __rhs) {
0046 return __lhs = __lhs | __rhs;
0047 }
0048
0049 _LIBCPP_HIDE_FROM_ABI inline perm_options& operator^=(perm_options& __lhs, perm_options __rhs) {
0050 return __lhs = __lhs ^ __rhs;
0051 }
0052
0053 _LIBCPP_END_NAMESPACE_FILESYSTEM
0054
0055 #endif
0056
0057 #endif