From cb71e001e5088e9006c00634ce833f5659af855c Mon Sep 17 00:00:00 2001 From: Markus Mittendrein Date: Fri, 7 Jan 2022 18:40:42 +0100 Subject: Add runtime implementation and refactor format_spec checks in formatters --- main.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'main.cpp') diff --git a/main.cpp b/main.cpp index f448ed7..6c5ba3d 100644 --- a/main.cpp +++ b/main.cpp @@ -18,6 +18,19 @@ void numberTests() int main(int argc, char* argv[]) { using namespace format; + using format::format; + + if (argc == 2) + { + std::string_view fmt{argv[1]}; + format_nothrow_to(fmt, stdout, "Knirp", 's', argv[0], 42u, 1.337); + putchar('\n'); + return 0; + } + + format_to("Hallo %%du %1$s %s%c %s %u = %4$#x = %4$#X = %4$#o %f!\n", std::cout, "Knirp", 's', argv[0], 42u, 1.337); + assert(format("Hallo %%du %1$s %s%c %s %u = %4$#x = %4$#X = %4$#o %f!\n", "Knirp", 's', argv[0], 42u, 1.337) == "Hallo %%du %1$s %s%c %s %u = %4$#x = %4$#X = %4$#o %f!\n"_format("Knirp", 's', argv[0], 42u, 1.337)); + "-%20g-\n"_format_to(stdout, 0x1.8p0); "-%20.0a-\n"_format_to(stdout, 0.0); "-%#+20.0a-\n"_format_to(stdout, 1.0); -- cgit v1.2.3-54-g00ecf