C++ named requirements:LegacyRandomAccessIteratorA LegacyRandomAccessIterator is a LegacyBidirectionalIterator