[libcxx-commits] [PATCH] D101396: [libcxx][ranges] Add `contiguous_{iterator, range}`.

Zoe Carver via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Tue Apr 27 13:55:58 PDT 2021


zoecarver added inline comments.


================
Comment at: libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.random.access/contiguous_iterator.compile.pass.cpp:27-31
+static_assert(!std::contiguous_iterator<cxx20_input_iterator<int*> >);
+static_assert(!std::contiguous_iterator<cxx20_forward_iterator<int*> >);
+static_assert(!std::contiguous_iterator<cxx20_bidirectional_iterator<int*> >);
+// TODO: are we adding cxx20_iterators?
+// static_assert( std::random_access_iterator<cxx20_random_access_iterator<int*> >);
----------------
Quuxplusone wrote:
> Most importantly, please check the test iterators from `test_iterators.h` — e.g.
> ```
> static_assert(std::contiguous_iterator<contiguous_iterator<int*>>);
> ```
> Any test iterators that don't match the concepts will want to be fixed.
I have those a few lines above:
```
static_assert(!std::contiguous_iterator<input_iterator<int*> >);
static_assert(!std::contiguous_iterator<forward_iterator<int*> >);
static_assert(!std::contiguous_iterator<bidirectional_iterator<int*> >);
static_assert(!std::contiguous_iterator<random_access_iterator<int*> >);
static_assert(std::contiguous_iterator<contiguous_iterator<int*> >);
```


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D101396/new/

https://reviews.llvm.org/D101396



More information about the libcxx-commits mailing list