<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in syncstream</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>24e70e3930724ce499ad05d669bfbc4423c542e0 - [libc++] Switch experimental library macros to 0/1 macros (#124030)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/syncstream#24e70e3930724ce499ad05d669bfbc4423c542e0</link>
        <description>[libc++] Switch experimental library macros to 0/1 macros (#124030)This is a continuation of what&apos;s been started in #89178.As a drive-by, this also changes the PSTL macro to say `EXPERIMENTAL`instead of `INCOMPLETE`.

            List of files:
            /llvm-project/libcxx/include/syncstream</description>
        <pubDate>Fri, 24 Jan 2025 08:34:42 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>b9a2658a3e8bd13b0f9e7a8a440832a95b377216 - [libc++][C++03] Use `__cxx03/` headers in C++03 mode (#109002)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/syncstream#b9a2658a3e8bd13b0f9e7a8a440832a95b377216</link>
        <description>[libc++][C++03] Use `__cxx03/` headers in C++03 mode (#109002)This patch implements the forwarding to frozen C++03 headers asdiscussed inhttps://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc. In theRFC, we initially proposed selecting the right headers from the Clangdriver, however consensus seemed to steer towards handling this in thelibrary itself. This patch implements that direction.At a high level, the changes basically amount to making each publicheader look like this:```// inside &lt;vector&gt;#ifdef _LIBCPP_CXX03_LANG#  include &lt;__cxx03/vector&gt;#else  // normal &lt;vector&gt; content#endif```In most cases, public headers are simple umbrella headers so there isn&apos;tmuch code in the #else branch. In other cases, the #else branch containsthe actual implementation of the header.

            List of files:
            /llvm-project/libcxx/include/syncstream</description>
        <pubDate>Sat, 21 Dec 2024 12:01:48 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>c166a9c713ec86b86f1f178a5133bc128fd0a610 - [libc++] Add #if 0 block to all the top-level headers (#119234)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/syncstream#c166a9c713ec86b86f1f178a5133bc128fd0a610</link>
        <description>[libc++] Add #if 0 block to all the top-level headers (#119234)Including The frozen C++03 headers results in a lot of formattingchanges in the main headers, so this splits these changes into aseparate commit instead.This is part ofhttps://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc.

            List of files:
            /llvm-project/libcxx/include/syncstream</description>
        <pubDate>Tue, 10 Dec 2024 15:02:12 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>4a8329cd7d038d8cdfa9b4cc784ab0e402ecb774 - [libc++] Granularize &lt;mutex&gt; includes (#117068)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/syncstream#4a8329cd7d038d8cdfa9b4cc784ab0e402ecb774</link>
        <description>[libc++] Granularize &lt;mutex&gt; includes (#117068)

            List of files:
            /llvm-project/libcxx/include/syncstream</description>
        <pubDate>Sat, 23 Nov 2024 11:21:23 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>c6f3b7bcd0596d30f8dabecdfb9e44f9a07b6e4c - [libc++] Refactor the configuration macros to being always defined (#112094)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/syncstream#c6f3b7bcd0596d30f8dabecdfb9e44f9a07b6e4c</link>
        <description>[libc++] Refactor the configuration macros to being always defined (#112094)This is a follow-up to #89178. This updates the `&lt;__config_site&gt;`macros.

            List of files:
            /llvm-project/libcxx/include/syncstream</description>
        <pubDate>Wed, 06 Nov 2024 09:39:19 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>ba87515fea90b5d55836a8e3be63a7e683ce299d - [libc++][RFC] Always define internal feature test macros (#89178)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/syncstream#ba87515fea90b5d55836a8e3be63a7e683ce299d</link>
        <description>[libc++][RFC] Always define internal feature test macros (#89178)Currently, the library-internal feature test macros are only defined ifthe feature is not available, and always have the prefix`_LIBCPP_HAS_NO_`. This patch changes that, so that they are alwaysdefined and have the prefix `_LIBCPP_HAS_` instead. This changes thecanonical use of these macros to `#if _LIBCPP_HAS_FEATURE`, which meansthat using an undefined macro (e.g. due to a missing include) isdiagnosed now. While this is rather unlikely currently, a similar changein `&lt;__configuration/availability.h&gt;` caught a few bugs. This alsoimproves readability, since it removes the double-negation of `#ifndef_LIBCPP_HAS_NO_FEATURE`.The current patch only touches the macros defined in `&lt;__config&gt;`. Ifpeople are happy with this approach, I&apos;ll make a follow-up PR to alsochange the macros defined in `&lt;__config_site&gt;`.

            List of files:
            /llvm-project/libcxx/include/syncstream</description>
        <pubDate>Sat, 12 Oct 2024 07:49:52 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>94e7c0b051c79fd56205f115771980f2e7812306 - [libc++] Remove get_temporary_buffer and return_temporary_buffer (#100914)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/syncstream#94e7c0b051c79fd56205f115771980f2e7812306</link>
        <description>[libc++] Remove get_temporary_buffer and return_temporary_buffer (#100914)Works towards P0619R4 / #99985.The use of `std::get_temporary_buffer` and `std::return_temporary_buffer`are replaced with `unique_ptr`-based RAII buffer holder.Escape hatches:- `_LIBCPP_ENABLE_CXX20_REMOVED_TEMPORARY_BUFFER` restores`std::get_temporary_buffer` and `std::return_temporary_buffer`.Drive-by changes:- In `&lt;syncstream&gt;`, states that `get_temporary_buffer` is now removed,because `&lt;syncstream&gt;` is added in C++20.

            List of files:
            /llvm-project/libcxx/include/syncstream</description>
        <pubDate>Mon, 16 Sep 2024 15:53:05 +0000</pubDate>
        <dc:creator>A. Jiang &lt;de34@live.cn&gt;</dc:creator>
    </item>
<item>
        <title>87d56c59f52d033cd7c46d769338b9c47fea4929 - [libc++][modules] Guard carved-out headers more consistently (#108637)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/syncstream#87d56c59f52d033cd7c46d769338b9c47fea4929</link>
        <description>[libc++][modules] Guard carved-out headers more consistently (#108637)Several headers that should not be provided when localization or threadsare disabled were not guarded. That works until one tries to build withmodules and these headers get pulled in.Note that this could be cleaned up further into something moresystematic, but this patch solves the immediate problems I ran into withthe monolithic modulemap and doesn&apos;t create any new inconsistency thatwasn&apos;t already there.

            List of files:
            /llvm-project/libcxx/include/syncstream</description>
        <pubDate>Mon, 16 Sep 2024 12:15:38 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>348e74139ad7f06fdf8b332a81842de4bdf03b0c - [libc++][NFC] Run clang-format on libcxx/include</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/syncstream#348e74139ad7f06fdf8b332a81842de4bdf03b0c</link>
        <description>[libc++][NFC] Run clang-format on libcxx/includeThis re-formats a few headers that had become out-of-sync with respectto formatting since we ran clang-format on the whole codebase. There&apos;ssurprisingly few instances of it.

            List of files:
            /llvm-project/libcxx/include/syncstream</description>
        <pubDate>Fri, 30 Aug 2024 16:07:07 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>f4ea19b47e1e5af6682d94ad05ac2e7bca64cf73 - [libc++][syncbuf] Implement LWG3253 (#99778)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/syncstream#f4ea19b47e1e5af6682d94ad05ac2e7bca64cf73</link>
        <description>[libc++][syncbuf] Implement LWG3253 (#99778)Closes #100264

            List of files:
            /llvm-project/libcxx/include/syncstream</description>
        <pubDate>Fri, 30 Aug 2024 14:13:47 +0000</pubDate>
        <dc:creator>Mark de Wever &lt;koraq@xs4all.nl&gt;</dc:creator>
    </item>
<item>
        <title>17f006207cb233e4988160fe8860cf082bbafe88 - [libc++] Granularize &lt;ostream&gt; (#85537)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/syncstream#17f006207cb233e4988160fe8860cf082bbafe88</link>
        <description>[libc++] Granularize &lt;ostream&gt; (#85537)This also includes `&lt;__ostream/basic_ostream.h&gt;` in `&lt;sstream&gt;` now,reducing the include time of `&lt;complex&gt;` from 819ms to 603ms.

            List of files:
            /llvm-project/libcxx/include/syncstream</description>
        <pubDate>Thu, 02 May 2024 20:38:44 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>7cc72a0a2ec22855572d96411febd4f2c4ac5a49 - Implement syncstream (p0053)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/syncstream#7cc72a0a2ec22855572d96411febd4f2c4ac5a49</link>
        <description>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 @zoecarverImplements- 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&apos;s move assignment operator be noexcept?Reviewed By: ldionne, #libcDifferential Revision: https://reviews.llvm.org/D67086

            List of files:
            /llvm-project/libcxx/include/syncstream</description>
        <pubDate>Tue, 05 Sep 2023 18:10:38 +0000</pubDate>
        <dc:creator>Mark de Wever &lt;koraq@xs4all.nl&gt;</dc:creator>
    </item>
</channel>
</rss>
