27 Input/output library [input.output]

27.10 File systems [filesystems]

27.10.10 Enumerations [fs.enum]

27.10.10.2 Enum class copy_options [enum.copy_options]

The enum class type copy_options is a bitmask type ([bitmask.types]) that specifies bitmask constants used to control the semantics of copy operations. The constants are specified in option groups with the meanings listed in Table [tab:enum.copy_options]. Constant none is shown in each option group for purposes of exposition; implementations shall provide only a single definition. Calling a library function with more than a single constant for an option group results in undefined behavior.

Table 123 — Enum class copy_options
Option group controlling copy_file function effects for existing target files
ConstantMeaning
none (Default) Error; file already exists.
skip_existing Do not overwrite existing file, do not report an error.
overwrite_existing Overwrite the existing file.
update_existing Overwrite the existing file if it is older than the replacement file.
Option group controlling copy function effects for sub-directories
ConstantMeaning
none (Default) Do not copy sub-directories.
recursive Recursively copy sub-directories and their contents.
Option group controlling copy function effects for symbolic links
ConstantMeaning
none (Default) Follow symbolic links.
copy_symlinks Copy symbolic links as symbolic links rather than copying the files that they point to.
skip_symlinks Ignore symbolic links.
Option group controlling copy function effects for choosing the form of copying
ConstantMeaning
none (Default) Copy content.
directories_only Copy directory structure only, do not copy non-directory files.
create_symlinks Make symbolic links instead of copies of files. The source path shall be an absolute path unless the destination path is in the current directory.
create_hard_links Make hard links instead of copies of files.