Vladislav Shchapov
115e00e0b9
Replace __cplusplus with FMT_CPLUSPLUS.
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-07-04 07:18:21 -07:00
Daniel Krügler
d2a2320820
Fix partial specialization problem for filesystem for Visual Studio ( #2957 )
...
* #2954 : Provide std::conjunction and std::disjunction substitutes
* #2954 : Use conjunction and disjunction substitute to make formatter specializations for ranges and maps more robust (especially for Visual Studio compiler family)
* #2954 : As workaround for older MSVC compilers split formatter<std::filesystem::path> partial template specialization into two explicit specialization.
* 2954: Add test case
* Provide simplified implementations of conjunction and disjunction
* Remove workaround explicit specializations if the partial specialization would cause an ambiguity error
* Eliminate extra-test and merge it into existing std-test instead. Add conditionals for filesystem::path testing that does not run into the ambiguity problem.
2022-07-03 11:06:54 -07:00
Victor Zverovich
0c06c81da8
Deprecated implicit conversion of enums to ints for consistency with scoped enums
2022-07-03 09:02:22 -07:00
Vladislav Shchapov
99bb5b1d17
Fix std::variant, std::filesystem::path tests on GCC-8, Clang-7,8.
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-07-02 08:34:52 -07:00
jehelset
6a775e9560
Add support for 'std::variant' in C++17 ( #2941 )
...
Add support for 'std::variant' in C++17.
For C++17, if all the alternatives of a variant are formattable
the variant is now also formattable. In addition 'std::monostate'
is now formattable.
Moves implementation into 'std.h', and tests into 'std-test.cc'.
Avoid fold-expression since MSVC was crashing.
Add section for 'fmt/std.h' in API-docs.
2022-06-26 07:28:01 -07:00
Victor Zverovich
9cb02aaaad
Fix UDLs
2022-06-25 08:52:10 -07:00
Victor Zverovich
e6d478f8e8
Update changelog and docs
2022-06-25 08:33:57 -07:00
Victor Zverovich
2d931b1497
Add fmt::streamed
2022-06-24 09:26:24 -07:00
Jonathan W
e8bd2a804d
Fix enable_ifs for map formatter ( #2944 )
2022-06-23 08:24:11 -07:00
Victor Zverovich
69a20db081
Update changelog and fix an apidoc comment
2022-06-22 08:32:46 -07:00
jehelset
5682338891
Fix is_formattable for tuple-like types. ( #2940 )
2022-06-19 08:25:58 -07:00
Victor Zverovich
eaa8efb950
Fix ofstream handling in msvc
2022-06-16 15:02:33 -07:00
Juraj
8e47cfd1cd
fix -Wsign-conversion warning
2022-06-11 12:31:33 -07:00
Victor Zverovich
b135f1c014
Refactor handling of argument types
2022-06-09 17:03:33 -07:00
Victor Zverovich
f61a1e8132
Add format_arg_types
2022-06-09 15:50:30 -07:00
Mattes D
48b7e3dafb
Added a FMT_STRING wrapper for system_error() call.
...
This enables the use of FMT_ENFORCE_COMPILE_STRING on MSVC 2019.
2022-06-07 07:00:57 -07:00
Victor Zverovich
4bb3af7a6b
Improve compile-time checks
2022-06-05 13:58:04 -07:00
Vladislav Shchapov
d02c582b96
Fix 'duplicate symbol' error.
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-06-05 07:17:25 -07:00
Vladislav Shchapov
b59d8c3a23
Make std::filesystem::path formatter utf-8 compatible.
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-06-04 10:10:21 -07:00
Victor Zverovich
9d60395953
Fix compilation on ppc64
2022-05-31 13:53:15 -07:00
Victor Zverovich
a2681aabcb
Debug ppc failure
2022-05-31 11:30:22 -07:00
Victor Zverovich
798d09bb70
Debug ppc failure
2022-05-30 13:06:34 -07:00
Victor Zverovich
8c7cf51395
Cleanup
2022-05-30 08:21:01 -07:00
Victor Zverovich
cdfacb4345
Cleanup parse_format_string
2022-05-30 07:30:11 -07:00
Victor Zverovich
926ddd0631
Move compile string to detail
2022-05-30 07:06:36 -07:00
Victor Zverovich
cb682f36f4
Move to_string_view to detail
2022-05-29 22:51:31 -07:00
Victor Zverovich
156744ad47
Simplify fmt::runtime
2022-05-29 21:18:52 -07:00
Victor Zverovich
d9c7166cf0
bi_iterator -> base
2022-05-29 21:01:57 -07:00
Victor Zverovich
fe6eb792d5
Cleanup check_format_string
2022-05-29 19:01:06 -07:00
Victor Zverovich
054b1d9808
Remove unused include
2022-05-29 18:24:10 -07:00
Victor Zverovich
e927149f8e
Cleanup macros
2022-05-29 17:23:02 -07:00
Victor Zverovich
1761e2666a
Remove FMT_CONSTEXPR_DECL
2022-05-29 16:42:58 -07:00
Victor Zverovich
d6b568a6cc
Cleanup string_view checks
2022-05-29 16:30:39 -07:00
Victor Zverovich
c83a5d42bb
FMT_MSC_VER -> FMT_MSC_VERSION
2022-05-29 15:39:08 -07:00
Victor Zverovich
27cd68c301
Cleanup macros
2022-05-29 14:45:59 -07:00
Victor Zverovich
08be4abb30
Remove FMT_NVCOMPILER_VERSION
2022-05-29 13:54:31 -07:00
Victor Zverovich
661b192545
Remove FMT_HEADER_ONLY_CONSTEXPR20
2022-05-29 13:22:45 -07:00
Victor Zverovich
d1026fa5d2
Remove extern format_float
2022-05-29 13:11:19 -07:00
Victor Zverovich
7e63b600b6
Make to_string work with __float128
2022-05-29 12:23:57 -07:00
Victor Zverovich
c2fcdc54e2
Move format_float to format.h for __float128
2022-05-29 11:30:33 -07:00
Victor Zverovich
2b9037a190
Move basic_fp to format.h for compile-time formatting
2022-05-29 07:32:52 -07:00
Victor Zverovich
542785ccbf
Get rid of detail::bits
2022-05-29 07:10:36 -07:00
Vladislav Shchapov
65dd2ea52c
Use write_escaped_string to std::filesystem::path.
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-05-28 07:48:02 -07:00
Vladislav Shchapov
9860f67cde
Improve xchar support for std formatters.
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-05-28 07:48:02 -07:00
Vladislav Shchapov
03b1b2838e
Improve std::filesystem::path formatter.
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-05-28 07:48:02 -07:00
Victor Zverovich
4f9311e689
Fix definition of error_handler::on_error
2022-05-27 10:49:19 -07:00
Ivan Shynkarenka
652fea45a9
Visual Studio 2022: fmt/format.h(1526,27): warning C4127: conditional expression is constant #2908
2022-05-27 10:38:13 -07:00
Vladislav Shchapov
1f9eae7e31
Add xchar support for write_escaped_string.
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2022-05-27 08:36:38 -07:00
Victor Zverovich
ce246aaf74
Remove deprecated APIs
2022-05-22 07:10:09 -07:00
Victor Zverovich
edeb3d8091
Remove deprecated APIs
2022-05-21 19:57:38 -07:00
Victor Zverovich
f5cdf7cb04
Simplify snprintf_float
2022-05-21 12:34:21 -07:00
Victor Zverovich
440512f08d
Remove deprecated APIs
2022-05-21 12:20:31 -07:00
Victor Zverovich
621eb80bbb
Remove deprecated APIs
2022-05-21 11:34:07 -07:00
Victor Zverovich
5c7d315ded
Remove locale.h
2022-05-21 08:19:09 -07:00
Victor Zverovich
c6324009ba
Add initial double-double support
2022-05-21 07:32:54 -07:00
frithrah
147e8ca580
Fix Windows max mix-up ( #2903 )
2022-05-18 16:35:26 -07:00
Victor Zverovich
6bf039d750
Add std: 🧵 :id formatter
2022-05-17 16:37:19 -07:00
Victor Zverovich
9730fb0156
Fix path formatter
2022-05-17 14:29:49 -07:00
Victor Zverovich
f0903ad9df
Add a path formatter
2022-05-16 17:32:25 -07:00
Ivan Shynkarenka
3e28dc021c
VS2022 17.2: C4189: 'zero': local variable is initialized but not referenced #2891 ( #2892 )
...
VS2022 17.2: C4189: 'zero': local variable is initialized but not referenced #2891
Co-authored-by: Ivan Shynkarenka <Ivan_Shynkarenka@epam.com>
2022-05-13 07:04:34 -07:00
Victor Zverovich
f6f920a1a8
Tweak a comment and apply clang-format
2022-05-11 14:40:26 -07:00
Victor Zverovich
ae963e444f
Implement constexpr isfinite to avoid producing NaN
2022-05-11 08:43:22 -07:00
Victor Zverovich
358f5a7e50
Make precision computation consistent with width
2022-05-11 06:34:51 -07:00
Sean McBride
f63afd161f
Fixed all clang -Wsigned-enum-bitfield warnings ( #2882 )
...
Made enums involved in bitfields unsigned by specifying their underlying type as unsigned char.
Due to a bug, when specifying an underlying type, gcc < 9.3 warns about bitfields not being big enough to hold the enum, even though they are. So keep the plain enum for old gcc.
An example of the bug is here:
https://godbolt.org/z/58aEv8zEq
2022-05-09 11:03:51 -07:00
Victor Zverovich
7e4ad40171
Add initial support for double-double
2022-04-24 07:43:02 -07:00
Victor Zverovich
5d804ee7fe
Fix handling of subnormals in exotic FP
2022-04-17 08:56:35 -07:00
Victor Zverovich
86e27ccb41
Suppress a warning
2022-04-12 09:30:29 -07:00
Victor Zverovich
192f79aaae
Fix handling of locale separators in FP formatting
2022-04-12 08:00:17 -07:00
Victor Zverovich
395cf0f03e
Fix detection of unformattable pointers
2022-04-12 06:45:46 -07:00
Victor Zverovich
fc429d18b6
Avoid overhead on sensible platforms
2022-04-11 16:52:34 -07:00
Victor Zverovich
ce7ecdb7af
Replace conditional compilation with SFINAE
2022-04-11 12:16:05 -07:00
Victor Zverovich
8751a03a04
Fix Unicode handling when writing to an ostream
2022-04-10 09:46:01 -07:00
Victor Zverovich
f607e3e970
Add __float128 support
2022-04-03 12:58:06 -07:00
Victor Zverovich
686de58886
Implement 128-bit constant mul in bigint
2022-04-03 07:24:18 -07:00
Victor Zverovich
02eb215f2f
Replace uint128_wrapper with uint128_fallback
2022-04-02 18:01:41 -07:00
Victor Zverovich
b4dc7a1d34
Add 128-bit operations to bigint
2022-04-02 09:29:13 -07:00
Victor Zverovich
ef54f9aa38
Suppress -Wfloat-equal
2022-04-01 12:18:22 -07:00
Jean-Michaël Celerier
288c3b928b
Remove dead code in ostream.h format_value
2022-03-29 10:21:19 -07:00
Victor Zverovich
96930161f9
Implement 128-bit operator+= for uint128_fallback
2022-03-27 08:07:54 -07:00
Victor Zverovich
b41890c1e5
Make arg_mapper SFINAE-friendly again
2022-03-27 07:10:15 -07:00
Victor Zverovich
e2408f37c8
Check if formatter is not defined if there is format_as
2022-03-26 09:44:49 -07:00
Victor Zverovich
db5b8993ac
Fix formatting of std::byte via format_as
2022-03-26 09:01:30 -07:00
Sean McBride
5379063b54
Fixed clang -Wreserved-identifier warings
...
Created FMT_UNCHECKED_TYPE that resolves to special identifier _Unchecked_type for Microsoft, but to a dummy string otherwise. Using
_Unchecked_type is invalid because underscore + uppercase is a reserved identifier.
2022-03-24 07:33:43 -07:00
Victor Zverovich
17dda58391
constexpr -> const for portability
2022-03-23 21:14:22 -07:00
Victor Zverovich
3c4273dd09
Simplify UDL
2022-03-22 17:43:37 -07:00
Victor Zverovich
44abd1f483
Update signatures in docs and ostream.h
2022-03-22 16:05:30 -07:00
Victor Zverovich
db745986f2
Workaround broken std::numeric_limits
2022-03-20 08:50:52 -07:00
Victor Zverovich
8271e43e5e
Improve __float128 support and use constexpr
2022-03-20 07:20:41 -07:00
Victor Zverovich
3f9b7433a3
Improve __float128 support
2022-03-19 09:44:14 -07:00
Victor Zverovich
71778e8b90
Specialize float_info for __float128
2022-03-19 08:39:16 -07:00
Victor Zverovich
f024565c3f
Improve exponent handling in Dragon
2022-03-19 08:23:32 -07:00
Victor Zverovich
e7f31f5cdb
Cleanup format_dragon
2022-03-18 16:03:19 -07:00
Victor Zverovich
3c61799fbf
Cleanup fuzzing mode
2022-03-18 12:01:52 -07:00
Victor Zverovich
4e39e13085
Remove xchar.h include from ostream.h
2022-03-18 10:53:15 -07:00
timsong-cpp
ac0d9d5fe2
Issue #2816 : also strip named-arg for the fallback formatter
2022-03-18 10:11:14 -07:00
timsong-cpp
4ad90578f7
Fix #2818 : diagnose unformattable arguments in unpacked case
2022-03-18 10:11:14 -07:00
timsong-cpp
17ba99c1d2
Fix #2817 : add compile-time checking to ostream overloads of fmt::print
2022-03-18 10:11:14 -07:00
timsong-cpp
3d19be282a
Fix #2816 : strip named argument wrappers for compile-time checking
2022-03-18 10:11:14 -07:00
Victor Zverovich
c076a54a4d
Move snprintf_float to format.h
2022-03-18 08:31:31 -07:00
Victor Zverovich
0419d23882
Add FMT_USE_FLOAT128
2022-03-18 07:43:51 -07:00
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