home | help
std::experi...copy_options(3)  C++ Standard Libary std::experi...copy_options(3)

NAME
     std::experimental::filesystem::copy_options  -  std::experimental::filesys-
     tem::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&=, opera-
     tor|=, 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 con-
     tent.
		    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-recur-
     sive)
	  //  sandbox holds 2 files and 2 directories, one of which has a subdi-
     rectory
	  // 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

http://cppreference.com 	   2024.06.10	   std::experi...copy_options(3)

home | help