Boost.AFIO    Boost C++ Libraries
Functions
Opening/Creating Directories

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.

Function Documentation

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.

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

Definition at line 3606 of file afio.hpp.

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

Asynchronous directory creation and open 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, 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}

Definition at line 4037 of file afio.hpp.

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

Asynchronous directory creation and open 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 directory creation is constant time.} {filedir_example}

Definition at line 4059 of file afio.hpp.

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

Synchronous directory creation and open after an optional precondition.

Template Parameters:
class TThe type of path to use.
Returns:
A handle to the directory.
Parameters:
_preconditionThe precondition to use.
_pathThe filing system path to use.
_flagsThe 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}

Definition at line 4082 of file afio.hpp.

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

Synchronous directory creation and open after an optional precondition.

Template Parameters:
class TThe type of path to use.
Returns:
A handle to the directory.
Parameters:
_pathThe filing system path to use.
_flagsThe 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}

Definition at line 4104 of file afio.hpp.

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

Synchronous directory creation and open after an optional precondition.

Template Parameters:
class TThe type of path to use.
Returns:
A handle to the directory.
Parameters:
_ecError code to set.
_preconditionThe precondition to use.
_pathThe filing system path to use.
_flagsThe 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}

Definition at line 4128 of file afio.hpp.

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

Synchronous directory creation and open after an optional precondition.

Template Parameters:
class TThe type of path to use.
Returns:
A handle to the directory.
Parameters:
_ecError code to set.
_pathThe filing system path to use.
_flagsThe 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}

Definition at line 4151 of file afio.hpp.


January, 2014

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