##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::experimental::ranges::RandomAccessIterator

From cppreference.com
< cpp‎ | experimental‎ | ranges

Defined in header `<experimental/ranges/iterator>` |  |
template <class I> concept bool RandomAccessIterator() { return ranges::BidirectionalIterator<I>() && ranges::DerivedFrom<ranges::iterator_category_t<I>, ranges::random_access_iterator_tag>() && ranges::StrictTotallyOrdered<I>() && ranges::SizedSentinel<I, I>() && requires(I i, const I j, const ranges::difference_type_t<I> n) { { i += n } -> ranges::Same<I&>; { j + n } -> ranges::Same<I>; { n + j } -> ranges::Same<I>; { i -= n } -> ranges::Same<I&>; { j - n } -> ranges::Same<I>; { j[n] } -> ranges::Same<ranges::reference_t<I>>; }; } |  | (ranges TS)

| This section is incomplete Reason: add description and extra caveats

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/experimental/ranges/iterator/RandomAccessIterator&oldid=89714"
Category:

- Todo with reason