Victor Zverovich
df249d8ad3
Remove an old workaround
2024-11-19 14:28:39 +01:00
Victor Zverovich
dfad80d1c5
Remove an old workaround
2024-11-19 14:22:44 +01:00
Victor Zverovich
b1a054706e
Remove more MSVC 2015 workarounds and fix string_view checks
2024-11-15 08:33:30 -08:00
Victor Zverovich
a35389b3c2
Corrently handle buffer flush
2024-11-09 10:56:31 -08:00
Vladislav Shchapov
5a3576acc8
Implement fmt::join for tuple-like objects ( #4230 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2024-11-09 08:28:46 -08:00
Victor Zverovich
8523dba2dc
Make constexpr precede explicit consistently
2024-11-02 11:03:03 -07:00
Vladislav Shchapov
168df9a064
Implement fmt::format_to into std::vector<char> ( #4211 )
...
* Implement fmt::format_to into std::vector<char>
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
* Move get_container to the trait
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
---------
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2024-10-26 09:23:59 -07:00
Victor Zverovich
2b6a786e35
Use standard context in print
2024-10-20 09:08:24 -07:00
Victor Zverovich
601be1cbe7
Add support for code units > 0xFFFF in fill
2024-10-19 08:15:50 -07:00
Victor Zverovich
c68c5fa7c7
Test FMT_BUILTIN_TYPES
2024-10-04 16:08:46 -07:00
Victor Zverovich
d64b100a30
Relax constexpr
2024-09-29 10:04:57 -07:00
Victor Zverovich
1c5883bef0
Test nondeterministic conversion to format string
2024-09-28 09:16:28 -07:00
Victor Zverovich
3b70966df5
Add width and alignment support to error_code
2024-09-21 07:58:03 -07:00
Victor Zverovich
a197a994c5
Add member format_as for std
2024-09-20 08:49:49 -07:00
Khanh H
ed8f8be70d
More chrono padding ( #4161 )
...
* Add padding modifier to day of year, duration's remains unpadded
* Add padding modifier for %m, %Y
2024-09-18 09:27:45 -07:00
Victor Zverovich
0e62e5dc7c
Simplify has_formatter
2024-09-16 19:53:31 -07:00
Yedidya Feldblum
07e70151d5
format std::reference_wrapper
2024-09-16 19:05:18 -07:00
Victor Zverovich
de28ef5f86
Remove make_arg
2024-09-14 09:18:47 -07:00
Victor Zverovich
0335312320
Demacrify UTF-8 check
2024-09-13 18:41:10 -07:00
Victor Zverovich
1782a6eac0
Rename pragma macros
2024-09-12 19:20:32 -07:00
Victor Zverovich
689ec7a087
Cleanup
2024-09-11 16:05:34 -07:00
Victor Zverovich
1bde49e545
Remove FMT_USE_USER_LITERALS
2024-09-11 11:27:27 -07:00
Victor Zverovich
6c90b31fbd
Improve debug codegen
2024-09-08 07:49:02 -07:00
Victor Zverovich
f5a16a484b
Cleanup
2024-09-06 12:41:53 -07:00
Vladislav Shchapov
5bf577ca58
Backport from GoogleTest: "Work around a maybe-uninitialized warning under GCC 12" ( 0320f517fd)
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2024-09-05 09:40:55 -07:00
Vladislav Shchapov
b6de66819e
Backport from GoogleTest: "Always initialize fields in MatcherBase constructors" ( https://github.com/google/googletest/pull/3797 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2024-09-05 09:40:55 -07:00
Victor Zverovich
5f438c967e
Remove make_arg
2024-09-04 14:52:14 -07:00
Vladislav Shchapov
22d50c1a9c
Add support formatting std::expected<void, E>
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2024-09-04 12:31:44 -07:00
Victor Zverovich
3df47a4677
Make is_formattable work with void
2024-09-04 07:33:56 -07:00
Victor Zverovich
565461a0d3
Update MSVC workaround in compile-test
2024-09-04 06:43:05 -07:00
Victor Zverovich
a8bcf81f72
Minor cleanup
2024-09-03 18:39:46 -07:00
Victor Zverovich
4cae2da0d0
Workaround a clang 17 bug
2024-09-03 15:58:33 -07:00
Victor Zverovich
79e5ae919c
Fix locale tests on FreeBSD
2024-09-03 12:50:03 -07:00
Victor Zverovich
894b71da85
Fix handling of _BitInt
2024-09-03 11:32:31 -07:00
Victor Zverovich
4eed488c66
Cleanup base API
2024-09-02 07:17:21 -07:00
Victor Zverovich
a6ecd25b80
Improve debug codegen
2024-09-02 06:54:45 -07:00
Victor Zverovich
bc3af51272
Reduce the number of instantiations
2024-09-01 19:54:09 -07:00
Victor Zverovich
60740b7c24
Cleanup base API
2024-09-01 19:35:00 -07:00
Victor Zverovich
7c66216008
Minor cleanup
2024-09-01 12:53:09 -07:00
Victor Zverovich
b310a0d48b
Simplify parse_format_string
2024-09-01 11:09:26 -07:00
Victor Zverovich
6797f0c39a
Cleanup compile-time checks
2024-08-31 11:26:27 -07:00
Victor Zverovich
377cf203e3
Add opt out for built-in types
2024-08-29 11:21:29 -07:00
Justin Riddell
5a0a37340c
Add support for _BitInt on clang ( #4072 )
...
Issue #4007
Make _BitInt up to 128bits formattable
Note, libstdc++ is_signed doesn't work with _BitInt (so use own)
2024-08-28 18:57:52 -07:00
Anthony VH
c59ee969f3
Improve compile-time formatting ( #4127 )
2024-08-21 12:02:47 -07:00
Victor Zverovich
62382e3650
Test full exponent range
2024-08-18 06:47:04 -07:00
Victor Zverovich
94b8bc8eae
Add an experimental writer API
2024-08-17 09:54:09 -07:00
Victor Zverovich
b906c321f0
Get rid of bit fields
2024-08-11 10:28:09 -07:00
Victor Zverovich
50a8c3e9bf
Reduce format specs size
2024-08-10 09:34:35 -07:00
Victor Zverovich
0ce49aeb4a
Add a test case
2024-08-09 10:18:11 -07:00
Hugo Sales
9f0c0c468b
Add 'n' specifier for tuple and pair ( #4107 )
2024-08-05 14:56:44 -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
8445327c84
Simplify spec handling
2024-08-01 19:59:21 -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
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
a80d668a52
Diagnose invalid precision
2024-07-27 10:41:54 -07:00
Victor Zverovich
de6ed8df8b
Test alignment
2024-07-26 12:09:47 -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
9fcd9c4c12
Remove all warning suppressions
2024-07-22 12:41:12 -07:00
Victor Zverovich
524ca1c715
Improve parsing
2024-07-21 09:57:18 -07:00
Victor Zverovich
3cc32fdc8b
Mark more formatters nonlocking
2024-07-21 08:00:34 -07:00
Victor Zverovich
de684ef776
Make appender compatible with fill
2024-07-19 15:21:57 -07:00
Victor Zverovich
808ea0191a
Cleanup test
2024-07-17 06:59:24 -07:00
Victor Zverovich
e10643add2
Add a perf-sanity test
2024-07-14 14:17:39 -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
58d792b6d3
Apply minor optimizations
2024-07-14 07:05:18 -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
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
e50c8b6bd8
Fix disabling Unicode support
2024-07-04 07:27:22 -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
Victor Zverovich
edde973126
Update test names
2024-06-22 11:10:54 -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
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
794df69c8c
Added range_format::(debug_)string formatter ( #3973 )
2024-06-13 15:43:29 -07:00
Victor Zverovich
7bd11b5cdf
Remove a redundant extension to reduce divergence from std::format
2024-06-08 08:29:34 -07:00
Victor Zverovich
598e518085
Remove redundant tests
2024-06-05 08:38:00 -07:00
ZaheenJ
ca8eeb09ee
Add glibc ext for day of month and week of year ( #3976 )
2024-05-30 10:20:56 -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
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
Victor Zverovich
75e892420e
Minor cleanup
2024-05-16 10:45:23 -07:00
Victor Zverovich
0b5287f8b7
Remove unused function
2024-05-15 16:47:35 -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
7d6ae972b9
Cleanup unicode checks
2024-05-11 19:43:46 -07:00
Victor Zverovich
b7809f91e2
Enable Unicode support by default
2024-05-11 15:11:23 -07:00
Victor Zverovich
d2473b7b73
Simplify join_view formatter
2024-05-08 15:42:49 -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
Alex Dewar
9234fe83f9
Add tests to check that isnan doesn't cause FP errors
2024-05-02 09:36:21 -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
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