Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

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

NAME
       std::experimental::filesystem::copy_options	-      std::experimen-
       tal::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 subdirecto-
       ries
	  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

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

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::experimental::filesystem::copy_options&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help