di
0.1.0
Loading...
Searching...
No Matches
format_context.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
di/container/string/encoding.h
"
4
#include "
di/container/string/utf8_encoding.h
"
5
#include "
di/meta/vocab.h
"
6
7
namespace
di::concepts
{
8
template
<
typename
T>
9
concept
FormatContext
=
requires
{
typename
meta::Encoding<T>
; } &&
requires
(T& context,
char
ascii_code_point) {
10
{ context.output(ascii_code_point) } -> SameAs<void>;
11
{ util::as_const(context).encoding() } -> SameAs<meta::Encoding<T>>;
12
};
13
}
14
15
namespace
di::fmt
{
16
struct
ContextPlaceholder
{
17
using
Encoding
=
container::string::Utf8Encoding
;
18
void
output
(
char
);
19
auto
encoding
() const ->
Encoding
;
20
};
21
}
22
23
namespace
di
{
24
using
concepts::FormatContext
;
25
}
di::container::string::Utf8Encoding
Definition
utf8_encoding.h:107
di::concepts::FormatContext
Definition
format_context.h:9
encoding.h
di::concepts
Definition
any_storable.h:9
di::fmt
Definition
bounded_format_context.h:7
di::meta::Encoding
meta::RemoveCVRef< T >::Encoding Encoding
Definition
encoding.h:230
di
Definition
any_storable.h:9
di::fmt::ContextPlaceholder
Definition
format_context.h:16
di::fmt::ContextPlaceholder::Encoding
container::string::Utf8Encoding Encoding
Definition
format_context.h:17
di::fmt::ContextPlaceholder::encoding
auto encoding() const -> Encoding
di::fmt::ContextPlaceholder::output
void output(char)
utf8_encoding.h
vocab.h
di
format
concepts
format_context.h
Generated by
1.15.0