<?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 unordered_set</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>0fa05456a8dc468961c33bd8149b157194672c71 - [libc++] Define an internal API for std::invoke and friends (#116637)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/unordered_set#0fa05456a8dc468961c33bd8149b157194672c71</link>
        <description>[libc++] Define an internal API for std::invoke and friends (#116637)Currently we&apos;re using quite different internal names for the`std::invoke` family of type traits. This adds a layer around thecurrent implementation to make it easier to understand when it is usedand makes it easier to define multiple implementations of it.

            List of files:
            /llvm-project/libcxx/include/unordered_set</description>
        <pubDate>Mon, 20 Jan 2025 17:00:15 +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/source/history/llvm-project/libcxx/include/unordered_set#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/unordered_set</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/unordered_set#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/unordered_set</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>8f9cce0bef317076fbdce677d6d6744ebd5dc02a - [libc++] Add container_traits (prework for `std::flat_map`) (#109578)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/unordered_set#8f9cce0bef317076fbdce677d6d6744ebd5dc02a</link>
        <description>[libc++] Add container_traits (prework for `std::flat_map`) (#109578)This PR is extracted fromhttps://github.com/llvm/llvm-project/pull/98643, as per code reviewrequesthttps://github.com/llvm/llvm-project/pull/98643#discussion_r1768967793

            List of files:
            /llvm-project/libcxx/include/unordered_set</description>
        <pubDate>Sat, 12 Oct 2024 17:29:59 +0000</pubDate>
        <dc:creator>Hui &lt;hui.xie1990@gmail.com&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/unordered_set#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/unordered_set</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>17e0686ab1107a1a675d8783383dedf70fa24033 - [libc++][NFC] Use [[__nodiscard__]] unconditionally (#80454)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/unordered_set#17e0686ab1107a1a675d8783383dedf70fa24033</link>
        <description>[libc++][NFC] Use [[__nodiscard__]] unconditionally (#80454)`__has_cpp_attribute(__nodiscard__)` is always true now, so we might aswell replace `_LIBCPP_NODISCARD`. It&apos;s one less macro that can result inbad diagnostics.

            List of files:
            /llvm-project/libcxx/include/unordered_set</description>
        <pubDate>Thu, 12 Sep 2024 19:18:43 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>d6832a611a7c4ec36f08b1cfe9af850dad32da2e - [libc++][modules] Modularize &lt;cstddef&gt; (#107254)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/unordered_set#d6832a611a7c4ec36f08b1cfe9af850dad32da2e</link>
        <description>[libc++][modules] Modularize &lt;cstddef&gt; (#107254)Many headers include `&lt;cstddef&gt;` just for size_t, and pulling inadditional content (e.g. the traits used for std::byte) is unnecessary.To solve this problem, this patch splits up `&lt;cstddef&gt;` intosubcomponents so that headers can include only the parts that theyactually require.This has the added benefit of making the modules build a lot stricterwith respect to IWYU, and also providing a canonical location where wedefine `std::size_t` and friends (which were previously defined inmultiple headers like `&lt;cstddef&gt;` and `&lt;ctime&gt;`).After this patch, there&apos;s still many places in the codebase where weinclude `&lt;cstddef&gt;` when `&lt;__cstddef/size_t.h&gt;` would be sufficient.This patch focuses on removing `&lt;cstddef&gt;` includes from __type_traitsto make these headers non-circular with `&lt;cstddef&gt;`. Additionalrefactorings can be tackled separately.

            List of files:
            /llvm-project/libcxx/include/unordered_set</description>
        <pubDate>Thu, 05 Sep 2024 12:28:33 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>0dd8c0ddd0bef1753f7bcbd6709a8e99af507ed5 - [libc++] Remove a few includes from &lt;__hash_table&gt; (#99738)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/unordered_set#0dd8c0ddd0bef1753f7bcbd6709a8e99af507ed5</link>
        <description>[libc++] Remove a few includes from &lt;__hash_table&gt; (#99738)

            List of files:
            /llvm-project/libcxx/include/unordered_set</description>
        <pubDate>Sun, 04 Aug 2024 08:28:53 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>79e8a5952366eacd92201a8d6472726fc14e00fd - [libc++] Move allocator assertion into allocator_traits (#94750)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/unordered_set#79e8a5952366eacd92201a8d6472726fc14e00fd</link>
        <description>[libc++] Move allocator assertion into allocator_traits (#94750)There is code duplication in all containers that static_assert theallocator matches the allocator requirements in the spec. This check canbe moved into a more centralised place.

            List of files:
            /llvm-project/libcxx/include/unordered_set</description>
        <pubDate>Tue, 25 Jun 2024 15:13:48 +0000</pubDate>
        <dc:creator>Hui &lt;hui.xie1990@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>e2c2ffbe7a1b5d9e32a2ce64279475b50c4cba5b - [libc++][NFC] Run clang-format on libcxx/include again (#95874)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/unordered_set#e2c2ffbe7a1b5d9e32a2ce64279475b50c4cba5b</link>
        <description>[libc++][NFC] Run clang-format on libcxx/include again (#95874)As time went by, a few files have become mis-formatted w.r.t.clang-format. This was made worse by the fact that formatting was notbeing enforced in extensionless headers. This commit simply brings allof libcxx/include in-line with clang-format again.We might have to do this from time to time as we update our clang-formatversion, but frankly this is really low effort now that we&apos;ve formattedeverything once.

            List of files:
            /llvm-project/libcxx/include/unordered_set</description>
        <pubDate>Tue, 18 Jun 2024 13:13:45 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>cb417401879ce70b441a999c4a30f7b64b8d426b - [libc++] Refactor&lt;__type_traits/is_swappable.h&gt; (#86822)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/unordered_set#cb417401879ce70b441a999c4a30f7b64b8d426b</link>
        <description>[libc++] Refactor&lt;__type_traits/is_swappable.h&gt; (#86822)This changes the `is_swappable` implementation to use variable templatesfirst and basing the class templates on that. This avoids instantiatingthem when the `_v` versions are used, which are generally less resourceintensive.

            List of files:
            /llvm-project/libcxx/include/unordered_set</description>
        <pubDate>Tue, 18 Jun 2024 09:01:43 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>6b4b29f85900995b2a3b817548be4a534d46763b - [libc++][NFC] Remove unnecessary parens in static_asserts (#95605)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/unordered_set#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/unordered_set</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>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/unordered_set#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/unordered_set</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>3aba4b5b4fe1634fc6f9919f987ddf1bb5a57813 - [libc++][NFC] Refactor __is_transparent to be a variable template (#90865)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/unordered_set#3aba4b5b4fe1634fc6f9919f987ddf1bb5a57813</link>
        <description>[libc++][NFC] Refactor __is_transparent to be a variable template (#90865)

            List of files:
            /llvm-project/libcxx/include/unordered_set</description>
        <pubDate>Wed, 08 May 2024 08:34:55 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>83bc7b57714dc2f6b33c188f2b95a0025468ba51 - [libc++] Remove _LIBCPP_DISABLE_NODISCARD_EXTENSIONS and refactor the tests (#87094)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/unordered_set#83bc7b57714dc2f6b33c188f2b95a0025468ba51</link>
        <description>[libc++] Remove _LIBCPP_DISABLE_NODISCARD_EXTENSIONS and refactor the tests (#87094)This also adds a few tests that were missing.

            List of files:
            /llvm-project/libcxx/include/unordered_set</description>
        <pubDate>Mon, 22 Apr 2024 20:13:58 +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/source/history/llvm-project/libcxx/include/unordered_set#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/unordered_set</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>7b4622514d232ce5f7110dd8b20d90e81127c467 - [libc++] Fix missing and incorrect push/pop macros (#79204)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/libcxx/include/unordered_set#7b4622514d232ce5f7110dd8b20d90e81127c467</link>
        <description>[libc++] Fix missing and incorrect push/pop macros (#79204)We recently noticed that the unwrap_iter.h file was pushing macros, butit was pushing them again instead of popping them at the end of thefile. This led to libc++ basically swallowing any custom definition ofthese macros in user code:    #define min HELLO    #include &lt;algorithm&gt;    // min is not HELLO anymore, it&apos;s not definedWhile investigating this issue, I noticed that our push/pop pragmas wereactually entirely wrong too. Indeed, instead of pushing macros like`move`, we&apos;d push `move(int, int)` in the pragma, which is not a validmacro name. As a result, we would not actually push macros like `move`-- instead we&apos;d simply undefine them. This led to the following code notworking:    #define move HELLO    #include &lt;algorithm&gt;    // move is not HELLO anymoreFixing the pragma push/pop incantations led to a cascade of issuesbecause we use identifiers like `move` in a large number of places, andall of these headers would now need to do the push/pop dance.This patch fixes all these issues. First, it adds a check that we don&apos;tswallow important names like min, max, move or refresh as explainedabove. This is done by augmenting the existingsystem_reserved_names.gen.py test to also check that the macros are whatwe expect after including each header.Second, it fixes the push/pop pragmas to work properly and adds missingpragmas to all the files I could detect a failure in via the newly addedtest.rdar://121365472

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