std::filesystem::copy_symlink (3) - Linux Man Pages

std::filesystem::copy_symlink: std::filesystem::copy_symlink

NAME

std::filesystem::copy_symlink - std::filesystem::copy_symlink

Synopsis


Defined in header <filesystem>
void copy_symlink( const std::filesystem::path& from, (1) (since C++17)
const std::filesystem::path& to);
void copy_symlink( const std::filesystem::path& from,
const std::filesystem::path& to, (2) (since C++17)
std::error_code& ec ) noexcept;


Copies a symlink to another location.
1) Effectively calls f(read_symlink(from), to) where f is create_symlink or create_directory_symlink depending on whether from resolves to a file or directory.
2) Effectively calls f(read_symlink(from, ec), to, ec) where f is create_symlink or create_directory_symlink depending on whether from resolves to a file or directory.

Parameters


from - path to a symbolic link to copy
to - destination path of the new symlink
ec - out-parameter for error reporting in the non-throwing overload

Return value


(none)

Exceptions


The overload that does not take a std::error_code& parameter throws filesystem_error on underlying OS API errors, constructed with from as the first path argument, to as the second path argument, and the OS error code as the error code argument. The overload taking a std::error_code& parameter sets it to the OS API error code if an OS API call fails, and executes ec.clear() if no errors occur. Any overload not marked noexcept may throw std::bad_alloc if memory allocation fails.

See also


copy copies files or directories
                         (function)
(C++17)


copy_file copies file contents
                         (function)
(C++17)


create_symlink
create_directory_symlink creates a symbolic link
                         (function)
(C++17)
(C++17)


read_symlink obtains the target of a symbolic link
                         (function)
(C++17)