@@ -584,12 +584,15 @@ ValueBuffer
584584// Const std-compliant iterator
585585// Public member-class of PagedArray
586586template <typename ValueT, size_t Log2PageSize>
587- class PagedArray <ValueT, Log2PageSize>::
588- ConstIterator : public std::iterator<std::random_access_iterator_tag, ValueT>
587+ class PagedArray <ValueT, Log2PageSize>::ConstIterator
589588{
590589public:
591- using BaseT = std::iterator<std::random_access_iterator_tag, ValueT>;
592- using difference_type = typename BaseT::difference_type;
590+ using iterator_category = std::random_access_iterator_tag;
591+ using value_type = ValueT;
592+ using difference_type = std::ptrdiff_t ;
593+ using pointer = ValueT*;
594+ using reference = ValueT&;
595+
593596 // constructors and assignment
594597 ConstIterator () : mPos (0 ), mParent (nullptr ) {}
595598 ConstIterator (const PagedArray& parent, size_t pos=0 ) : mPos (pos), mParent (&parent) {}
@@ -635,12 +638,15 @@ ConstIterator : public std::iterator<std::random_access_iterator_tag, ValueT>
635638// Non-const std-compliant iterator
636639// Public member-class of PagedArray
637640template <typename ValueT, size_t Log2PageSize>
638- class PagedArray <ValueT, Log2PageSize>::
639- Iterator : public std::iterator<std::random_access_iterator_tag, ValueT>
641+ class PagedArray <ValueT, Log2PageSize>::Iterator
640642{
641643public:
642- using BaseT = std::iterator<std::random_access_iterator_tag, ValueT>;
643- using difference_type = typename BaseT::difference_type;
644+ using iterator_category = std::random_access_iterator_tag;
645+ using value_type = ValueT;
646+ using difference_type = std::ptrdiff_t ;
647+ using pointer = ValueT*;
648+ using reference = ValueT&;
649+
644650 // constructors and assignment
645651 Iterator () : mPos (0 ), mParent (nullptr ) {}
646652 Iterator (PagedArray& parent, size_t pos=0 ) : mPos (pos), mParent (&parent) {}
0 commit comments