di 0.1.0
Loading...
Searching...
No Matches
writer_print.h
Go to the documentation of this file.
1#pragma once
2
3#include "di/format/prelude.h"
5
6namespace di::io {
7namespace detail {
8 template<concepts::Encoding Enc>
9 struct WriterPrintFunction {
10 template<Impl<Writer> Writer, typename... Args>
11 constexpr void operator()(Writer& writer, fmt::FormatStringImpl<Enc, Args...> format_string,
12 Args&&... args) const {
13 auto context = WriterFormatContext<Writer, Enc>(writer, format_string.encoding());
15 format_string, fmt::make_format_args<WriterFormatContext<Writer, Enc>>(args...), context);
16 }
17 };
18}
19
20template<concepts::Encoding Enc>
21constexpr inline auto writer_print = detail::WriterPrintFunction<Enc> {};
22}
23
24namespace di {
26}
detail::FormatStringImpl< Enc, meta::TypeIdentity< Args >... > FormatStringImpl
Definition format_string_impl.h:70
constexpr auto make_format_args(Types &&... values)
Definition make_format_args.h:9
constexpr auto vformat_encoded_context
Definition vformat_encoded_context.h:61
Definition reader.h:7
constexpr auto writer_print
Definition writer_print.h:21
meta::List< WriteSome, Flush, InteractiveDevice > Writer
Definition writer.h:85
Definition any_storable.h:9