Iros
 
Loading...
Searching...
No Matches
async_write_some.h
Go to the documentation of this file.
1#pragma once
2
8#include "di/meta/callable.h"
9#include "di/types/integers.h"
10#include "di/types/prelude.h"
12
13namespace di::execution {
15 struct Function {
16 template<typename File>
18 auto operator()(File&& handle, Span<Byte const> buffer, Optional<u64> offset = {}) const
20 return function::tag_invoke(*this, util::forward<File>(handle), buffer, offset);
21 }
22
23 template<typename File>
25 auto operator()(util::ReferenceWrapper<File> handle, Span<Byte const> buffer, Optional<u64> offset = {}) const {
26 return function::tag_invoke(*this, handle.get(), buffer, offset);
27 }
28 };
29}
30
32}
33
34namespace di::concepts {
35template<typename T>
37}
Definition reference_wrapper.h:14
constexpr auto get() const -> T &
Definition reference_wrapper.h:35
Definition optional_forward_declaration.h:5
Definition span_forward_declaration.h:10
Definition async_write_some.h:36
Definition callable.h:9
Definition sender_of.h:26
Definition tag_invoke.h:33
Definition any_storable.h:9
Definition async_write_some.h:14
Definition bulk.h:30
constexpr auto async_write_some
Definition async_write_some.h:31
constexpr tag_invoke_detail::TagInvokeFn tag_invoke
Definition tag_invoke.h:22
size_t usize
Definition integers.h:33
Definition set_value.h:6
Definition async_write_some.h:15