<?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 algorithm</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>438e2ccd4ad18d23fc800d0ad9f4f667a547f868 - [libc++] Make std::stable_sort constexpr friendly (#110320)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/algorithm#438e2ccd4ad18d23fc800d0ad9f4f667a547f868</link>
        <description>[libc++] Make std::stable_sort constexpr friendly (#110320)Implementing `constexpr std::stable_sort`. This is part of P2562R1,tracked via issue #105360.Closes #119394Co-authored-by: A. Jiang &lt;de34@live.cn&gt;Co-authored-by: Louis Dionne &lt;ldionne.2@gmail.com&gt;

            List of files:
            /llvm-project/libcxx/include/algorithm</description>
        <pubDate>Tue, 14 Jan 2025 15:24:35 +0000</pubDate>
        <dc:creator>PaulXiCao &lt;paulxicao7@gmail.com&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/algorithm#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/algorithm</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/algorithm#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/algorithm</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>5366bf5b6642f826b2f69a3083a63727d9de771b - [libc++][NFC] Improve the synopsis of &lt;algorithm&gt;</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/algorithm#5366bf5b6642f826b2f69a3083a63727d9de771b</link>
        <description>[libc++][NFC] Improve the synopsis of &lt;algorithm&gt;

            List of files:
            /llvm-project/libcxx/include/algorithm</description>
        <pubDate>Tue, 01 Oct 2024 16:59:36 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>8e6bba230e1c079f1fcc3cc6f565e1a557f34379 - [libc++][NFC] Rename fold.h to ranges_fold.h (#109696)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/algorithm#8e6bba230e1c079f1fcc3cc6f565e1a557f34379</link>
        <description>[libc++][NFC] Rename fold.h to ranges_fold.h (#109696)This follows the pattern we use consistently for ranges algorithms.This is a re-application of 24bc3244d4e which had been reverted inf11abac65 due to unrelated failures.

            List of files:
            /llvm-project/libcxx/include/algorithm</description>
        <pubDate>Fri, 27 Sep 2024 05:02:21 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>f11abac6524f8643817711d04be0367a0e639311 - Revert &quot;[libc++][modules] Rewrite the modulemap to have fewer top-level modules (#107638)&quot; (#110384)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/algorithm#f11abac6524f8643817711d04be0367a0e639311</link>
        <description>Revert &quot;[libc++][modules] Rewrite the modulemap to have fewer top-level modules (#107638)&quot; (#110384)This reverts 3 commits:45a09d1811d5d6597385ef02ecf2d4b7320c37c524bc3244d4e221f4e6740f45e2bf15a1441a3076bc6bd3bc1e99c7ec9e22dff23b4f4373fa02cae3The GitHub pre-merge CI has been broken since this PR went in. Thischange reverts it to see if I can get the pre-merge CI working again.

            List of files:
            /llvm-project/libcxx/include/algorithm</description>
        <pubDate>Sun, 29 Sep 2024 02:47:09 +0000</pubDate>
        <dc:creator>Chris B &lt;chris.bieneman@me.com&gt;</dc:creator>
    </item>
<item>
        <title>24bc3244d4e221f4e6740f45e2bf15a1441a3076 - [libc++][NFC] Rename fold.h to ranges_fold.h (#109696)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/algorithm#24bc3244d4e221f4e6740f45e2bf15a1441a3076</link>
        <description>[libc++][NFC] Rename fold.h to ranges_fold.h (#109696)This follows the pattern we use consistently for ranges algorithms.

            List of files:
            /llvm-project/libcxx/include/algorithm</description>
        <pubDate>Fri, 27 Sep 2024 05:02:21 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@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/history/llvm-project/libcxx/include/algorithm#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/algorithm</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>04760bfadb399cc4ded9b32bd523ec7703aa7462 - [libc++][ranges] P1223R5: `find_last` (#99312)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/algorithm#04760bfadb399cc4ded9b32bd523ec7703aa7462</link>
        <description>[libc++][ranges] P1223R5: `find_last` (#99312)Implements [P1223R5][] completely.Includes an implementation of `find_last`, `find_last_if`, and`find_last_if_not`.[P1223R5]: https://wg21.link/p1223r5

            List of files:
            /llvm-project/libcxx/include/algorithm</description>
        <pubDate>Fri, 19 Jul 2024 16:42:16 +0000</pubDate>
        <dc:creator>nicole mazzuca &lt;nicole@strega-nil.co&gt;</dc:creator>
    </item>
<item>
        <title>e406d5ed9cb3878152d21088115143568ad8a057 - [libc++][pstl] Merge all frontend functions for the PSTL (#89219)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/algorithm#e406d5ed9cb3878152d21088115143568ad8a057</link>
        <description>[libc++][pstl] Merge all frontend functions for the PSTL (#89219)This is an intermediate step towards the PSTL dispatching mechanismrework. It will make it a lot easier to track the upcoming front-endchanges. After the rework, there are basically no implementation detailsin the front-end, so the definition of each algorithm will become muchsimpler. Otherwise, it wouldn&apos;t make sense to define all the algorithmsin the same header.

            List of files:
            /llvm-project/libcxx/include/algorithm</description>
        <pubDate>Mon, 27 May 2024 21:51:12 +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/algorithm#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/algorithm</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/algorithm#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/algorithm</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>a6b846ae1e58e11160185e427e20a995f6656859 - [libc++][ranges] Implement ranges::contains_subrange (#66963)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/algorithm#a6b846ae1e58e11160185e427e20a995f6656859</link>
        <description>[libc++][ranges] Implement ranges::contains_subrange (#66963)

            List of files:
            /llvm-project/libcxx/include/algorithm</description>
        <pubDate>Tue, 13 Feb 2024 23:42:37 +0000</pubDate>
        <dc:creator>ZijunZhaoCCK &lt;88353225+ZijunZhaoCCK@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>3903438860b6eebf53a912c672560e1e55311220 - [libcxx] adds ranges::fold_left_with_iter and ranges::fold_left (#75259)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/algorithm#3903438860b6eebf53a912c672560e1e55311220</link>
        <description>[libcxx] adds ranges::fold_left_with_iter and ranges::fold_left (#75259)Notable things in this commit:* refactors `__indirect_binary_left_foldable`, making it slightlydifferent (but equivalent) to _`indirect-binary-left-foldable`_, whichimproves readability (a [patch to the Working Paper][patch] was made)* omits `__cpo` namespace, since it is not required for implementingniebloids (a cleanup should happen in 2024)* puts tests ensuring invocable robustness and dangling correctnessinside the correctness testing to ensure that the algorithms&apos; resultsare still correct[patch]: https://github.com/cplusplus/draft/pull/6734

            List of files:
            /llvm-project/libcxx/include/algorithm</description>
        <pubDate>Wed, 20 Dec 2023 05:57:50 +0000</pubDate>
        <dc:creator>Christopher Di Bella &lt;cjdb@google.com&gt;</dc:creator>
    </item>
<item>
        <title>fdd089b500631b123bc70d04dd016b41f9323f4c - [libc++] Implement ranges::contains (#65148)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/algorithm#fdd089b500631b123bc70d04dd016b41f9323f4c</link>
        <description>[libc++] Implement ranges::contains (#65148)Differential Revision: https://reviews.llvm.org/D159232```Running ./ranges_contains.libcxx.outRun on (10 X 24.121 MHz CPU s)CPU Caches:  L1 Data 64 KiB (x10)  L1 Instruction 128 KiB (x10)  L2 Unified 4096 KiB (x5)Load Average: 3.37, 6.77, 5.27--------------------------------------------------------------------Benchmark                          Time             CPU   Iterations--------------------------------------------------------------------bm_contains_char/16             1.88 ns         1.87 ns    371607095bm_contains_char/256            7.48 ns         7.47 ns     93292285bm_contains_char/4096           99.7 ns         99.6 ns      7013185bm_contains_char/65536          1296 ns         1294 ns       540436bm_contains_char/1048576       23887 ns        23860 ns        29302bm_contains_char/16777216     389420 ns       389095 ns         1796bm_contains_int/16              7.14 ns         7.14 ns     97776288bm_contains_int/256             90.4 ns         90.3 ns      7558089bm_contains_int/4096            1294 ns         1290 ns       543052bm_contains_int/65536          20482 ns        20443 ns        34334bm_contains_int/1048576       328817 ns       327965 ns         2147bm_contains_int/16777216     5246279 ns      5239361 ns          133bm_contains_bool/16             2.19 ns         2.19 ns    322565780bm_contains_bool/256            3.42 ns         3.41 ns    205025467bm_contains_bool/4096           22.1 ns         22.1 ns     31780479bm_contains_bool/65536           333 ns          332 ns      2106606bm_contains_bool/1048576        5126 ns         5119 ns       135901bm_contains_bool/16777216      81656 ns        81574 ns         8569```---------Co-authored-by: Nathan Gau&#235;r &lt;brioche@google.com&gt;

            List of files:
            /llvm-project/libcxx/include/algorithm</description>
        <pubDate>Wed, 20 Dec 2023 00:34:19 +0000</pubDate>
        <dc:creator>ZijunZhaoCCK &lt;88353225+ZijunZhaoCCK@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>ed27a4edb03809f0fe38f780765acfb97346c127 - [libc++][PSTL] Implement std::equal (#72448)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/algorithm#ed27a4edb03809f0fe38f780765acfb97346c127</link>
        <description>[libc++][PSTL] Implement std::equal (#72448)Differential Revision: https://reviews.llvm.org/D157131Co-authored-by: Louis Dionne &lt;ldionne.2@gmail.com&gt;

            List of files:
            /llvm-project/libcxx/include/algorithm</description>
        <pubDate>Tue, 28 Nov 2023 21:02:18 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&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/algorithm#a65070a76a7c823c28f1c95a21e4857ed6e123ef</link>
        <description>[libc++] Remove a few transitive includes (#70553)

            List of files:
            /llvm-project/libcxx/include/algorithm</description>
        <pubDate>Sun, 29 Oct 2023 17:31:37 +0000</pubDate>
        <dc:creator>philnik777 &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>5d7f346bd398fa1d7d9b7480a2996a39bd9062e1 - [libc++][PSTL] Implement std::rotate_copy</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/algorithm#5d7f346bd398fa1d7d9b7480a2996a39bd9062e1</link>
        <description>[libc++][PSTL] Implement std::rotate_copyReviewed By: #libc, ldionneSpies: ldionne, libcxx-commitsDifferential Revision: https://reviews.llvm.org/D155025

            List of files:
            /llvm-project/libcxx/include/algorithm</description>
        <pubDate>Mon, 23 Oct 2023 10:35:12 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>d2a46e6480f350725a6add30662e315b7a8aacfe - [libc++][PSTL] Implement std::move</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/algorithm#d2a46e6480f350725a6add30662e315b7a8aacfe</link>
        <description>[libc++][PSTL] Implement std::moveReviewed By: #libc, ldionneSpies: ldionne, libcxx-commitsDifferential Revision: https://reviews.llvm.org/D155330

            List of files:
            /llvm-project/libcxx/include/algorithm</description>
        <pubDate>Sun, 22 Oct 2023 08:23:22 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>0218ea4aaa5478d4a55c3f73735d90968c8cbace - [libc++] Implement ranges::ends_with</title>
        <link>http://src.rcs.uwaterloo.ca:8080/history/llvm-project/libcxx/include/algorithm#0218ea4aaa5478d4a55c3f73735d90968c8cbace</link>
        <description>[libc++] Implement ranges::ends_withReviewed By: #libc, var-constDifferential Revision: https://reviews.llvm.org/D150831

            List of files:
            /llvm-project/libcxx/include/algorithm</description>
        <pubDate>Mon, 18 Sep 2023 18:28:11 +0000</pubDate>
        <dc:creator>Zijun Zhao &lt;zijunzhao@google.com&gt;</dc:creator>
    </item>
</channel>
</rss>
