<?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 iterator</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/iterator#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/iterator</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/iterator#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/iterator</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>633d1d0d - [libc++] Use bounded iterators in std::span when the debug mode is enabled</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/iterator#633d1d0d</link>
        <description>[libc++] Use bounded iterators in std::span when the debug mode is enabledPreviously, we&apos;d use raw pointers when the debug mode was enabled,which means we wouldn&apos;t get out-of-range checking with std::span&apos;siterators.This patch introduces a new class called __bounded_iter which canbe used to wrap iterators and make them carry around bounds-relatedinformation. This allows iterators to assert when they are dereferencedoutside of their bounds.As a fly-by change, this commit removes the _LIBCPP_ABI_SPAN_POINTER_ITERATORSknob. Indeed, not using a raw pointer as the iterator type is useful toavoid users depending on properties of raw pointers in their code.This is an alternative to D127401.Differential Revision: https://reviews.llvm.org/D127418

            List of files:
            /llvm-project-15.0.7/libcxx/include/iterator</description>
        <pubDate>Mon, 06 Jun 2022 18:01:38 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>c36870c8 - [libc++] Removes unneeded includes.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/iterator#c36870c8</link>
        <description>[libc++] Removes unneeded includes.This removes all &quot;TODO: remove these headers&quot; comments from our headers.Note there seem to be more headers that can be removed, that will bedone in separate commits.Reviewed By: #libc, ldionneDifferential Revision: https://reviews.llvm.org/D127592

            List of files:
            /llvm-project-15.0.7/libcxx/include/iterator</description>
        <pubDate>Sun, 12 Jun 2022 09:55:47 +0000</pubDate>
        <dc:creator>Mark de Wever &lt;koraq@xs4all.nl&gt;</dc:creator>
    </item>
<item>
        <title>34f73804 - [libc++] Remove unused __functional includes</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/iterator#34f73804</link>
        <description>[libc++] Remove unused __functional includesReviewed By: ldionne, #libcSpies: arichardson, smeenai, libcxx-commits, arphamanDifferential Revision: https://reviews.llvm.org/D126098

            List of files:
            /llvm-project-15.0.7/libcxx/include/iterator</description>
        <pubDate>Fri, 20 May 2022 22:45:51 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>b06049bc - [libc++][NFC] Add more tests to `move_{iterator,sentinel}`.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/iterator#b06049bc</link>
        <description>[libc++][NFC] Add more tests to `move_{iterator,sentinel}`.More test coverage for the parts added by the One Ranges Proposal.Differential Revision: https://reviews.llvm.org/D124906

            List of files:
            /llvm-project-15.0.7/libcxx/include/iterator</description>
        <pubDate>Wed, 25 May 2022 02:56:02 +0000</pubDate>
        <dc:creator>Konstantin Varlamov &lt;varconst@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>2fb026ee - Implement move_sentinel and C++20 move_iterator.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/iterator#2fb026ee</link>
        <description>Implement move_sentinel and C++20 move_iterator.Differential Revision: https://reviews.llvm.org/D117656

            List of files:
            /llvm-project-15.0.7/libcxx/include/iterator</description>
        <pubDate>Wed, 19 Jan 2022 11:26:52 +0000</pubDate>
        <dc:creator>Arthur O&apos;Dwyer &lt;arthur.j.odwyer@gmail.com&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/iterator#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/iterator</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>658957c7 - [libc++][ranges] Implement changes to reverse_iterator from One Ranges Proposal.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/iterator#658957c7</link>
        <description>[libc++][ranges] Implement changes to reverse_iterator from One Ranges Proposal.Changes in [P0896](https://wg21.link/p0896):- add `disable_sized_sentinel_for`;- add `iter_move` and `iter_swap`;- add a `requires` clause to the `operator-&gt;`;- add `iterator_concept`;- check that the `Iterator` template parameter is a bidirectional  iterator;- add constraints to all comparison operators;- change the definitions of `iterator_category`, `value_type`,  `difference_type` and `reference` (changes to `iterator_category` were  already implemented).Also add a few forgotten things to the `reverse_iterator` synopsis(notably the spaceship operator).Differential Revision: https://reviews.llvm.org/D120180

            List of files:
            /llvm-project-15.0.7/libcxx/include/iterator</description>
        <pubDate>Fri, 18 Mar 2022 02:57:39 +0000</pubDate>
        <dc:creator>Konstantin Varlamov &lt;varconst@apple.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/iterator#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/iterator</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/iterator#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/iterator</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>8e979460 - [libc++][ranges] Implement `std::sortable`.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/iterator#8e979460</link>
        <description>[libc++][ranges] Implement `std::sortable`.Differential Revision: https://reviews.llvm.org/D119619

            List of files:
            /llvm-project-15.0.7/libcxx/include/iterator</description>
        <pubDate>Fri, 18 Feb 2022 04:15:02 +0000</pubDate>
        <dc:creator>Konstantin Varlamov &lt;varconst@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>eea3d90a - [libc++][ranges] Implement `std::mergeable`.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/iterator#eea3d90a</link>
        <description>[libc++][ranges] Implement `std::mergeable`.Differential Revision: https://reviews.llvm.org/D119489

            List of files:
            /llvm-project-15.0.7/libcxx/include/iterator</description>
        <pubDate>Fri, 18 Feb 2022 04:11:46 +0000</pubDate>
        <dc:creator>Konstantin Varlamov &lt;varconst@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>43bc1e56 - [libc++][ranges] Implement Ranges changes to `istream{,buf}_iterator`.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/iterator#43bc1e56</link>
        <description>[libc++][ranges] Implement Ranges changes to `istream{,buf}_iterator`.The changes from the One Ranges Proposal amount to adding:- a constructor that takes a `default_sentinel_t` and is equivalent to  the default constructor;- an `operator==` that compares the iterator to `default_sentinel_t`.The original proposal defined two overloads for `operator==` (differentargument order) as well as `operator!=`. This has been removed by[P1614](https://wg21.link/p1614).Differential Revision: https://reviews.llvm.org/D119620

            List of files:
            /llvm-project-15.0.7/libcxx/include/iterator</description>
        <pubDate>Wed, 16 Feb 2022 00:59:16 +0000</pubDate>
        <dc:creator>Konstantin Varlamov &lt;varconst@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>169a66ea - [libc++] Remove __functional_base</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/iterator#169a66ea</link>
        <description>[libc++] Remove __functional_baseReviewed By: ldionne, Quuxplusone, #libcSpies: Mordante, mgorny, libcxx-commits, arichardson, llvm-commits, arphamanDifferential Revision: https://reviews.llvm.org/D119439

            List of files:
            /llvm-project-15.0.7/libcxx/include/iterator</description>
        <pubDate>Fri, 11 Feb 2022 18:15:18 +0000</pubDate>
        <dc:creator>Nikolas Klauser &lt;nikolasklauser@berlin.de&gt;</dc:creator>
    </item>
<item>
        <title>2151b3d0 - [libc++][ranges][NFC] Update the status of predefined iterators.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/iterator#2151b3d0</link>
        <description>[libc++][ranges][NFC] Update the status of predefined iterators.`{back,front}_insert_iterator` and `ostream{,buf}_iterator` effectivelyfully implement the One Ranges Proposal already, so mark them as done:- the change to `difference_type` was made by D103273;- default constructors and the associated default member initializers  were removed by wg21.link/P2325 (implemented by D102468).Also fix a stale template signature in the `&lt;iterator&gt;` synopsis.

            List of files:
            /llvm-project-15.0.7/libcxx/include/iterator</description>
        <pubDate>Fri, 11 Feb 2022 02:43:43 +0000</pubDate>
        <dc:creator>Konstantin Varlamov &lt;varconst@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>8f1d8785 - [libc++][ranges] Implement `permutable`.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/iterator#8f1d8785</link>
        <description>[libc++][ranges] Implement `permutable`.Differential Revision: https://reviews.llvm.org/D119222

            List of files:
            /llvm-project-15.0.7/libcxx/include/iterator</description>
        <pubDate>Thu, 10 Feb 2022 04:32:56 +0000</pubDate>
        <dc:creator>Konstantin Varlamov &lt;varconst@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>ea2206d7 - [libc++] Replace includes of &lt;utility&gt; with specific detail headers</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/iterator#ea2206d7</link>
        <description>[libc++] Replace includes of &lt;utility&gt; with specific detail headersBasically a rebase of D104980; most of that patch had already happenedvia gradual drive-by changes, but this finishes it up.Don&apos;t touch the inclusions from `&lt;__functional_base&gt;`, `&lt;__hash_table&gt;`,or `&lt;__locale&gt;`; those could be removed if we propagated theinclusions up to the includers of those files, but there are lotsof those includers.`&lt;algorithm&gt;`, `&lt;functional&gt;`, and `&lt;memory&gt;` already include `&lt;utility&gt;`at the top level. `&lt;iterator&gt;` did not, so I&apos;ve added it there.Differential Revision: https://reviews.llvm.org/D119020

            List of files:
            /llvm-project-15.0.7/libcxx/include/iterator</description>
        <pubDate>Fri, 04 Feb 2022 18:09:30 +0000</pubDate>
        <dc:creator>Arthur O&apos;Dwyer &lt;arthur.j.odwyer@gmail.com&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/iterator#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/iterator</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>e65d3760 - [libc++][ranges] Implement `indirectly_copyable{,_storable}`.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/libcxx/include/iterator#e65d3760</link>
        <description>[libc++][ranges] Implement `indirectly_copyable{,_storable}`.Also refactor tests for `indirectly_movable{,_storable}`.Differential Revision: https://reviews.llvm.org/D118432

            List of files:
            /llvm-project-15.0.7/libcxx/include/iterator</description>
        <pubDate>Wed, 02 Feb 2022 21:27:28 +0000</pubDate>
        <dc:creator>Konstantin Varlamov &lt;varconst@apple.com&gt;</dc:creator>
    </item>
</channel>
</rss>
