cpp/iterator/random access iterator

The concept refines  by adding support for constant time advancement with the, , , and  operators, constant time computation of distance with , and array notation with subscripting.

Semantic requirements
Let and  be valid iterators of type  such that  is reachable from, and let  be a value of type  equal to. is modeled only if all the concepts it subsumes are modeled and:
 * is equal to.
 * is equal to.
 * is equal to.
 * is equal to.
 * For any two positive integers and, if  is valid, then  is equal to.
 * is equal to.
 * If is valid, then  is equal to.
 * and are both equal to.
 * is equal to.
 * is equal to.
 * If is dereferenceable, then  is valid and is equal to.
 * is.
 * Every required operation has constant time complexity.