Victor Zverovich
507c3042d8
class -> typename
2023-02-18 10:23:42 -08:00
Victor Zverovich
1741e90dec
Always call parse in range formatter
2023-02-18 09:58:37 -08:00
Froster
b5c2f74f45
change sopen_s to wsopen_s (fmtlib#3234) ( #3293 )
2023-02-16 11:17:55 -08:00
Russell Greene
6e6eb63770
[msvc] fix warning about non-inline variable
2023-02-11 09:45:13 -08:00
Victor Zverovich
655046d24f
Fix container adaptor formatting
2023-02-10 09:45:37 -08:00
Shawn Zhong
581c6292c9
Add formatters for container adapters ( #3279 )
2023-02-08 17:25:41 -08:00
Shawn Zhong
7718eeeacc
Implement glibc ext for sec, min, and hour ( #3271 )
2023-02-08 09:22:58 -08:00
Victor Zverovich
44e0eea94e
Use FMT_HAS_INCLUDE and apply clang-format
2023-02-08 07:19:10 -08:00
Roman-Koshelev
99070899b7
Fix errors setting of FMT_USE_FLOAT128 ( #3259 )
2023-02-08 07:15:02 -08:00
Barry Revzin
05e3a9233a
Allowing formatting non-copyable ranges. ( #3290 )
2023-01-27 12:29:57 -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
Victor Zverovich
cae9bf45b9
Simplify apidoc comments
2023-01-25 09:32:03 +13:00
Shawn Zhong
87c066a35b
Implement println ( #3267 )
2023-01-24 12:30:00 -08:00
Vladislav Shchapov
9409b2e4d8
Workaround for incompatibility between libstdc++ consteval-based std::is_constant_evaluated() implementation and clang-14 ( #3281 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2023-01-22 11:29:34 -08:00
jk-jeon
f89cd276f7
Refactor countl_zero fallback ( #3276 )
2023-01-17 15:04:34 -08:00
Victor Zverovich
240b728d81
Report an error on overflow
2023-01-18 11:52:33 +13:00
Shawn Zhong
dfbb952b2c
Fix empty spec for time point ( #3275 )
2023-01-16 11:48:00 -08:00
Shawn Zhong
39971eb336
Fix localized format for float-point numbers ( #3272 )
2023-01-15 11:47:24 -08: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
Kenny Weiss
bfc0924eac
Bugfix for fmt::printf on Power9 architecture with the XL compiler ( #3256 )
2023-01-13 11:36:00 -08:00
Shawn Zhong
676c2a107e
Fix negative subsec for time_point ( #3261 )
2023-01-11 11:36:50 -08:00
Shawn Zhong
dda53082be
Support fill, align & width for time point ( #3260 )
2023-01-09 11:25:31 -08:00
Victor Zverovich
2622cd23e6
Simplify arg_mapper
2023-01-03 16:35:21 -08:00
Victor Zverovich
9e4a54fa6e
Disable remaining implicit conversions
2023-01-03 12:08:42 -08:00
Victor Zverovich
9ce6480676
Disble deprecated implicit enum conversions
2023-01-03 10:24:31 -08:00
Victor Zverovich
9121f9b1d3
Enable format_as for classes
2023-01-03 08:58:23 -08:00
Victor Zverovich
b7535365b2
Enable format_as for non-integral types
2023-01-02 13:37:13 -08:00
Victor Zverovich
0ec65d99aa
Merge parse_presentation_type into parse_format_specs
2023-01-02 09:19:32 -08:00
Victor Zverovich
71e4e02722
Cleanup vprintf
2023-01-02 08:37:00 -08:00
Victor Zverovich
aad546baa5
Simplify presentation type parsing
2023-01-01 16:14:17 -08:00
Victor Zverovich
14a69fcc54
Use parse_align
2023-01-01 10:44:55 -08:00
Victor Zverovich
bf34ffd33f
Refactor format string parsing
2023-01-01 10:21:47 -08:00
Victor Zverovich
6056e07125
Simplify symbols
2022-12-30 19:35:05 -08:00
Victor Zverovich
aa99b86409
Minor cleanup
2022-12-30 18:51:15 -08:00
Victor Zverovich
6ade2eb4e5
Inline all_int_set
2022-12-30 17:05:08 -08:00
Victor Zverovich
caa6974942
Simplify parse functions
2022-12-30 16:34:36 -08:00
Victor Zverovich
a73a9b6a84
Refactor format string checks
2022-12-30 16:03:41 -08:00
Victor Zverovich
72785a3aba
Cleanup write
2022-12-30 13:53:55 -08:00
Victor Zverovich
0c3dd5ddd7
Remove redundant check
2022-12-30 12:55:19 -08:00
Victor Zverovich
739b600f40
Remove iterator shenanigans
2022-12-30 12:37:22 -08:00
Victor Zverovich
a05ba44df8
Simplify format string parsing
2022-12-30 11:23:42 -08:00
Victor Zverovich
ffb9b1d13c
Improve handling of signed types
2022-12-30 10:31:39 -08:00
Victor Zverovich
32190859ec
Fix handling of char
2022-12-30 09:11:42 -08:00
Victor Zverovich
8fe4d97d5e
Reduce template instantiations
2022-12-30 08:44:23 -08:00
Orvid King
7e5a959564
Fix build with MSVC C++20 modules ( #3254 )
...
When using fmt with C++20 modules under MSVC, it can end up requiring certain things to have storage that would not otherwise have needed to. Since I didn't see anything that was already doing detection for `inline constexpr` variable support, I've just moved the entire thing into the only function where it's used.
2022-12-28 19:58:57 -08:00
Victor Zverovich
7ad48c1f65
Cleanup core.h
2022-12-26 09:14:15 -08:00
Victor Zverovich
a921a596e7
Cleanup core.h
2022-12-26 07:46:31 -08:00
Victor Zverovich
3e762fdf5c
Use ignore_unused
2022-12-26 06:57:21 -08:00
Victor Zverovich
79981a2528
Cleanup ranges formatting
2022-12-25 20:05:20 -08:00
Victor Zverovich
bd12aaa98e
Simplify format string parsing
2022-12-25 12:31:38 -08:00
Victor Zverovich
b8f36207c9
Simplify format string parsing
2022-12-25 11:47:43 -08:00
Victor Zverovich
32c4390704
Minor cleanup
2022-12-25 08:59:25 -08:00
Victor Zverovich
3a5e19fbf5
Minor cleanup
2022-12-25 08:42:16 -08:00
Victor Zverovich
dfb857ebef
Refactor format spec parsing
2022-12-25 07:25:32 -08:00
Victor Zverovich
9ea9b6bcb1
Cleanup arg id parsing
2022-12-24 16:33:57 -08:00
Victor Zverovich
2b0ff62a7f
Remove unused template arg from format_string_checker
2022-12-24 15:46:34 -08:00
Victor Zverovich
d1745084e0
Simplify parse context
2022-12-24 15:20:24 -08:00
Victor Zverovich
407e7b7b6d
basic_format_specs -> format_specs
2022-12-24 14:34:50 -08:00
Victor Zverovich
3cf9794755
Cleanup format string parsing
2022-12-24 13:47:20 -08:00
Victor Zverovich
934c8e5f76
Refactor precision parsing
2022-12-24 13:29:23 -08:00
Shawn Zhong
fc96938345
Remove empty semicolon
2022-12-24 09:54:55 -08:00
Victor Zverovich
f0ab112c34
Cleanup parsing
2022-12-24 09:40:35 -08:00
Shawn Zhong
a585571e90
Ignore 0 character with align
2022-12-23 19:36:05 -08:00
Victor Zverovich
840ec8569d
Cleanup width handlers
2022-12-23 19:18:35 -08:00
Victor Zverovich
1dadeb8a33
Refactor width parsing
2022-12-23 18:29:59 -08:00
Victor Zverovich
275b4b3417
Remove obsolete parse-benchmark
2022-12-23 12:50:08 -08:00
Vladislav Shchapov
e004f1d699
Fix for issue #3241
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-12-23 12:26:20 -08:00
Victor Zverovich
bde1a6070d
Simplify fill and alignment parsing
2022-12-23 10:52:56 -08:00
Victor Zverovich
6a186bcd66
Localize FMT_USE_LOCAL_TIME
2022-12-21 14:52:52 -08:00
Shawn Zhong
8c56919bd2
Check chrono spec starts with %
2022-12-21 14:40:30 -08:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
115001a3b1
Formatting of system clocks ought to be to UTC, not to local time.
...
This improves standards conformance of fmt.
2022-12-21 14:23:02 -08:00
Victor Zverovich
b90895412f
Fix formatting of named arguments with locale
2022-12-15 09:59:40 -08:00
Vladislav Shchapov
d072f1dc69
Fix for issue #3228
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-12-14 13:49:36 -08:00
Vladislav Shchapov
c06e0b4ede
Extract timezone offset from timezone conversion functions
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-12-10 10:13:53 -08:00
Vladislav Shchapov
1bf302a4ea
Implement %Ez, %Oz for chrono formatter
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-12-10 10:13:53 -08:00
Victor Zverovich
1a854b4aa5
Clarify what mod_inv_5 is
2022-12-04 08:36:03 -08:00
Radek Brich
62ceb181b1
fix #3105 - Compile-time error when mixing named argument with automatic indexing
2022-12-04 08:13:26 -08:00
Maksymilian Czudziak
b0c8263cb2
include/fmt/core.h: copy constructors removal
2022-11-30 16:44:42 -08:00
Vladislav Shchapov
d24be2e95c
Add countl_zero function
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-11-30 12:25:01 -08:00
Victor Zverovich
8d50d814db
Fix a chrono formatting issue found by fuzzing
2022-11-30 11:04:51 -08:00
Victor Zverovich
fae6f7e081
Optimize range formatter
2022-11-26 08:50:46 -08:00
Vladislav Shchapov
91c024ed33
Rename leading_v -> leading_xdigit
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-11-25 09:08:40 -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
Vladislav Shchapov
74d55a4938
Add missing operators
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-11-24 07:15:46 -08:00
Vladislav Shchapov
81ebe70b9b
Fix warning: a class type that is not trivially copyable passed through ellipsis (EDG frontend)
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-11-22 10:51:00 -08:00
Hans-Martin B. Jensen
7df30f91ae
Format unique_ptr with custom deleter ( #3177 )
...
* Format unique_ptr with custom deleter
Added deleter type to fmt::ptr unique_ptr overload. Deleter type is
part of the unique_ptr type.
* Review: apply clang-format
Co-authored-by: Hans-Martin B. Jensen <haje@eposaudio.com>
2022-11-13 21:54:32 -08:00
Victor Zverovich
fc07217d85
Make utf-8 detection compatible with gbk
2022-11-02 15:42:47 -07:00
Vladislav Shchapov
cb7373b469
Replace format with FMT_STRING. ( #3162 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-11-02 13:17:16 -07:00
Stepan Ponomaryov
795ed8abf5
Add precision modifier for seconds in chrono format ( #3148 )
...
Co-authored-by: Stepan Ponomarev <stepan.ponomarev@itiviti.com>
2022-11-02 11:58:51 -07:00
Barry Revzin
66d71a1b35
Fixing formatting of range of range of char. ( #3158 )
2022-11-02 11:04:54 -07:00
Ihor Dutchak
80f8d34427
fmt::ostream - aggregate buffer instead of inheriting it ( #3139 )
...
Some MSVC-specific behavior:
When class fmt::ostream inherits detail::buffer - the last gets implicitly exported when fmt is built as a shared library.
Unless os.h is included, the compiler assumes detail::buffer is not externally exported and instantiates a local copy of it, which causes ODR violation.
With aggregation - there is no extra exporting of detail::buffer symbols.
2022-10-23 07:21:36 -07:00
Stepan Ponomaryov
64965bdc96
Add locale getter in tm_writer ( #3147 )
...
* Add locale getter in tm_writer
* Apply clang-format
Co-authored-by: Stepan Ponomarev <stepan.ponomarev@itiviti.com>
2022-10-20 10:22:03 -07:00
Vladislav Shchapov
e1ffa7655d
Fix warning: conditional expression is constant. ( #3150 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-10-20 07:49:53 -07:00
Vladislav Shchapov
f67dbc9811
Remove duplicate implementation ( #3144 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-10-17 11:15:28 -07:00
Vladislav Shchapov
cd7202e039
Fix overflow error ( #3143 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-10-16 14:04:55 -07:00
Vladislav Shchapov
51d3685efe
Remove duplicate template parameter. ( #3142 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-10-14 16:34:24 -07:00
Patrick Roocks
9254cfa6f0
Support formatting of subseconds ( #3115 )
...
* Timestamp formatting shall print also subseconds, fixed a bug for fractional durations
2022-10-12 14:33:53 -07:00
Ihor Dutchak
cfb34a0607
Avoid using uint as a type name ( #3137 )
...
Sometime `uint` is defined as a global type by the project's code directly or by some 3rdparty libraries (e.g. Qt or OpenCV).
Some versions of MSVC (e.g. v16.11.15) gives a type shadowing warning:
```
3rdparty\fmtlib\fmt\include\fmt/format.h(3251): warning C4459: declaration of 'uint' hides global declaration
opencv2/core/hal/interface.h(45): note: see declaration of 'uint'
```
This also causes a compilation failure when `/WX` is used.
2022-10-12 10:53:47 -07:00
Vladislav Shchapov
d2c47c0df2
Fix broken condition ( #3129 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-10-07 13:46:45 -07:00