di 0.1.0
Loading...
Searching...
No Matches
vpresent_encoded.h
Go to the documentation of this file.
1#pragma once
2
7#include "di/meta/vocab.h"
8#include "di/util/move.h"
9
10namespace di::format {
11namespace detail {
12 template<concepts::Encoding Enc>
13 struct VPresentEncodedFunction {
14 using View = container::string::StringViewImpl<Enc>;
15 using Str = container::string::StringImpl<Enc>;
16
17 template<concepts::FormatArg Arg>
18 constexpr auto operator()(View format, FormatArgs<Arg> args) const -> Result<Str> {
19 auto context = FormatContext<Enc> {};
20 DI_TRY(vpresent_encoded_context<Enc>(format, util::move(args), context));
21 return util::move(context).output();
22 }
23 };
24}
25
26template<concepts::Encoding Enc>
27constexpr inline auto vpresent_encoded = detail::VPresentEncodedFunction<Enc> {};
28}
#define DI_TRY(...)
Definition monad_try.h:13
Definition bounded_format_context.h:7
constexpr auto vpresent_encoded_context
Definition vpresent_encoded_context.h:61
constexpr auto vpresent_encoded
Definition vpresent_encoded.h:27
Expected< T, Error > Result
Definition result.h:8