- Tumbleweed 2024.07.05-1.3
 - Leap-16.0
 - Leap-15.6
 
| std::experimental::filesystem::copy_options(3) | C++ Standard Libary | std::experimental::filesystem::copy_options(3) | 
NAME¶
std::experimental::filesystem::copy_options - std::experimental::filesystem::copy_options
Synopsis¶
 Defined in header <experimental/filesystem>
  
   enum class copy_options {
  
   none = 0,
  
   skip_existing = 1,
  
   overwrite_existing = 2,
  
   update_existing = 4,
  
   recursive = 8, (filesystem TS)
  
   copy_symlinks = 16,
  
   skip_symlinks = 32,
  
   directories_only = 64,
  
   create_symlinks = 128,
  
   create_hard_links = 256
  
   };
  
   This type represents available options that control the behavior of the
    copy() and
  
   copy_file() function.
  
   copy_options satisfies the requirements of BitmaskType (which means the
    bitwise
  
   operators operator&, operator|, operator^, operator~, operator&=,
    operator|=, and
  
   operator^= are defined for this type).
Member constants¶
 At most one copy option in each of the following options groups
    may be present,
  
   otherwise the behavior of the copy functions is undefined.
  
   Member constant Value Meaning
  
   options controlling copy_file() when the file already exists
  
   none 0 Report an error (default behavior).
  
   skip_existing 1 Keep the existing file, without reporting an error.
  
   overwrite_existing 2 Replace the existing file.
  
   update_existing 4 Replace the existing file only if it is older than the file
  
   being copied.
  
   options controlling the effects of copy() on subdirectories
  
   none 0 Skip subdirectories (default behavior).
  
   recursive 8 Recursively copy subdirectories and their content.
  
   options controlling the effects of copy() on symbolic links
  
   none 0 Follow symlinks (default behavior).
  
   copy_symlinks 16 Copy symlinks as symlinks, not as the files they point to.
  
   skip_symlinks 32 Ignore symlinks.
  
   options controlling the kind of copying copy() does
  
   none 0 Copy file content (default behavior).
  
   directories_only 64 Copy the directory structure, but do not copy any
  
   non-directory files.
  
   Instead of creating copies of files, create symlinks
  
   create_symlinks 128 pointing to the originals. Note: the source path must be
    an
  
   absolute path unless the destination path is in the current
  
   directory.
  
   create_hard_links 256 Instead of creating copies of files, create hardlinks
    that
  
   resolve to the same files as the originals.
Example¶
// Run this code
  
   #include <experimental/filesystem>
  
   #include <fstream>
  
   #include <iostream>
  
   namespace fs = std::experimental::filesystem;
  
   int main()
  
   {
  
   fs::create_directories("sandbox/dir/subdir");
  
   std::ofstream("sandbox/file1.txt").put('a');
  
   fs::copy("sandbox/file1.txt", "sandbox/file2.txt"); //
    copy file
  
   fs::copy("sandbox/dir", "sandbox/dir2"); // copy
    directory (non-recursive)
  
   // sandbox holds 2 files and 2 directories, one of which has a subdirectory
  
   // sandbox/file1.txt
  
   // sandbox/file2.txt
  
   // sandbox/dir2
  
   // sandbox/dir
  
   // sandbox/dir/subdir
  
   fs::copy("sandbox", "sandbox/copy",
    fs::copy_options::recursive);
  
   // sandbox/copy holds copies of the above files and subdirectories
  
   fs::remove_all("sandbox");
  
   }
See also¶
 copy copies files or directories
  
   (function)
  
   copy_file copies file contents
  
   (function)
Category:¶
* Noindexed pages
| 2024.06.10 | http://cppreference.com |