|
class | byte_io_handle |
| A handle to something capable of scatter-gather byte i/o. More...
|
|
class | pollable_handle |
| A handle type which can be supplied to poll() . More...
|
|
class | byte_io_multiplexer |
| A multiplexer of byte-orientated i/o. More...
|
|
class | byte_socket_handle |
| A handle to a byte-orientated socket-like entity. More...
|
|
struct | construct< byte_socket_handle > |
| Constructor for byte_socket_handle More...
|
|
class | listening_socket_handle_buffer_types_injector |
| Injects buffer types for a particular kind of listening socket read. More...
|
|
class | listening_byte_socket_handle |
|
struct | construct< listening_byte_socket_handle > |
| Constructor for listening_byte_socket_handle More...
|
|
struct | path_hasher |
|
struct | deadline |
| A time deadline in either relative-to-now or absolute (system clock) terms. More...
|
|
struct | directory_entry |
|
class | directory_handle |
| A handle to a directory which can be enumerated. More...
|
|
struct | construct< directory_handle > |
| Constructor for directory_handle More...
|
|
class | dynamic_thread_pool_group |
| Work group within the global dynamic thread pool. More...
|
|
class | fast_random_file_handle |
| A handle to synthesised, non-cryptographic, pseudo-random data. More...
|
|
struct | construct< fast_random_file_handle > |
| Constructor for fast_random_file_handle More...
|
|
class | file_handle |
| A handle to a regular file or device. More...
|
|
struct | construct< file_handle > |
| Constructor for file_handle More...
|
|
class | fs_handle |
| A handle to something with a device and inode number. More...
|
|
class | handle |
| A native_handle_type which is managed by the lifetime of this object instance. More...
|
|
struct | construct |
| Metaprogramming shim for constructing any handle subclass. More...
|
|
class | lockable_byte_io_handle |
| A handle to something capable of scatter-gather i/o and which can exclude other concurrent users. Models SharedMutex , though note that the locks are per-handle, not per-thread. More...
|
|
class | unique_file_lock |
| RAII locker matching std::unique_lock for lockable_byte_io_handle , but untemplated. More...
|
|
class | log_level_guard |
| RAII class for temporarily adjusting the log level for the current thread. More...
|
|
class | section_handle |
| A handle to a source of mapped memory. More...
|
|
struct | construct< section_handle > |
| Constructor for section_handle More...
|
|
class | map_handle |
| A handle to a memory mapped region of memory, either backed by the system page file or by a section. More...
|
|
struct | construct< map_handle > |
| Constructor for map_handle More...
|
|
class | mapped |
| Provides an owning, typed view of memory mapped from a section_handle or a file_handle suitable for feeding to STL algorithms or the Ranges TS. More...
|
|
class | mapped_file_handle |
| A memory mapped regular file or device. More...
|
|
struct | construct< mapped_file_handle > |
| Constructor for mapped_file_handle More...
|
|
class | read_receiver |
| A C++ Receiver of an i/o read for an i/o type of IoHandleType . More...
|
|
class | write_receiver |
| A C++ Receiver of an i/o write for an i/o type of IoHandleType . More...
|
|
class | executor |
| Some implementation of a C++ Executor. More...
|
|
class | awaitable_handle |
| An awaitable handle which attempts to execute the i/o immediately. If the i/o can complete immediately, no coroutine suspension occurs. Only if the i/o would take a while is coroutine suspension performed. More...
|
|
struct | native_handle_type |
| A native handle type used for wrapping file descriptors, process ids or HANDLEs. Unmanaged, wrap in a handle object to manage. More...
|
|
class | path_handle |
| A handle to somewhere originally identified by a path on the filing system. Typically used as the lightest weight handle to some location on the filing system which may unpredictably relocate over time. This handle is thus an anchor to a subset island of the filing system, free of any race conditions introduced by third party changes to any part of the path leading to that island. More...
|
|
struct | construct< path_handle > |
| Constructor for path_handle More...
|
|
class | path_view_component |
| An iterated part of a path_view . More...
|
|
class | path_view |
| A borrowed view of a path. A lightweight trivial-type alternative to std::filesystem::path . More...
|
|
class | pipe_handle |
| A handle to a named or anonymous pipe. More...
|
|
struct | construct< pipe_handle > |
| Constructor for pipe_handle More...
|
|
class | process_handle |
| A handle to this, or another, process. More...
|
|
struct | construct< process_handle > |
| Constructor for process_handle More...
|
|
struct | stat_t |
| Metadata about a directory entry. More...
|
|
struct | statfs_t |
| Metadata about a filing system. Unsupported entries are all bits set. More...
|
|
struct | error_info |
| The cause of the failure of an operation in LLFIO. More...
|
|
class | error |
| The exception type synthesised and thrown when an llfio::result or llfio::outcome is no-value observed. More...
|
|
class | symlink_handle |
| A handle to an inode which redirects to a different path. More...
|
|
struct | construct< symlink_handle > |
| Constructor for symlink_handle More...
|
|
class | tls_socket_handle |
| A handle to a TLS secure socket-like entity. More...
|
|
class | listening_tls_socket_handle |
| A handle to a TLS socket-like entity able to receive incoming connections. More...
|
|
class | tls_socket_source |
| A source of tls_socket_handle and listening_tls_socket_handle and possibly a byte_io_multiplexer to multiplex i/o on multiple socket instances at the same time. More...
|
|
struct | tls_socket_source_implementation_information |
| The implementation information returned. More...
|
|
class | tls_socket_source_registry |
| A process-wide registry of tls_socket_source . More...
|
|
struct | construct< algorithm::cached_parent_handle_adapter< T > > |
| Constructor for algorithm::::cached_parent_handle_adapter<T> More...
|
|
|
| QUICKCPPLIB_BITFIELD_BEGIN_T (poll_what, uint8_t) |
| What to poll. More...
|
|
result< size_t > | poll (span< poll_what > out, span< pollable_handle * > handles, span< const poll_what > query, deadline d={}) noexcept |
| Polls a list of pollable handles awaiting a change in state. More...
|
|
byte_io_handle::io_result< byte_io_handle::buffers_type > | read (byte_io_handle &self, byte_io_handle::io_request< byte_io_handle::buffers_type > reqs, deadline d=deadline()) noexcept |
| Read data from the open handle. More...
|
|
byte_io_handle::io_result< byte_io_handle::const_buffers_type > | write (byte_io_handle &self, byte_io_handle::io_request< byte_io_handle::const_buffers_type > reqs, deadline d=deadline()) noexcept |
| Write data to the open handle. More...
|
|
byte_io_handle::io_result< byte_io_handle::size_type > | write (byte_io_handle &self, byte_io_handle::extent_type offset, std::initializer_list< byte_io_handle::const_buffer_type > lst, deadline d=deadline()) noexcept |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
constexpr bool | is_initialised (io_operation_state_type s) noexcept |
| True if the i/o operation state is initialised.
|
|
constexpr bool | is_initiated (io_operation_state_type s) noexcept |
| True if the i/o operation state is initiated.
|
|
constexpr bool | is_completed (io_operation_state_type s) noexcept |
| True if the i/o operation state is completed.
|
|
constexpr bool | is_finished (io_operation_state_type s) noexcept |
| True if the i/o operation state is finished.
|
|
std::ostream & | operator<< (std::ostream &s, const directory_handle::filter &v) |
|
std::ostream & | operator<< (std::ostream &s, const directory_handle::buffers_type &) |
|
void | swap (directory_handle &self, directory_handle &o) noexcept |
| Swap with another instance.
|
|
result< directory_handle > | directory (const path_handle &base, directory_handle::path_view_type path, directory_handle::mode _mode=directory_handle::mode::read, directory_handle::creation _creation=directory_handle::creation::open_existing, directory_handle::caching _caching=directory_handle::caching::all, directory_handle::flag flags=directory_handle::flag::none) noexcept |
|
result< directory_handle > | uniquely_named_directory (const path_handle &dirpath, directory_handle::mode _mode=directory_handle::mode::write, directory_handle::caching _caching=directory_handle::caching::temporary, directory_handle::flag flags=directory_handle::flag::none) noexcept |
|
result< directory_handle > | temp_directory (directory_handle::path_view_type name=directory_handle::path_view_type(), directory_handle::mode _mode=directory_handle::mode::write, directory_handle::creation _creation=directory_handle::creation::if_needed, directory_handle::caching _caching=directory_handle::caching::all, directory_handle::flag flags=directory_handle::flag::none) noexcept |
|
result< dynamic_thread_pool_group_ptr > | make_dynamic_thread_pool_group () noexcept |
| Creates a new work group within the global dynamic thread pool.
|
|
void | swap (file_handle &self, file_handle &o) noexcept |
| Swap with another instance.
|
|
result< file_handle > | file (const path_handle &base, file_handle::path_view_type path, file_handle::mode _mode=file_handle::mode::read, file_handle::creation _creation=file_handle::creation::open_existing, file_handle::caching _caching=file_handle::caching::all, file_handle::flag flags=file_handle::flag::none) noexcept |
|
result< file_handle > | uniquely_named_file (const path_handle &dirpath, file_handle::mode _mode=file_handle::mode::write, file_handle::caching _caching=file_handle::caching::temporary, file_handle::flag flags=file_handle::flag::none) noexcept |
|
result< file_handle > | temp_file (file_handle::path_view_type name=file_handle::path_view_type(), file_handle::mode _mode=file_handle::mode::write, file_handle::creation _creation=file_handle::creation::if_needed, file_handle::caching _caching=file_handle::caching::temporary, file_handle::flag flags=file_handle::flag::unlink_on_first_close) noexcept |
|
result< file_handle > | temp_inode (const path_handle &dirh=path_discovery::storage_backed_temporary_files_directory(), file_handle::mode _mode=file_handle::mode::write, file_handle::caching _caching=file_handle::caching::temporary, file_handle::flag flags=file_handle::flag::none) noexcept |
|
file_handle::io_result< file_handle::size_type > | read (file_handle &self, file_handle::extent_type offset, std::initializer_list< file_handle::buffer_type > lst, deadline d=deadline()) noexcept |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
result< file_handle::extent_type > | maximum_extent (const file_handle &self) noexcept |
|
result< file_handle::extent_type > | truncate (file_handle &self, file_handle::extent_type newsize) noexcept |
|
result< std::vector< file_handle::extent_pair > > | extents (const file_handle &self) noexcept |
| Returns a list of currently valid extents for this open file. WARNING: racy!
|
|
result< file_handle::extent_type > | zero (file_handle &self, file_handle::extent_type offset, file_handle::extent_type bytes, deadline d=deadline()) noexcept |
| Efficiently zero, and possibly deallocate, data on storage. More...
|
|
result< filesystem::path > | to_win32_path (const fs_handle &h, win32_path_namespace mapping=win32_path_namespace::any) noexcept |
| Maps the current path of h into a form suitable for Win32 APIs. Passes through unmodified on POSIX, so you can use this in portable code. More...
|
|
template<class T , typename std::enable_if<(!std::is_base_of< fs_handle, T >::value &&std::is_base_of< handle, T >::value), bool >::type = true> |
result< filesystem::path > | to_win32_path (const T &h, win32_path_namespace mapping=win32_path_namespace::any) noexcept |
|
result< void > | relink (fs_handle &self, const path_handle &base, fs_handle::path_view_type path, bool atomic_replace=true, deadline d=std::chrono::seconds(30)) noexcept |
|
result< void > | unlink (fs_handle &self, deadline d=std::chrono::seconds(30)) noexcept |
|
std::ostream & | operator<< (std::ostream &s, const handle &v) |
|
std::ostream & | operator<< (std::ostream &s, const handle::mode &v) |
|
std::ostream & | operator<< (std::ostream &s, const handle::creation &v) |
|
std::ostream & | operator<< (std::ostream &s, const handle::caching &v) |
|
std::ostream & | operator<< (std::ostream &s, const handle::flag &v) |
|
void | swap (handle &self, handle &o) noexcept |
| Swap with another instance.
|
|
result< void > | close (handle &self) noexcept |
| Immediately close the native handle type managed by this handle.
|
|
log_implementation_type & | log () noexcept |
| The log used by LLFIO.
|
|
std::ostream & | operator<< (std::ostream &s, const section_handle::flag &v) |
|
byte_io_handle::const_buffer_type | nvram_barrier (byte_io_handle::const_buffer_type req, bool evict=false) noexcept |
|
template<class T > |
constexpr span< T > | in_place_attach (map_handle &mh) noexcept |
| Declare map_handle as a suitable source for P1631 attached<T> .
|
|
void | swap (section_handle &self, section_handle &o) noexcept |
| Swap with another instance.
|
|
result< section_handle > | section (file_handle &backing, section_handle::extent_type maximum_size, section_handle::flag _flag) noexcept |
| Create a memory section backed by a file. More...
|
|
result< section_handle > | section (file_handle &backing, section_handle::extent_type bytes=0) noexcept |
| Create a memory section backed by a file. More...
|
|
result< section_handle > | section (section_handle::extent_type bytes, const path_handle &dirh=path_discovery::storage_backed_temporary_files_directory(), section_handle::flag _flag=section_handle::flag::read|section_handle::flag::write) noexcept |
| Create a memory section backed by an anonymous, managed file. More...
|
|
result< section_handle::extent_type > | length (const section_handle &self) noexcept |
| Return the current maximum permitted extent of the memory section.
|
|
result< section_handle::extent_type > | truncate (section_handle &self, section_handle::extent_type newsize=0) noexcept |
|
void | swap (map_handle &self, map_handle &o) noexcept |
| Swap with another instance.
|
|
result< void > | close (map_handle &self) noexcept |
| Unmap the mapped view.
|
|
result< map_handle > | map (map_handle::size_type bytes, bool zeroed=false, section_handle::flag _flag=section_handle::flag::readwrite) noexcept |
|
result< map_handle > | map (section_handle §ion, map_handle::size_type bytes=0, map_handle::extent_type offset=0, section_handle::flag _flag=section_handle::flag::readwrite) noexcept |
|
map_handle::size_type | length (const map_handle &self) noexcept |
| The size of the memory map. This is the accessible size, NOT the reservation size.
|
|
result< map_handle::size_type > | truncate (map_handle &self, map_handle::size_type newsize, bool permit_relocation=false) noexcept |
|
map_handle::io_result< map_handle::buffers_type > | read (map_handle &self, map_handle::io_request< map_handle::buffers_type > reqs, deadline d=deadline()) noexcept |
| Read data from the mapped view. More...
|
|
map_handle::io_result< map_handle::const_buffers_type > | write (map_handle &self, map_handle::io_request< map_handle::const_buffers_type > reqs, deadline d=deadline()) noexcept |
| Write data to the mapped view. More...
|
|
template<class T > |
constexpr span< T > | in_place_attach (mapped_file_handle &mfh) noexcept |
| Declare mapped_file_handle as a suitable source for P1631 attached<T> .
|
|
void | swap (mapped_file_handle &self, mapped_file_handle &o) noexcept |
| Swap with another instance.
|
|
result< mapped_file_handle > | mapped_file (mapped_file_handle::size_type reservation, const path_handle &base, mapped_file_handle::path_view_type _path, mapped_file_handle::mode _mode=mapped_file_handle::mode::read, mapped_file_handle::creation _creation=mapped_file_handle::creation::open_existing, mapped_file_handle::caching _caching=mapped_file_handle::caching::all, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept |
|
result< mapped_file_handle > | mapped_file (const path_handle &base, mapped_file_handle::path_view_type _path, mapped_file_handle::mode _mode=mapped_file_handle::mode::read, mapped_file_handle::creation _creation=mapped_file_handle::creation::open_existing, mapped_file_handle::caching _caching=mapped_file_handle::caching::all, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
result< mapped_file_handle > | mapped_uniquely_named_file (mapped_file_handle::size_type reservation, const path_handle &dirpath, mapped_file_handle::mode _mode=mapped_file_handle::mode::write, mapped_file_handle::caching _caching=mapped_file_handle::caching::temporary, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept |
|
result< mapped_file_handle > | mapped_temp_file (mapped_file_handle::size_type reservation, mapped_file_handle::path_view_type name=mapped_file_handle::path_view_type(), mapped_file_handle::mode _mode=mapped_file_handle::mode::write, mapped_file_handle::creation _creation=mapped_file_handle::creation::if_needed, mapped_file_handle::caching _caching=mapped_file_handle::caching::temporary, mapped_file_handle::flag flags=mapped_file_handle::flag::unlink_on_first_close) noexcept |
|
result< mapped_file_handle > | mapped_temp_inode (mapped_file_handle::size_type reservation=0, const path_handle &dir=path_discovery::storage_backed_temporary_files_directory(), mapped_file_handle::mode _mode=mapped_file_handle::mode::write, mapped_file_handle::caching _caching=mapped_file_handle::caching::temporary, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept |
|
result< path_handle > | path (const path_handle &base, path_handle::path_view_type path) noexcept |
|
result< path_handle > | path (path_handle::path_view_type _path) noexcept |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
constexpr bool | operator== (path_view_component x, path_view_component y) noexcept |
| Compares identity equality not equivalence i.e. backing storage type must be identical, and backing bytes must be identical. Use compare() if you want something stronger.
|
|
constexpr bool | operator== (path_view x, path_view y) noexcept |
| Compares individual path view components for identity not equivalence. Use compare() if you want something stronger.
|
|
constexpr bool | operator!= (path_view_component x, path_view_component y) noexcept |
| Compares identity inequality not disequivalence i.e. backing storage type must be different, or backing bytes must be different. Use compare() if you want something stronger.
|
|
constexpr bool | operator< (path_view_component x, path_view_component y) noexcept |
| Compares identity for ordering i.e. backing storage type must be different, or backing bytes must be different. Use compare() if you want something stronger.
|
|
constexpr bool | operator!= (path_view x, path_view y) noexcept |
| Compares individual path view components for non-**identity** not disequivalence. Use compare() if you want something stronger.
|
|
constexpr bool | operator< (path_view x, path_view y) noexcept |
| Compares individual path view components for ordering. Use compare() if you want something stronger.
|
|
constexpr size_t | hash_value (path_view_component view) noexcept |
| Hashes a path_view_component .
|
|
template<class F > |
constexpr auto | visit (path_view_component view, F &&f) |
| Visit the underlying source for a path_view_component (LLFIO backwards compatible overload)
|
|
template<class F > |
constexpr auto | visit (F &&f, path_view_component view) |
| Visit the underlying source for a path_view_component (std compatible overload)
|
|
std::ostream & | operator<< (std::ostream &s, const path_view_component &v) |
|
constexpr size_t | hash_value (path_view x) noexcept |
| Return the combined hash of individual path components.
|
|
template<class CharT , typename std::enable_if<(path_view_component::is_source_acceptable< CharT >), bool >::type = true> |
constexpr bool | operator== (path_view_component, const CharT *) noexcept |
|
template<class CharT , typename std::enable_if<(path_view_component::is_source_acceptable< CharT >), bool >::type = true> |
constexpr bool | operator== (const CharT *, path_view_component) noexcept |
|
template<class CharT , typename std::enable_if<(path_view_component::is_source_acceptable< CharT >), bool >::type = true> |
constexpr bool | operator!= (path_view_component, const CharT *) noexcept |
|
template<class CharT , typename std::enable_if<(path_view_component::is_source_acceptable< CharT >), bool >::type = true> |
constexpr bool | operator!= (const CharT *, path_view_component) noexcept |
|
template<class CharT , typename std::enable_if<(path_view_component::is_source_acceptable< CharT >), bool >::type = true> |
constexpr bool | operator< (path_view_component, const CharT *) noexcept |
|
template<class CharT , typename std::enable_if<(path_view_component::is_source_acceptable< CharT >), bool >::type = true> |
constexpr bool | operator< (const CharT *, path_view_component) noexcept |
|
template<class CharT , typename std::enable_if<(path_view::is_source_acceptable< CharT >), bool >::type = true> |
constexpr bool | operator== (path_view, const CharT *) noexcept |
|
template<class CharT , typename std::enable_if<(path_view::is_source_acceptable< CharT >), bool >::type = true> |
constexpr bool | operator== (const CharT *, path_view) noexcept |
|
template<class CharT , typename std::enable_if<(path_view::is_source_acceptable< CharT >), bool >::type = true> |
constexpr bool | operator!= (path_view, const CharT *) noexcept |
|
template<class CharT , typename std::enable_if<(path_view::is_source_acceptable< CharT >), bool >::type = true> |
constexpr bool | operator!= (const CharT *, path_view) noexcept |
|
filesystem::path & | operator+= (filesystem::path &a, path_view_component b) |
| Append a path view component to a path.
|
|
filesystem::path & | operator/= (filesystem::path &a, path_view_component b) |
| Append a path view component to a path.
|
|
filesystem::path | operator/ (const filesystem::path &a, path_view_component b) |
| Append a path view component to a path.
|
|
filesystem::path | operator/ (filesystem::path &&a, path_view_component b) |
| Append a path view component to a path.
|
|
template<class T , typename std::enable_if<(std::is_same< T, path_view_component >::value||std::is_same< T, path_view >::value), bool >::type = true> |
filesystem::path | operator/ (T a, path_view_component b) |
| Append a path view component to a path view component.
|
|
std::ostream & | operator<< (std::ostream &s, const process_handle::flag &v) |
|
std::error_code | make_error_code (error_info ei) |
|
bool | operator== (const error_info &a, const error_info &b) |
|
bool | operator!= (const error_info &a, const error_info &b) |
|
| OUTCOME_TEMPLATE (class ErrorCondEnum) OUTCOME_TREQUIRES(OUTCOME_TPRED(std |
|
std::ostream & | operator<< (std::ostream &s, const error_info &v) |
|
void | outcome_throw_as_system_error_with_payload (const error_info &ei) |
|
error_info | error_from_exception (std::exception_ptr &&ep=std::current_exception(), std::error_code not_matched=std::make_error_code(std::errc::resource_unavailable_try_again)) noexcept |
|
error_info | generic_error (errc c) |
| Helper for constructing an error info from an errc.
|
|
error_info | posix_error (int c=errno) |
| Helper for constructing an error info from a POSIX errno.
|
|
| QUICKCPPLIB_BITFIELD_BEGIN_T (tls_socket_source_implementation_features, uint32_t) |
| Feature bits for TLS socket sources. More...
|
|
std::ostream & | operator<< (std::ostream &s, const tls_socket_source_implementation_information &v) |
|