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
Victor Zverovich
491c32cbd9
Workaround gcc bug 103879
2022-10-05 21:12:38 -07:00
Vladislav Shchapov
662adf4f33
Move formatter<std::error_code> from fmt/os.h to fmt/std.h ( #3125 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-10-01 17:46:09 -07:00
Vladislav Shchapov
ad91cab374
Normalization of stdlib inline namespace names ( #3119 )
...
* Normalization of stdlib inline namespace names
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
* Remove all subnamespaces with names matching "__*" mask
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-09-29 09:52:38 -07:00
Patrick Roocks
ad719619cc
Support formatting of std time_point with utc_clock ( #3110 )
2022-09-28 07:31:53 -07:00
huangqinjin
48f525d025
Add basic_format_string::get()
2022-09-22 19:50:04 -07:00
Victor Zverovich
0b5cb18b71
Use buffering in to_string to avoid bloat
2022-09-21 17:11:43 -07:00
Victor Zverovich
ac85afaab6
Simplify format_error
2022-09-16 14:25:14 -07:00
Björn Schäpers
2d66ad5d33
Suppress -Wshadow
...
Solves:
/fmt/include/fmt/ostream.h:89:18: warning: declaration of 'fbuf' shadows a previous local [-Wshadow]
89 | else if (auto* fbuf = dynamic_cast<__gnu_cxx::stdio_filebuf<char>*>(rdbuf))
| ^~~~
C:/GIT/ok-mimot/libs/3rdParty/fmt/include/fmt/ostream.h:87:13: note: shadowed declaration is here
87 | if (auto* fbuf = dynamic_cast<__gnu_cxx::stdio_sync_filebuf<char>*>(rdbuf))
| ^~~~
2022-09-13 11:14:30 -07:00
Björn Schäpers
042af53324
Suppress -Wfloat-equal
...
Only NaN and Inf are not less than Inf and the check for NaN is done
before.
Solves:
.../fmt/include/fmt/format.h:2509:43: warning: comparing floating-point with '==' or '!=' is unsafe [-Wfloat-equal]
2509 | return !detail::isnan(value) && value != inf && value != -inf;
2022-09-13 11:14:30 -07:00
Victor Zverovich
192859c2b5
Optimize writing to buffers via back_insert_iterator
2022-09-12 15:32:12 -07:00
Vladislav Shchapov
61844b6b67
Fix build error on GCC-9
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-09-12 07:02:29 -07:00
Victor Zverovich
94ceb38a09
Improve locale API
2022-09-11 09:33:31 -07:00
Victor Zverovich
58c4c012fa
Disable slow windows build and simplify write_loc
2022-09-11 08:35:09 -07:00
Victor Zverovich
c3494ae364
Refactor float localization
2022-09-11 07:47:27 -07:00
Vladislav Shchapov
21c2137e77
Add class name output to formatter for std::exception ( #3076 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-09-10 08:04:00 -07:00
Victor Zverovich
ecffca6726
Don't parse '}' as fill
2022-09-07 17:33:31 -07:00
gerboengels
3176e0fad7
Add locale overload for formatted_size ( #3084 ) ( #3087 )
...
Co-authored-by: Gerbo Engels <gerbo.engels@ortec-finance.com>
2022-09-07 14:15:12 -07:00
VinaCC
1feb430faa
Fix intellisense on Windows ( #3082 )
...
__INTELLISENSE__ is 1 on vs2022 and clang, causing FMT_HAS_INCLUDE, FMT_USE_FCNTL, etc to be 0.
That results in VS and VSCode having a lot of linter errors while code compiles just fine.
2022-09-05 11:50:06 -07:00
Victor Zverovich
b98ffb7dbd
Improve locale handling
2022-09-04 21:07:30 -07:00
Vladislav Shchapov
bac53951b8
Add starts_with to basic_string_view. ( #3080 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-09-04 11:41:16 -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
91ecb38a34
Localize negative integers
2022-09-03 07:01:11 -07:00
Victor Zverovich
aec3bb5d0a
Workaround C complex.h idiocy
2022-09-03 06:35:55 -07:00
NewbieOrange
29c6000137
Simplify is_variant_like_ check, fix compile error before GCC 11 ( #3072 )
...
Co-authored-by: Vladislav Shchapov <vladislav@shchapov.ru>
Co-authored-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-09-02 21:08:07 -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
Zach Toogood
4191477b98
Add formatter for std::exception ( #3062 )
...
Co-authored-by: fekir <federico.kircheis@gmail.com>
Co-authored-by: Alexey Ochapov <alexez@alexez.com>
Co-authored-by: Vladislav Shchapov <vladislav@shchapov.ru>
Co-authored-by: fekir <federico.kircheis@gmail.com>
Co-authored-by: Alexey Ochapov <alexez@alexez.com>
Co-authored-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-09-02 08:33:37 -07:00
Victor Zverovich
75383a87f9
Inline trivial functions
2022-09-01 18:25:23 -07:00
Victor Zverovich
48327a82e3
Make format.h compile faster
2022-09-01 17:06:47 -07:00
Victor Zverovich
b79ed4105a
Remove unnecessary type_identity
2022-09-01 16:29:08 -07:00
Victor Zverovich
64e29893cf
Improve locale support
2022-09-01 14:48:43 -07:00
Victor Zverovich
0b0f7cfbfc
hip workaround
2022-09-01 09:18:53 -07:00
Greg Sjaardema
40e414d823
Fix compilation error with gcc-7.2.0
...
Without the added line, the gcc-7.2.0 compiler will give the following error:
```
/opt/compiler-explorer/libs/fmt/trunk/include/fmt/format.h:1240:8: error: uninitialized variable 'buffer' in 'constexpr' function
Char buffer[digits10<UInt>() + 1];
^~~~~~
```
See https://godbolt.org/z/fh7TMs9qs
2022-08-30 10:55:57 -07:00
Vladislav Shchapov
a07411c2b9
Disable compile-time checks for dynamic width/precision test for LCC and compiler without std::is_constant_evaluated()
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-08-29 13:33:48 -07:00
Vladislav Shchapov
797d82b21a
Disable non-type template args for LCC
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-08-29 13:33:48 -07:00
Vladislav Shchapov
a553521d6d
Disable "GCC optimize" pragma for LCC
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-08-29 13:33:48 -07:00
Victor Zverovich
1f575fd5c9
Bump version
2022-08-27 08:55:39 -07:00
Victor Zverovich
91481f255c
Detemplatize code_point_length_impl
2022-08-26 15:45:00 -07:00
Vladislav Shchapov
f98048b621
Fix bugs in utf8 decoder ( #3056 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-08-26 15:37:15 -07:00
Victor Zverovich
4a8e2949bb
Fix formatting of ranges of code unit types
...
Thanks Nicole Mazzuca.
2022-08-26 13:48:58 -07:00
Victor Zverovich
e724bbea16
Fix wchar_t corner cases
2022-08-24 12:23:10 -07:00
Bernhard Manfred Gruber
665d9779ec
Disable non-type template args for nvhpc ( #3053 )
2022-08-24 10:56:45 -07:00
Victor Zverovich
391f922acc
Improve error reporting in format string compilation
2022-08-24 09:05:15 -07:00
Vladislav Shchapov
489dabbd31
Fix decoder on broken utf8 sequences. ( #3044 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-08-24 07:13:27 -07:00
Victor Zverovich
1f95c34381
Fix sign handling with large code units
2022-08-20 07:46:58 -07:00
Olli Lupton
fbb568bce0
nvhpc/22.3: workaround for c++17 mode. ( #3043 )
2022-08-18 11:30:40 -07:00
Mark Santaniello
fd93b633b8
Constexpr formatted_size ( #3026 )
...
* Constexpr formatted_size
* Add C++20 tests for gcc 9 and 10
* Adjust unit test to require __cpp_lib_bit_cast
2022-08-10 09:35:30 -07:00
Victor Zverovich
7fb8d33f9d
Fix compile-time width/precision type check
2022-08-09 16:10:02 -07:00
Dimitrij Mijoski
8bd02e93b2
Reduce conditional compilation
2022-08-09 09:05:01 -07:00
Dimitrij Mijoski
d9c1c7353a
Use is_utf8() in print(std::ostream&, ...)
...
This patch concludes the Unicode support for print(ostream&, ...)
2022-08-09 09:05:01 -07:00
Hannes Friederich
b9087ee587
Suppress unused typedef warning
2022-08-05 15:27:01 -07:00
Vladislav Shchapov
90c48b8525
Remove double code execution
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-08-05 06:15:59 -07:00
Vladislav Shchapov
5a8b7cd742
Add comment
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-08-05 06:15:59 -07:00
Vladislav Shchapov
36a25d75b4
Reuse detail::string_literal in the chrono formatter
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-08-05 06:15:59 -07:00
Vladislav Shchapov
6c9304b2c2
Replace ParseContext with basic_format_parse_context
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-08-05 06:15:59 -07:00
Vladislav Shchapov
24ab9dd19e
Remove duplicate method
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-08-05 06:15:59 -07:00
Vladislav Shchapov
a95dc17017
Remove unused condition
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-08-05 06:15:59 -07:00
Victor Zverovich
5f774c0aed
I shouldn't be there
2022-08-02 16:35:50 -07:00
Vladislav Shchapov
6c6b1fbf6e
Workaround a bug in MSVC
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-08-02 06:46:02 -07:00
Victor Zverovich
6452e3c9eb
Fix a typo in example
2022-08-02 06:26:19 -07:00
Dimitrij Mijoski
756822ba39
Fix Unicode handling for ostream under Windows with libc++. ( #3001 )
...
Also replaces the SFIANE tricks applied in
ce7ecdb7afb207dadf55c8ae457e14aa44e7f537 with conditional compilation.
The code was too complicated along with the other trick to access private
data members.
2022-07-30 06:49:21 -07:00
Barry Revzin
0b2862a1e4
Range formatter ( #2983 )
...
* Implement range_formatter and format_kind
* Attempted gcc 4.8 fix
* gcc 4.8 interprets inaccessible as a hard error (instead of... not available)
* Attempting to delete set_debug_format.
* clang-format
* Different implementation of FMT_STATICALLY_WIDEN
* Renaming copy_str_range to copy_str.
* I guess I need a definition
* Forgot to delete these.
* Other PR comments.
2022-07-29 13:55:16 -07:00
Victor Zverovich
e9ca7ea472
Suppress a bogus warning
2022-07-28 07:12:49 -07:00
Dimitrij Mijoski
81f1cc74a7
Improve Unicode handling when writing to an ostream on Windows ( #2994 )
...
* Refactor detail::print() by splitting into two functions.
The part with SetConsoleW is a separate function, without fwrite().
* Make Unicode handing when writing to std::ostream more robust.
Calls to print(ostream&) in the special Unicode case on Windows fallback
to writing via ostream::write instead of fwrite().
* Fix Unicode handling when writing to an ostream on GCC on Windows
* Add TODO note about detail::is_utf8()
* Fix warning -Wundef
* Fix for non-Windows OSs
* Fix building as DLL on Windows
* Refactor
* Suppress warning
2022-07-23 08:03:31 -07:00
Victor Zverovich
48e0a59222
Implement compile-time checks for dynamic width/precision type
2022-07-22 17:00:40 -07:00
Federico
bc5c7c50fd
Fixes IBM XLC behavior with uint128 fallback ( #2985 )
...
* Fixes IBM XLC behavior with uint128 fallback
* Replace legacy xlc with clang-based xlc
* simplify xlc intrinsics handling
Co-authored-by: Federico Busato <fbusato@nvidia.com>
2022-07-22 13:49:17 -07:00
Victor Zverovich
371f9c71ca
Fix even in format_dragon
2022-07-19 08:36:34 -07:00