Commit Graph
726 Commits
Author SHA1 Message Date
Victor Zverovich f91dc80f4c Minor cleanup 2025-08-16 14:49:26 -07:00
Victor Zverovich 4120581167 Minor cleanup 2025-08-16 14:20:06 -07:00
Victor Zverovich 7ffc3ca15b Minor cleanup 2025-08-16 12:20:02 -07:00
Murat Toprak 0d145936ec Handle allocator propagation in basic_memory_buffer::move, Fix #4487 (#4490)
* Handle allocator propagation in basic_memory_buffer::move

Update `basic_memory_buffer::move` to respect `propagate_on_container_move_assignment`allocator trait.
If the allocator should not propagate and differs from the target's allocator,
fallback to copying the buffer instead of transferring ownership.

This avoids potential allocator mismatch issues and ensures exception safety.

* Add test cases for the updated move ctor

- Added two test cases `move_ctor_inline_buffer_non_propagating` and `move_ctor_dynamic_buffer_non_propagating`
- Added `PropageteOnMove` template parameter to `allocator_ref` class to be compatible with the old test cases
- `allocator_ref` now implements `!=` and `==` operators
2025-08-09 08:14:15 -07:00
Victor Zverovich 300ce75ca6 Handle invalid glibc FILE buffer 2025-07-06 11:17:16 -07:00
Victor Zverovich 6a3b40524c Use actual example code and move safe_fopen to os-test 2025-07-04 09:50:55 -07:00
Victor Chernyakin 2fa3e1a1bb Fix interaction between debug presentation, precision, and width for strings (#4478) 2025-07-04 07:33:47 -07:00
Victor Zverovich fc0c76a075 Handle large precision 2025-06-01 08:49:41 -07:00
Victor Zverovich befbc5fdb8 Fix ADL lookup for memory_buffer 2025-05-26 09:44:35 -07:00
Victor Zverovich 8aa1d6a9fb Minor cleanup 2025-05-25 10:14:24 -07:00
Nikhil 6d79757a38 Interpret precision as display width (#4443) 2025-05-25 08:42:47 -07:00
Victor Chernyakin b5266fd3b9 Remove some redundant consts (#4445)
`constexpr` variables are implicitly `const`.
2025-05-12 10:41:58 -07:00
Victor Zverovich 448929d491 Update and apply clang-format 2025-05-03 07:29:31 -07:00
Victor Zverovich c81cbed2b7 Simplify test 2025-04-23 12:32:26 -07:00
LocalSpook c709138359 Add support for incomplete types 2025-04-20 10:16:11 -07:00
Victor Zverovich 2f58430573 Move buffering tests to os-test 2025-03-30 09:38:40 -07:00
Dean Glazeski 37e6474718 Fix dynamic named arg format spec handling (#4361)
When dealing with dynamic named format args, need to account for
nested named args when skipping the content of the replacement.

Fixes #4360
2025-03-15 09:34:11 -07:00
Victor Zverovich 9212ff6ca1 Apply coding conventions and use constexpr 2025-03-02 09:03:06 -08:00
Dean Glazeski 864bdf9638 Report error on duplicate named arg names (#4367) 2025-03-02 07:47:03 -08:00
Victor Zverovich 52eeeb52a6 Make exponent threshold depend on representation (#3649) 2025-01-26 12:10:48 -08:00
Vladislav Shchapov 898d438571 Fix formatting into std::ostreambuf_iterator using a compiled format (#4312)
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2025-01-18 07:16:06 -08:00
Victor Zverovich a35389b3c2 Corrently handle buffer flush 2024-11-09 10:56:31 -08:00
Victor Zverovich a197a994c5 Add member format_as for std 2024-09-20 08:49:49 -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 f5a16a484b Cleanup 2024-09-06 12:41:53 -07:00
Victor Zverovich 894b71da85 Fix handling of _BitInt 2024-09-03 11:32:31 -07:00
Victor Zverovich 60740b7c24 Cleanup base API 2024-09-01 19:35:00 -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
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 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 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 de684ef776 Make appender compatible with fill 2024-07-19 15:21:57 -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 7a8b54a0ef Don't confuse Glib::ustring with std::string 2024-07-06 13:27:06 -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 5af88653eb Cleanup 2024-03-22 13:46:03 +09: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 365c3fbd25 Bump timeout 2024-03-19 10:49:02 +09:00
Victor Zverovich 3bc6cc1e63 Protect against locking formatters 2024-03-02 17:23:02 -08:00
Victor Zverovich 06311ed1ce Fix fixed rounding around zero in Dragon 2024-02-03 10:13:58 -08:00