Random Access Iterator Bidirectional Iterator, plus: T& operator [] (size_t i); const T& operator [] (size_t i) const; "pointer" arithmetic
T& operator [] (size_t i); const T& operator [] (size_t i) const; "pointer" arithmetic