<?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 streambuf</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>08195f31ab1c484ad59dea125bfd61316a07eee8 - [libc++] Inline basic_streambuf functions (#123379)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/streambuf#08195f31ab1c484ad59dea125bfd61316a07eee8</link>
        <description>[libc++] Inline basic_streambuf functions (#123379)Most of the `basic_streambuf` functions are really simple, which makesmost of the implementation when they are out of line boilerplate.

            List of files:
            /llvm-project/libcxx/include/streambuf</description>
        <pubDate>Thu, 23 Jan 2025 10:01:58 +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/streambuf#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/streambuf</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/streambuf#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/streambuf</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>c6f3b7bcd0596d30f8dabecdfb9e44f9a07b6e4c - [libc++] Refactor the configuration macros to being always defined (#112094)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/streambuf#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/streambuf</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>87d56c59f52d033cd7c46d769338b9c47fea4929 - [libc++][modules] Guard carved-out headers more consistently (#108637)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/streambuf#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/streambuf</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>6b4b29f85900995b2a3b817548be4a534d46763b - [libc++][NFC] Remove unnecessary parens in static_asserts (#95605)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/streambuf#6b4b29f85900995b2a3b817548be4a534d46763b</link>
        <description>[libc++][NFC] Remove unnecessary parens in static_asserts (#95605)These were required a long time ago due to `static_assert` not actuallybeing available in C++03. Now `static_assert` is simply mapped to`_Static_assert` in C++03, making the additional parens unnecessary.

            List of files:
            /llvm-project/libcxx/include/streambuf</description>
        <pubDate>Tue, 18 Jun 2024 08:45:30 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>ed962a66c5a2257100ca20624521ef51c0abcfb3 - [libc++] Implement LWG4023 (#87513)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/streambuf#ed962a66c5a2257100ca20624521ef51c0abcfb3</link>
        <description>[libc++] Implement LWG4023 (#87513)This patch implements LWG4023 by adding explicit assertions for theadded preconditions and also fixes a few tests that were violating thesepreconditions.

            List of files:
            /llvm-project/libcxx/include/streambuf</description>
        <pubDate>Thu, 25 Apr 2024 13:32:35 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>d5c654b5b7c8bb81affdc69976ef9bc5ad5b4302 - [libc++][RFC] Only include what is required by-version in the umbrella headers (#83740)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/streambuf#d5c654b5b7c8bb81affdc69976ef9bc5ad5b4302</link>
        <description>[libc++][RFC] Only include what is required by-version in the umbrella headers (#83740)This is a relatively low cost way of reducing the include sizes in olderlanguage modes compared to the effect. For example, in C++14 mode theinclude time of `&lt;algorithm&gt;` is reduced from 198ms to 127ms.

            List of files:
            /llvm-project/libcxx/include/streambuf</description>
        <pubDate>Sun, 14 Apr 2024 13:52:56 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>37dca605c9bd41732da010ee97ed15ad9585a37d - [libc++] Clean up includes of &lt;__assert&gt; (#80091)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/streambuf#37dca605c9bd41732da010ee97ed15ad9585a37d</link>
        <description>[libc++] Clean up includes of &lt;__assert&gt; (#80091)Originally, we used __libcpp_verbose_abort to handle assertion failures.That function was declared from all public headers. Since we don&apos;t usethat mechanism anymore, we don&apos;t need to declare __libcpp_verbose_abortfrom all public headers, and we can clean up a lot of unnecessaryincludes.This patch also moves the definition of the various assertion categoriesto the &lt;__assert&gt; header, since we now rely on regular IWYU for theseassertion macros.rdar://105510916

            List of files:
            /llvm-project/libcxx/include/streambuf</description>
        <pubDate>Thu, 29 Feb 2024 15:12:22 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>f9d6d6fbcc23e0227d6b065f5723d80cd332cb1d - [libc++] Move the contents of `__fwd/get.h` into the forward declaration headers they actually belong to (#81368)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/streambuf#f9d6d6fbcc23e0227d6b065f5723d80cd332cb1d</link>
        <description>[libc++] Move the contents of `__fwd/get.h` into the forward declaration headers they actually belong to (#81368)This brings us closer to one forward declaring header per public header.

            List of files:
            /llvm-project/libcxx/include/streambuf</description>
        <pubDate>Mon, 12 Feb 2024 07:32:28 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>9783f28cbb155e4a8d49c12e1c60ce14dcfaf0c7 - [libc++] Format the code base (#74334)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/streambuf#9783f28cbb155e4a8d49c12e1c60ce14dcfaf0c7</link>
        <description>[libc++] Format the code base (#74334)This patch runs clang-format on all of libcxx/include and libcxx/src, inaccordance with the RFC discussed at [1]. Follow-up patches will formatthe benchmarks, the test suite and remaining parts of the code. I&apos;msplitting this one into its own patch so the diff is a bit easier toreview.This patch was generated with:   find libcxx/include libcxx/src -type f \      | grep -v &apos;module.modulemap.in&apos; \      | grep -v &apos;CMakeLists.txt&apos; \      | grep -v &apos;README.txt&apos; \      | grep -v &apos;libcxx.imp&apos; \      | grep -v &apos;__config_site.in&apos; \      | xargs clang-format -iA Git merge driver is available in libcxx/utils/clang-format-merge-driver.shto help resolve merge and rebase issues across these formatting changes.[1]: https://discourse.llvm.org/t/rfc-clang-formatting-all-of-libc-once-and-for-all

            List of files:
            /llvm-project/libcxx/include/streambuf</description>
        <pubDate>Mon, 18 Dec 2023 19:01:33 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>77a00c0d546cd4aa8311b5b9031ae9ea8cdb050c - [libc++] Replace uses of _VSTD:: by std:: (#74331)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/streambuf#77a00c0d546cd4aa8311b5b9031ae9ea8cdb050c</link>
        <description>[libc++] Replace uses of _VSTD:: by std:: (#74331)As part of the upcoming clang-formatting of libc++, this patch performsthe long desired removal of the _VSTD macro.See https://discourse.llvm.org/t/rfc-clang-formatting-all-of-libc-once-and-for-allfor the clang-format proposal.

            List of files:
            /llvm-project/libcxx/include/streambuf</description>
        <pubDate>Tue, 05 Dec 2023 16:19:15 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>4c198542226223f6a5c5511a1f89b37d15ee10b9 - [libc++] Rename _LIBCPP_INLINE_VISIBILITY to _LIBCPP_HIDE_FROM_ABI (#74095)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/streambuf#4c198542226223f6a5c5511a1f89b37d15ee10b9</link>
        <description>[libc++] Rename _LIBCPP_INLINE_VISIBILITY to _LIBCPP_HIDE_FROM_ABI (#74095)In preparation for running clang-format on the whole code base, we arealso removing mentions of the legacy _LIBCPP_INLINE_VISIBILITY macro infavor of the newer _LIBCPP_HIDE_FROM_ABI.We&apos;re still leaving the definition of _LIBCPP_INLINE_VISIBILITY to avoidcreating needless breakage in case some older patches are checked-inwith mentions of the old macro. After we branch for LLVM 18, we can doanother pass to clean up remaining uses of the macro that might havegotten introduced by mistake (if any) and remove the macro itself at thesame time. This is just a minor convenience to smooth out the transitionas much as possible.Seehttps://discourse.llvm.org/t/rfc-clang-formatting-all-of-libc-once-and-for-allfor the clang-format proposal.

            List of files:
            /llvm-project/libcxx/include/streambuf</description>
        <pubDate>Mon, 04 Dec 2023 15:25:14 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>7cc72a0a2ec22855572d96411febd4f2c4ac5a49 - Implement syncstream (p0053)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/streambuf#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/streambuf</description>
        <pubDate>Tue, 05 Sep 2023 18:10:38 +0000</pubDate>
        <dc:creator>Mark de Wever &lt;koraq@xs4all.nl&gt;</dc:creator>
    </item>
<item>
        <title>a65070a76a7c823c28f1c95a21e4857ed6e123ef - [libc++] Remove a few transitive includes (#70553)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/streambuf#a65070a76a7c823c28f1c95a21e4857ed6e123ef</link>
        <description>[libc++] Remove a few transitive includes (#70553)

            List of files:
            /llvm-project/libcxx/include/streambuf</description>
        <pubDate>Sun, 29 Oct 2023 17:31:37 +0000</pubDate>
        <dc:creator>philnik777 &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>140c375ab1532180f59a8935dea6c422b79a710a - Revert &quot;[libc++] Apply _LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION only in classes that we have instantiated externally&quot;</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/streambuf#140c375ab1532180f59a8935dea6c422b79a710a</link>
        <description>Revert &quot;[libc++] Apply _LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION only in classes that we have instantiated externally&quot;This reverts commit b3c9150062dc4264afb4a3d2790f071c1ebe0743.There were unexpected breakages downstream. @EricWF is investigating.

            List of files:
            /llvm-project/libcxx/include/streambuf</description>
        <pubDate>Wed, 24 May 2023 15:46:13 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>b3c9150062dc4264afb4a3d2790f071c1ebe0743 - [libc++] Apply _LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION only in classes that we have instantiated externally</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/streambuf#b3c9150062dc4264afb4a3d2790f071c1ebe0743</link>
        <description>[libc++] Apply _LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION only in classes that we have instantiated externallyTo make sure all member functions that require it are marked `_LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION` I compared the output of `objdump --syms lib/libc++.1.0.dylib` before and after, ignoring addresses.Reviewed By: #libc, ldionneSpies: Mordante, libcxx-commits, ldionne, arichardson, mstorsjoDifferential Revision: https://reviews.llvm.org/D150896

            List of files:
            /llvm-project/libcxx/include/streambuf</description>
        <pubDate>Tue, 23 May 2023 15:45:52 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;n_klauser@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>9334a8580151f32680ac346fc9cd8b85e63c63d3 - [libc++][NFC] Move basic_ios extern instantiations into &lt;ios&gt;</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/streambuf#9334a8580151f32680ac346fc9cd8b85e63c63d3</link>
        <description>[libc++][NFC] Move basic_ios extern instantiations into &lt;ios&gt;`basic_ios` is defined in `&lt;ios&gt;`, so it seems weird that we declare the explicit instantiation for it i `&lt;streambuf&gt;`, which is technically unrelated.Reviewed By: #libc, EricWF, ldionneSpies: ldionne, EricWF, libcxx-commitsDifferential Revision: https://reviews.llvm.org/D150912

            List of files:
            /llvm-project/libcxx/include/streambuf</description>
        <pubDate>Tue, 23 May 2023 15:58:14 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;n_klauser@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>9d16cbc5c8bdf976287cc97c7d95d115496e3077 - [libc++] Adds more forward declaration headers.</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/streambuf#9d16cbc5c8bdf976287cc97c7d95d115496e3077</link>
        <description>[libc++] Adds more forward declaration headers.The module validation script of D144994 validate whether the contents ofan include match its module. An include is the set of files matching thepattern:- foo- foo/*.- __fwd/foo.hSeveral declarations of the stream headers are in the header iosfwd.This gives issue using the validation script. Adding iosfwd to the setof matching files gives too many declarations. For example whenvalidating the fstream header it will pull in declarations of theistream header. Instead if writing a set of filters the headers aregranularized into smaller headers containing the expected declarations.Reviewed By: #libc, ldionneDifferential Revision: https://reviews.llvm.org/D148927

            List of files:
            /llvm-project/libcxx/include/streambuf</description>
        <pubDate>Thu, 20 Apr 2023 19:03:40 +0000</pubDate>
        <dc:creator>Mark de Wever &lt;koraq@xs4all.nl&gt;</dc:creator>
    </item>
<item>
        <title>3465f0225906d42baf0c5e674ad583d0cac32640 - [libc++][NFC] Add missing conditionals for the existence of wide characters</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/streambuf#3465f0225906d42baf0c5e674ad583d0cac32640</link>
        <description>[libc++][NFC] Add missing conditionals for the existence of wide charactersDifferential Revision: https://reviews.llvm.org/D138435

            List of files:
            /llvm-project/libcxx/include/streambuf</description>
        <pubDate>Mon, 21 Nov 2022 14:50:31 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
