Commit Graph

470 Commits

Author SHA1 Message Date
mtillmann0
13cfaa2ab0 Guard against usage of _isatty when header was not included (#3880)
* Guard against usage of _isatty when header was not included

* Rename FMT_WINDOWS_NO_WCHAR macro to FMT_USE_WRITE_CONSOLE
2024-03-08 13:34:46 -08:00
Victor Zverovich
3bc6cc1e63 Protect against locking formatters 2024-03-02 17:23:02 -08:00
Victor Zverovich
44c3fe1ebb Fix handling of static separator 2024-02-09 15:58:56 -08:00
Victor Zverovich
28afff363c Improve buffering 2024-01-27 16:20:34 -08:00
Victor Zverovich
af44c29744 Separate buffer initialization from flush 2024-01-27 15:39:36 -08:00
Victor Zverovich
ffce3632b7 Add glibc stream support 2024-01-27 11:00:45 -08:00
Victor Zverovich
6435b169ec Add support for line buffering 2024-01-27 08:57:21 -08:00
Victor Zverovich
11ba1270ab Fix flush 2024-01-20 07:58:56 -08:00
Victor Zverovich
6b68dff901 Write directly to a stream buffer 2024-01-18 16:27:12 -08:00
Victor Zverovich
8510838db1 Make format_specs not depend on code unit type 2024-01-17 07:50:52 -08:00
Victor Zverovich
fe0d910a7d Replace multiple error reporting mechanisms with report_error 2024-01-15 07:23:06 -08:00
Victor Zverovich
b71ef65b6e Remove iterator dependency 2024-01-10 18:52:53 -08:00
Victor Zverovich
fc8f6ba934 Separate compilation for println 2024-01-10 05:55:26 -08:00
Victor Zverovich
23e8109d8d Remove buffer_appender 2024-01-07 22:03:02 -08:00
Victor Zverovich
f4a7d40dca Dedup throw_format_error 2024-01-01 18:42:23 -08:00
Bruce Mitchener
ebd5c8f994 Consistently use fmt:: when invoking format_to. (#3779)
This has been done partially in previous commits:

* 2ac6c5ca8b
* 258000064d
* ba50c19e82
* 5ab9d39253

A patch that includes the `std::error_code` changes here is
upstream in vcpkg, so that will be able to be removed when
updating to the next release.
2024-01-01 06:57:03 -08:00
Victor Zverovich
d5da9cc40e Apply clang-tidy 2023-12-19 17:52:50 -08:00
Victor Zverovich
bbee753579 Make clang-format happy 2023-12-13 06:54:51 -08:00
Dimitrij Mijoski
2a2c6e676f Fix flushing C++ iostreams before calling write_console() (#3689)
This change correctly implements https://wg21.link/P2539/ for both
C streams and C++ iostreams.

Fixes #3688.
2023-10-25 13:13:31 -07:00
Roman Koshelev
3b7f58a8b3 add buffer flush before direct write 2023-10-24 16:02:37 -07:00
Victor Zverovich
f7542c5761 Apply clang-format 2023-10-14 06:52:43 -07:00
Gleb Mazovetskiy
a8a73da7e4 Add an option to avoid wchar APIs on Windows (#3636)
With this, fmt can be used on Windows 98 and the Original Xbox with:

    set(FMT_OS OFF)

It is not exposed as a CMake option but one can define it manually
in the fmt subproject, e.g.:

    target_compile_definitions(fmt PUBLIC FMT_WINDOWS_NO_WCHAR)

Fixes #3631
2023-09-17 08:49:51 -07:00
Vinay Yadav
fac60bd4f5 Remove type cast as mxe(mingw32) compiler complains about useless-cast (#3624)
Remove type cast as mxe(mingw32) compiler complains about useless-cast
when FMT_PEDANTIC && FMT_WERROR options are enabled
"""
error: useless cast to type 'class fmt::v10::basic_format_args<fmt::v10::basic_format_context<fmt::v10::appender, char> >' [-Werror=useless-cast]
 1449 |                      basic_format_args<buffer_context<char>>(args));
"""
2023-09-05 07:37:27 -07:00
Florimond Collette
d60b907f87 Replace mod_inv_25 by explicit value (#3450) 2023-05-18 11:26:19 -07:00
Florimond Collette
4ce086f731 remove code duplication (#3448)
* remove code duplication

* new interface for remove_trailing_zeros(uint32_t& n, int s = 0)

---------

Co-authored-by: Florimond Collette <4939681+florimondcollette@users.noreply.github.com>
2023-05-18 08:27:57 -07:00
Arnaud Desitter
2117df299c format-inl.h: address implicit int to bool conversion (#3446) 2023-05-17 06:39:20 -07:00
Victor Zverovich
18154cc903 Simplify print 2023-04-22 14:03:40 -07:00
Victor Zverovich
d8a2698e6c Fix compilation as a C++20 module with gcc 13 2023-04-14 09:49:07 -07:00
Victor Zverovich
c98e5a08a4 Fix modular build on clang 2023-04-10 12:07:25 -07:00
Victor Zverovich
77eeb71830 Remove unused headers 2023-04-10 09:08:19 -07:00
Victor Zverovich
507c3042d8 class -> typename 2023-02-18 10:23:42 -08:00
Ivan Shynkarenka
70db193f09 Visual Studio 2022: fmt/format-inl.h(1145,60): warning C4310: cast truncates constant value #3287 (#3288) 2023-01-26 11:46:30 -08:00
Victor Zverovich
a2c05a10ec Workaround a bug in MSVC <= 19.22 2023-01-25 10:34:28 +13:00
jk-jeon
0f42c17d85 Implement a new formatting algorithm for small given precision (#3269)
Implement the formatting algorithm for small given precision discussed in https://github.com/fmtlib/fmt/issues/3262 and https://github.com/fmtlib/fmt/pull/2750
2023-01-14 11:30:20 -08:00
Victor Zverovich
407e7b7b6d basic_format_specs -> format_specs 2022-12-24 14:34:50 -08:00
Victor Zverovich
1a854b4aa5 Clarify what mod_inv_5 is 2022-12-04 08:36:03 -08:00
Vladislav Shchapov
31364732dc Replace snprintf-based hex float formatter with internal implementation
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-11-24 07:15:46 -08:00
Victor Zverovich
0b5cb18b71 Use buffering in to_string to avoid bloat 2022-09-21 17:11:43 -07:00
Victor Zverovich
94ceb38a09 Improve locale API 2022-09-11 09:33:31 -07:00
Victor Zverovich
b98ffb7dbd Improve locale handling 2022-09-04 21:07:30 -07:00
Victor Zverovich
d59b89e9cd More locale 2022-09-04 11:23:45 -07:00
Victor Zverovich
58a5563a9f Implement grouping 2022-09-04 09:01:26 -07:00
Victor Zverovich
1b94271ff6 Add support for UTF-8 digit separators 2022-09-03 11:01:05 -07:00
Victor Zverovich
768d79a839 Implement format_facet 2022-09-03 09:42:36 -07:00
Victor Zverovich
fec5515c55 num_format_facet -> format_facet 2022-09-02 18:55:08 -07:00
Victor Zverovich
f187274d36 Add loc_value 2022-09-02 13:45:23 -07:00
Victor Zverovich
fc5e59fe4a Don't use stringstream 2022-09-02 13:05:26 -07:00
Victor Zverovich
d6a8704605 Improve locale support 2022-09-02 11:52:19 -07:00
Victor Zverovich
56c72a671c Reduce locale dependency 2022-09-02 10:22:11 -07:00
Victor Zverovich
64e29893cf Improve locale support 2022-09-01 14:48:43 -07:00