<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/source/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in sstream</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>b9a2658a3e8bd13b0f9e7a8a440832a95b377216 - [libc++][C++03] Use `__cxx03/` headers in C++03 mode (#109002)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/sstream#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/sstream</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/source/history/llvm-project/libcxx/include/sstream#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/sstream</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/source/history/llvm-project/libcxx/include/sstream#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/sstream</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/source/history/llvm-project/libcxx/include/sstream#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/sstream</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>09e3a360581dc36d0820d3fb6da9bd7cfed87b5d - [libc++][modules] Fix missing and incorrect includes (#108850)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/sstream#09e3a360581dc36d0820d3fb6da9bd7cfed87b5d</link>
        <description>[libc++][modules] Fix missing and incorrect includes (#108850)This patch adds a large number of missing includes in the libc++ headersand the test suite. Those were found as part of the effort to movetowards a mostly monolithic top-level std module.

            List of files:
            /llvm-project/libcxx/include/sstream</description>
        <pubDate>Mon, 16 Sep 2024 19:06:20 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>87d56c59f52d033cd7c46d769338b9c47fea4929 - [libc++][modules] Guard carved-out headers more consistently (#108637)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/sstream#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/sstream</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>4dee6411e0d993fd17099bd7564276474412383e - [libc++] Implements LWG3130. (#101889)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/sstream#4dee6411e0d993fd17099bd7564276474412383e</link>
        <description>[libc++] Implements LWG3130. (#101889)This adds addressof at the required places in [input.output]. Some ofthe new tests failed since string used operator&amp; internally. These havebeen fixed too.Note the new fstream tests perform output to a basic_string instead of adouble. Using a double requires num_get specializationnum_get&lt;CharT, istreambuf_iterator&lt;CharT,char_traits_operator_hijacker&lt;CharT&gt;&gt;This facet is not present in the locale database so the conversion wouldfail due to a missing locale facet. Using basic_string avoids using thelocale.As a drive-by fixes several bugs in the ofstream.cons tests. Thesetested ifstream instead of ofstream with an open mode.Implements:- LWG3130 [input.output] needs many addressofCloses #100246.

            List of files:
            /llvm-project/libcxx/include/sstream</description>
        <pubDate>Tue, 06 Aug 2024 17:47:56 +0000</pubDate>
        <dc:creator>Mark de Wever &lt;koraq@xs4all.nl&gt;</dc:creator>
    </item>
<item>
        <title>d5a6ec1d4dd9a7593c68abfa49b75059ba98c91b - [libc++][stringbuf] Test and document LWG2995. (#100879)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/sstream#d5a6ec1d4dd9a7593c68abfa49b75059ba98c91b</link>
        <description>[libc++][stringbuf] Test and document LWG2995. (#100879)As mentioned in the LWG issue libc++ has already implemented theoptimization. This adds tests and documents the implementation definedbehaviour.Drive-by fixes an initialization.

            List of files:
            /llvm-project/libcxx/include/sstream</description>
        <pubDate>Thu, 01 Aug 2024 15:00:14 +0000</pubDate>
        <dc:creator>Mark de Wever &lt;koraq@xs4all.nl&gt;</dc:creator>
    </item>
<item>
        <title>04f01a2b9cedc291fa7dd941de841dc957c75a33 - [libc++] Make the __availability header a sub-header of __config (#93083)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/sstream#04f01a2b9cedc291fa7dd941de841dc957c75a33</link>
        <description>[libc++] Make the __availability header a sub-header of __config (#93083)In essence, this header has always been related to configuration ofthe library but we didn&apos;t want to put it inside &lt;__config&gt; due tocomplexity reasons. Now that we have sub-headers in &lt;__config&gt;, wecan move &lt;__availability&gt; to it and stop including it everywhere sincewe already obtain the required macros via &lt;__config&gt;.

            List of files:
            /llvm-project/libcxx/include/sstream</description>
        <pubDate>Wed, 29 May 2024 01:29:11 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>17f006207cb233e4988160fe8860cf082bbafe88 - [libc++] Granularize &lt;ostream&gt; (#85537)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/sstream#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/sstream</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>95e668f8c8a746bc10805d4a77d192cef3dc286e - [libc++] Removes a Clang 16 Windows workaround. (#88560)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/sstream#95e668f8c8a746bc10805d4a77d192cef3dc286e</link>
        <description>[libc++] Removes a Clang 16 Windows workaround. (#88560)

            List of files:
            /llvm-project/libcxx/include/sstream</description>
        <pubDate>Sat, 20 Apr 2024 10:19:23 +0000</pubDate>
        <dc:creator>Mark de Wever &lt;koraq@xs4all.nl&gt;</dc:creator>
    </item>
<item>
        <title>80f9458cf30d13eef21b09042ea590945c5e64db - [libc++][sstream] P2495R3: Interfacing `stringstream`s with `string_view` (#80552)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/sstream#80f9458cf30d13eef21b09042ea590945c5e64db</link>
        <description>[libc++][sstream] P2495R3: Interfacing `stringstream`s with `string_view` (#80552)Implements P2495R3 &lt;https://wg21.link/P2495R3&gt;- https://eel.is/c++draft/version.syn#headerref:%3csstream%3e- https://eel.is/c++draft/stringbuf- https://eel.is/c++draft/stringbuf.general- https://eel.is/c++draft/stringbuf.cons- https://eel.is/c++draft/stringbuf.members- https://eel.is/c++draft/istringstream- https://eel.is/c++draft/istringstream.general- https://eel.is/c++draft/istringstream.cons- https://eel.is/c++draft/istringstream.members- https://eel.is/c++draft/ostringstream- https://eel.is/c++draft/ostringstream.general- https://eel.is/c++draft/ostringstream.cons- https://eel.is/c++draft/ostringstream.members- https://eel.is/c++draft/stringstream- https://eel.is/c++draft/stringstream.general- https://eel.is/c++draft/stringstream.cons- https://eel.is/c++draft/stringstream.membersReferences:- https://eel.is/c++draft/string.streams

            List of files:
            /llvm-project/libcxx/include/sstream</description>
        <pubDate>Tue, 05 Mar 2024 06:49:49 +0000</pubDate>
        <dc:creator>Hristo Hristov &lt;hghristov.rmm@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>37dca605c9bd41732da010ee97ed15ad9585a37d - [libc++] Clean up includes of &lt;__assert&gt; (#80091)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/sstream#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/sstream</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>d2ccf3393363f3bbcfd46e58a0ed2a6bd9170099 - [libc++][sstream] Explicitly delete special member functions (#80254)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/sstream#d2ccf3393363f3bbcfd46e58a0ed2a6bd9170099</link>
        <description>[libc++][sstream] Explicitly delete special member functions (#80254)The standard declares the copy constructors and copy assign operators asdeleted.References:- https://eel.is/c++draft/string.streams

            List of files:
            /llvm-project/libcxx/include/sstream</description>
        <pubDate>Tue, 13 Feb 2024 07:59:31 +0000</pubDate>
        <dc:creator>Hristo Hristov &lt;hghristov.rmm@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>f73bf45d68bd2c17602a909751da4a23138d711a - [libc++] Fix typo in _LIBCPP_REMOVE_TRANSITIVE_INCLUDES (#78639)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/sstream#f73bf45d68bd2c17602a909751da4a23138d711a</link>
        <description>[libc++] Fix typo in _LIBCPP_REMOVE_TRANSITIVE_INCLUDES (#78639)Spotted by inspection when trialling out`_LIBCPP_REMOVE_TRANSITIVE_INCLUDES`. No other instances of `_LIPCPP_`were found in the repo.

            List of files:
            /llvm-project/libcxx/include/sstream</description>
        <pubDate>Sun, 21 Jan 2024 15:15:46 +0000</pubDate>
        <dc:creator>bobsayshilol &lt;bobsayshilol@live.co.uk&gt;</dc:creator>
    </item>
<item>
        <title>5351ded68d579921a61b26a34e36046c22f668bd - [libc++] Remove usage of internal string function in sstream (#75858)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/sstream#5351ded68d579921a61b26a34e36046c22f668bd</link>
        <description>[libc++] Remove usage of internal string function in sstream (#75858)This function replaces a call to `__move_assign` (internal function)with two calls to public member functions (`resize` and `erase`). Theorder of calls is chosen for the best performance.This change is required to [turn on ASan string annotations for shortstrings](https://github.com/llvm/llvm-project/pull/75882) (Short StringOptimization - SSO).The `std::basic_string` class&apos;s `void __move_assign(basic_string&amp;&amp;__str, size_type __pos, size_type __len)` function operates onuninitialized strings, where it is reasonable to assume that the memoryis not poisoned. However, in `sstream` this function is applied toexisting strings that already have poisoned memory.String ASan annotations turned on here:https://github.com/llvm/llvm-project/pull/72677

            List of files:
            /llvm-project/libcxx/include/sstream</description>
        <pubDate>Mon, 08 Jan 2024 17:56:43 +0000</pubDate>
        <dc:creator>Tacet &lt;advenam.tacet@trailofbits.com&gt;</dc:creator>
    </item>
<item>
        <title>9783f28cbb155e4a8d49c12e1c60ce14dcfaf0c7 - [libc++] Format the code base (#74334)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/sstream#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/sstream</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/source/history/llvm-project/libcxx/include/sstream#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/sstream</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>b18a46e35d69e4148a147256c70472d0a16e00e8 - [libc++][NFC] Add a few clang-format annotations (#74352)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/sstream#b18a46e35d69e4148a147256c70472d0a16e00e8</link>
        <description>[libc++][NFC] Add a few clang-format annotations (#74352)This is in preparation for clang-formatting the whole code base. Theseannotations are required either to avoid clang-format bugs or becausethe manually formatted code is significantly more readable than theclang-formatted alternative. All in all, it seems like very fewannotations are required, which means that clang-format is doing a verygood job in most cases.

            List of files:
            /llvm-project/libcxx/include/sstream</description>
        <pubDate>Mon, 04 Dec 2023 20:17:31 +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/source/history/llvm-project/libcxx/include/sstream#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/sstream</description>
        <pubDate>Mon, 04 Dec 2023 15:25:14 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
