The RandomAccessRange concept specifies requirements of a BidirectionalRange type for which begin returns a type that satisfies RandomAccessIterator ([iterators.random.access]).
template <class T> concept bool RandomAccessRange = BidirectionalRange<T> && RandomAccessIterator<iterator_t<T>>;