原文

分类

Instead of being defined by specific types, each category of iterator is defined by the operations that can be performed on it.

Iterator category

Operations and storage requirement

     write     

     read     

increment

 decrement 

   random   
access

 contiguous 
storage

without
   multiple   
passes

with
   multiple   
passes

LegacyIterator

Required

LegacyOutputIterator

Required

Required

LegacyInputIterator
(mutable if supports write operation)

Required

Required

LegacyForwardIterator
(also satisfies LegacyInputIterator)

Required

Required

Required

LegacyBidirectionalIterator
(also satisfies LegacyForwardIterator)

Required

Required

Required

Required

LegacyRandomAccessIterator
(also satisfies LegacyBidirectionalIterator)

Required

Required

Required

Required

Required

   LegacyContiguousIterator[1]
(also satisfies LegacyRandomAccessIterator)

Required

Required

Required

Required

Required

Required