12 constexpr auto block_size = 16384ZU;
14 auto buffer = Vector<Byte> {};
16 auto try_reserve_more_capacity = [&] {
18 buffer.reserve(buffer.capacity() + block_size);
24 auto nread =
DI_TRY(try_reserve_more_capacity() >> [&] {
25 return read_some(reader, { buffer.end(), buffer.begin() + buffer.capacity() });
27 buffer.assume_size(buffer.size() + nread);
39constexpr inline auto read_all = detail::ReadAll {};
#define DI_TRY(...)
Definition monad_try.h:13
constexpr auto read_all
Definition read_all.h:39
constexpr auto read_some
Definition reader.h:32
Expected< T, Error > Result
Definition result.h:8
Definition any_storable.h:9
constexpr auto invoke_as_fallible
Definition invoke_as_fallible.h:37
constexpr auto if_success
Definition if_success.h:31