GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::filesystem::copy_options(3) C++ Standard Libary std::filesystem::copy_options(3)

std::filesystem::copy_options - std::filesystem::copy_options


Defined in header <filesystem>
enum class copy_options {


none = /* unspecified */,
skip_existing = /* unspecified */,
overwrite_existing = /* unspecified */,
update_existing = /* unspecified */,
recursive = /* unspecified */, (since C++17)
copy_symlinks = /* unspecified */,
skip_symlinks = /* unspecified */,
directories_only = /* unspecified */,
create_symlinks = /* unspecified */,
create_hard_links = /* unspecified */


};


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). none represents the empty bitmask; every
other enumerator represents a distinct bitmask element.


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 Meaning
options controlling copy_file() when the file already exists
none Report an error (default behavior)
skip_existing Keep the existing file, without reporting an error.
overwrite_existing Replace the existing file
update_existing Replace the existing file only if it is older than the file being
copied
options controlling the effects of copy() on subdirectories
none Skip subdirectories (default behavior)
recursive Recursively copy subdirectories and their content
options controlling the effects of copy() on symbolic links
none Follow symlinks (default behavior)
copy_symlinks Copy symlinks as symlinks, not as the files they point to
skip_symlinks Ignore symlinks
options controlling the kind of copying copy() does
none Copy file content (default behavior)
directories_only Copy the directory structure, but do not copy any non-directory
files
Instead of creating copies of files, create symlinks pointing to
create_symlinks the originals. Note: the source path must be an absolute path
unless the destination path is in the current directory.
create_hard_links Instead of creating copies of files, create hardlinks that
resolve to the same files as the originals

// Run this code


#include <cstdlib>
#include <iostream>
#include <fstream>
#include <filesystem>
namespace fs = std::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)
const auto copyOptions = fs::copy_options::update_existing
| fs::copy_options::recursive
| fs::copy_options::directories_only
;
fs::copy("sandbox", "sandbox_copy", copyOptions);
static_cast<void>(std::system("tree"));
fs::remove_all("sandbox");
fs::remove_all("sandbox_copy");
}


.
├── sandbox
│ ├── dir
│ │ └── subdir
│ ├── dir2
│ ├── file1.txt
│ └── file2.txt
└── sandbox_copy
├── dir
│ └── subdir
└── dir2


8 directories, 2 files


copy copies files or directories
(C++17) (function)
copy_file copies file contents
(C++17) (function)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.