Implement move_sentinel and C++20 move_iterator.
authorArthur O'Dwyer <arthur.j.odwyer@gmail.com>
Wed, 19 Jan 2022 11:26:52 +0000 (06:26 -0500)
committerLouis Dionne <ldionne.2@gmail.com>
Wed, 13 Apr 2022 13:51:43 +0000 (09:51 -0400)
commit2fb026ee4d1a612f55d3f179b42b223d00ec8eda
treee5ba74ec5ae1b410b06d037c3a214ada034282f8
parent7d70b1a4058cc07e527a3b16eef000b892e29797
Implement move_sentinel and C++20 move_iterator.

Differential Revision: https://reviews.llvm.org/D117656
25 files changed:
libcxx/docs/Status/Cxx2bIssues.csv
libcxx/include/CMakeLists.txt
libcxx/include/__iterator/move_iterator.h
libcxx/include/__iterator/move_sentinel.h [new file with mode: 0644]
libcxx/include/iterator
libcxx/include/module.modulemap
libcxx/test/libcxx/diagnostics/detail.headers/iterator/move_sentinel.module.verify.cpp [new file with mode: 0644]
libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_eq.pass.cpp
libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_gt.pass.cpp
libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_gte.pass.cpp
libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_lt.pass.cpp
libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_lte.pass.cpp
libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_neq.pass.cpp
libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_spaceship.pass.cpp [new file with mode: 0644]
libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/iter.pass.cpp
libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.ref/op_arrow.pass.cpp
libcxx/test/std/iterators/predef.iterators/move.iterators/move.iterator/iterator_concept_conformance.compile.pass.cpp
libcxx/test/std/iterators/predef.iterators/move.iterators/move.sentinel/assign.converting.pass.cpp [new file with mode: 0644]
libcxx/test/std/iterators/predef.iterators/move.iterators/move.sentinel/base.pass.cpp [new file with mode: 0644]
libcxx/test/std/iterators/predef.iterators/move.iterators/move.sentinel/concept_conformance.compile.pass.cpp [new file with mode: 0644]
libcxx/test/std/iterators/predef.iterators/move.iterators/move.sentinel/constraints.compile.pass.cpp [new file with mode: 0644]
libcxx/test/std/iterators/predef.iterators/move.iterators/move.sentinel/ctor.converting.pass.cpp [new file with mode: 0644]
libcxx/test/std/iterators/predef.iterators/move.iterators/move.sentinel/ctor.default.pass.cpp [new file with mode: 0644]
libcxx/test/std/iterators/predef.iterators/move.iterators/move.sentinel/ctor.sentinel.pass.cpp [new file with mode: 0644]
libcxx/test/std/iterators/predef.iterators/move.iterators/move.sentinel/op_eq.pass.cpp [new file with mode: 0644]