Functions | |
virtual std::vector< future<> > | boost::afio::dispatcher::dir (const std::vector< path_req > &reqs)=0 |
Schedule a batch of asynchronous directory creations and opens after optional preconditions. | |
template<class T > | |
future | boost::afio::async_dir (future<> _precondition, T _path, file_flags _flags=file_flags::none) |
Asynchronous directory creation and open after an optional precondition. | |
template<class T , typename = typename std::enable_if<detail::is_not_handle<T>::value>::type> | |
future | boost::afio::async_dir (T _path, file_flags _flags=file_flags::none) |
Asynchronous directory creation and open after an optional precondition. | |
template<class T > | |
handle_ptr | boost::afio::dir (future<> _precondition, T _path, file_flags _flags=file_flags::none) |
Synchronous directory creation and open after an optional precondition. | |
template<class T , typename = typename std::enable_if<detail::is_not_handle<T>::value>::type> | |
handle_ptr | boost::afio::dir (T _path, file_flags _flags=file_flags::none) |
Synchronous directory creation and open after an optional precondition. | |
template<class T > | |
handle_ptr | boost::afio::dir (error_code &_ec, future<> _precondition, T _path, file_flags _flags=file_flags::none) |
Synchronous directory creation and open after an optional precondition. | |
template<class T , typename = typename std::enable_if<detail::is_not_handle<T>::value>::type> | |
handle_ptr | boost::afio::dir (error_code &_ec, T _path, file_flags _flags=file_flags::none) |
Synchronous directory creation and open after an optional precondition. |
future boost::afio::dispatcher::dir | ( | const std::vector< path_req > & | reqs | ) | [pure virtual] |
Schedule a batch of asynchronous directory creations and opens after optional preconditions.
Note that if there is already a handle open to the directory requested, that will be returned instead of a new handle unless file_flags::unique_directory_handle is specified. For such handles where available_to_directory_cache() is true, they cannot be explicitly closed either, you must let the reference count reach zero for that to happen.
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_dir | ( | future<> | _precondition, |
T | _path, | ||
file_flags | _flags = file_flags::none |
||
) |
Asynchronous directory creation and open after an optional precondition.
class T | The type of path to be used. |
_precondition | The precondition to use. |
_path | The filing system path to be used. |
_flags | The flags to be used. |
{distinguish, relative} { [raceguarantee FreeBSD, Linux, OS X, Windows..Race free up to the containing directory.] } {Amortised O(1) to dispatch. Amortised O(1) to complete if directory creation is constant time.} {filedir_example}
future boost::afio::async_dir | ( | T | _path, |
file_flags | _flags = file_flags::none |
||
) |
Asynchronous directory creation and open after an optional precondition.
class T | The type of path to be used. |
_path | The filing system path to be used. |
_flags | The 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 directory creation is constant time.} {filedir_example}
handle_ptr boost::afio::dir | ( | future<> | _precondition, |
T | _path, | ||
file_flags | _flags = file_flags::none |
||
) |
Synchronous directory creation and open 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, OS X, Windows..Race free up to the containing directory.] } {Amortised O(1) to dispatch. Amortised O(1) to complete if directory creation is constant time.} {filedir_example}
handle_ptr boost::afio::dir | ( | T | _path, |
file_flags | _flags = file_flags::none |
||
) |
Synchronous directory creation and open 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 creation is constant time.} {filedir_example}
handle_ptr boost::afio::dir | ( | error_code & | _ec, |
future<> | _precondition, | ||
T | _path, | ||
file_flags | _flags = file_flags::none |
||
) |
Synchronous directory creation and open 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, OS X, Windows..Race free up to the containing directory.] } {Amortised O(1) to dispatch. Amortised O(1) to complete if directory creation is constant time.} {filedir_example}
handle_ptr boost::afio::dir | ( | error_code & | _ec, |
T | _path, | ||
file_flags | _flags = file_flags::none |
||
) |
Synchronous directory creation and open 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 creation is constant time.} {filedir_example}
January, 2014 |
Copyright © 2013-2014 Niall Douglas, Cork, Ireland Copyright © 2013 Paul Kirth, California |