std::experi...copy_options(3)
π NAME π
std::experimental::filesystem::copy_options β std::experimental::filesystem::copy_options.
Okay bestie, this is the std::experi...copy_options(3) page from the C++ Standard Libary manual β yes, that spelling is literally what's up there, we keep it π
.
β¨ 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 is literally the menu of 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 π
β οΈ Important, bestie: at most one copy option in each of the following options groups may be present, otherwise the behavior of the copy functions is undefined. So don't stack options within a group unless you enjoy chaos π.
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.create_symlinksβ128β Instead of creating copies of files, create symlinks 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 πΈ
The page says // Run this code and then gives you this little sandbox demo:
#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
Source: http://cppreference.com β page std::experi...copy_options(3) β date/version stamp 2024.06.10. Bye bestie, go make some iconic copies πβ¨π
π¦ where this page comes from
- nixpkgs unstable: stdman 2024.07.05
- opensuse-leap 16.0: stdman 2024.07.05-bp160.1.9 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms