9template<Impl<Writer> Writer, concepts::Encoding Enc>
24 for (
auto code_unit : code_units) {
25 auto bytes = util::bit_cast<
Array<
Byte,
sizeof(code_unit)>>(code_unit);
31 if (!m_print_colors) {
35 auto [before, after] = style.render_to_ansi_escapes<Enc>();
36 for (
auto code_point : before) {
40 for (
auto code_point : after) {
46 constexpr auto encoding()
const {
return m_encoding; }
50 [[no_unique_address]] Enc m_encoding;
51 bool m_print_colors {
false };
Enc Encoding
Definition writer_format_context.h:12
constexpr ~WriterFormatContext()
Definition writer_format_context.h:19
constexpr auto with_style(format::Style style, concepts::InvocableTo< Result< void > > auto inner) -> Result< void >
Definition writer_format_context.h:30
constexpr void output(meta::EncodingCodePoint< Enc > code_point)
Definition writer_format_context.h:21
void SupportsStyle
Definition writer_format_context.h:13
constexpr auto encoding() const
Definition writer_format_context.h:46
constexpr WriterFormatContext(Writer &writer, Enc enc)
Definition writer_format_context.h:15
#define DI_TRY(...)
Definition monad_try.h:13
constexpr auto convert_to_code_units
Definition encoding.h:139
constexpr auto flush
Definition writer.h:82
constexpr auto interactive_device
Definition writer.h:83
meta::List< WriteSome, Flush, InteractiveDevice > Writer
Definition writer.h:85
constexpr auto write_some
Definition writer.h:81
std::byte Byte
Definition byte.h:63
Expected< T, Error > Result
Definition result.h:8