Commit Graph
2169 Commits
Author SHA1 Message Date
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
Dominic Pöschko 35dcc58263 fix buffer overflow on all emphasis flags set (#4498) 2025-07-20 10:43:33 -07:00
Victor Zverovich 300ce75ca6 Handle invalid glibc FILE buffer 2025-07-06 11:17:16 -07:00
Victor Zverovich 513f978241 Cleanup os-test 2025-07-04 10:52:59 -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
Vladislav Shchapov 571c02d475 Add xchar support for std::byte formatter (#4480)
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2025-06-23 14:02:11 -07:00
Victor Chernyakin 1ef8348070 Properly constrain detail::copy optimization (#4474) 2025-06-21 06:59:35 -07:00
Sahil Sinha a5dccffa56 Add double and float support to scan test
- Add double_type and float_type to scan_type enum
- Add double* and float* pointers to scan_arg union
- Add constructors for double and float scan arguments
- Add switch cases for double and float types in visit()
- Implement basic read() functions for floating-point parsing

This partially resolves the TODO comment 'more types' in scan.h by adding
support for the two most commonly needed floating-point types.
2025-06-21 06:57:20 -07:00
Victor Zverovich 4a149f513f Test non-SSO constexpr string formatting 2025-06-20 07:10:12 -07:00
Victor Zverovich 730fd4d9a7 Remove redundant tests 2025-06-08 08:46:22 -07:00
Mikhail Svetkin 5860688d7e Enable constexpr support for fmt::format (fmtlib#3403) (#4456) 2025-06-07 07:16:49 -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 9b0ebd4435 Cleanup base-test 2025-05-11 15:42:08 -07:00
Victor Zverovich 7af94e5597 Remove old gcc workaround 2025-05-11 12:35:28 -07:00
Victor Zverovich 2924fcf8f6 Cleanup base-test 2025-05-11 10:36:42 -07:00
Victor Zverovich a6cd72c9eb Cleanup base-test 2025-05-11 09:01:28 -07:00
Victor Zverovich 07885271a1 Minor cleanup 2025-05-11 07:54:23 -07:00
Jeremy Rifkin 4999416e5c Fix reference_wrapper ambiguity with format_as (#4434) 2025-05-10 11:15:45 -07:00
Victor Zverovich 6caff7ed9c Cleanup test 2025-05-03 08:36:42 -07:00
Victor Zverovich 448929d491 Update and apply clang-format 2025-05-03 07:29:31 -07:00
Barry Revzin 8978ab09b2 Avoiding __builtin_strlen (#4429) 2025-04-27 09:32:10 -07:00
Victor Zverovich c936e2e44e Implement debug format for error_code 2025-04-27 09:06:17 -07:00
Victor Zverovich a7d7b894cd Implement the s specifier for error_code 2025-04-27 08:51:18 -07:00
Victor Zverovich 9db5e4df22 Don't specialize std::is_floating_point 2025-04-26 08:17:05 -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 ed0d216f7e Fix localization and formatting of timezone names 2025-04-13 09:52:59 -07:00
Victor Zverovich bd9554a29e Fix formatting of timezone names 2025-04-13 08:52:26 -07:00
Victor Zverovich f086dc0d27 Fix timezone handling in tm 2025-04-13 08:23:40 -07:00
Victor Zverovich f10b6dd816 Improve chrono formatting 2025-04-12 09:59:06 -07:00
Victor Zverovich f470b9c566 Cleanup chrono tests and set consistent TZ 2025-04-12 09:12:49 -07:00
Victor Zverovich b28214487d Fix handling of %Z 2025-04-12 08:51:22 -07:00
Victor Zverovich 6d69f0c5f2 Improve chorno tests 2025-04-12 08:24:49 -07:00
Victor Zverovich da776c9a66 Test timezone 2025-04-12 07:53:58 -07:00
Victor Zverovich 5199e0f885 Fix a flush issue on libstdc++ 2025-03-30 10:54:14 -07:00
Victor Zverovich 2f58430573 Move buffering tests to os-test 2025-03-30 09:38:40 -07:00
Victor Zverovich 204661287b Improve local_time test 2025-03-29 10:56:11 -07:00
Victor Zverovich e1ab383361 Report an error when timezone is not available 2025-03-29 09:10:00 -07:00
Victor Zverovich b9e0e94a01 Enable more chrono tests on Windows 2025-03-29 08:20:49 -07:00
Victor Zverovich b2dfcb2b80 Fix local_time test 2025-03-23 19:51:33 -07:00
Victor Zverovich 7ac97cbd1d Enable some local_time tests and make them deterministic 2025-03-23 11:50:03 -07:00
Victor Zverovich 17898794a9 Use fmt::local_time 2025-03-23 11:18:14 -07:00
Victor Zverovich 443a8ef342 Deprecate fmt::localtime 2025-03-23 10:46:02 -07:00
Victor Zverovich 43e31614cc Test ambiguous time 2025-03-23 10:34:37 -07:00
Victor Zverovich 9d6e24c64e Fix handling of long with FMT_BUILTIN_TYPES=0 2025-03-22 07:52:54 -07:00