Mark de Wever
7cc72a0a2e
Implement syncstream (p0053)
...
This patch implements `std::basic_syncbuf` and `std::basic_osyncstream` as specified in paper p0053r7. ~~For ease of reviewing I am submitting this patch before submitting a patch for `std::basic_osyncstream`. ~~
~~Please note, this patch is not 100% complete. I plan on adding more tests (see comments), specifically I plan on adding tests for multithreading and synchronization.~~
Edit: I decided that it would be far easier for me to keep track of this and make changes that affect both `std::basic_syncbuf` and `std::basic_osyncstream` if both were in one patch.
The patch was originally written by @zoecarver
Implements
- P0053R7 - C++ Synchronized Buffered Ostream
- LWG-3127 basic_osyncstream::rdbuf needs a const_cast
- LWG-3334 basic_osyncstream move assignment and destruction calls basic_syncbuf::emit() twice
- LWG-3570 basic_osyncstream::emit should be an unformatted output function
- LWG-3867 Should std::basic_osyncstream's move assignment operator be noexcept?
Reviewed By: ldionne, #libc
Differential Revision: https://reviews.llvm.org/D67086
2023-11-08 17:45:06 +01:00
..
2023-11-06 21:19:49 -10:00
2023-10-18 19:58:24 -07:00
2023-09-12 18:19:56 -04:00
2023-09-01 17:51:17 -07:00
2023-09-06 20:48:07 +02:00
2023-08-19 15:16:04 -07:00
2023-10-12 14:30:33 -07:00
2023-09-01 17:52:31 -07:00
2023-06-28 15:10:31 -07:00
2023-06-28 15:10:31 -07:00
2023-11-01 23:56:43 +01:00
2023-10-30 14:56:03 -04:00
2023-10-29 18:31:37 +01:00
2023-10-23 10:42:28 +02:00
2023-10-05 10:32:08 -07:00
2023-10-29 18:31:37 +01:00
2023-10-29 18:31:37 +01:00
2023-11-06 09:23:21 -10:00
2023-08-24 14:22:41 -07:00
2023-08-03 08:51:50 -07:00
2023-10-20 08:13:52 -06:00
2023-11-07 16:12:15 -10:00
2023-10-29 18:31:37 +01:00
2023-09-15 10:14:13 -04:00
2023-10-06 23:01:30 +02:00
2023-10-29 18:31:37 +01:00
2023-11-07 16:12:15 -10:00
2023-09-29 13:50:16 +01:00
2023-09-13 12:30:05 -04:00
2023-07-08 13:54:30 +02:00
2023-08-29 19:08:18 +02:00
2023-10-29 18:31:37 +01:00
2023-06-15 08:56:45 -07:00
2023-10-12 14:30:33 -07:00
2023-11-01 23:56:43 +01:00
2023-11-05 17:59:04 -07:00
2023-10-29 18:31:37 +01:00
2023-07-14 16:58:47 -07:00
2023-11-01 23:56:43 +01:00
2023-10-06 22:58:41 +02:00
2023-11-08 17:45:06 +01:00
2023-09-12 12:01:51 -07:00
2023-10-13 08:03:22 -07:00
2023-11-01 23:56:43 +01:00
2023-05-30 17:59:32 -07:00
2023-10-13 08:03:22 -07:00
2023-09-01 17:52:31 -07:00
2023-11-08 17:45:06 +01:00
2023-05-01 13:48:20 -05:00
2023-09-19 18:15:26 -04:00
2023-10-29 18:31:37 +01:00
2023-07-06 17:21:08 +00:00
2023-10-29 18:31:37 +01:00
2023-10-31 10:24:44 -04:00
2023-09-01 17:52:31 -07:00
2023-07-15 12:50:28 +02:00
2023-08-12 08:46:11 -07:00
2023-10-06 22:58:41 +02:00
2023-10-29 18:31:37 +01:00
2023-09-15 10:10:26 -04:00
2023-10-10 11:06:43 -07:00
2023-11-08 17:45:06 +01:00
2023-09-01 17:52:31 -07:00
2023-08-31 14:56:42 -04:00
2023-10-29 18:31:37 +01:00
2023-10-29 18:31:37 +01:00
2023-10-12 16:59:04 -07:00
2023-10-29 11:49:50 +01:00
2023-08-19 19:09:16 +02:00
2023-05-25 07:59:50 -07:00
2023-08-18 13:08:18 -07:00
2023-05-11 13:54:28 -07:00
2023-10-29 18:31:37 +01:00
2023-05-24 17:16:22 +02:00
2023-10-29 18:31:37 +01:00
2023-11-07 16:12:15 -10:00
2023-10-29 18:31:37 +01:00
2023-11-07 16:12:15 -10:00
2023-08-31 14:56:42 -04:00
2023-11-08 17:45:06 +01:00
2023-06-15 08:56:45 -07:00
2023-10-29 18:31:37 +01:00
2023-10-29 18:31:37 +01:00
2023-07-05 17:34:23 -04:00
2023-08-11 08:29:15 -07:00
2023-10-06 11:30:55 +02:00
2023-10-29 18:31:37 +01:00
2023-11-07 16:12:15 -10:00
2023-11-08 17:45:06 +01:00
2023-10-05 21:18:02 +02:00
2023-10-20 08:13:52 -06:00
2023-10-09 13:50:27 +01:00
2023-10-29 18:31:37 +01:00
2023-11-05 17:59:04 -07:00
2023-10-29 18:31:37 +01:00
2023-11-01 23:56:43 +01:00
2023-10-29 18:31:37 +01:00
2023-10-29 18:31:37 +01:00
2023-10-29 18:31:37 +01:00
2023-07-22 11:28:17 +02:00
2023-09-01 17:52:31 -07:00
2023-10-29 18:31:37 +01:00
2023-06-19 17:04:35 +02:00
2023-09-01 17:51:17 -07:00
2023-09-01 17:51:17 -07:00
2023-09-06 09:39:39 -04:00
2023-10-29 18:31:37 +01:00
2023-11-01 23:56:43 +01:00
2023-10-29 18:31:37 +01:00
2023-10-17 11:38:12 +02:00
2023-09-01 17:52:31 -07:00
2023-10-29 18:31:37 +01:00
2023-09-07 13:32:26 -04:00
2023-05-05 08:39:51 -04:00
2023-10-29 18:31:37 +01:00
2023-11-08 17:45:06 +01:00
2023-11-07 16:12:15 -10:00
2023-11-07 16:12:15 -10:00
2023-05-05 08:39:51 -04:00
2023-06-15 08:56:45 -07:00
2023-11-08 17:45:06 +01:00
2023-09-16 19:54:19 +01:00
2023-10-16 19:49:13 +02:00
2023-05-24 07:51:27 +02:00
2023-11-01 23:56:43 +01:00
2023-05-01 13:48:20 -05:00
2023-10-13 08:03:22 -07:00
2023-10-29 18:31:37 +01:00
2023-05-23 18:44:41 +02:00
2023-08-15 12:19:21 -07:00
2023-07-24 19:54:12 -07:00
2023-10-02 09:12:37 -04:00
2023-11-08 17:45:06 +01:00
2023-08-11 13:25:01 -04:00