cre
69396347af
Update color.h ( #2815 )
...
fixed typo in comment
2022-03-17 10:55:02 -07:00
Victor Zverovich
bc654faf82
Add is_floating_point that works with __float128
2022-03-15 08:26:05 -07:00
Victor Zverovich
26bffce66d
Simplify basic_memory_buffer
2022-03-15 07:15:52 -07:00
Victor Zverovich
ed18ca3eae
Implement isnan
2022-03-14 20:37:46 -07:00
Victor Zverovich
a204b8dde7
Add initial __float128 support
2022-03-14 19:34:41 -07:00
Victor Zverovich
f2543b0a98
Add initial support for 128-bit floats
2022-03-14 14:00:15 -07:00
Victor Zverovich
72f487562d
Simplify float_info
2022-03-14 13:37:03 -07:00
Victor Zverovich
f91f61cd13
Reuse num_significand_bits
2022-03-14 11:34:24 -07:00
Victor Zverovich
9a1beab574
Workaround Windows API garbage
2022-03-11 17:31:39 -08:00
Riccardo Brugo
a8fe8becf4
Fix compilation error for ranges with ADL begin
/end
( #2807 )
...
* Use `range_begin`/`end` to get formatted range iterators
* Add test for adl `begin`/`end`
* Apply clang-format
* Simplify tests
2022-03-11 11:36:39 -08:00
Victor Zverovich
f6bcb25e16
Remove extra dot
2022-03-10 16:26:17 -08:00
Victor Zverovich
b4a4189d0c
Fix handling of implicit bit
2022-03-10 15:34:56 -08:00
Victor Zverovich
0b7c045a2f
Simplify _cf
2022-03-08 15:31:51 -08:00
rtobar
dcfbe4a77a
Document output_file default behavior correctly ( #2803 )
...
The documentation for output_file incorrectly says that opening an output file happens with `file::WRONLY | file::CREATE` by default, but this includes `file::TRUNC` is also included since 119f7dc3d
.
2022-03-08 10:02:22 -08:00
Riccardo Brugo
8c9bc070f5
Implement styled arguments ( #2793 )
...
* Implement styled arguments
* Inherit from formatter<Arg> to get the underlying `parse` and `format`
* Move styled_arg definition into the previous detail block
* Change styled_arg ctor parameters names to avoid shadowing members
* Move const before auto
* Remove redundant constructor for styled_arg
* Use the iterator instead of the buffer in styled_arg::format
* Remove unnecessary `styled` overloads
* Remove defaulted text_style parameter in styled function
2022-03-08 09:50:14 -08:00
Greg Sjaardema
5bc39d363a
Eliminate intel compiler warnings ( #2802 )
...
The intel compiler emits `declaration hides parameter "loc" ..." and similar warnings for "out" and "args" since the function arguments are the same as other visible symbols. This is for intel-2021.3.0 20210609.
2022-03-07 15:34:33 -08:00
Boris Dalstein
e3d688e79a
Fix warning C4251: class fmt::v8::file needs to have dll-interface ( #2797 )
...
* Fix warning C4251: class fmt::v8::file needs to have dll-interface
* Add CMake target dependency between test-main and fmt
2022-03-07 12:09:48 -08:00
Barry Revzin
0cef1f819e
Fixing formatting of certain kinds of ranges of ranges. ( #2787 )
...
* Fixing formatting of certain kinds of ranges of ranges.
* Renaming const_range to range_type.
2022-03-04 16:21:00 -08:00
Victor Zverovich
86477f7ecc
Fix size computation
2022-02-22 17:21:07 -08:00
Björn Schäpers
0742606f19
Fix Conversion Warning ( #2782 )
...
With -Wconversion and 32 Bit I get a warning here with unsigned long
long converted to unsigned long.
2022-02-22 08:16:36 -08:00
Victor Zverovich
1ba69fb5a1
Remove snprintf FP fallback
2022-02-21 08:01:55 -08:00
Victor Zverovich
ea6f0bf0e5
Minor cleanup
2022-02-21 07:29:36 -08:00
Ivan Shynkarenka
1a18a2f3dd
Fixing "C4127: conditional expression is constant" Visual Studio 2022 warning in pedantic mode ( #2783 )
2022-02-21 07:26:16 -08:00
Victor Zverovich
4fcacea354
Parameterized fp on significand type
2022-02-21 07:25:13 -08:00
Victor Zverovich
cf940ae82e
Simplify to_decimal
2022-02-20 19:38:02 -08:00
Juraj
70dc3de053
Update format.h
...
To prevent the following compiler message:
[...]/include/fmt/format.h:392:20: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
392 | unsigned value[size];
| ^~~~
2022-02-20 11:38:03 -08:00
Victor Zverovich
cbc59ca893
Clear moved from memory buffer
2022-02-20 08:12:59 -08:00
Victor Zverovich
aad44f2839
Add fmt::enums::format_as
2022-02-19 08:03:42 -08:00
Victor Zverovich
1319719a5e
Add underlying_t
2022-02-19 07:57:43 -08:00
Victor Zverovich
af5d8004fc
Limit Dragonbox to supported FP formats
2022-02-19 07:14:18 -08:00
Victor Zverovich
7b96420961
Remove unused include
2022-02-18 18:56:51 -08:00
Victor Zverovich
a0b43bfae2
Add support for 96-bit long double
2022-02-18 18:01:49 -08:00
Victor Zverovich
2c8cd2db34
Fix handling of zero precision
2022-02-18 12:38:30 -08:00
Victor Zverovich
b6d56170fc
Remove unnecessary inline
2022-02-18 07:41:55 -08:00
Victor Zverovich
05432e570e
Use consistent indentation
2022-02-18 07:38:42 -08:00
Victor Zverovich
47da218cc3
Remove uintptr_fallback
2022-02-18 07:03:33 -08:00
Victor Zverovich
4ddab8901c
Merge accumulator into int128_fallback
2022-02-18 06:17:28 -08:00
Victor Zverovich
d38f72aff2
Refactor fallback ints
2022-02-17 20:24:42 -08:00
Victor Zverovich
15c2a3bacc
int128_t -> int128_opt
2022-02-17 20:03:25 -08:00
Victor Zverovich
532a69a639
Fix handling of 96-bit long double with -m32
2022-02-17 15:51:59 -08:00
Victor Zverovich
ce93a66dfb
Implement a fallback uint128_t
2022-02-17 07:37:09 -08:00
Victor Zverovich
6a13464059
Include 128-bit with other signed integers in specifier check
2022-02-16 16:57:06 -08:00
Greg Sjaardema
70de324aa8
Apply 2746 fix for NVidia compiler also ( #2770 )
2022-02-16 12:04:16 -08:00
Victor Zverovich
a1ea3e015b
Move built-in formatter specialization to core
2022-02-16 07:37:00 -08:00
Victor Zverovich
161059dd98
Add support for extended precision FP
2022-02-16 06:07:04 -08:00
Victor Zverovich
c4c6b42de7
Bump version
2022-02-15 13:36:59 -08:00
Victor Zverovich
2b6f7fc7a3
Add partial support for extended precision FP
2022-02-15 07:22:41 -08:00
Vladislav Shchapov
0a24a0714e
Clz builtin may be not constexpr (Issue #2761 ) ( #2762 )
2022-02-14 18:19:06 -08:00
jk-jeon
5594edaf67
Address https://github.com/fmtlib/fmt/issues/2763 ( #2765 )
2022-02-13 20:14:28 -08:00
Vladislav Shchapov
10e3b83a75
Replace `make_args_checked
with
make_format_args
` ( #2760 )
...
* Replace make_args_checked to make_format_args
* Deprecate legacy make_args_checked
2022-02-13 20:13:35 -08:00
Junekey Jeon
083510f0f0
Add FMT_CONSTEXPR to rotr instead
2022-02-13 06:15:17 -08:00
Junekey Jeon
dba99bc860
Revert adding constexpr to rotr to satisfy C++11 compilers
2022-02-13 06:15:17 -08:00
Junekey Jeon
c04af4bfc7
Simplify remove_trailing_zeros
2022-02-13 06:15:17 -08:00
Junekey Jeon
b348caa9e9
Remove some C-style casts for consistency
2022-02-13 06:15:17 -08:00
Junekey Jeon
c8bd1e646e
Simplify remove_trailing_zeros
2022-02-13 06:15:17 -08:00
Junekey Jeon
9b23e9dcb8
Fix wrong comment/refer to a correct reference
2022-02-13 06:15:17 -08:00
Junekey Jeon
69f2c550ab
Remove std:: infront of uint32_t/64_t & add constexpr to rotr
2022-02-13 06:15:17 -08:00
Junekey Jeon
9b62310f03
Fix some conversion issues
2022-02-13 06:15:17 -08:00
Junekey Jeon
08d12f31d1
Fix typo
2022-02-13 06:15:17 -08:00
Junekey Jeon
dbddb1d066
Remove literal separator to satisfy some compilers
2022-02-13 06:15:17 -08:00
Junekey Jeon
7dbe3dcded
Recover log10_2_significand
2022-02-13 06:15:17 -08:00
Junekey Jeon
10642e6082
Optimize remove_trailing_zeros
2022-02-13 06:15:17 -08:00
Junekey Jeon
7b4323e1e0
Add rotr
2022-02-13 06:15:17 -08:00
Junekey Jeon
f1bd6f7731
Check r < deltai first, because that is the major branch chosen for short inputs
2022-02-13 06:15:17 -08:00
Junekey Jeon
5d8eb6a1a0
Reflect the new paper
...
- Change constants appearing in log & division computations
- Rename beta_minus_1 to beta
2022-02-13 06:15:17 -08:00
Victor Zverovich
8e2e4d4034
Suppress a gcc warning
2022-02-12 09:26:48 -08:00
Vladislav Shchapov
a44716f58e
Workaround to Intel compiler ( #2758 )
2022-02-11 06:25:42 -08:00
Vladislav Shchapov
c71b070168
Add missing const qualifier ( #2755 )
2022-02-10 10:51:32 -08:00
Victor Zverovich
afbcf1e8ea
Remove legacy C locale wrapper
2022-02-05 12:37:21 -08:00
Victor Zverovich
90325d0970
Fix stored type detection
2022-02-05 10:44:34 -08:00
Victor Zverovich
e2ba01fcb0
Fix overload ambiguity in print
2022-02-05 08:35:19 -08:00
Victor Zverovich
17b362f78c
Simplify ostream opt-in API
2022-02-04 18:33:59 -08:00
Victor Zverovich
f055ebbd25
Make ostream operators opt in to reduce the risk of ODR violations
2022-02-04 15:06:45 -08:00
Victor Zverovich
8a21e328b8
Remove problematic constructibility check
2022-02-04 12:20:02 -08:00
Victor Zverovich
31e743d06e
Don't use ostream for types convertible to string_view
2022-02-04 11:00:00 -08:00
Victor Zverovich
35c0286cd8
Simplify byte handling
2022-02-02 16:13:24 -08:00
Victor Zverovich
c7173a36a1
Drop :: and fix formatting
2022-02-02 07:00:33 -08:00
Charlie Barto
3e8372b96e
qualify unqualified calls to format in compile.h ( #2742 )
2022-02-01 18:41:19 -08:00
Barry Revzin
a34a97cc1d
Supporting ? as a string presentation type ( #2674 )
...
* Supporting ? as a string presentation type.
* Supporting ? as a char presentation type.
* Adding iterator_category to counting_iterator.
2022-01-30 08:55:28 -08:00
Victor Zverovich
1557ab7644
Add format_as for enums
2022-01-28 06:38:02 -08:00
Federico
b00a1eac75
Fixes NVIDIA HPC compiler and Intel ICC compatibility ( #2732 )
...
* Fixes NVIDIA HPC compiler and Intel ICC compatibility
* Fixes NVIDIA HPC compiler and Intel ICC compatibility
* Rename FMT_NVHPC_VERSION to FMT_NVCOMPILER_VERSION
Co-authored-by: Federico Busato <fbusato@nvidia.com>
2022-01-26 15:53:04 -08:00
Victor Zverovich
f7a809be6e
Clarify the choice of magic numbers and compute the most magic one
...
https://github.com/fmtlib/fmt/pull/2713#discussion_r788349826
2022-01-23 08:58:58 -08:00
Victor Zverovich
09fde7f4b8
Add fmt::underlying for enum classes
2022-01-22 08:06:22 -08:00
Victor Zverovich
0014024a2c
Don't rely on transitive includes
2022-01-21 15:03:28 -08:00
Victor Zverovich
c28500556a
FMT_NOEXCEPT -> noexcept
2022-01-20 16:55:47 -08:00
Junekey Jeon
6240d02011
Improve comments
2022-01-19 17:03:44 -08:00
Junekey Jeon
925b744ae8
Improve comments
2022-01-19 17:03:44 -08:00
Junekey Jeon
22b14ff252
Simplify cache recovery
2022-01-19 17:03:44 -08:00
Junekey Jeon
3dc26b44d3
Make a fallback path more compiler-friendly
2022-01-19 17:03:44 -08:00
Junekey Jeon
2e4038bf51
Simplify lines with __builtin_addcll and friends
2022-01-19 17:03:44 -08:00
Junekey Jeon
76336b4f63
Replace noexcept with FMT_NOEXCEPT
2022-01-19 17:03:44 -08:00
Junekey Jeon
9181983483
Fix syntax errors
2022-01-19 17:03:44 -08:00
Junekey Jeon
74097a149b
Remove now-unused stuffs
2022-01-19 17:03:44 -08:00
Junekey Jeon
21a1c53381
Fix typo
2022-01-19 17:03:44 -08:00
Junekey Jeon
04eea0f0a8
Remove now-unused stuffs
2022-01-19 17:03:44 -08:00
Junekey Jeon
35a468ed38
Simplify integer checks
2022-01-19 17:03:44 -08:00
Junekey Jeon
1882a7a2c1
Replace Dragonbox cache which allows simpler cache recovery & integer checks
2022-01-19 17:03:44 -08:00
Junekey Jeon
f4dd1b1b8b
Simplify Dragonbox Step 3.
2022-01-19 17:03:44 -08:00
Junekey Jeon
70561ed13e
Minimize the usage of built-in 128-bit ints
...
It usually generates slower code than manual handling.
2022-01-19 17:03:44 -08:00
Ivan Volnov
cdf1a3b530
Fix codecvt warning ( #2408 ) ( #2725 )
2022-01-19 10:26:09 -08:00
Tobias Hellmann
b8b037e930
Fix -Wconversion warning ( #2724 )
...
* - try fixing the warning "chrono.h:1217:37: warning: conversion from 'std::make_unsigned<long long int>::type' {aka 'long long unsigned int'} to 'size_t' {aka 'unsigned int'} may change value [-Wconversion]" by casting int to size_t (occurs when cross-compiling to Raspberry Pi ARMv7)
* - remove call to to_unsigned() because using static_cast<size_t> is enough
2022-01-19 06:31:33 -08:00
matrackif
5985f0a7d2
Fix overflow for chrono durations ( #2722 )
2022-01-17 12:14:59 -08:00
Victor Zverovich
8f8a1a02d5
Fix handling of formattable types implicitly convertible to pointers
2022-01-14 13:42:01 -08:00
Vladislav Shchapov
b02e5af52c
fmt::join support FMT_COMPILE ( #2720 )
2022-01-14 09:58:49 -08:00
Victor Zverovich
4fe6129d6c
Fix FMT_NOEXCEPT definition
2022-01-13 10:20:32 -08:00
Victor Zverovich
7c12118c19
Deprecate buffered_file::fileno
2022-01-12 10:54:44 -08:00
Victor Zverovich
2a09d468da
Use noexcept unconditionally
2022-01-12 09:42:29 -08:00
Victor Zverovich
a126b4d888
Check if right shift is arithmetic
2022-01-11 08:23:30 -08:00
Victor Zverovich
9ff91b18cd
Simplify write_fractional_seconds
2022-01-09 15:08:46 -08:00
Victor Zverovich
d9f045fba1
Fix a UB in chrono
2022-01-09 14:06:13 -08:00
Victor Zverovich
3c98f1a4cd
Comment style
2022-01-08 09:52:39 -08:00
Barry Revzin
6e0f1399d7
Supporting nested format specs for ranges. ( #2673 )
...
* Supporting nested format specs for ranges.
* I dedicate this commit to Eric Niebler.
* clang-format
* PR comments.
* throw -> FMT_THROW
* Need to map every element too.
* Clarifying uncvref_type
* Trying to add a workaround for MSVC.
2022-01-08 09:48:26 -08:00
Alex Guteniev
0102101acc
Make colored print handle UTF-8 ( #2701 )
...
* Fix #2681 - Make detail::print handle UTF-8
* Okay, let's do this Windows-only
* drop extra \0
* yay we can throw!
2022-01-06 16:10:53 -08:00
Victor Zverovich
88ec4e7061
Bump version
2022-01-06 12:32:43 -08:00
Victor Zverovich
739055ae7b
Fix apidocs
2022-01-06 11:06:39 -08:00
Victor Zverovich
dbbd711f46
Suppress a warning
2022-01-05 09:41:35 -08:00
Victor Zverovich
98cbb6a43c
Fix ABI compatiblity issue
2022-01-05 08:08:38 -08:00
Vladislav Shchapov
214cf13f17
Fix endianness bug in write_digit2_separated ( #2699 )
...
* Fix endianness bug in write_digit2_separated
* Move endianness check to compile time if it possible
* Turn 8 into a constant
2022-01-04 14:23:42 -08:00
Julian Rüth
17a5c808da
Restore FMT_API on error_handler::on_error() ( #2696 )
...
this fixes a breaking ABI change that was introduce in the upgrade from
8.0.1 to 8.1.0.
Fixes #2695 .
2022-01-04 10:53:44 -08:00
Richard Berger
fc1783fcc6
Avoid undefined symbols with mingw-w64 ( #2692 )
...
Fixes issue #2691
2022-01-03 15:29:29 -08:00
Victor Zverovich
1b193e7b37
Deprecate more
2022-01-03 11:13:09 -08:00
Victor Zverovich
64dc8fbada
Bump version
2022-01-02 08:34:01 -08:00
Victor Zverovich
89c6ed12bf
Clarify in comments (for now) deprecated map functions
2022-01-01 09:29:50 -08:00
Björn Schäpers
e462da828d
Add some noexcept ( #2684 )
...
I got warnings from -Wnoexcept, fixed them.
2022-01-01 08:44:00 -08:00
Victor Zverovich
bb69201578
Fix tuple join
2021-12-29 14:46:45 -08:00
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