Skip to content

Commit 7b20e05

Browse files
committed
[libcxx][ranges] Add ranges::iota_view.
Differential Revision: https://reviews.llvm.org/D107396
1 parent 10bbf41 commit 7b20e05

37 files changed

+2630
-1
lines changed

libcxx/docs/Status/RangesPaper.csv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ Section,Description,Dependencies,Assignee,Complete
138138
`[range.view.ref] <http://wg21.link/range.view>`_,`ref-view <https://llvm.org/D102020>`_,[view.interface],Zoe Carver,✅
139139
`[range.filter] <http://wg21.link/range.filter>`_,filter_view,[range.all],Louis Dionne,Not started
140140
`[range.transform] <http://wg21.link/range.transform>`_,`transform_view <https://llvm.org/D103056>`_,[range.all],Zoe Carver,✅
141-
`[range.iota] <http://wg21.link/range.iota>`_,iota_view,[range.all],Zoe Carver,In Progress
141+
`[range.iota] <http://wg21.link/range.iota>`_,iota_view,[range.all],Zoe Carver,
142142
`[range.take] <http://wg21.link/range.take>`_,take_view,[range.all],Zoe Carver,✅
143143
`[range.join] <http://wg21.link/range.join>`_,join_view,[range.all],Zoe Carver,In Progress
144144
`[range.empty] <http://wg21.link/range.empty>`_,`empty_view <https://llvm.org/D103208>`_,[view.interface],Zoe Carver,✅

libcxx/include/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,7 @@ set(files
223223
__ranges/empty.h
224224
__ranges/enable_borrowed_range.h
225225
__ranges/enable_view.h
226+
__ranges/iota_view.h
226227
__ranges/non_propagating_cache.h
227228
__ranges/ref_view.h
228229
__ranges/reverse_view.h

libcxx/include/__iterator/concepts.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ concept __signed_integer_like = signed_integral<_Tp>;
7272

7373
template<class _Ip>
7474
concept weakly_incrementable =
75+
// TODO: remove this once the clang bug is fixed (bugs.llvm.org/PR48173).
76+
!same_as<_Ip, bool> && // Currently, clang does not handle bool correctly.
7577
movable<_Ip> &&
7678
requires(_Ip __i) {
7779
typename iter_difference_t<_Ip>;

0 commit comments

Comments
 (0)