Victor Zverovich
3cc32fdc8b
Mark more formatters nonlocking
2024-07-21 08:00:34 -07:00
Victor Zverovich
e84297f255
Bump version
2024-07-20 07:00:12 -07:00
Victor Zverovich
de684ef776
Make appender compatible with fill
2024-07-19 15:21:57 -07:00
Victor Zverovich
0f87d6ffa6
Improve sign processing
2024-07-17 16:13:27 -07:00
Victor Zverovich
9228f349a5
Inline visit
2024-07-14 15:34:53 -07:00
Victor Zverovich
f29a7e7970
Don't use memcpy in append
2024-07-14 13:02:21 -07:00
Victor Zverovich
f97deb0d7d
Minor cleanup
2024-07-14 11:14:49 -07:00
Victor Zverovich
3541353512
Apply minor optimization
2024-07-14 09:52:44 -07:00
Justin Riddell
5ef93a9f80
Expand FMT_FORMAT_AS to include implicit conversions ( #4055 )
...
Allows (for example) types convertible to std::string_view to inherit
from the fmt::formatter<fmt::string_view> to work etc.
2024-07-14 09:51:49 -07:00
Victor Zverovich
c9102619da
Avoid extra reserve
2024-07-14 08:41:35 -07:00
Victor Zverovich
58d792b6d3
Apply minor optimizations
2024-07-14 07:05:18 -07:00
Victor Zverovich
25adca5666
Remove redundant overload
2024-07-13 13:07:57 -07:00
Victor Zverovich
1408f1824d
Simplify iterator detection
2024-07-13 11:11:47 -07:00
Tor Shepherd
3fe4641d3a
Add 2 more constexprs to fix compile error ( #4065 )
2024-07-13 08:23:49 -07:00
Victor Zverovich
33e7ed1eb5
Improve handling of back_insert_iterator that writes into a buffer
2024-07-13 07:56:11 -07:00
Justin Riddell
13038f37e8
Support printing (const) volatile void* ( #4056 )
...
Fixes #4049
2024-07-10 08:35:06 -07:00
Justin Riddell
e60ff504ea
Fix usage with std::generator ( #4057 )
...
Fixes #4053
2024-07-09 08:46:34 -07:00
Victor Zverovich
92227c77a4
Improve support for non-POSIX platforms more
2024-07-08 14:00:00 -07:00
Victor Zverovich
486838f26f
Improve support for non-POSIX platforms
2024-07-08 11:18:44 -07:00
Victor Zverovich
7a8b54a0ef
Don't confuse Glib::ustring with std::string
2024-07-06 13:27:06 -07:00
Vladislav Shchapov
a96259701e
Improve std::complex formatter ( #4050 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2024-07-04 17:24:01 -07:00
Victor Zverovich
503e183b9e
Bump version and add version validation
2024-07-04 07:49:58 -07:00
toge
9d946a2fc4
Fix compilation errors due to make_format_args in gcc 14.1.1 with c++20 ( #4042 )
2024-07-03 12:41:08 -07:00
Nebojša Cvetković
c4f6fa7135
fix: Make basic_format_arg::visit() const ( #4043 )
2024-07-01 14:43:52 -07:00
Vladislav Shchapov
24c1f886af
Remove double has_value check ( #4040 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2024-07-01 09:24:33 -07:00
Victor Zverovich
686339f7c1
Minor cleanup
2024-06-30 10:29:50 -07:00
Victor Zverovich
53186535d5
Bump version
2024-06-29 08:54:52 -07:00
Victor Zverovich
7f951f2502
Optimize range formatter
2024-06-23 06:51:46 -07:00
Dix Lorenz
7ae102bd66
make format_int constexpr ( #4032 )
...
* make format_int constexpr
* format_int can only be constexpr in C++20
* apply clang-format
* drop constexpr for str()
2024-06-23 06:28:39 -07:00
Victor Zverovich
b1efe8516e
Prevent silent data loss
2024-06-22 07:46:16 -07:00
Matt Stafford
2c0d9e9409
Add a define to force the use of fallback_file
2024-06-21 09:42:02 -07:00
Victor Zverovich
18a9676d95
Add an experimental path
2024-06-21 08:14:20 -07:00
Vladislav Shchapov
514b6955d2
Suppress a bogus warning in MSVC ( #4023 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2024-06-19 08:49:43 -07:00
Matthias Moulin
ac96773230
Added missing std::declval for non-default-constructible types ( #4024 )
2024-06-18 11:27:40 -07:00
Victor Zverovich
c00149f5e2
Fix a typo
2024-06-17 06:58:33 -07:00
Victor Zverovich
71244e07de
Cleanup includes
2024-06-16 11:10:38 -07:00
Victor Zverovich
febd8ed5fe
Cleanup includes
2024-06-16 10:59:06 -07:00
Victor Zverovich
2a2048a785
Don't pass seconds as a double in examples
2024-06-15 09:26:49 -07:00
LoveSy
8687315e86
Guard more system headers by FMT_MODULE ( #4006 )
...
* Guard more system headers by `FMT_MODULE`
* Merge FMT_MODULE and FMT_IMPORT_STD
2024-06-14 10:53:51 -07:00
Victor Zverovich
e0b66e8f83
Remove dependency on <ranges>
2024-06-13 15:57:01 -07:00
Matthias Moulin
794df69c8c
Added range_format::(debug_)string formatter ( #3973 )
2024-06-13 15:43:29 -07:00
Victor Zverovich
1d9df9ce1c
Remove a redundant comment
2024-06-13 15:41:35 -07:00
LoveSy
fad0222a0c
Export compiled_string so that user can customize one ( #3999 )
2024-06-09 10:58:58 -07:00
LoveSy
2bf811b1d9
Also allow compiled format for clang >= 12 ( #4001 )
2024-06-09 06:43:39 -07:00
LoveSy
0f6e716548
Fix missing includes in fmt.cc ( #3994 )
...
This causes duplicated std definitions in the fmt module
2024-06-08 13:50:29 -07:00
Victor Zverovich
7bd11b5cdf
Remove a redundant extension to reduce divergence from std::format
2024-06-08 08:29:34 -07:00
LoveSy
94f96d112d
Fix undefined reference when compiling with FMT_STATIC_THOUSANDS_SEPARATOR and chrono.h
2024-06-05 21:01:42 -07:00
LoveSy
a9b8517638
Use native c++ module support from CMake
...
also fix some clang compilation issues when using c++ modules
2024-06-05 21:01:42 -07:00
Victor Zverovich
9b12491c19
Migrate docs
2024-06-02 14:20:41 -07:00
Victor Zverovich
ab29ef37d9
Migrate docs and cleanup
2024-06-02 13:17:04 -07:00
Victor Zverovich
97117cbb51
Migrate to mkdocs
2024-06-02 12:21:11 -07:00
Victor Zverovich
38ba3d3993
Migrate to mkdocs
2024-06-02 08:26:56 -07:00
Victor Zverovich
0714113974
Add macro support to api doc extraction
2024-06-02 08:06:52 -07:00
Victor Zverovich
03d14c3beb
Add support for multiple namespaces
2024-06-02 07:01:40 -07:00
Victor Zverovich
a10e032148
Improve docs
2024-06-01 20:08:41 -07:00
Victor Zverovich
febeb51bde
Documentation improvements
2024-06-01 17:45:06 -07:00
Victor Zverovich
933d8ba352
Improve apidoc formatting
2024-06-01 09:24:32 -07:00
Victor Zverovich
91a859ee4a
Switch to markdown
2024-06-01 08:56:26 -07:00
Victor Zverovich
a4d42c44f4
Cleanup comments
2024-06-01 07:00:56 -07:00
Eric Bryant
fcd3e1e19c
is_convertible_v -> is_convertible::value ( #3983 )
2024-05-31 10:02:59 -07:00
ZaheenJ
ca8eeb09ee
Add glibc ext for day of month and week of year ( #3976 )
2024-05-30 10:20:56 -07:00
Victor Zverovich
cf9833f40b
Cleanup apidoc comments
2024-05-29 20:30:19 -07:00
Victor Zverovich
33eba1049d
Minor comment fix
2024-05-28 11:39:49 -07:00
Matthias Moulin
43ab964c47
MSVC 17.10.0 + modules cannot find definition ( #3972 )
...
MSVC regressed since the new 17.10.0 compiler update. node<> cannot be found for detail::dynamic_arg_list::typed_node.
2024-05-28 11:34:44 -07:00
Matthias Moulin
728f9bc388
Added std::type_info formatter ( #3978 )
...
* Added std::type_info formatter;
* Reused std::type_info formatter in std::exception formatters;
* Updated MSVC std::type_info outputting to exclude all class, struct and enum occurences.
2024-05-28 10:57:08 -07:00
Matthias Moulin
1752d7fbbb
Added formattable concept ( #3974 )
2024-05-26 07:47:56 -07:00
Matthias Moulin
1768bf9714
Added FMT_EXPORT for fmt::range_format and fmt::range_format_kind ( #3970 )
2024-05-24 07:08:07 -07:00
Justin Riddell
fc723fd6c7
Fix regression in #3710 ( #3968 )
...
Regression introduced in 11f2f30
Already have a test for this, but needed to make __cpp_lib_ranges
smaller to enable it
2024-05-23 12:39:11 -07:00
Justin Riddell
b81761068b
Check range_begin is dereferenceable ( #3964 )
...
Fixes issue #3839
An Eigen 3.4 2x2 matrix has a begin member function that returns void
Be more strict checking that the result of calling *begin() is valid
See input_or_output_iterator concept notes about void
2024-05-20 16:11:07 -07:00
Matthias Moulin
706eabd5e5
Resolved warning C4127: conditional expression is constant ( #3967 )
2024-05-20 11:59:19 -07:00
Edoardo Lolletti
028bffa083
Update checks for dynamic_cast usage when compiled with no rtti ( #3963 )
...
* Rename FMT_USE_TYPEID to FMT_HAS_RTTI and use it as check to enable dynamic_cast usage
* FMT_HAS_RTTI->FMT_USE_RTTI
2024-05-19 11:21:55 -07:00
Victor Zverovich
75e892420e
Minor cleanup
2024-05-16 10:45:23 -07:00
Justin Riddell
8e728044f6
Fix format_as for non-const begin/end views ( #3955 )
...
base::format does not accept rvalues, using the result of format_as
directly means it is passed one. Doesn't matter for ranges with a const
begin and end, but filter_view caches, so it only has mutable begin/end.
Use auto&& to avoid copy if format_as returns const ref
2024-05-13 09:35:55 -07:00
Victor Zverovich
1f436c646e
Cleanup locking/buffering
2024-05-12 09:34:17 -07:00
Victor Zverovich
db1ee420e0
Cleanup unicode check more
2024-05-11 20:02:22 -07:00
Victor Zverovich
7d6ae972b9
Cleanup unicode checks
2024-05-11 19:43:46 -07:00
Victor Zverovich
3460b30fd5
Improve utf-8 detection
2024-05-11 18:58:40 -07:00
Victor Zverovich
b7809f91e2
Enable Unicode support by default
2024-05-11 15:11:23 -07:00
Victor Zverovich
1dc71f21ea
Enable Unicode by default
2024-05-10 18:27:45 -07:00
Victor Zverovich
8db8f22490
Optimize join_view
2024-05-09 17:26:26 -07:00
Victor Zverovich
d2473b7b73
Simplify join_view formatter
2024-05-08 15:42:49 -07:00
Victor Zverovich
328d256c60
Apply coding conventions
2024-05-06 15:10:29 -07:00
Victor Zverovich
57593a123b
Simplify map formatter
2024-05-06 15:09:31 -07:00
Justin Riddell
10508a30ec
Enable fmt::join for uncopyable iterators ( #3946 )
...
If iterator not copyable mutate the underlying iterator
Notably std::ranges::basic_istream_view::__iterator
Addresses issue (#3802 )
2024-05-05 15:44:23 -07:00
Victor Zverovich
16cec4f591
Make the map formatter correctly handle elements with custom formatters
2024-05-04 10:59:16 -07:00
Victor Zverovich
77bfd8499a
Split range and map formatters
2024-05-04 09:41:02 -07:00
Victor Zverovich
3af8ac7a06
Privatize write_debug_string
2024-05-04 07:38:58 -07:00
Victor Zverovich
ceb406d06c
Remove range_default_formatter
2024-05-04 07:20:40 -07:00
Victor Zverovich
7650ed04a3
Fix to_nonnegative_int
2024-05-03 07:49:16 -07:00
Alex Dewar
8a8f4825a3
Fix: isnan() shouldn't cause FP exceptions
...
Fixes #3948 .
2024-05-02 09:36:21 -07:00
Marlene Cota
48c908453d
Fix CodeQL alert ( #3945 )
2024-04-30 12:41:29 -07:00
Diego Ramírez
cf1f55f798
Specialize formatter for all std::basic_string types ( #3943 )
...
* Specialize `formatter` for all `std::basic_string` types
* mock-allocator: add member types to make GCC 4.8 happy
2024-04-23 08:44:41 -07:00
Victor Zverovich
400f6a8ee2
Dedup ADL begin/end lookup
2024-04-22 16:09:07 -07:00
Jiwoo Park
f4b256c667
Fix warning C26439
2024-04-19 09:06:46 -07:00
Victor Zverovich
f746a59a5c
Cleanup FMT_ASSERT
2024-04-19 08:36:16 -07:00
Hans-Martin B. Jensen
ee0c3351a4
Fix format_to + FMT_STRING for wide character type ( #3931 )
...
Added overload that takes a wformat_string.
Fixes issue #3925 .
2024-04-17 08:30:48 -07:00
Justin Riddell
99735764ea
Fix FMT_USE_NONTYPE_TEMPLATE_ARGS define back ( #3937 )
...
Broken in refactor f1924d3
2024-04-16 13:29:30 -07:00
Matthias Moulin
116a9ce488
Added FMT_IMPORT_STD feature macro ( #3928 )
2024-04-10 11:48:32 -07:00
ShifftC
5eb68c0ef2
Fix mix-up of 'FMT_BEGIN_EXPORT' and 'namespace detail'. ( #3924 )
2024-04-08 09:46:20 -07:00
Matthias Moulin
550437b29e
Resolved warning C4127: conditional expression is constant ( #3923 )
2024-04-07 11:01:26 -07:00
Philippe Proulx
4e8640ed90
Fix: enable FMT_NORETURN without exception support too ( #3917 )
...
When building `format.cc` as such with GCC 13.2.1:
$ g++ -c format.cc -DFMT_EXCEPTIONS=0 -Wmissing-noreturn -Werror
I get:
In file included from format.cc:8:
fmt/format-inl.h: In function ‘void fmt::v10::detail::assert_fail(const char*, int, const char*)’:
fmt/format-inl.h:30:15: error: function might be candidate for attribute ‘noreturn’ [-Werror=suggest-attribute=noreturn]
30 | FMT_FUNC void assert_fail(const char* file, int line, const char* message) {
| ^~~~~~~~~~~
fmt/format-inl.h: In function ‘void fmt::v10::report_error(const char*)’:
fmt/format-inl.h:129:15: error: function might be candidate for attribute ‘noreturn’ [-Werror=suggest-attribute=noreturn]
129 | FMT_FUNC void report_error(const char* message) {
| ^~~~~~~~~~~~
cc1plus: all warnings being treated as errors
Note that, with `FMT_EXCEPTIONS` defined to 0:
‣ report_error(const char *) uses FMT_THROW() which expands to calling
assert_fail().
‣ assert_fail() calls std::terminate() which has the `[[noreturn]]`
attribute since C++11 [1].
Therefore, with `FMT_EXCEPTIONS` defined to 0, both assert_fail() and
report_error() need to have the `[[noreturn]]` attribute too (if
available). In other words, `FMT_NORETURN` doesn't depend on
`FMT_EXCEPTIONS`.
Also adding `FMT_NORETURN` to two on_error() functions which call
report_error(const char *).
Other report_error() overloads eventually return, therefore they don't
need `FMT_NORETURN`.
[1]: https://en.cppreference.com/w/cpp/error/terminate
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
2024-04-04 17:15:18 -07:00
Victor Zverovich
c70e7b7473
Coding conventions and minor fixes
2024-04-05 08:36:45 +09:00
zivshek
71144eeaff
implement year_month_day ( #3913 )
...
* implement year_month_day, also changed weekday, day, month, year's formatter to use formatter<std::tm, Char> so they all support the format strings
* support ":L" for month and weekday
2024-04-03 15:35:53 -07:00
Vladislav Shchapov
ca9193983b
Replace std::fill_n with fmt::detail::fill_n ( #3909 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2024-03-28 17:26:18 -07:00
zivshek
74a187288b
Implemented fmt::day, fmt::month, fmt::year and related unit tests ( #3906 )
2024-03-27 17:10:30 -07:00
Victor Zverovich
5d63e87d23
Add a formatter for float128
2024-03-22 15:41:50 +09:00
Victor Zverovich
aecec01b34
Initial support for extended FP types
2024-03-22 15:08:25 +09:00
Victor Zverovich
5af88653eb
Cleanup
2024-03-22 13:46:03 +09:00
Vladislav Shchapov
45b772f85c
Improve std::complex formatter to be compatible with P2197R0 ( #3900 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2024-03-20 13:31:32 -07:00
Victor Zverovich
53347891cf
Make line buffering test less flaky
2024-03-20 16:45:50 +09:00
Vladislav Shchapov
6c7cc6a06f
Fix group_digits for negative integers ( #3901 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2024-03-19 13:03:57 -07:00
Victor Zverovich
c0dac83982
Use p2197 format for complex by default
2024-03-19 07:55:45 +09:00
Victor Zverovich
bb882c03bc
Simplify path formatting
2024-03-19 07:47:42 +09:00
Vladislav Shchapov
12acd7988b
Fix ambiguous call
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2024-03-17 17:16:53 -07:00
Vladislav Shchapov
73f2b344b2
Add std::complex formatter
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2024-03-17 15:26:18 -07:00
Vladislav Shchapov
9f3fc6e38b
Add XChar support into nested_formatter
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2024-03-17 15:26:18 -07:00
Victor Zverovich
e281749c5d
Simplify range formatter
2024-03-10 08:19:26 -07:00
Victor Zverovich
11f2f30f0b
Simplify range formatter
2024-03-09 08:23:12 -08:00
mtillmann0
13cfaa2ab0
Guard against usage of _isatty when header was not included ( #3880 )
...
* Guard against usage of _isatty when header was not included
* Rename FMT_WINDOWS_NO_WCHAR macro to FMT_USE_WRITE_CONSOLE
2024-03-08 13:34:46 -08:00
js324
0861db500f
Support character range formatting ( #3863 )
2024-03-07 10:51:46 -08:00
Victor Zverovich
3bc6cc1e63
Protect against locking formatters
2024-03-02 17:23:02 -08:00
Baardi
ae1e93d34d
Fix warning C4702 emitted from format.h (MSVC) ( #3866 )
2024-02-28 07:47:13 -08:00
Victor Zverovich
f68f452dea
Workaround an ld warning on macOS
2024-02-25 11:41:52 -08:00
Gao Mingfei
ebea5736a2
Fix chrono locale format bug for RHEL gcc ( #3859 )
2024-02-25 07:09:33 -08:00
Baardi
ddf0b7d2b5
Fix warning C4365 emitted from printf.h ( #3865 )
2024-02-23 16:33:21 -08:00
prlw1
0166f455f6
std.h c++23 build fix ( #3856 )
...
Add ::value to is_formattable<...> as per suggestion by @vitaut in
https://github.com/fmtlib/fmt/issues/3854
2024-02-19 10:19:39 -08:00
Victor Zverovich
8e42eef495
Don't error on min time_point
2024-02-10 17:50:42 -08:00
Victor Zverovich
44c3fe1ebb
Fix handling of static separator
2024-02-09 15:58:56 -08:00
Anders Dalvander
ae181cc93d
C++23 compatibility: basic_string_view cannot be constructed from nullptr ( #3846 )
...
Co-authored-by: Anders Dalvander <anders.dalvander@sartorius.com>
2024-02-09 07:39:43 -08:00
Bruce Mitchener
3a6fb2fcaf
Fix some typos. ( #3843 )
2024-02-08 10:59:52 -08:00
Bruce Mitchener
0879504796
Fix typo in typename. containter_type -> container_type. ( #3844 )
2024-02-08 06:24:55 -08:00
js324
34f415b56e
Fix %S formatting for chrono durations with leading zeroes ( #3814 )
2024-02-07 09:47:32 -08:00
Victor Zverovich
06311ed1ce
Fix fixed rounding around zero in Dragon
2024-02-03 10:13:58 -08:00
Dominic Pöschko
e5bab8dab4
added formatter for std::expected ( #3834 )
2024-02-03 09:06:15 -08:00
Victor Zverovich
6321a97d6b
Simplify color formatting
2024-01-31 18:30:23 -08:00
Victor Zverovich
4b6b32f388
Deprecate wide stream function
2024-01-31 18:10:52 -08:00
Afanasyev Ivan
1b54ba4b9d
Fix UB in format_arg_store implementation. ( #3833 )
2024-01-31 10:08:29 -08:00
Frank Richter
71a4a8d479
Really fix MSVC warning about <bit> only being available in C++20. ( #3832 )
...
* Really fix MSVC warning about <bit> only being available in C++20.
The warning states "The contents of <bit> are available only with C++20 or later.",
but the check was for C++17 and later.
* Change <bit> inclusion check per https://github.com/fmtlib/fmt/pull/3832#discussion_r1471144867
2024-01-30 10:42:35 -08:00
Victor Zverovich
8e62172ab6
Fix a warning
2024-01-29 07:48:48 -08:00
Victor Zverovich
28afff363c
Improve buffering
2024-01-27 16:20:34 -08:00
Victor Zverovich
af44c29744
Separate buffer initialization from flush
2024-01-27 15:39:36 -08:00
Victor Zverovich
a1e1eedbb5
Minor cleanup
2024-01-27 14:00:13 -08:00
Victor Zverovich
ffce3632b7
Add glibc stream support
2024-01-27 11:00:45 -08:00
Victor Zverovich
6435b169ec
Add support for line buffering
2024-01-27 08:57:21 -08:00
Beat Bolli
e1832bcf00
Consider ADL begin() and end() when joining ranges ( #3824 )
...
Closes #3813
Signed-off-by: Beat Bolli <dev@drbeat.li>
2024-01-22 07:39:33 -08:00
Edoardo Lolletti
06fc25f266
Don't always enable typeid usage under msvc ( #3821 )
2024-01-21 06:28:22 -08:00
Victor Zverovich
11ba1270ab
Fix flush
2024-01-20 07:58:56 -08:00
Victor Zverovich
4c5b4af04d
Improve name argument validation
2024-01-19 16:13:43 -08:00
Victor Zverovich
6b68dff901
Write directly to a stream buffer
2024-01-18 16:27:12 -08:00
Victor Zverovich
b2cde48de5
Reduce usage of float_specs
2024-01-17 08:27:03 -08:00
Victor Zverovich
8510838db1
Make format_specs not depend on code unit type
2024-01-17 07:50:52 -08:00
Victor Zverovich
090ee13595
Pass char type to write
2024-01-17 06:07:29 -08:00
Vladislav Shchapov
470c4e6ca8
Fix scope for glibc ext for sec, min, and hour ( #3812 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2024-01-16 13:54:19 -08:00
The Phantom Derpstorm
13ec66bf78
🛠 Add basic array safety functions and backwards-compatible result type ( #3805 )
2024-01-16 07:01:15 -08:00
Victor Zverovich
64091b7a25
Fix naming
2024-01-15 15:17:46 -08:00
Victor Zverovich
e954823531
Make fill independent on code unit type
2024-01-15 15:00:28 -08:00
Victor Zverovich
83652dfee7
Restrict always inlining to the top-level API
2024-01-15 10:09:01 -08:00
Bruce Mitchener
73d91351b4
Mark iterator_buffer move constructors as noexcept. ( #3808 )
2024-01-15 08:46:35 -08:00
Victor Zverovich
fe0d910a7d
Replace multiple error reporting mechanisms with report_error
2024-01-15 07:23:06 -08:00
Victor Zverovich
f9294f0e60
Improve handling of format specs
2024-01-15 06:31:24 -08:00
Victor Zverovich
c98a5a599f
Remove unnecessary checks
2024-01-14 17:41:49 -08:00
Victor Zverovich
d70729215f
Fix constness
2024-01-14 06:44:38 -08:00
Victor Zverovich
56fa4d61f6
Fix docs
2024-01-13 19:03:23 -08:00
Victor Zverovich
cacdf1439f
Remove nonstandard alias
2024-01-13 15:56:16 -08:00
Victor Zverovich
4d766b1670
Invert dependencies
2024-01-13 10:30:44 -08:00
Victor Zverovich
c10859f15c
Remove deprecated options
2024-01-13 10:25:11 -08:00
Victor Zverovich
d0963d4823
Make ranges only depend on fmt/base.h
2024-01-13 09:54:19 -08:00
Victor Zverovich
da0f84c42c
Cleanup copy functions and move to base.h
2024-01-13 09:31:20 -08:00
Victor Zverovich
59baac522e
Remove unused functions
2024-01-13 09:03:35 -08:00
Vladislav Shchapov
21b0458291
Use std::allocator_traits ( #3804 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2024-01-13 08:48:37 -08:00
Vladislav Shchapov
df6a3564b0
Fix MSVC warning: "The contents of <bit> are available only with C++20 or later." ( #3807 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2024-01-13 08:26:44 -08:00
Hans-Martin B. Jensen
7c163acfda
Fix conversion warning in filesystem::path formatter ( #3806 )
...
* Fix conversion warning in filesystem::path formatter
Use template character type to eliminate MSVC conversion warning when
formatting a wide chararacter path:
fmt\std.h(140,49): warning C4244: '=': conversion from 'const Char' to 'char', possible loss of data
* Review: use to_ascii instead
---------
Co-authored-by: Hans-Martin B. Jensen <haje@eposaudio.com>
2024-01-13 08:02:31 -08:00
Victor Zverovich
297b22f585
Remove <memory> dependency
2024-01-12 09:09:19 -08:00
Victor Zverovich
3c9608416a
Remove redundant detection of experimental string_view
2024-01-12 07:45:07 -08:00
Victor Zverovich
0cdee904a4
Add a missing num_bits specialization
2024-01-12 07:20:12 -08:00
Victor Zverovich
7e58af4eaf
Fix an ICE on clang <= 15
2024-01-12 06:48:03 -08:00
Victor Zverovich
f1924d3269
Cleanup macros
2024-01-12 06:35:25 -08:00
Victor Zverovich
52174953bc
Cleanup conseval detection
2024-01-12 05:59:22 -08:00
Victor Zverovich
b71d98774b
Reduce usage of FMT_COSTEXPR20
2024-01-11 21:27:00 -08:00
Victor Zverovich
810d1750f1
Cleanup constexpr detection
2024-01-11 21:08:01 -08:00
Victor Zverovich
170ffb1ff8
Simplify constexpr checks
2024-01-11 20:26:52 -08:00
Victor Zverovich
e470ba8b7b
Simplify exception detection
2024-01-11 19:42:06 -08:00
Victor Zverovich
bf98e3e4c6
Cleanup macros
2024-01-11 19:16:35 -08:00
Victor Zverovich
fd87a23d34
Reduce memory dependency
2024-01-10 20:00:15 -08:00
Victor Zverovich
b71ef65b6e
Remove iterator dependency
2024-01-10 18:52:53 -08:00
Victor Zverovich
c5340539f9
Remove unnecessary trait specialization
2024-01-10 18:11:37 -08:00
Victor Zverovich
971f7ae768
Minor cleanup
2024-01-10 16:43:00 -08:00
Victor Zverovich
da7a232b9e
Cleanup contexts
2024-01-10 13:09:55 -08:00
Tristan Brindle
2595bf57b3
Fix formatting of ranges with begin()&/end()&
...
C++20 allows ranges to have lvalue-qualified begin() and end() member functions. fmt correctly handles this if begin() and end() are additionally const-qualifed (i.e. begin() const&), but not in the non-const case. For example:
https://godbolt.org/z/YfxaYz5r7
This patch fixes fmt's range detection to handle this case by testing calls to detail::ranges_begin()/end() with an lvalue T&, matching the behaviour in the const case.
2024-01-10 12:22:53 -08:00
Vladislav Shchapov
6f5d53ce08
Add fmt::is_contiguous<std::basic_string<Char, Traits, Allocator>>
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2024-01-10 10:47:39 -08:00
Vladislav Shchapov
961df829b9
Fix buffer overflow if output iterator is std::back_insert_iterator and value is escaped (debug format)
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2024-01-10 09:15:16 -08:00
Victor Zverovich
401f087394
Fix write_uintptr_fallback
2024-01-10 09:09:57 -08:00
Victor Zverovich
3d84b45a22
Update core.h
2024-01-10 06:57:22 -08:00
Victor Zverovich
4331abed26
Move fmt::format to fmt/format.h
2024-01-10 06:43:12 -08:00
Victor Zverovich
fc8f6ba934
Separate compilation for println
2024-01-10 05:55:26 -08:00
Victor Zverovich
58a6bd48a8
Add core.h for compatibility
2024-01-09 20:10:30 -08:00
Victor Zverovich
79f1506fe3
Add base.h
2024-01-09 19:36:12 -08:00
Victor Zverovich
4d616479b5
Simplify make_format_args
2024-01-09 19:18:35 -08:00
Victor Zverovich
7ba6420540
Optimize debug codegen
2024-01-09 11:44:57 -08:00
Victor Zverovich
f7ed65fa4a
Simplify format_arg_store
2024-01-09 06:29:16 -08:00
Victor Zverovich
f34f31b321
Move format_arg_store to detail
2024-01-08 21:44:56 -08:00
Victor Zverovich
fb66131efa
Improve arg storage
2024-01-08 21:25:41 -08:00
Victor Zverovich
6af30d8f75
Remove legacy workaround
2024-01-08 20:13:50 -08:00
Victor Zverovich
c177324ba9
Simplify basic_format_args
2024-01-08 18:42:53 -08:00
Victor Zverovich
545d37a8b0
Remove extra level of indirection when building args
2024-01-08 17:58:07 -08:00
Victor Zverovich
a5ae9ae19d
Split standard context into a separate class and optimize
2024-01-08 07:08:49 -08:00
Victor Zverovich
23e8109d8d
Remove buffer_appender
2024-01-07 22:03:02 -08:00
Victor Zverovich
679af1f5cc
Remove redundant get_container
2024-01-07 19:31:26 -08:00
Victor Zverovich
48d7fb265b
Merge back_insert_iterator and appender
2024-01-07 18:43:27 -08:00
Victor Zverovich
f348d1a211
Reintroduce back_insert_iterator detection
2024-01-07 17:44:40 -08:00
Victor Zverovich
df67df7b4c
Add is_back_insert_iterator
2024-01-07 16:44:42 -08:00
Victor Zverovich
17f79ac6cf
Minor cleanup
2024-01-07 15:04:38 -08:00
Victor Zverovich
dbdfc99fa1
Don't crash if flush fails during unwinding
2024-01-07 14:55:16 -08:00
Victor Zverovich
c1d9e88402
Remove unnecessary final and apply clang-format
2024-01-07 13:08:17 -08:00
Victor Zverovich
7d73ef85f7
Cleanup ranges
2024-01-06 19:37:14 -08:00
Victor Zverovich
ae9b0b521b
Disable transitive includes
2024-01-06 15:22:13 -08:00
Victor Zverovich
1b7d9db0ce
Remove string dependency
2024-01-06 06:25:34 -08:00
Victor Zverovich
0641b844ac
Cleanup string traits
2024-01-05 19:31:04 -08:00
Victor Zverovich
1e938dda20
Simplify char_t
2024-01-05 15:32:59 -08:00
Victor Zverovich
2e5b14bf60
Add compile-time checks to color formatting
2024-01-05 09:51:52 -08:00
Victor Zverovich
e0b604beb1
Remove a redundant function
2024-01-04 15:59:33 -08:00
Victor Zverovich
bee495c97f
Remove dead code
2024-01-04 09:40:30 -08:00
Victor Zverovich
794e1b6145
Remove redundant overload
2024-01-04 09:21:19 -08:00
Victor Zverovich
c7061776ab
Bump version
2024-01-04 05:50:54 -08:00
Victor Zverovich
dc52d176de
Cleanup dependencies
2024-01-03 20:52:45 -08:00
Victor Zverovich
0e3e61cc0a
Remove limits dependency
2024-01-03 19:14:30 -08:00
Victor Zverovich
800a0bb23f
Remove dependency on string_view
2024-01-03 18:49:45 -08:00
Victor Zverovich
f2e43f967c
Remove char_traits dependency
2024-01-03 13:16:28 -08:00
Victor Zverovich
c9287eb9f7
Reduce char_traits usage
2024-01-03 10:02:16 -08:00
Victor Zverovich
61f144bd61
Move copy_str for format.h
2024-01-03 09:05:09 -08:00
Victor Zverovich
4687f8e37e
Remove dependency on <iterator>
2024-01-03 08:20:04 -08:00
Victor Zverovich
f2c55f6bb8
Remove dependency on back_insert_iterator
2024-01-03 06:16:00 -08:00
Victor Zverovich
c9d233c0a4
Decouple appender from back_insert_iterator
2024-01-03 06:16:00 -08:00
Victor Zverovich
4e43a46993
Clarify why we can't have nice things
2024-01-02 19:14:32 -08:00
Victor Zverovich
c36ed77ff0
Get rid of addressof
2024-01-02 18:44:27 -08:00
Victor Zverovich
e2ab9ab22b
Add FMT_GLIBCXX_RELEASE
2024-01-02 16:15:23 -08:00
Victor Zverovich
0378d171f9
Replace remove_cvref_t with remove_const_t
2024-01-02 12:46:09 -08:00
Victor Zverovich
63ce170853
Replace virtual dispatch with normal functions in buffers
2024-01-02 07:02:20 -08:00
Victor Zverovich
74ffea0dcf
Simplify to_ascii
2024-01-01 20:09:47 -08:00
Victor Zverovich
4ec9c2906b
Apply coding conventions
2024-01-01 19:04:25 -08:00
Victor Zverovich
f4a7d40dca
Dedup throw_format_error
2024-01-01 18:42:23 -08:00
Victor Zverovich
068bf9bad8
Make visitation compatible with std::format
2024-01-01 17:31:36 -08:00
Victor Zverovich
50565f9853
Move misplaced join overloads to fmt/ranges.h
2024-01-01 16:28:59 -08:00
Victor Zverovich
0b39d67103
Remove detail::error_handler
2024-01-01 16:10:13 -08:00
Victor Zverovich
c142385033
Improve the pipe API
2024-01-01 15:55:37 -08:00
Victor Zverovich
b0569451a7
Bump version
2024-01-01 10:06:52 -08:00
Bruce Mitchener
ebd5c8f994
Consistently use fmt:: when invoking format_to. ( #3779 )
...
This has been done partially in previous commits:
* 2ac6c5ca8b3dfbcb1cc5cf49a8cc121e3984559c
* 258000064d71a7d228d608a2e3d43bde3e32a658
* ba50c19e827383bd5dacb74189fb4852c8dcbdae
* 5ab9d39253b8bcb85a475dc058955b3916f3410a
A patch that includes the `std::error_code` changes here is
upstream in vcpkg, so that will be able to be removed when
updating to the next release.
2024-01-01 06:57:03 -08:00
Victor Zverovich
a5bacf3fef
Remove custom_formatter
2023-12-31 12:34:18 -08:00
Victor Zverovich
e33c1568c3
Implement scan argument access
2023-12-31 08:49:29 -08:00
Victor Zverovich
23826669cf
Cleanup error handling
2023-12-31 07:51:57 -08:00
Victor Zverovich
8c520b4fdc
Fix comment
2023-12-29 15:48:25 -08:00
Victor Zverovich
47a0eec2e8
Remove unnecessary alias
2023-12-29 09:59:55 -08:00
Victor Zverovich
d5823aae36
Ceci n'est pas une pipe
2023-12-29 08:11:29 -08:00
Victor Zverovich
47c8f63d02
Remove redundant specifier
2023-12-28 07:32:07 -08:00
Victor Zverovich
df62c86783
Mark grow as deprecated
2023-12-25 10:11:22 -08:00
Victor Zverovich
fc0f84d290
Move formatbuf to ostream.h
2023-12-23 15:00:28 -08:00
Victor Zverovich
86f2ec5de7
Fix a warning
2023-12-23 14:51:43 -08:00
Victor Zverovich
a537c39fdf
Move conjunction to where it is used
2023-12-23 14:35:11 -08:00
Victor Zverovich
7c240d52c3
Remove unused symbol
2023-12-23 13:20:55 -08:00
Victor Zverovich
e7875ae0fa
Fix formatting of some nested ranges
2023-12-23 09:35:32 -08:00
Victor Zverovich
3eb3aef575
Fix handling of set_debug_format
2023-12-23 08:32:36 -08:00
Vladislav Shchapov
9cd2b87e18
Fix wchar_t to char conversion warnings ( #3764 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2023-12-20 08:59:26 -08:00
Victor Zverovich
d5da9cc40e
Apply clang-tidy
2023-12-19 17:52:50 -08:00
Vladislav Shchapov
9165434e5a
Enable consteval in MSVC VS2019 version 16.10 ( #3757 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2023-12-18 13:00:11 -08:00
Vladislav Shchapov
923005bd4f
Add stdlib version check for C++20 ( #3754 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2023-12-17 08:33:17 -08:00
Victor Zverovich
afa85e46c3
Apply clang-format
2023-12-17 07:32:22 -08:00
js324
6025bd7c37
Add localized formatting to non-decimal presentation types of ints ( #3750 )
2023-12-15 07:51:25 -08:00
Kefu Chai
6855bd532b
Apply clang-format
...
* use clang-format v17.0.6 to reformat the tree
* tweak some places so that clang-format does not mutate the layout
of code too much
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2023-12-13 07:18:37 -08:00
Victor Zverovich
bbee753579
Make clang-format happy
2023-12-13 06:54:51 -08:00
Mikael Simberg
89860eb901
Use void(*)(void*) instead of decltype(&std::free) to satisfy clang in CUDA mode ( #3751 )
...
clang can't resolve &std::free in decltype(&std::free) because std::free
is overloaded (for host and device).
2023-12-11 09:44:02 -08:00
Kefu Chai
274ba2645b
allow format_as() to format reference ( #3739 )
...
before this change, format_as() is unable to format a type which
has `auto format_as() -> const another_type&`, and `another_type`
is formattable. because `format_as_result` maps the result type
as it is, and the compiler refuses to compile
`static_cast<T*>(nullptr)`, where T is a reference type. but
it would be handy if we could use `format_as()` to format types
which, for instance, owns / inherit from a formattable type, and
delegate the formatter to these variables instead without creating
a copy of them.
in this change:
* instruct `format_as_result` to map the
result type to the decayed type, so that `type` can be the decayed
type of result type, and this also enables `type` to be formattable,
as long as the decayed type is formattable.
* corresponding test is added to format-test.cc
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2023-12-10 08:49:53 -08:00
Victor Zverovich
9048add999
Report out-of-range errors in chrono
2023-12-10 08:28:50 -08:00
Vladislav Shchapov
6392dba21c
Fix warning: identifier '_a' preceded by whitespace in a literal operator declaration is deprecated ( #3748 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2023-12-09 08:16:57 -08:00
Albert Santoni
9c3c107c8c
Fix compile with GCC 6.3.0 (bug #3738 ) ( #3743 )
2023-12-08 09:36:33 -08:00
js324
573d74395b
error on bool arg w/ char pres_type ( #3734 )
2023-12-05 13:45:10 -08:00
Ivan Shapovalov
71bd51e6c2
Implement %j specifier for std::chrono::duration ( #3732 )
...
This adds support for `%j` presentation type for duration types:
> "If the type being formatted is a specialization of duration, the decimal
number of days without padding."
Fixes #3643 .
2023-12-03 07:29:58 -08:00
Félix-Antoine Constantin
99b9fbf8ef
Add formatter for std::source_location ( #3730 )
2023-11-30 10:05:56 -08:00
Victor Zverovich
8f83ee2ad1
Apply coding conventions
2023-11-30 08:24:02 -08:00
Victor Zverovich
2a8a694466
Clarify that mixing code unit types is deprecated
2023-11-30 08:20:01 -08:00
Victor Zverovich
04718008ab
Minor cleanup
2023-11-30 07:43:31 -08:00
js324
b87ea22e29
Add native and generic representation for filesystem::path format spec ( #3729 )
2023-11-29 14:49:36 -08:00
Victor Zverovich
6988be3878
Bump version
2023-11-25 09:11:53 -08:00
Victor Zverovich
2d1e4bb35e
Remove a useless comment
2023-11-25 09:05:20 -08:00
Corentin Schreiber
7f8d419115
Fix overflow in time_point formatting with large dates ( #3727 )
...
* Fix #3725 and rename fmt_safe_duration_cast to fmt_duration_cast
The function is now more generic and will handle all casts. It also
takes care of toggling safe vs unsafe casts using
FMT_SAFE_DURATION_CAST.
* Refactor fmt_duration_cast to put #ifdef inside the function
* Fix compilation error with FMT_USE_LOCAL_TIME
2023-11-25 08:36:55 -08:00
Victor Zverovich
06f1c0d725
Clarify that calling non-const format is deprecated
2023-11-24 10:21:57 -08:00
Victor Zverovich
8a39388516
Fix the default locale in ostream_formatter
2023-11-24 09:24:43 -08:00
Peter Johnson
dd6f657a79
Remove this-> from decltype ( #3723 )
...
* Remove this-> from decltype
The latest version of MSVC doesn't like it, and removing it doesn't seem to harm anything.
* Add ifdef for GCC < 5
2023-11-22 09:46:04 -08:00
Victor Zverovich
c13753a70c
Fix handling of invalid Unicode in precision
2023-11-18 08:36:11 -10:00
Ole Bøe
864a8b5f38
fix: support optional<T> with format_as(T) ( #3713 )
...
Formatting a std::optional<T> where T had a custom format_as(T) function failed to compile with clang,
due to set_debug_format being hidden by private inheritance. This fix makes the function available through a using clause.
2023-11-16 15:02:33 -08:00
Victor Zverovich
649fe0fc8b
Fix handling of null strings with the s specifier
2023-11-15 17:03:01 -10:00
Kai Aoki
45e124ee43
Added workaround for old xcode compiler bug ( #3716 )
...
* Added macros to disable std::filesystem and std::variant as a workaround for old xcode bugs
* Change macro to positive logic
2023-11-15 09:19:08 -08:00
Victor Zverovich
6b0082e6c7
Improve OpenBSD workaround
2023-11-07 09:24:33 -10:00
Victor Zverovich
4548d1eae2
Make write_escaped_path more portable
2023-11-07 05:46:15 -10:00
Victor Zverovich
050d41e857
Make get_path_string more portable
2023-11-06 14:34:53 -10:00
hotwatermorning
b35d4e40fe
fix: use FMT_HAS_INCLUDE instead of __has_include
2023-11-03 15:10:40 -07:00
hotwatermorning
acaf83f40f
feat: enable building with gcc 4.8
2023-11-03 02:38:05 +09:00
hotwatermorning
05aa783779
feat: include xlocale.h only if exists
2023-11-03 02:38:05 +09:00
Carl Smedstad
e0d3e346d2
Wrap Char in array to avoid pointer arithmetic ( #3695 )
...
This resolves the following finding reported by Coverity Static Analysis
v2023.6.1 on line 1964 of fmt/include/fmt/format.h:
ptr_arith: Using &v as an array. This might corrupt or misinterpret
adjacent memory locations.
2023-10-31 14:05:46 -07:00
Victor Zverovich
19276d7325
Fix an inconsistentcy between to_string and format
2023-10-28 08:05:11 -07:00
Dimitrij Mijoski
2a2c6e676f
Fix flushing C++ iostreams before calling write_console() ( #3689 )
...
This change correctly implements https://wg21.link/P2539/ for both
C streams and C++ iostreams.
Fixes #3688 .
2023-10-25 13:13:31 -07:00
Roman Koshelev
3b7f58a8b3
add buffer flush before direct write
2023-10-24 16:02:37 -07:00
Victor Zverovich
d9063baf22
Fix perf regression in ostream::print
2023-10-15 08:23:36 -07:00
Victor Zverovich
f7542c5761
Apply clang-format
2023-10-14 06:52:43 -07:00
Richard Kellnberger
bb8d50f04b
add a suffix for days and fix the one for minutes ( #3664 )
2023-10-07 12:45:34 -07:00
Giel van Schijndel
f76603f21e
fix: make std::bitset formattable again ( #3660 )
...
* fix: make std::bitset formattable again
It used to be formattable via operator<<(ostream&) implicitly. Make it
formattable again, but this time via formatter specialization.
* fix: make nested_formatter constexpr default constructible
2023-10-03 09:53:47 -07:00
Victor Zverovich
72e883e163
Diagnose unsupported code unit types
2023-10-01 08:37:21 -07:00
Victor Zverovich
2dd4fa8742
Remove an ostream hack incompatible with libc++ 17
2023-09-26 12:42:37 -07:00
Victor Zverovich
06b20387ae
Optimize fractional_part_rounding_thresholds
2023-09-22 13:26:57 -07:00
Victor Zverovich
649f2460db
Apply clang-format
2023-09-22 09:07:43 -07:00
Greg Sjaardema
7529af8f99
Workaround intel bug ( #3652 )
...
* Workaround intel bug
Potential workaround / restructure for the intel bug that is the cause of #3645 .
Make the variable in the external struct instead an embedded static constexpr variable in the only function that uses the variable.
* Finish the proposed change -- remove struct accessor
* Refactor proposed intel fix.
Moved variable out of function to avoid specialization on Float. Made it a separate function that is called from format_float.
* Fix incorrect function name.
* Add missing inline.
2023-09-20 18:57:55 -07:00
Giel van Schijndel
a3a74fa7f3
fix: mark fmt::streamed() as constexpr ( #3650 )
...
Because it's just performing a very basic type conversion that can be
done at constexpr time.
My use case simultaneously creates a
`fmt::basic_format_string<some_type_conversion<Args...>>` instance and
performs `some_type_conversion<Args>(args)...`. `some_type_conversion`
optionally applies `fmt::streamed(arg)` to a subset of types. This needs
to be `constexpr` because `basic_format_string`'s constructor is
`consteval`.
2023-09-19 08:42:34 -07:00
Sascha Scandella
8ef4db4b96
Use datatype of underlying data ( #3647 )
2023-09-19 07:31:36 -07:00
Victor Zverovich
0e01e46c11
Implement nested formatter
2023-09-18 14:21:21 -07:00
Dana Jansens
f6ca4ea199
Avoid a space in the UDL definition ( #3610 )
...
* Avoid a space in the UDL definition except on GCC before 4.9
Clang 18 has grown a warning about the space being deprecated which
is enabled by default in their nightly binaries. However GCC before 4.9
will reject the UDL definition unless there is a space there, so we need
to keep the space conditionally for it.
* Remove UDLs on GCC before 4.9 to simplify things
GCC before 4.9 rejects the syntax that is now
rejected on more modern compilers.
* Disable compile-error-test on GCC < 4.9
This avoids the UDL tests failing as GCC < 4.9 can not parse UDLs
without a space, but the space is malformed in modern compilers.
2023-09-18 08:09:42 -07:00
Gleb Mazovetskiy
a8a73da7e4
Add an option to avoid wchar APIs on Windows ( #3636 )
...
With this, fmt can be used on Windows 98 and the Original Xbox with:
set(FMT_OS OFF)
It is not exposed as a CMake option but one can define it manually
in the fmt subproject, e.g.:
target_compile_definitions(fmt PUBLIC FMT_WINDOWS_NO_WCHAR)
Fixes #3631
2023-09-17 08:49:51 -07:00
Victor Zverovich
bfdf50d183
Minor cleanup
2023-09-16 08:16:59 -07:00
Chloe
571a9b7b26
Replace usage of C++17 library feature with C++11 ( #3638 )
2023-09-16 08:07:03 -07:00
Victor Zverovich
6c088be8ec
Cleanup handling of visibility
2023-09-16 07:40:08 -07:00
Vladislav Shchapov
016b1faede
Fix symbol leak ( #3627 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2023-09-16 07:26:36 -07:00
Victor Zverovich
d4987546a4
Add an experimental nested formatter
2023-09-10 11:56:55 -07:00
Victor Zverovich
5bdce181f1
Mark styled_arg as a view to prevent lifetime issues
2023-09-09 08:16:45 -07:00
cyy
a4b7b24b7b
fix redundant redeclaration of ‘constexpr’ static data member ( #3630 )
2023-09-08 16:20:32 -07:00
Vinay Yadav
fac60bd4f5
Remove type cast as mxe(mingw32) compiler complains about useless-cast ( #3624 )
...
Remove type cast as mxe(mingw32) compiler complains about useless-cast
when FMT_PEDANTIC && FMT_WERROR options are enabled
"""
error: useless cast to type 'class fmt::v10::basic_format_args<fmt::v10::basic_format_context<fmt::v10::appender, char> >' [-Werror=useless-cast]
1449 | basic_format_args<buffer_context<char>>(args));
"""
2023-09-05 07:37:27 -07:00
Victor Zverovich
84e6661517
Workaround a gcc 6.4 issue
2023-09-04 11:23:14 -07:00
Victor Zverovich
e1fc481d65
Merge the copyright comment since there are many contributors
2023-09-04 06:54:07 -07:00
Victor Zverovich
28e2d3b640
Bump version
2023-08-26 08:29:50 -07:00
Alex Guteniev
9b74160817
atomic_flag formatting (#3594 )
2023-08-25 08:06:10 -07:00
Victor Zverovich
a21690bdfa
Coding conventions
2023-08-25 07:46:32 -07:00
Mathew Benson
e786824053
Refactor Improvement on umul128 function
...
- Removal of direct access to members of uint128_fallback and instead
create the values at the callsite and pass them via the constructor of
uint128_fallback on the return statement.
2023-08-25 13:21:52 +03:00
Mathew Benson
2b20d7be6f
Refactor To remove friend function private access
...
- Remove umul128 friend function from uint128_fallback class using
non-const member access functions instead.
2023-08-24 00:55:43 +03:00
Mathew Benson
1f38ebbdb1
Add condition to include friend function in win32
2023-08-22 23:07:04 +03:00
Mathew Benson
e418179694
Fix for FMT_MODULE not compiling on GCC
2023-08-22 21:11:53 +03:00
lukester1975
cc077a5e3b
Fix FMT_NO_UNIQUE_ADDRESS warning with clang-cl. ( #3600 )
...
See https://reviews.llvm.org/D110485 for info.
2023-08-20 10:21:50 -07:00
Mathew Benson
a992b3d1fc
Fix for Compilation Error When Using FMT_MODULE ( #3597 )
...
* FMT_EXPORT reorganization to fix compile error
- When compiling with FMT_MODULE, an error was being generated due to
use of FMT_EXPORT on a declaration within FMT_BEGIN_EXPORT and
FMT_END_EXPORT on `include/core.h`
- On `include/format.h` had to exclude the function vformat_to by ending
the export block just before it and beginning a new one after it.
2023-08-20 07:32:36 -07:00
YuHuanTin
bd868f3a51
Improve compatibility with GBK #3598 ( #3599 )
2023-08-19 08:13:20 -07:00
Victor Zverovich
bbb784fb1b
Fix a gcc error about partial specialization after instantiation
2023-08-19 07:22:40 -07:00
Ben Deane
6c845f57e5
Fix formatted_size with FMT_COMPILE and format specs ( #3588 )
...
Addresses issue #3586
2023-08-15 06:45:48 -07:00
Zhanwei Wang
5a866fe852
Add formatter for std::atomic ( #3574 )
2023-08-14 08:34:31 -07:00
Vladislav Shchapov
e150ea0cc2
to_string supports types with format_as
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2023-08-13 08:39:52 -07:00
Victor Zverovich
e1acd5f4d9
Bump version
2023-08-12 06:52:15 -07:00
Victor Zverovich
d424862319
Fix fixed precision handling during rounding in long double
2023-08-07 13:56:53 -07:00
Victor Zverovich
7a2f6ac210
Fix a comment
2023-08-07 09:33:45 -07:00
Victor Zverovich
ebb10347c4
Merge branch 'master' of github.com:fmtlib/fmt
2023-08-07 08:18:13 -07:00
Victor Zverovich
1005720169
Clarify that visit_format_arg is deprecated
2023-08-07 08:17:55 -07:00
Vladislav Shchapov
aeb6ad4dd0
Added formatter for bit_reference-like types ( #3570 )
...
* Add test for std::vector<bool>::reference
Co-authored-by: Felix <felix-antoine.constantin@polymtl.ca>
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
* Add test for std::bitset<N>::reference
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
* Add test for const std::bitset<N>::reference and const std::vector<bool>::reference
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
* Add bit_reference-like formatter
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
* Use std::addressof
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
---------
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
Co-authored-by: Felix <felix-antoine.constantin@polymtl.ca>
2023-08-06 11:36:30 -07:00
5chmidti
8a4bec5cf5
fix ambiguous formatter lookup for flat_set ( #3561 )
2023-07-31 09:26:33 -07:00
razaqq
757564f5cd
add missing inline specifier ( #3552 )
2023-07-27 12:12:00 -07:00
Jürgen Hock
f4214ae8dd
Use the U literal for unsigned integer constants. ( #3549 )
...
Fix MSVC Error C2398 Element '1': conversion from 'int' to 'const uint32_t' requires a narrowing conversion.
2023-07-27 11:43:00 -07:00
Victor Zverovich
aecf80d304
Update a comment
2023-07-26 15:10:12 -07:00
Martin Jeřábek
503d49286d
expose detail::throw_format_error ( #3551 )
...
This enables to only #include <fmt/core.h> when defining formatters.
2023-07-26 13:21:38 -07:00
Ozomahtli
4f46cb82f3
Remove std::copy usage. ( #3550 )
2023-07-26 07:27:01 -07:00
Victor Zverovich
3dec65b7fd
Use replacement character in path
2023-07-22 09:07:28 -07:00
Dmitry Alexeev
dbabb305c3
Turn off error-producing NVCC workaround when using c++20 ( #3544 )
2023-07-21 11:29:15 -07:00
Victor Zverovich
ac0ab8eff3
Improve path formatter
2023-07-20 17:49:12 -07:00
Victor Zverovich
40f35d6f04
Cleanup std formatters
2023-07-20 16:26:27 -07:00
Victor Zverovich
31c2c5679e
Cleanup formatters
2023-07-20 15:57:43 -07:00
Victor Zverovich
b2728a3170
Improve path formatter
2023-07-20 15:25:35 -07:00
Victor Zverovich
77e0b0e228
Cleanup chrono formatter
2023-07-20 15:00:59 -07:00
Victor Zverovich
436c131d4c
Optimize compiled format_to_n
2023-07-20 12:35:01 -07:00
Victor Zverovich
388bc296b7
Fix fixed formatting of small long doubles
2023-07-20 12:06:05 -07:00
Victor Zverovich
fb97cb2318
Suppress a bogus stringop-overflow warning
2023-07-20 09:53:54 -07:00
Victor Zverovich
dd5a9691f9
Clarify that data is not null-terminated
2023-07-20 07:36:30 -07:00
Kieran Clancy
72dc4491ea
Fix format_string_checker initialisation order ( #3542 )
...
Linter (clang-tidy) complains about uninitialised fields in
format_string_checker since types_ is passed to context_ before being
initialised. Fixes #3541 .
2023-07-20 07:30:45 -07:00
Victor Zverovich
9bea6ec04a
Don't use deprecated checked_array_iterator
2023-07-20 07:12:06 -07:00
Victor Zverovich
661b23edeb
Call parse on empty specs at compile time
2023-07-15 22:20:29 -07:00
Barry Revzin
de4705f84d
Trying to improve errors in the unformattable case ( #3478 )
2023-07-01 06:46:04 -07:00
Victor Zverovich
606f85f8b2
Workaround brain-damaged conversions
2023-06-26 16:06:24 -07:00
Tobias Schlüter
a331dbfb65
Fix type in assert message. ( #3508 )
...
Reviewed all strings in the file and found no other typos.
2023-06-26 11:35:29 -07:00
Vladislav Shchapov
dd17f89a16
Fix for issue #3492 ( #3493 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2023-06-16 02:20:40 -07:00
Victor Zverovich
1daae555b3
Optimize format string compilation
2023-06-15 10:28:23 +03:00
Victor Zverovich
6ad301235f
Optimize code unit output in compiled format
2023-06-14 21:13:26 +03:00
Victor Zverovich
5afb1821a9
Update docs
2023-06-13 18:58:15 +03:00
Victor Zverovich
977d887a4e
Suppress a bogus warning
2023-06-13 14:01:46 +03:00
Minty-Meeo
c86fe0b8d3
Give basic_memory_buffer allocator [[no_unique_address]] ( #3485 )
...
This allows stateless allocators to take up no space while still avoiding the empty base class optimization.
2023-06-13 01:22:19 -07:00
Minty-Meeo
de0757b578
Use FMT_TRY and FMT_CATCH in std.h ( #3482 )
...
This naked try-catch block prevents compilation when exceptions are disabled.
2023-06-10 21:28:13 -07:00
Hans-Martin B. Jensen
60fd9941c0
Use correct Char type in std::filesystem::path ( #3476 )
...
Godbolt repro:
https://godbolt.org/z/o4bjG6ddo
Co-authored-by: Hans-Martin B. Jensen <haje@eposaudio.com>
2023-06-02 14:12:57 -07:00
Hans-Martin B. Jensen
8abfc145be
Fix MSVC warning in std::chrono::time_point formatter ( #3475 )
...
* Fix MSVC warning in std::chrono::time_point formatter
The condition is constexpr causing MSVC level 4 warning:
warning C4127: conditional expression is constant
Changed the code to eliminate the warning
* Use detail::const_check
* Review: revert else condition
---------
Co-authored-by: Hans-Martin B. Jensen <haje@eposaudio.com>
2023-06-02 08:40:34 -07:00
Victor Zverovich
686b3353aa
Simplify typeid check
2023-06-01 09:32:44 -07:00
Dana Jansens
35547d6003
Use const_check to silence MSVC warning
...
The condition is constexpr, so the compiler warns if a runtime check
is used as there's no need to generate code for it.
2023-05-31 09:25:53 -07:00
Dana Jansens
179c7e5a66
Use typeid() only if it's available
...
On MSVC it is always available, otherwise it depends on whether
RTTI is enabled.
2023-05-31 09:25:53 -07:00
Victor Zverovich
bd393456ed
Remove FMT_*_DETAIL_NAMESPACE
2023-05-28 07:33:26 -07:00
Victor Zverovich
6be36af0d4
Remove udl_formatter
2023-05-27 17:16:36 -07:00
Victor Zverovich
2a35eeed8a
Remove unused data
2023-05-27 10:47:17 -07:00
Victor Zverovich
256a826d63
Consolidate formatters
2023-05-27 09:19:50 -07:00
Victor Zverovich
6369af37d3
Simplify formatters
2023-05-27 09:19:50 -07:00
Victor Zverovich
0b8404918e
Remove get_cached_power
2023-05-27 09:19:50 -07:00
Nico Rieck
171a020c82
Pass correct Char to base format_as formatter ( #3457 )
2023-05-24 14:50:47 -07:00
Victor Zverovich
d8f04e3995
Simplify ceil
2023-05-24 11:51:34 -07:00
Vladislav Shchapov
5e988f8dfa
Remove is_constant_evaluated() check
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2023-05-24 09:07:12 -07:00
Vladislav Shchapov
19b17618a9
Make constexpr ceil
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2023-05-24 09:07:12 -07:00
Victor Zverovich
858e528abd
Use dragon in constexpr
2023-05-23 06:30:09 -07:00
Victor Zverovich
ef55d4f52e
Suppress a bogus gcc warning
2023-05-22 11:27:20 -07:00
Victor Zverovich
6fe895410d
Remove invalid_arg_index
2023-05-21 19:57:17 -07:00
Victor Zverovich
de8d0171a2
Simplify FMT_FORMAT_AS
2023-05-20 18:28:01 -07:00
timsong-cpp
08ef0d0842
fix formatter<char*> ( #3432 )
2023-05-20 06:32:21 -07:00
Florimond Collette
d60b907f87
Replace mod_inv_25 by explicit value ( #3450 )
2023-05-18 11:26:19 -07:00
Florimond Collette
4ce086f731
remove code duplication ( #3448 )
...
* remove code duplication
* new interface for remove_trailing_zeros(uint32_t& n, int s = 0)
---------
Co-authored-by: Florimond Collette <4939681+florimondcollette@users.noreply.github.com>
2023-05-18 08:27:57 -07:00
Victor Zverovich
821f8cdb45
Detemplatize printf more
2023-05-17 12:34:12 -07:00
Victor Zverovich
0bf6ed7e1d
Cleanup printf
2023-05-17 10:53:25 -07:00
Victor Zverovich
e40e04face
Detemplatize printf_arg_formatter
2023-05-17 10:05:46 -07:00
Victor Zverovich
0a1c27281a
Detemplatize basic_printf_context
2023-05-17 09:29:20 -07:00
Victor Zverovich
2f605cc896
Deprecate wide printf
2023-05-17 08:58:55 -07:00
Victor Zverovich
1d54499ac0
Apply coding conventions
2023-05-17 08:21:13 -07:00
Victor Zverovich
3c6053c535
Cleanup basic_printf_context
2023-05-17 07:57:53 -07:00
Victor Zverovich
4a392adaa7
Remove basic_printf_parse_context
2023-05-17 07:47:42 -07:00
Victor Zverovich
b14913fae5
FMT_MODULE_EXPORT -> FMT_EXPORT
2023-05-17 07:38:06 -07:00
Arnaud Desitter
2117df299c
format-inl.h: address implicit int to bool conversion ( #3446 )
2023-05-17 06:39:20 -07:00
Victor Zverovich
616a493786
Revert Char* formatter removal
2023-05-17 06:11:11 -07:00
Barry Revzin
9a034b0d55
Always assert in FMT_THROW ( #3439 )
2023-05-17 06:04:36 -07:00
Victor Zverovich
e0fc0e85e3
Remove unneeded FMT_API
2023-05-16 17:25:20 -07:00
Victor Zverovich
552c43aba9
Improve long formatters
2023-05-14 07:07:36 -07:00
Victor Zverovich
d6846f4ac8
Clarify why byte formatter is in core
2023-05-13 08:04:53 -07:00
Victor Zverovich
aeedac5884
Remove unneeded specialization
2023-05-13 07:46:47 -07:00
Victor Zverovich
697e76ba30
Don't call init_named_args unnecessarily
2023-05-12 11:53:22 -07:00
Victor Zverovich
a425e0ff3b
Cleanup xchar API
2023-05-12 07:05:14 -07:00
Victor Zverovich
c36dd825ba
Remove unnecessary forwarding
2023-05-12 06:45:49 -07:00
Victor Zverovich
130b8fcdb9
Reduce template instantiations
2023-05-11 20:18:34 -07:00
Victor Zverovich
a47e8419be
Cleanup the core API
2023-05-11 19:07:56 -07:00
Victor Zverovich
ea49c91cd1
Cleanup argument construction
2023-05-11 18:43:39 -07:00
Patrick Geltinger
d7592ad8bf
Fix time_point formatting for durations with certain ratios ( #3430 )
...
* Fix time_point formatting
* Add timestamps_ratios tests
2023-05-11 15:25:21 -07:00
Victor Zverovich
5780269d57
Improve API safety
2023-05-11 10:19:56 -07:00
Victor Zverovich
b471192160
Fix a comment
2023-05-11 09:39:53 -07:00
Victor Zverovich
8f18e72df5
Improve API safety
2023-05-11 06:32:58 -07:00
Victor Zverovich
93d7cb12f1
Fix formatting
2023-05-10 16:29:47 -07:00
Victor Zverovich
0e4278717b
Remove unused macro
2023-05-10 16:27:16 -07:00
Victor Zverovich
93a30a0746
unicode_to_utf8 -> to_utf8 since both sides of conversion are Unicode
2023-05-10 16:26:02 -07:00
Victor Zverovich
5cf2342aa2
Bump version
2023-05-09 15:37:01 -07:00
Victor Zverovich
c984df9815
Remove an unused function from internal class
2023-05-08 13:35:23 -07:00
Victor Zverovich
1e0ce567ef
Fix formatting of paths containing invalid Unicode
2023-05-07 10:05:15 -07:00
Vladislav Shchapov
dde8cf3bb7
Unification utf16/utf32 to utf8 conversion
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2023-05-06 08:32:51 -07:00
Victor Zverovich
f61f15cc5b
Suppress a false positive in gcc
2023-05-06 06:54:30 -07:00
Daniela Engert
192df93d7b
modules missing pieces ( #3399 )
...
- don't export names from `detail`
- put more headers into the global module fragment
- support MSYS2 and Clang
2023-05-05 10:21:18 -07:00
Victor Zverovich
02cae7e48a
Improve handling of Unicode in paths
2023-04-30 09:58:59 -07:00
Daniela Engert
f449ca0525
Name vfprintf clashes with the identically named declaration in 'stdio.h' if that happens to be #included into the same TU. Fix this by using qualified name lookup instead of unqualified lookup that also enables ADL. ( #3400 )
2023-04-23 07:10:57 -07:00
Victor Zverovich
18154cc903
Simplify print
2023-04-22 14:03:40 -07:00
Daniela Engert
c039389223
export names only once ( #3392 )
...
names declared to be exported at the point of introduction into a namespace *must not* be (re-)declared as exported later in the TU, e.g. when they are redeclared, defined, or specialized. [module.export]/6
Drive-by fix found during module testing: add a missing `detail::` name qualification
2023-04-22 06:21:06 -07:00
Louis Wilson
93e81bb5d8
Fix C4365 (signed/unsigned mismatch) warning on 32-bit Windows ( #3398 )
2023-04-20 17:36:05 -07:00
Daniela Engert
18e7a2532b
Remove obsolete msvc workarounds ( #3388 )
...
This bug in the modules implementation is fixed since at least msvc 19.34, possibly even earlier like 19.32.
2023-04-19 17:09:51 -07:00
Daniela Engert
0489c19dcb
fix and improve module ( #3386 )
...
* export public documented API
* don't export `namespace detail`
* add `std.h` into module
* add missing namespace qualification in `xchar.h`
* fix call to `detail::get_iterator` in `xchar.h`
* fix ambiguous overload of `detail::isfinite` in `chrono.h`
2023-04-18 06:47:01 -07:00
Victor Zverovich
d8a2698e6c
Fix compilation as a C++20 module with gcc 13
2023-04-14 09:49:07 -07:00
June Liu
33f7150778
Fix error C2668 on msvc ( #3378 )
2023-04-11 06:27:28 -07:00
Victor Zverovich
c98e5a08a4
Fix modular build on clang
2023-04-10 12:07:25 -07:00
Victor Zverovich
77eeb71830
Remove unused headers
2023-04-10 09:08:19 -07:00
Victor Zverovich
1d0257e4c0
FMT_MODULE_EXPORT_* -> FMT_EXPORT_*
2023-04-10 08:33:39 -07:00
Victor Zverovich
4613d48fd3
FMT_EXPORT -> FMT_LIB_EXPORT
2023-04-10 08:24:23 -07:00
Victor Zverovich
4a4a2a2bd6
Fix diagnostics
2023-04-09 09:30:20 -07:00
Victor Zverovich
fce74caa15
Disable problematic implicit conversions
2023-04-09 09:08:46 -07:00
Victor Zverovich
02bf4d1c1c
Disable to_string_view ADL
2023-04-09 08:49:05 -07:00
Victor Zverovich
466e0650ec
Remove problematic workaround
2023-04-09 08:04:11 -07:00
Björn Schäpers
7f46cb75b8
ranges: Fix extra semi ( #3374 )
2023-04-06 08:31:07 -07:00
Vladislav Shchapov
97aedeab48
Workaround a double-double hexfloat format ( #3366 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2023-04-01 07:19:23 -07:00
Victor Zverovich
bce8d4ed08
Remove stray comment
2023-03-27 11:04:00 -07:00
Victor Zverovich
a91c7b286d
Cleanup the core API
2023-03-26 21:07:26 -07:00
Victor Zverovich
19c074e477
Remove deprecated fallback formatter
2023-03-26 08:45:06 -07:00
Victor Zverovich
41cfc739fe
Generalize format_as
2023-03-26 07:37:51 -07:00
Victor Zverovich
6002ddf825
Remove a deprecated option
2023-03-19 12:17:43 -07:00
Victor Zverovich
6549ffde8e
Improve format_as safety
2023-03-19 12:09:54 -07:00
Alecto Irene Perez
d9bc5f1320
Fix code causing spurious Wstringop-overflow warning
...
See #2989 , #3054 , and others
2023-03-18 09:29:54 -07:00
Victor Zverovich
9c5cd998d1
Remove unused functions
2023-03-18 08:40:16 -07:00
Barry Revzin
93bfa05382
%T is %H:%M:%S ( #3349 )
2023-03-18 07:16:22 -07:00
TheOmegaCarrot
d8e1c4265a
fix case of variant which is valueless by exception ( #3347 )
...
Co-authored-by: theomegacarrot <theomegacarrot@gmail.com>
2023-03-18 07:07:06 -07:00
tmartin-gh
e1720c0e51
Fix CUDA nvcc warning fmt/include/fmt/core.h(295): warning #1675-D: unrecognized GCC pragma ( #3352 )
2023-03-17 11:35:35 -07:00
Gleb Mazovetskiy
7f882918eb
write_floating_seconds: Fall back to ::round (#3343 )
...
On some toolchains, `std::round` is not available.
Fixes #3342
2023-03-12 09:34:19 -07:00
Shawn Zhong
cbc7b8d5c1
Cleanup dead variable ( #3338 )
2023-03-10 09:17:43 -08:00
Vladislav Shchapov
050293646f
Path is not escaped twice in the debug mode ( #3321 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2023-03-05 08:01:06 -08:00
Cloyce D. Spradling
3daf33837c
Enable consteval for Xcode 14.0.1 and later ( #3331 )
...
Co-authored-by: Cloyce D. Spradling <cloyce_spradling@apple.com>
2023-03-04 09:22:43 -08:00
Victor Zverovich
e0748e61dd
Fix recursion check in range formatting
2023-03-04 08:20:32 -08:00
Victor Zverovich
98699719f8
Make # handling consistent with std::format
2023-02-26 10:15:16 -08:00
Vladislav Shchapov
73b7cee7fb
Fix for issue #3325 ( #3326 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2023-02-26 06:59:41 -08:00
tom-huntington
5b8302079d
Add optional support ( #3303 )
2023-02-25 06:45:56 -08:00
luzpaz
3a69529e8b
Fix various typos ( #3312 )
...
Found via `codespell -q 3 -S ./test/gtest -L "fo,pres,seh,wronly"`
2023-02-21 15:14:41 -08:00
Victor Zverovich
76f520835f
Call element parse in tuple parse
2023-02-20 12:54:20 -08:00
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