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