Iros
 
Loading...
Searching...
No Matches
container.h
Go to the documentation of this file.
1#pragma once
2
11#include "di/meta/util.h"
12
13namespace di::format {
14template<concepts::InputContainer Con, concepts::Encoding Enc>
15requires(!concepts::detail::ConstantString<Con> && concepts::Formattable<meta::ContainerReference<Con>>)
17 auto do_output = [](concepts::FormatContext auto& context,
19 context.output('{');
20 context.output(' ');
21 bool first = true;
22 for (auto&& value : container) {
23 if (!first) {
24 context.output(',');
25 context.output(' ');
26 }
27 first = false;
29 u8"{}"_sv, format::make_format_args<decltype(context)>(value), context, true));
30 }
31 context.output(' ');
32 context.output('}');
33 return {};
34 };
35 return Result<decltype(do_output)>(util::move(do_output));
36}
37}
Definition format_parse_context.h:14
Definition format_context.h:9
#define DI_TRY(...)
Definition monad_try.h:13
Definition sequence.h:12
Definition bounded_format_context.h:7
constexpr auto make_format_args(Types &&... values)
Definition make_format_args.h:9
constexpr auto vpresent_encoded_context
Definition vpresent_encoded_context.h:61
meta::RemoveCVRef< T >::Encoding Encoding
Definition encoding.h:230
__UINT8_TYPE__ u8
Definition integers.h:9
di::meta::Decay< decltype(T)> Tag
Definition tag_invoke.h:28
Expected< T, Error > Result
Definition result.h:8
constexpr tag_invoke_detail::TagInvokeFn tag_invoke
Definition tag_invoke.h:22
Definition in_place_type.h:5