cpp/experimental/fs/copy file

@1@ The default, equivalent to with  used as @2@ Copies a single file from  to, using the copy options indicated by. The behavior is undefined if there is more than one option in any of the option group present in  (even in the groups not relevant to )


 * If the destination file does not exist,
 * copies the contents and the attributes of the file to which resolves to the file to which  resolves (symlinks are followed)


 * Otherwise, if the destination file already exists...
 * If and  are the same as determined by, report an error
 * Otherwise, if none of the copy_file control options are set in, report an error
 * Otherwise, if is set in, do nothing
 * Otherwise, if is set in, copy the contents and the attributes of the file to which  resolves to the file to which  resolves
 * Otherwise, if is set in, only copy the file if  is newer than , as defined by

The non-throwing overloads return if an error occurs.

Return value
if the file was copied, otherwise.