refs #698 CSequence iterator should be random access to improve STL algorithm efficiency.

This commit is contained in:
Mathew Sutcliffe
2016-07-04 17:41:00 +01:00
parent a209f961a6
commit 323a5bb12f
2 changed files with 76 additions and 54 deletions

View File

@@ -34,7 +34,7 @@ namespace BlackMisc
*/
template <class T>
class CSequence :
public CContainerBase<CSequence, T, Iterators::ConstBidirectionalIterator<T>>,
public CContainerBase<CSequence, T, Iterators::ConstRandomAccessIterator<T>>,
public Mixin::Icon<CSequence<T>>
{
public:
@@ -46,8 +46,8 @@ namespace BlackMisc
typedef const T &const_reference;
typedef T *pointer;
typedef const T *const_pointer;
typedef typename Iterators::ConstBidirectionalIterator<T> const_iterator;
typedef typename Iterators::BidirectionalIterator<T> iterator;
typedef typename Iterators::ConstRandomAccessIterator<T> const_iterator;
typedef typename Iterators::RandomAccessIterator<T> iterator;
typedef ptrdiff_t difference_type;
typedef intptr_t size_type;
//! @}