2968 Commits

Author SHA1 Message Date
Victor Zverovich
15f939c3de Improve handling of dynamic specs 2024-08-04 09:25:50 -07:00
Victor Zverovich
928a07bb04 Simplify handling of dynamic specs 2024-08-04 09:09:01 -07:00
Victor Zverovich
7891699737 Simplify handling of dynamic specs 2024-08-04 08:47:07 -07:00
Vladislav Shchapov
5ee14d3508
Reintroduce constexpr fmt::formatted_size for C++20 (#4103)
* Reintroduce constexpr fmt::formatted_size for C++20

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>

* Disable constexpr fmt::formatted_size on Visual Studio 2019

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>

---------

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2024-08-03 07:13:32 -07:00
Victor Zverovich
b9c0e4dd82 Improve spec parsing 2024-08-02 11:57:02 -07:00
Victor Zverovich
8445327c84 Simplify spec handling 2024-08-01 19:59:21 -07:00
Victor Zverovich
8a06cee826 Optimize shortest float formatting 2024-08-01 18:54:56 -07:00
Victor Zverovich
1db2274966 Use us if Unicode is disabled 2024-08-01 10:24:43 -07:00
Vladislav Shchapov
d326c7298a
Fix conversion a surrogate pair (#4095)
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2024-07-30 07:27:11 -07:00
Victor Zverovich
6e462b89aa Get rid of std::copy 2024-07-29 15:58:05 -07:00
Vladislav Shchapov
aff640c32f
Make fmt::appender implement std::output_iterator concept (#4093)
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2024-07-29 09:18:20 -07:00
Victor Zverovich
e23fb6a8b4 Apply clang-format 2024-07-29 08:20:58 -07:00
Victor Zverovich
16b3542f7e Remove float_specs 2024-07-27 12:28:21 -07:00
Victor Zverovich
29d7e58059 Remove float_format 2024-07-27 12:07:19 -07:00
Victor Zverovich
919f7c5e7f Reduce float_specs usage 2024-07-27 11:38:55 -07:00
Victor Zverovich
a80d668a52 Diagnose invalid precision 2024-07-27 10:41:54 -07:00
Victor Zverovich
707d7d923a Apply coding conventions 2024-07-27 09:00:25 -07:00
Victor Zverovich
ffdc3fdbd9 Align digits table 2024-07-24 18:43:37 -07:00
Cameron Angus
31b3c325f6
Mark namespace scope constexpr variable 'buffer_size' inline. (#4084)
* Mark namespace scope constexpr variable 'buffer_size' inline.

* Use provided macro for inline variable.
2024-07-24 09:58:38 -07:00
Victor Zverovich
0b0b09f401 Constrain format_uint 2024-07-23 06:30:35 -07:00
Victor Zverovich
4173a6315a Improve format_decimal 2024-07-22 17:24:56 -07:00
Victor Zverovich
4239dfe081 Simplify format_decimal 2024-07-22 17:00:16 -07:00
Victor Zverovich
ba36a04811 Remove counting_iterator 2024-07-22 16:24:13 -07:00
Victor Zverovich
f6b4a23b83 Unbloat chrono 2024-07-22 15:46:58 -07:00
Victor Zverovich
7f157dca0a Workaround gcc stringop-overflow bug 2024-07-22 11:31:35 -07:00
Victor Zverovich
524ca1c715 Improve parsing 2024-07-21 09:57:18 -07:00
Victor Zverovich
bdc45eef76 Simplify on_text 2024-07-21 08:31:03 -07:00
Victor Zverovich
439b6d7212 Reenable print optimization 2024-07-21 08:05:07 -07:00
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