Commit Graph
1572 Commits
Author SHA1 Message Date
Vladislav Shchapov 2754546080 Fix errors in ISO week-base-year formatter 2021-10-16 15:03:57 -07:00
Vladislav Shchapov 218cecb6d1 Fix error in test 2021-10-16 15:03:57 -07:00
Vladislav Shchapov 5dc3dd3d4a New tests 2021-10-16 15:03:57 -07:00
Vladislav Shchapov 4707373d33 Fix year formatter 2021-10-16 15:03:57 -07:00
Vladislav Shchapov 79c00ad8f2 Improve ISO week-base-year formatter 2021-10-16 15:03:57 -07:00
Vladislav Shchapov cde44ddb72 Improve year formatter 2021-10-16 15:03:57 -07:00
Vladislav Shchapov b04601b918 Switch from std::strftime/std::wcsftime to internal implementation for locale independent formats 2021-10-16 15:03:57 -07:00
Vladislav Shchapov d3d30a46f0 New tests 2021-10-16 15:03:57 -07:00
Vladislav Shchapov 509eac9575 Workarounds for implementation-defined std::strftime behavior 2021-10-16 15:03:57 -07:00
Vladislav Shchapov 85b38190d1 New tests for all C++11 std::strftime format specifiers 2021-10-16 15:03:57 -07:00
Barry Revzin 7aca36bca4 Extending fmt::join to support C++20-only ranges. (#2549) 2021-10-16 10:02:03 -07:00
Josh Essman f56756986b fix: check to make sure both 'if constexpr' and return type deduction are available
fix: remaining ifdefs
2021-10-14 10:44:24 -07:00
Victor Zverovich dcd282bb26 Namespace qualify calls to get 2021-10-09 07:15:14 -07:00
Victor Zverovich e1bd6cc913 Refactor FP formatting 2021-09-26 10:25:46 -07:00
Victor Zverovich ff7e73af66 Always run grisu_gen_digits before fallback_format 2021-09-26 07:54:25 -07:00
Victor Zverovich 2976e31ac9 Refactor format_float 2021-09-25 11:20:56 -07:00
Alexey Ochapov b4d9d82e1d make FP formatting available to be used at compile-time (#2426)
* works only with FMT_HEADER_ONLY
* works only with float and double types (not long double)
2021-09-18 08:03:23 -07:00
Vladislav Shchapov d9fd695ac7 Fix wchar_t tm formatting 2021-09-15 07:33:24 -07:00
Vladislav Shchapov 92614ecbf9 Optimize %T in tm formatting 2021-09-15 07:33:24 -07:00
Victor Zverovich 67cb2dad37 Optimize %F in tm formatting 2021-09-10 07:48:50 -07:00
Victor Zverovich 894faf3fed Refactor presentation types 2021-09-06 13:32:33 -07:00
Victor Zverovich 6b55c83252 is_const_formattable -> has_const_formatter 2021-09-05 08:35:08 -07:00
Victor Zverovich 2fe94ad7e3 Make specifiers support in tuple_join an opt-in 2021-09-05 07:34:06 -07:00
Victor Zverovich 3940de5952 thousands -> group_digits 2021-09-05 06:47:18 -07:00
Victor Zverovich c4d0f96a6d Implement format specs in fmt::thousands 2021-09-04 06:56:51 -07:00
Victor Zverovich 3b9c442689 Implement thousands separators without locales 2021-09-04 06:32:46 -07:00
Victor Zverovich 60cd5ea3f2 Add support for more formattable types in ranges 2021-09-03 14:55:41 -07:00
Victor Zverovich 5681563898 Cleanup ostream interface 2021-09-03 10:35:19 -07:00
Victor Zverovich 20931baf1d Disable fallback_formatter for arrays 2021-09-03 08:59:36 -07:00
Pierre-Antoine LacazeandPierre-Antoine Lacaze d58d19ba32 Fix an odr violation in ranges.h (#2483)
* Add a testcase demonstrating ODR violation in ranges.h

* Fix ODR violation in ranges.h

* Fix comments

Co-authored-by: Pierre-Antoine Lacaze <pa.lacaze@gmail.com>
2021-09-02 08:47:44 -07:00
Victor Zverovich ee0659f8b6 Fix formatting of abstract classes via ostream 2021-09-02 08:19:12 -07:00
Paul Dreik 4db5723525 add fuzzers for chrono timepoint and localtime,gmtime (#2469)
* add fuzzers for chrono timepoint and localtime,gmtime

* reorder cases to improve throughput

mutating the first byte of the input now always results in picking
on of the two paths. Before, two of the four possible outcomes resulted
in doit() not being invoked.

* drop the localtime fuzzer

* inline aliases

* only fuzz std::chrono::system_clock
2021-08-29 06:58:23 -07:00
Victor Zverovich 729a44e67d Depreate strtod and remove problematic tests 2021-08-28 09:20:36 -07:00
Victor Zverovich 043e3b3429 Remove static_assert from arg_mapper 2021-08-26 20:45:01 -07:00
Victor Zverovich 8b0cb944da Fix error reporting when mixing character types 2021-08-26 18:16:05 -07:00
Victor Zverovich 6d597e39c3 Fix overload ambiguity in arg_mapper 2021-08-26 16:54:27 -07:00
Victor Zverovich f889e52a15 Improve error reporting 2021-08-26 15:47:44 -07:00
sunmy2019 a44c8f651b reimplement formatter<tuple_join_view> (#2457)
* reimplement `formatter<tuple_join_view>`

1. completely reimplement `formatter<tuple_join_view<Char, T...>, Char>`
2. Add some tests

* use FMT_THROW
2021-08-23 09:51:19 -07:00
Paul Dreik 6b5e6119ee set clang in one place 2021-08-22 17:52:45 -07:00
Paul Dreik 7af1dc1d27 fix UB in fuzzer common (memcpy on nullptr) 2021-08-22 17:52:45 -07:00
Paul Dreik e77686f7a8 clang format
using clang format 11
2021-08-22 17:52:45 -07:00
Victor Zverovich 2207ea0b36 More escaping 2021-08-22 16:54:26 -07:00
Victor Zverovich a212ff757f Escape invalid code points 2021-08-22 15:51:33 -07:00
Victor Zverovich 07d033ecb4 Fix is_printable 2021-08-22 10:37:18 -07:00
Victor Zverovich 371d8e2ee0 Escape Unicode 2021-08-22 07:55:59 -07:00
Victor Zverovich 6397095ca4 More escaping 2021-08-21 16:36:25 -07:00
Victor Zverovich 11b07a56b2 We should escape 2021-08-19 14:50:59 -07:00
Victor Zverovich b559cfd4c0 Implement basic escaping 2021-08-19 14:12:26 -07:00
Victor Zverovich 6ea6cf9464 Add decimal separator support to float 2021-08-14 09:16:26 -07:00
Vladislav Shchapov 07211701f4 Disable the -Wstringop-overflow warning from GCC 7 (#2442) 2021-08-02 14:20:18 -07:00