Commit Graph
2003 Commits
Author SHA1 Message Date
Victor Zverovich 4fac7daaef Cleanup bit_cast 2021-12-29 12:14:51 -08:00
Victor Zverovich 9c0c1bcdbd Simplify tuple formatting 2021-12-29 08:03:12 -08:00
Victor Zverovich 796662a612 Escape range items convertible to std::string_view 2021-12-27 09:38:06 -08:00
Vladislav Shchapov 3bbf2c673c Fix throw with exceptions disabled 2021-12-26 16:28:41 -08:00
Victor Zverovich eab2ea9fc2 Replace an assert with an exception 2021-12-26 07:05:45 -08:00
Vladislav Shchapov 04111dd1e4 Fix issue #2670 (#2671) 2021-12-23 12:38:48 -08:00
lucpelletier 7812813a32 Don't explicitly delete copy ctor of dynamic_format_arg_store (#2664)
* Don't explicitly delete copy ctor of dynamic_format_arg_store

Explicitly deleting the copy ctor causes the move constructor to not be
implicitly generated. This behaviour is different than what was in
v8.0.1 and causes code that relied on the move ctor of
dynamic_format_arg_store to break.

* Add test for dynamic_format_arg_store's move ctor

* include <memory>, don't use make_unique
2021-12-23 11:34:16 -08:00
Victor Zverovich 784e2a7b42 Fix an overflow when formatting very large durations 2021-12-23 10:34:32 -08:00
Stefan Weil fc2a376d8e Remove two expressions which had no effect (reported by LGTM)
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-12-22 16:29:16 -08:00
Victor Zverovich eaddd1e3cd Fix handling of byte 2021-12-19 06:46:24 -08:00
Victor Zverovich 2d44577586 Try fixing byte regression 2021-12-18 08:51:21 -08:00
Alexey Ochapov e46392ea2c deprecate _format UDL in code using FMT_DEPRECATED 2021-12-18 08:33:20 -08:00
Victor Zverovich c882790a2e Add a set formatter 2021-12-18 07:35:40 -08:00
Victor Zverovich 121002d700 Add a map formatter 2021-12-18 07:12:53 -08:00
Victor Zverovich be51ee1ceb Disable broken copy ctor of dynamic_format_arg_store 2021-12-17 17:18:18 -08:00
Victor Zverovich 659de779e6 Fix a UB in parse_format_specs when begin is null 2021-12-17 16:51:24 -08:00
Alexey Ochapov ef72b471fc enable named arguments check in compile-time checks (#2649)
works only if all named arguments are UDL-based
2021-12-17 15:53:05 -08:00
Alexey Ochapov 82246b8766 fix throw with exceptions disabled (#2647) 2021-12-17 13:44:36 -08:00
Marek Kurdej 3a951a66cb Avoid qualifying by inline namespace. Fixes #2642. (#2643) 2021-12-10 08:28:25 -08:00
Marek Kurdej e0136fc8bd Qualify calls to make_wformat_args. Fixes #2639. (#2641) 2021-12-10 06:36:42 -08:00
Victor Zverovich ac1b5f3da5 Refactor problematic trailing returns in arg_mapper 2021-12-09 18:08:30 -08:00
Victor Zverovich fd62fba985 Don't convert scoped enums to integers 2021-12-09 12:09:33 -08:00
Victor Zverovich c652f8243a Make header guard consistent with header name 2021-12-09 10:49:47 -08:00
Victor Zverovich a9c7b9b8f7 Clarify that _format is deprecated 2021-12-09 10:34:27 -08:00
Victor Zverovich e4f0564aa6 Disable is_streamable for string[_view] 2021-12-09 10:02:18 -08:00
Victor Zverovich 91533d3c33 Minor tweaks to chrono subsecond formatting 2021-12-09 06:55:31 -08:00
matrackifandVictor Zverovich 0bbc9708f9 Implement c++20 std::chrono::duration subsecond formatting (#2623)
* Add support for subsecond printing for std::chrono::duration according to the c++20 standard

* Remove assert test that overflows intmax_t

* * Hopefully fix int64_t to int32_t conversion errors.
* Allow proper Duration::rep type to propagate via template argument deduction

* * Hopefully fix int64_t to int32_t conversion errors.
* Allow proper Duration::rep type to propagate via template argument deduction

* Fix sign conversion (-Wsign-conversion) warning treated as error in num_digits()

* Format chrono.h with clang-format

* Remove extra forward slash in doxygen style comment

Co-authored-by: Victor Zverovich <victor.zverovich@gmail.com>

* Apply all suggestions from GitHub, except for replacing the utility subsecond_helper class with a function

* * Move logic of handling subseconds from utility class to function with name write_fractional_seconds()
* Revert write(Rep value, int width) function to previous state

* Fix -Wshadow warning

* Remove unsued get_subseconds() function, its logic has been moved to write_fractional_seconds()

* Change comment from lowercase int to uppercase Int

* Simplify test check

* Integrate suggested changes

* Remove static from detail functions, they are no longer member functions of a class and static is unnecessary.
* Change comment from "amount" to "number"

Co-authored-by: Victor Zverovich <victor.zverovich@gmail.com>
2021-12-09 06:45:13 -08:00
Vladislav Shchapov 9d5b9defde Enable tzset only on Windows desktop app (#2633) 2021-12-07 15:22:36 -08:00
Victor Zverovich 215f21a038 Detect overflow on large precision 2021-12-05 07:26:58 -08:00
Vladislav Shchapov c240d98ffd Optimize tm formatting (Non C-locales and %Z) (#2617)
* Move fmt::detail::formatbuf to format.h

* Replace std::basic_ostringstream to std::basic_ostream with custom formatbuf

* Use tm.tm_zone
2021-12-04 11:02:31 -08:00
Andrew Corrigan 6ab73113fc Mark grow as FMT_CONSTEXPR20 (#2630)
resolves https://github.com/fmtlib/fmt/issues/2627
2021-12-03 07:13:30 -08:00
Victor Zverovich c472a27818 Fix handling of very large precision in fixed format 2021-11-27 08:23:05 -08:00
Alex Guteniev 201971e293 Make MSVC use [[nodiscard]] (#2615)
* Make MSVC use [[nodiscard]]
* Uniformly detect attributes for __cplusplus and _MSVC_LANG
2021-11-26 07:32:50 -08:00
Florin Iucha acad8cfab1 Reformat all source code; no functional changes
Before adding the format checker, the mainline should be clean, to
avoid false failures.
2021-11-25 09:15:25 -08:00
Florin Iucha 491ba2dda5 Annotate fmt::format and fmt::formatted_size as [[nodiscard]]
This prevents accidentally writing fmt::format when fmt::print was
intended. Other than running tests, there's not a good use case for
discarding the formatted output.
2021-11-25 07:30:30 -08:00
Vladislav Shchapov 5abe9e8266 Add platform-specific 'z' formatter 2021-11-25 06:52:39 -08:00
Vladislav Shchapov be3a3a5aed Use predefined formats for C-locale 2021-11-25 06:52:39 -08:00
Alex Guteniev a3ab36c803 Formatting of function pointers, member function pointers, member object pointers... (#2610) 2021-11-23 12:55:22 -08:00
Victor Zverovich 43419a4ada Workaround a bug in gcc 2021-11-19 07:32:42 -08:00
Vladislav Shchapov c089f7d497 Simplify std::tm formatter 2021-11-14 07:16:22 -08:00
Vladislav Shchapov aa5517f6b9 Reuse tm_writer in chrono_formatter 2021-11-14 07:16:22 -08:00
Vladislav Shchapov 50140be7ae Reuse tm_writer in weekday formatter 2021-11-14 07:16:22 -08:00
Victor Zverovich 8b89454994 Improve consistency 2021-11-13 08:59:56 -08:00
Victor Zverovich 5380ff4d88 Detect types convertible to unformattable pointers 2021-11-13 08:26:27 -08:00
Pavel Novikov 094b66e81d changed locale retrieval way to a fancy one 2021-11-12 12:46:38 -08:00
Vladislav Shchapov b69ae4854c Reorder classes (#2591) 2021-11-10 17:09:23 -08:00
Pavel Novikov 0b843af56b sped up chrono.h formatting for cases without providing locale (#2576) 2021-11-07 08:52:57 -08:00
lukester1975 12b1d8b14a Fix precision 0 with std::chrono::duration and added additional tests. (#2588) 2021-11-06 08:57:22 -07:00
Olli Lupton e67f92c55c Cleanup warnings with nvhpc/21.9. (#2582)
* Cleanup warnings with nvhpc/21.9.

* Move __NVCOMPILER check.

* Be more explicit.

* Immediately executed lambda.

* Fix shadowing warning.
2021-11-05 12:17:11 -07:00
Victor Zverovich 812733cc96 const qualify format function for systen_clock 2021-10-31 09:41:16 -07:00