25#ifndef QB_IO_ASYNC_FILE_H
26#define QB_IO_ASYNC_FILE_H
31namespace qb::io::async {
43template <
typename _Derived>
72 if constexpr (has_member_Protocol<_Derived>::value) {
73 if constexpr (!std::is_void_v<typename _Derived::Protocol>) {
75 static_cast<_Derived &
>(*
this));
90 return static_cast<_Derived &
>(*this).transport().native_handle();
file_watcher()=default
Default constructor.
_Protocol * switch_protocol(_Args &&...args)
Switches to a new protocol for processing file contents, taking ownership.
Definition io.h:310
file()
< Import the transport method from the file transport
Definition file.h:71
typename qb::io::transport::file::transport_io_type transport_io_type
Type of the underlying transport IO.
Definition file.h:54
uint64_t ident() noexcept
Get a unique identifier for the file.
Definition file.h:89
input_buffer_type & in() noexcept
Definition stream.h:94
io::sys::file transport_io_type
Definition stream.h:52
io::sys::file & transport() noexcept
Definition stream.h:76
output_buffer_type & out() noexcept
Definition stream.h:328
File transport providing stream-based access to local files.
Definition file.h:42
Core asynchronous I/O class templates for event-driven operations.
File transport implementation for the QB IO library.