MCPcopy Create free account
hub / github.com/boostorg/hana / format

Function format

example/misc/printf.cpp:33–50  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

31
32template <typename ...Tokens>
33constexpr auto format(Tokens ...tokens_) {
34 auto tokens = hana::make_tuple(tokens_...);
35
36 // If you don't care about constexpr-ness of `format`, you can use
37 // this lambda instead of `compose(partial(...), typeid_)`:
38 //
39 // [](auto token) {
40 // return formats[typeid_(token)];
41 // }
42 auto format_string_tokens = hana::adjust_if(tokens,
43 hana::compose(hana::not_, hana::is_a<hana::string_tag>),
44 hana::compose(hana::partial(hana::at_key, formats), hana::typeid_)
45 );
46
47 auto format_string = hana::sum<hana::string_tag>(format_string_tokens);
48 auto variables = hana::filter(tokens, hana::compose(hana::not_, hana::is_a<hana::string_tag>));
49 return hana::prepend(variables, format_string);
50}
51
52int main() {
53 int a = 1;

Callers 1

mainFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected