Boost.AFIO    Boost C++ Libraries
Public Types | Public Member Functions | Public Attributes
boost::afio::enumerate_req Struct Reference

A convenience bundle of precondition, number of items to enumerate, item pattern match and metadata to prefetch. More...

List of all members.

Public Types

enum  filter { none, fastdeleted }

Public Member Functions

 enumerate_req (future<> _precondition, size_t _maxitems=2, bool _restart=true, path _glob=path(), metadata_flags _metadata=metadata_flags::None, filter _filtering=filter::fastdeleted)
 Constructs an instance.
 enumerate_req (future<> _precondition, path _glob, size_t _maxitems=2, bool _restart=true, metadata_flags _metadata=metadata_flags::None, filter _filtering=filter::fastdeleted)
 Constructs an instance.
 enumerate_req (future<> _precondition, metadata_flags _metadata, size_t _maxitems=2, bool _restart=true, path _glob=path(), filter _filtering=filter::fastdeleted)
 Constructs an instance.
bool validate () const
 Validates contents.

Public Attributes

future precondition
 A precondition for this operation.
size_t maxitems
 The maximum number of items to return in this request. Note that setting to one will often invoke two syscalls.
bool restart
 Restarts the enumeration for this open directory handle.
path glob
 An optional shell glob by which to filter the items returned. Done kernel side on Windows, user side on POSIX.
metadata_flags metadata
 The metadata to prefetch for each item enumerated. AFIO may fetch more metadata than requested if it is cost free. How to do deleted file elimination on Windows.
filter filtering
 Any filtering you want AFIO to do for you. .

Detailed Description

A convenience bundle of precondition, number of items to enumerate, item pattern match and metadata to prefetch.

You should note that shell globs must use a restricted form for portability:

Microsoft Windows NT oddly does not specify what wildcards are permitted, but I think the documentation for the kernel function FsRtlIsNameInExpression() is probably sound: * means zero or more characters, ? means any one character. Do not use <, > or " as these have special MS-DOS compatibility inducing consequences. Do not use ^ as this is the Windows wildcard escape character.

POSIX further extends NT's wildcards with \[seq\] which is a subset of characters and \[!seq\] which is not any subset of characters. Here a \ is the wildcard escape character.

Definition at line 3420 of file afio.hpp.


Member Enumeration Documentation

Enumerator:
none 

Do no filtering at all.

fastdeleted 

Filter out AFIO deleted files based on their filename (fast and fairly reliable)

Definition at line 3428 of file afio.hpp.


Constructor & Destructor Documentation

boost::afio::enumerate_req::enumerate_req ( future<>  _precondition,
size_t  _maxitems = 2,
bool  _restart = true,
path  _glob = path(),
metadata_flags  _metadata = metadata_flags::None,
filter  _filtering = filter::fastdeleted 
)

Constructs an instance.

Parameters:
_preconditionThe precondition for this operation.
_maxitemsThe maximum number of items to return in this request. Note that setting to one will often invoke two syscalls.
_restartRestarts the enumeration for this open directory handle.
_globAn optional shell glob by which to filter the items returned. Done kernel side on Windows, user side on POSIX.
_metadataThe metadata to prefetch for each item enumerated. AFIO may fetch more metadata than requested if it is cost free.
_filteringAny filtering you want AFIO to do for you.

Definition at line 3445 of file afio.hpp.

boost::afio::enumerate_req::enumerate_req ( future<>  _precondition,
path  _glob,
size_t  _maxitems = 2,
bool  _restart = true,
metadata_flags  _metadata = metadata_flags::None,
filter  _filtering = filter::fastdeleted 
)

Constructs an instance.

Parameters:
_preconditionThe precondition for this operation.
_globA shell glob by which to filter the items returned. Done kernel side on Windows, user side on POSIX.
_maxitemsThe maximum number of items to return in this request. Note that setting to one will often invoke two syscalls.
_restartRestarts the enumeration for this open directory handle.
_metadataThe metadata to prefetch for each item enumerated. AFIO may fetch more metadata than requested if it is cost free.
_filteringAny filtering you want AFIO to do for you.

Definition at line 3455 of file afio.hpp.

boost::afio::enumerate_req::enumerate_req ( future<>  _precondition,
metadata_flags  _metadata,
size_t  _maxitems = 2,
bool  _restart = true,
path  _glob = path(),
filter  _filtering = filter::fastdeleted 
)

Constructs an instance.

Parameters:
_preconditionThe precondition for this operation.
_metadataThe metadata to prefetch for each item enumerated. AFIO may fetch more metadata than requested if it is cost free.
_maxitemsThe maximum number of items to return in this request. Note that setting to one will often invoke two syscalls.
_restartRestarts the enumeration for this open directory handle.
_globAn optional shell glob by which to filter the items returned. Done kernel side on Windows, user side on POSIX.
_filteringAny filtering you want AFIO to do for you.

Definition at line 3465 of file afio.hpp.


Member Function Documentation

Validates contents.

Definition at line 3467 of file afio.hpp.


Member Data Documentation

A precondition for this operation.

Definition at line 3422 of file afio.hpp.

The maximum number of items to return in this request. Note that setting to one will often invoke two syscalls.

Definition at line 3423 of file afio.hpp.

Restarts the enumeration for this open directory handle.

Definition at line 3424 of file afio.hpp.

An optional shell glob by which to filter the items returned. Done kernel side on Windows, user side on POSIX.

Definition at line 3425 of file afio.hpp.

The metadata to prefetch for each item enumerated. AFIO may fetch more metadata than requested if it is cost free. How to do deleted file elimination on Windows.

Definition at line 3426 of file afio.hpp.

Any filtering you want AFIO to do for you. .

Definition at line 3433 of file afio.hpp.


January, 2014

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