ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
typet.h
Go to the documentation of this file.
1
// LOOK AT <util/message/format.h> FOR MORE INFO ABOUT
2
// WHAT THIS FILE IS ABOUT!!!
3
4
#ifndef ESBMC_FORMATS_START_ASSERTION
5
# error Do not include this header directly, use <util/message/format.h>
6
#endif
7
8
// typet Specialization
9
#include <
util/irep/type.h
>
10
template
<>
11
struct
fmt::formatter<
typet
>
12
{
13
// typet does not support any specific format
14
constexpr
auto
parse
(format_parse_context &ctx)
15
{
16
auto
it = ctx.begin(), end = ctx.end();
17
if
(it != end && *it !=
'}'
)
18
throw
format_error(
"invalid format"
);
19
return
it;
20
}
21
22
// This will teach fmt how to convert typet into a str.
23
template
<
typename
FormatContext>
24
auto
format
(
const
typet
&p, FormatContext &ctx)
const
25
{
26
return
fmt::format_to(ctx.out(),
"{}"
, p.pretty(0));
27
}
28
};
typet
Definition
type.h:9
fmt::formatter< typet >::format
auto format(const typet &p, FormatContext &ctx) const
Definition
typet.h:24
fmt::formatter< typet >::parse
constexpr auto parse(format_parse_context &ctx)
Definition
typet.h:14
type.h
src
util
message
formats
typet.h
Generated by
1.15.0