Boost.AFIO    Boost C++ Libraries
Functions
Deleting Symlinks

Functions

virtual std::vector< future<> > boost::afio::dispatcher::rmsymlink (const std::vector< path_req > &reqs)=0
 Schedule a batch of asynchronous symlink deletions after optional preconditions.
template<class T = path>
future boost::afio::async_rmsymlink (future<> _precondition, T _path=path(), file_flags _flags=file_flags::none)
 Asynchronous symlink deletion after an optional precondition.
template<class T , typename = typename std::enable_if<detail::is_not_handle<T>::value>::type>
future boost::afio::async_rmsymlink (T _path, file_flags _flags=file_flags::none)
 Asynchronous symlink deletion after an optional precondition.
template<class T = path>
void boost::afio::rmsymlink (future<> _precondition, T _path=path(), file_flags _flags=file_flags::none)
 Synchronous symlink deletion after an optional precondition.
template<class T , typename = typename std::enable_if<detail::is_not_handle<T>::value>::type>
void boost::afio::rmsymlink (T _path, file_flags _flags=file_flags::none)
 Synchronous symlink deletion after an optional precondition.
template<class T = path>
void boost::afio::rmsymlink (error_code &_ec, future<> _precondition, T _path=path(), file_flags _flags=file_flags::none)
 Synchronous symlink deletion after an optional precondition.
template<class T , typename = typename std::enable_if<detail::is_not_handle<T>::value>::type>
void boost::afio::rmsymlink (error_code &_ec, T _path, file_flags _flags=file_flags::none)
 Synchronous symlink deletion after an optional precondition.

Function Documentation

future boost::afio::dispatcher::rmsymlink ( const std::vector< path_req > &  reqs) [pure virtual]

Schedule a batch of asynchronous symlink deletions after optional preconditions.

Make sure you read the docs for `__afio_handle__::unlink()` for important caveats.

Note that on operating systems with an unstable `__afio_handle__::path(true)` you need to be cautious of deleting files by handle as any hard link to that file may be deleted instead of the one you intended. To work around this, portable code should delete by directory handle as the precondition and known leafname.

Related types: `__afio_path_req__`

Returns:
A batch of op handles.
Parameters:
reqsA batch of `path_req` structures.
{ [raceguarantee FreeBSD, Linux..Race free up to the containing directory.] [raceguarantee Windows..Race free if handle open, else up to the containing directory.] [raceguarantee OS X..No guarantees.] }

Definition at line 3645 of file afio.hpp.

template<class T = path>
future boost::afio::async_rmsymlink ( future<>  _precondition,
_path = path(),
file_flags  _flags = file_flags::none 
)

Asynchronous symlink deletion after an optional precondition.

Template Parameters:
class TThe type of path to be used.
Returns:
A future<void>
Parameters:
_preconditionThe precondition to use.
_pathThe filing system path to be used.
_flagsThe flags to be used.

{distinguish, relative} { [raceguarantee FreeBSD, Linux..Race free up to the containing directory.] [raceguarantee Windows..Race free if handle open, else up to the containing directory.] [raceguarantee OS X..No guarantees.] } {Amortised O(1) to dispatch. Amortised O(1) to complete if symlink deletion is constant time.} {filedir_example}

Definition at line 4746 of file afio.hpp.

template<class T , typename = typename std::enable_if<detail::is_not_handle<T>::value>::type>
future boost::afio::async_rmsymlink ( _path,
file_flags  _flags = file_flags::none 
)

Asynchronous symlink deletion after an optional precondition.

Template Parameters:
class TThe type of path to be used.
Returns:
A future<void>
Parameters:
_pathThe filing system path to be used.
_flagsThe flags to be used.

{distinguish, absolute} { [raceguarantee FreeBSD, Linux, OS X, Windows..No guarantees.] } {Amortised O(1) to dispatch. Amortised O(1) to complete if symlink deletion is constant time.} {filedir_example}

Definition at line 4768 of file afio.hpp.

template<class T = path>
void boost::afio::rmsymlink ( future<>  _precondition,
_path = path(),
file_flags  _flags = file_flags::none 
)

Synchronous symlink deletion after an optional precondition.

Template Parameters:
class TThe type of path to be used.
Parameters:
_preconditionThe precondition to use.
_pathThe filing system path to be used.
_flagsThe flags to be used.

{distinguish, relative throwing} { [raceguarantee FreeBSD, Linux..Race free up to the containing directory.] [raceguarantee Windows..Race free if handle open, else up to the containing directory.] [raceguarantee OS X..No guarantees.] } {Amortised O(1) to dispatch. Amortised O(1) to complete if symlink deletion is constant time.} {filedir_example}

Definition at line 4792 of file afio.hpp.

template<class T , typename = typename std::enable_if<detail::is_not_handle<T>::value>::type>
void boost::afio::rmsymlink ( _path,
file_flags  _flags = file_flags::none 
)

Synchronous symlink deletion after an optional precondition.

Template Parameters:
class TThe type of path to be used.
Parameters:
_pathThe filing system path to be used.
_flagsThe flags to be used.

{distinguish, absolute throwing} { [raceguarantee FreeBSD, Linux, OS X, Windows..No guarantees.] } {Amortised O(1) to dispatch. Amortised O(1) to complete if symlink deletion is constant time.} {filedir_example}

Definition at line 4813 of file afio.hpp.

template<class T = path>
void boost::afio::rmsymlink ( error_code &  _ec,
future<>  _precondition,
_path = path(),
file_flags  _flags = file_flags::none 
)

Synchronous symlink deletion after an optional precondition.

Template Parameters:
class TThe type of path to be used.
Parameters:
_ecError code to set.
_preconditionThe precondition to use.
_pathThe filing system path to be used.
_flagsThe flags to be used.

{distinguish, relative non throwing} { [raceguarantee FreeBSD, Linux..Race free up to the containing directory.] [raceguarantee Windows..Race free if handle open, else up to the containing directory.] [raceguarantee OS X..No guarantees.] } {Amortised O(1) to dispatch. Amortised O(1) to complete if symlink deletion is constant time.} {filedir_example}

Definition at line 4838 of file afio.hpp.

template<class T , typename = typename std::enable_if<detail::is_not_handle<T>::value>::type>
void boost::afio::rmsymlink ( error_code &  _ec,
_path,
file_flags  _flags = file_flags::none 
)

Synchronous symlink deletion after an optional precondition.

Template Parameters:
class TThe type of path to be used.
Parameters:
_ecError code to set.
_pathThe filing system path to be used.
_flagsThe flags to be used.

{distinguish, absolute non throwing} { [raceguarantee FreeBSD, Linux, OS X, Windows..No guarantees.] } {Amortised O(1) to dispatch. Amortised O(1) to complete if symlink deletion is constant time.} {filedir_example}

Definition at line 4860 of file afio.hpp.


January, 2014

Copyright © 2013-2014 Niall Douglas, Cork, Ireland
Copyright © 2013 Paul Kirth, California
Documentation is generated by Doxygen