File indexing completed on 2026-05-03 08:13:27
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef _LIBCPP___CXX03___FILESYSTEM_COPY_OPTIONS_H
0011 #define _LIBCPP___CXX03___FILESYSTEM_COPY_OPTIONS_H
0012
0013 #include <__cxx03/__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 copy_options : unsigned short {
0024 none = 0,
0025 skip_existing = 1,
0026 overwrite_existing = 2,
0027 update_existing = 4,
0028 recursive = 8,
0029 copy_symlinks = 16,
0030 skip_symlinks = 32,
0031 directories_only = 64,
0032 create_symlinks = 128,
0033 create_hard_links = 256,
0034 __in_recursive_copy = 512,
0035 };
0036
0037 _LIBCPP_HIDE_FROM_ABI inline constexpr copy_options operator&(copy_options __lhs, copy_options __rhs) {
0038 return static_cast<copy_options>(static_cast<unsigned short>(__lhs) & static_cast<unsigned short>(__rhs));
0039 }
0040
0041 _LIBCPP_HIDE_FROM_ABI inline constexpr copy_options operator|(copy_options __lhs, copy_options __rhs) {
0042 return static_cast<copy_options>(static_cast<unsigned short>(__lhs) | static_cast<unsigned short>(__rhs));
0043 }
0044
0045 _LIBCPP_HIDE_FROM_ABI inline constexpr copy_options operator^(copy_options __lhs, copy_options __rhs) {
0046 return static_cast<copy_options>(static_cast<unsigned short>(__lhs) ^ static_cast<unsigned short>(__rhs));
0047 }
0048
0049 _LIBCPP_HIDE_FROM_ABI inline constexpr copy_options operator~(copy_options __lhs) {
0050 return static_cast<copy_options>(~static_cast<unsigned short>(__lhs));
0051 }
0052
0053 _LIBCPP_HIDE_FROM_ABI inline copy_options& operator&=(copy_options& __lhs, copy_options __rhs) {
0054 return __lhs = __lhs & __rhs;
0055 }
0056
0057 _LIBCPP_HIDE_FROM_ABI inline copy_options& operator|=(copy_options& __lhs, copy_options __rhs) {
0058 return __lhs = __lhs | __rhs;
0059 }
0060
0061 _LIBCPP_HIDE_FROM_ABI inline copy_options& operator^=(copy_options& __lhs, copy_options __rhs) {
0062 return __lhs = __lhs ^ __rhs;
0063 }
0064
0065 _LIBCPP_END_NAMESPACE_FILESYSTEM
0066
0067 #endif
0068
0069 #endif