<?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 functional</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>79a2b4ba - [libc++][ranges] Finish LWG issues directly related to the One Ranges Proposal.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/functional#79a2b4ba</link>
        <description>[libc++][ranges] Finish LWG issues directly related to the One Ranges Proposal.- P1252 (&quot;Ranges Design Cleanup&quot;) -- deprecate  `move_iterator::operator-&gt;` starting from C++20; add range comparisons  to the `&lt;functional&gt;` synopsis. This restores  `move_iterator::operator-&gt;` that was incorrectly deleted in D117656;  it&apos;s still defined in the latest draft, see  http://eel.is/c++draft/depr.move.iter.elem. Note that changes to  `*_result` types from 6.1 in the paper are no longer relevant now that  these types are aliases;- P2106 (&quot;Alternative wording for GB315 and GB316&quot;) -- add a few  `*_result` types to the synopsis in `&lt;algorithm&gt;` (some algorithms are  not implemented yet and thus some of the proposal still cannot be  marked as done);Also mark already done issues as done (or as nothing to do):- P2091 (&quot;Fixing Issues With Range Access CPOs&quot;) was already implemented  (this patch adds tests for some ill-formed cases);- LWG 3247 (&quot;`ranges::iter_move` should perform ADL-only lookup of  `iter_move`&quot;) was already implemented;- LWG 3300 (&quot;Non-array ssize overload is underconstrained&quot;) doesn&apos;t  affect the implementation;- LWG 3335 (&quot;Resolve C++20 NB comments US 273 and GB 274&quot;) was already  implemented;- LWG 3355 (&quot;The memory algorithms should support move-only input  iterators introduced by P1207&quot;) was already implemented (except for  testing).Differential Revision: https://reviews.llvm.org/D126053

            List of files:
            /llvm-project-15.0.7/libcxx/include/functional</description>
        <pubDate>Tue, 28 Jun 2022 18:59:59 +0000</pubDate>
        <dc:creator>Konstantin Varlamov &lt;varconst@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>de4a57cb - [libc++] Re-add transitive includes that had been removed since LLVM 14</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/functional#de4a57cb</link>
        <description>[libc++] Re-add transitive includes that had been removed since LLVM 14This commit re-adds transitive includes that had been removed by4cd04d1687f1, c36870c8e79c, a83f4b9cda57, 1458458b558d, 2e2f3158c604,and 489637e66dd3. This should cover almost all the includes that hadbeen removed since LLVM 14 and that would contribute to breaking usercode when releasing LLVM 15.It is possible to disable the inclusion of these headers by defining_LIBCPP_REMOVE_TRANSITIVE_INCLUDES. The intent is that vendors willenable that macro and start fixing downstream issues immediately. Wecan then remove the macro (and the transitive includes) by default ina future release. That way, we will break users only once by removingtransitive includes in bulk instead of doing it bit by bit a everyrelease, which is more disruptive for users.Note 1: The set of headers to re-add was found by re-generating the        transitive include test on a checkout of release/14.x, which        provided the list of all transitive includes we used to provide.Note 2: Several includes of &lt;vector&gt;, &lt;optional&gt;, &lt;array&gt; and &lt;unordered_map&gt;        have been added in this commit. These transitive inclusions were        added when we implemented boyer_moore_searcher in &lt;functional&gt;.Note 3: This is a best effort patch to try and resolve downstream breakage        caused since branching LLVM 14. I wasn&apos;t able to perfectly mirror        transitive includes in LLVM 14 for a few headers, so I added a        release note explaining it. To summarize, adding boyer_moore_searcher        created a bunch of circular dependencies, so we have to break        backwards compatibility in a few cases.Differential Revision: https://reviews.llvm.org/D128661

            List of files:
            /llvm-project-15.0.7/libcxx/include/functional</description>
        <pubDate>Mon, 27 Jun 2022 19:53:41 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>971e9c80 - [libc++] Implement std::boyer_moore{, _horspool}_searcher</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/functional#971e9c80</link>
        <description>[libc++] Implement std::boyer_moore{, _horspool}_searcherThis mostly copys the `&lt;experimental/functional&gt;` stuff and updates the code to current libc++ style.Reviewed By: ldionne, #libcSpies: nlopes, adamdebreceni, arichardson, libcxx-commits, mgornyDifferential Revision: https://reviews.llvm.org/D121074

            List of files:
            /llvm-project-15.0.7/libcxx/include/functional</description>
        <pubDate>Fri, 17 Jun 2022 14:02:53 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>385cc25a - [libc++] Ensure that all public C++ headers include &lt;__assert&gt;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/functional#385cc25a</link>
        <description>[libc++] Ensure that all public C++ headers include &lt;__assert&gt;This patch changes the requirement for getting the declaration of theassertion handler from including &lt;__assert&gt; to including any publicC++ header of the library. Note that C compatibility headers areexcluded because we don&apos;t implement all the C headers ourselves --some of them are taken straight from the C library, like assert.h.It also adds a generated test to check it. Furthermore, this newgenerated test is designed in a way that will make it possible toreplace almost all the existing test-generation scripts with thissystem in upcoming patches.Differential Revision: https://reviews.llvm.org/D122506

            List of files:
            /llvm-project-15.0.7/libcxx/include/functional</description>
        <pubDate>Fri, 25 Mar 2022 16:55:36 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>1458458b - [libc++] Remove &lt;utility&gt; includes</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/functional#1458458b</link>
        <description>[libc++] Remove &lt;utility&gt; includesReviewed By: ldionne, Quuxplusone, #libcSpies: libcxx-commits, arphamanDifferential Revision: https://reviews.llvm.org/D121054

            List of files:
            /llvm-project-15.0.7/libcxx/include/functional</description>
        <pubDate>Mon, 07 Mar 2022 15:31:33 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>52915d78 - [libc++] Granularize &lt;utility&gt; includes</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/functional#52915d78</link>
        <description>[libc++] Granularize &lt;utility&gt; includesReviewed By: ldionne, #libcSpies: EricWF, libcxx-commits, arphamanDifferential Revision: https://reviews.llvm.org/D120466

            List of files:
            /llvm-project-15.0.7/libcxx/include/functional</description>
        <pubDate>Sat, 05 Mar 2022 18:17:07 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>fa6b9e40 - [libc++] Normalize all our &apos;#pragma GCC system_header&apos;, and regression-test.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/functional#fa6b9e40</link>
        <description>[libc++] Normalize all our &apos;#pragma GCC system_header&apos;, and regression-test.Now we&apos;ll notice if a header forgets to include this magic phrase.Differential Revision: https://reviews.llvm.org/D118800

            List of files:
            /llvm-project-15.0.7/libcxx/include/functional</description>
        <pubDate>Wed, 02 Feb 2022 01:16:40 +0000</pubDate>
        <dc:creator>Arthur O&apos;Dwyer &lt;arthur.j.odwyer@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>4d81a46f - [libc++] Alphabetize header #includes. NFCI.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/functional#4d81a46f</link>
        <description>[libc++] Alphabetize header #includes. NFCI.The NFC part of D116809. We still want to enforce this in CI,but the mechanism for that is still to-be-determined.Differential Revision: https://reviews.llvm.org/D116809

            List of files:
            /llvm-project-15.0.7/libcxx/include/functional</description>
        <pubDate>Fri, 07 Jan 2022 14:45:05 +0000</pubDate>
        <dc:creator>Arthur O&apos;Dwyer &lt;arthur.j.odwyer@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>3df094d3 - [libc++] [P1614] Implement std::compare_three_way.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/functional#3df094d3</link>
        <description>[libc++] [P1614] Implement std::compare_three_way.Differential Revision: https://reviews.llvm.org/D110735

            List of files:
            /llvm-project-15.0.7/libcxx/include/functional</description>
        <pubDate>Thu, 29 Jul 2021 03:40:29 +0000</pubDate>
        <dc:creator>Arthur O&apos;Dwyer &lt;arthur.j.odwyer@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>89a7bdb1 - [libc++] Add the __bind_back and __compose helpers</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/functional#89a7bdb1</link>
        <description>[libc++] Add the __bind_back and __compose helpersThose are going to be used to implement range adaptors,see D107098 for details.Differential Revision: https://reviews.llvm.org/D107785

            List of files:
            /llvm-project-15.0.7/libcxx/include/functional</description>
        <pubDate>Mon, 09 Aug 2021 19:41:26 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>050b064f - [libcxx][functional][modular] splices &lt;functional&gt; into modular headers</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/functional#050b064f</link>
        <description>[libcxx][functional][modular] splices &lt;functional&gt; into modular headersDifferential Revision: https://reviews.llvm.org/D104942

            List of files:
            /llvm-project-15.0.7/libcxx/include/functional</description>
        <pubDate>Thu, 01 Jul 2021 13:25:35 +0000</pubDate>
        <dc:creator>Christopher Di Bella &lt;cjdb@google.com&gt;</dc:creator>
    </item>
<item>
        <title>d03aa7d6 - [libc++] NFCI: Remove __functional/search.h</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/functional#d03aa7d6</link>
        <description>[libc++] NFCI: Remove __functional/search.hThe __search helper function was once split into __functional for circulardependency reasons, however this is not an issue anymore now that we havefiner grained headers.

            List of files:
            /llvm-project-15.0.7/libcxx/include/functional</description>
        <pubDate>Tue, 29 Jun 2021 15:33:16 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>69d5a666 - [libcxx][modularisation] splits `&lt;utility&gt;` into self-contained headers</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/functional#69d5a666</link>
        <description>[libcxx][modularisation] splits `&lt;utility&gt;` into self-contained headers* moves `std::hash` and `std::unary_function` into `__functional`* Everything else goes into `__utility/${NAME}.h`Differential Revision: https://reviews.llvm.org/D104002

            List of files:
            /llvm-project-15.0.7/libcxx/include/functional</description>
        <pubDate>Wed, 09 Jun 2021 23:10:17 +0000</pubDate>
        <dc:creator>Christopher Di Bella &lt;cjdb@google.com&gt;</dc:creator>
    </item>
<item>
        <title>6adbc83e - [libcxx][modularisation] moves &lt;utility&gt; content out of &lt;type_traits&gt;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/functional#6adbc83e</link>
        <description>[libcxx][modularisation] moves &lt;utility&gt; content out of &lt;type_traits&gt;Moves:* `std::move`, `std::forward`, `std::declval`, and `std::swap` into  `__utility/${FUNCTION_NAME}`.* `std::swap_ranges` and `std::iter_swap` into  `__algorithm/${FUNCTION_NAME}`Differential Revision: https://reviews.llvm.org/D103734

            List of files:
            /llvm-project-15.0.7/libcxx/include/functional</description>
        <pubDate>Sat, 05 Jun 2021 02:47:47 +0000</pubDate>
        <dc:creator>Christopher Di Bella &lt;cjdb@google.com&gt;</dc:creator>
    </item>
<item>
        <title>317e92a3 - [libc++] Enable `explicit` conversion operators, even in C++03 mode.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/functional#317e92a3</link>
        <description>[libc++] Enable `explicit` conversion operators, even in C++03 mode.C++03 didn&apos;t support `explicit` conversion operators;but Clang&apos;s C++03 mode does, as an extension, so we can use it.This lets us make the conversion explicit in `std::function` (even in &apos;03),and remove some silly metaprogramming in `std::basic_ios`.Drive-by improvements to the tests for these operators, in additionto making sure all these tests also run in `c++03` mode.Differential Revision: https://reviews.llvm.org/D104682

            List of files:
            /llvm-project-15.0.7/libcxx/include/functional</description>
        <pubDate>Tue, 15 Jun 2021 16:57:54 +0000</pubDate>
        <dc:creator>Arthur O&apos;Dwyer &lt;arthur.j.odwyer@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>134723ed - [libcxx] Move all algorithms into their own headers</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/functional#134723ed</link>
        <description>[libcxx] Move all algorithms into their own headersThis is a fairly mechanical change, it just moves each algorithm intoits own header. This is intended to be a NFC.This commit re-applies 7ed7d4ccb899, which was reverted in 692d7166f771because the Modules build got broken. The modules build has now beenfixed, so we&apos;re re-committing this.Differential Revision: https://reviews.llvm.org/D103583Attribution note----------------I&apos;m only committing this. This commit is a mix of D103583, D103330 andD104171 authored by:Co-authored-by: Christopher Di Bella &lt;cjdb@google.com&gt;Co-authored-by: zoecarver &lt;z.zoelec2@gmail.com&gt;

            List of files:
            /llvm-project-15.0.7/libcxx/include/functional</description>
        <pubDate>Thu, 17 Jun 2021 15:30:11 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>dc066888 - [libc++] [P0619] Add _LIBCPP_ABI_NO_BINDER_BASES and remove binder typedefs in C++20.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/functional#dc066888</link>
        <description>[libc++] [P0619] Add _LIBCPP_ABI_NO_BINDER_BASES and remove binder typedefs in C++20.Differential Revision: https://reviews.llvm.org/D103753

            List of files:
            /llvm-project-15.0.7/libcxx/include/functional</description>
        <pubDate>Tue, 25 May 2021 18:34:18 +0000</pubDate>
        <dc:creator>Arthur O&apos;Dwyer &lt;arthur.j.odwyer@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>692d7166 - Revert &quot;[libcxx][gardening] Move all algorithms into their own headers.&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/functional#692d7166</link>
        <description>Revert &quot;[libcxx][gardening] Move all algorithms into their own headers.&quot;This reverts commit 7ed7d4ccb8991e2b5b95334b508f8cec2faee737 as ituncovered a Clang bug PR50592.

            List of files:
            /llvm-project-15.0.7/libcxx/include/functional</description>
        <pubDate>Mon, 07 Jun 2021 19:35:02 +0000</pubDate>
        <dc:creator>Petr Hosek &lt;phosek@google.com&gt;</dc:creator>
    </item>
<item>
        <title>7ed7d4cc - [libcxx][gardening] Move all algorithms into their own headers.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/functional#7ed7d4cc</link>
        <description>[libcxx][gardening] Move all algorithms into their own headers.This is a fairly mechanical change, it just moves each algorithm into its own header. This is a NFC.Note: during this change, I burned down all the includes, so this follows &quot;include only and exactly what you use.&quot;Differential Revision: https://reviews.llvm.org/D103583

            List of files:
            /llvm-project-15.0.7/libcxx/include/functional</description>
        <pubDate>Thu, 03 Jun 2021 18:26:03 +0000</pubDate>
        <dc:creator>zoecarver &lt;z.zoelec2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>d39f5c3c - [libc++] Avoid `result_type` and `unary/binary_function` in &lt;valarray&gt;.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/functional#d39f5c3c</link>
        <description>[libc++] Avoid `result_type` and `unary/binary_function` in &lt;valarray&gt;.Give each of the relevant functional operators a `__result_type`instead, so that we can keep using those typedefs in &lt;valarray&gt;even when the public binder typedefs are removed in C++20.Differential Revision: https://reviews.llvm.org/D103371

            List of files:
            /llvm-project-15.0.7/libcxx/include/functional</description>
        <pubDate>Sat, 29 May 2021 17:09:07 +0000</pubDate>
        <dc:creator>Arthur O&apos;Dwyer &lt;arthur.j.odwyer@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
