Functions | |
virtual std::vector< future<> > | boost::afio::dispatcher::rmdir (const std::vector< path_req > &reqs)=0 |
Schedule a batch of asynchronous directory deletions after optional preconditions. | |
template<class T = path> | |
future | boost::afio::async_rmdir (future<> _precondition, T _path=path(), file_flags _flags=file_flags::none) |
Asynchronous directory deletion after an optional precondition. | |
template<class T , typename = typename std::enable_if<detail::is_not_handle<T>::value>::type> | |
future | boost::afio::async_rmdir (T _path, file_flags _flags=file_flags::none) |
Asynchronous directory deletion after an optional precondition. | |
template<class T = path> | |
void | boost::afio::rmdir (future<> _precondition, T _path=path(), file_flags _flags=file_flags::none) |
Synchronous directory deletion after an optional precondition. | |
template<class T , typename = typename std::enable_if<detail::is_not_handle<T>::value>::type> | |
void | boost::afio::rmdir (T _path, file_flags _flags=file_flags::none) |
Synchronous directory deletion after an optional precondition. | |
template<class T = path> | |
void | boost::afio::rmdir (error_code &_ec, future<> _precondition, T _path=path(), file_flags _flags=file_flags::none) |
Synchronous directory deletion after an optional precondition. | |
template<class T , typename = typename std::enable_if<detail::is_not_handle<T>::value>::type> | |
void | boost::afio::rmdir (error_code &_ec, T _path, file_flags _flags=file_flags::none) |
Synchronous directory deletion after an optional precondition. |
future boost::afio::dispatcher::rmdir | ( | const std::vector< path_req > & | reqs | ) | [pure virtual] |
Schedule a batch of asynchronous directory 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__` Be aware that on Windows AFIO operates exclusively in the NT kernel namespace, NOT the Win32 namespace, and therefore paths you supply are converted by `afio::path` in NT kernel namespace paths. `normalise_path()` can convert an afio path back to a Filesystem TS path for you, but note that this may not be the path that was supplied originally. NT kernel namespace paths have a 32,767 character limit and an almost POSIX like lack of restrictions on naming or historical behaviour quirks, but as a result AFIO does not support DOS short names or any of the other historical Win32 filing system baggage.
reqs | A batch of `path_req` structures. |
future boost::afio::async_rmdir | ( | future<> | _precondition, |
T | _path = path() , |
||
file_flags | _flags = file_flags::none |
||
) |
Asynchronous directory deletion after an optional precondition.
class T | The type of path to use. |
_precondition | The precondition to use. |
_path | The filing system path to use. |
_flags | The flags to use. |
{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 directory deletion is constant time.} {filedir_example}
future boost::afio::async_rmdir | ( | T | _path, |
file_flags | _flags = file_flags::none |
||
) |
Asynchronous directory deletion after an optional precondition.
class T | The type of path to use. |
_path | The filing system path to use. |
_flags | The flags to use. |
{distinguish, absolute} { [raceguarantee FreeBSD, Linux, OS X, Windows..No guarantees.] } {Amortised O(1) to dispatch. Amortised O(1) to complete if directory deletion is constant time.} {filedir_example}
void boost::afio::rmdir | ( | future<> | _precondition, |
T | _path = path() , |
||
file_flags | _flags = file_flags::none |
||
) |
Synchronous directory deletion after an optional precondition.
class T | The type of path to use. |
_precondition | The precondition to use. |
_path | The filing system path to use. |
_flags | The flags to use. |
{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 directory deletion is constant time.} {filedir_example}
void boost::afio::rmdir | ( | T | _path, |
file_flags | _flags = file_flags::none |
||
) |
Synchronous directory deletion after an optional precondition.
class T | The type of path to use. |
_path | The filing system path to use. |
_flags | The flags to use. |
{distinguish, absolute throwing} { [raceguarantee FreeBSD, Linux, OS X, Windows..No guarantees.] } {Amortised O(1) to dispatch. Amortised O(1) to complete if directory deletion is constant time.} {filedir_example}
void boost::afio::rmdir | ( | error_code & | _ec, |
future<> | _precondition, | ||
T | _path = path() , |
||
file_flags | _flags = file_flags::none |
||
) |
Synchronous directory deletion after an optional precondition.
class T | The type of path to use. |
_ec | Error code to set. |
_precondition | The precondition to use. |
_path | The filing system path to use. |
_flags | The flags to use. |
{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 directory deletion is constant time.} {filedir_example}
void boost::afio::rmdir | ( | error_code & | _ec, |
T | _path, | ||
file_flags | _flags = file_flags::none |
||
) |
Synchronous directory deletion after an optional precondition.
class T | The type of path to use. |
_ec | Error code to set. |
_path | The filing system path to use. |
_flags | The flags to use. |
{distinguish, absolute non throwing} { [raceguarantee FreeBSD, Linux, OS X, Windows..No guarantees.] } {Amortised O(1) to dispatch. Amortised O(1) to complete if directory deletion is constant time.} {filedir_example}
January, 2014 |
Copyright © 2013-2014 Niall Douglas, Cork, Ireland Copyright © 2013 Paul Kirth, California |