std::experimental::filesystem::copy_symlink (3) - Linux Manuals

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

NAME

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

Synopsis


Defined in header <experimental/filesystem>
void copy_symlink( const path& from, const path& to); (1) (filesystem TS)
void copy_symlink( const path& from, const path& to, (2) (filesystem TS)
error_code& ec );


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 error_code& parameter throws filesystem_error on underlying OS API errors, constructed with from as the first argument, to as the second argument, and the OS error code as the error code argument. std::bad_alloc may be thrown if memory allocation fails. The overload taking a 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. This overload has
noexcept specification:
noexcept

See also


                         copies files or directories
copy (function)
                         copies file contents
copy_file (function)
                         creates a symbolic link
create_symlink (function)
create_directory_symlink
                         obtains the target of a symbolic link
read_symlink (function)