9 using std::forward_iterator_tag;
11 using std::unique_ptr;
27 template<
typename IT,
typename IV>
114 template<
typename IT,
typename IV>
Iterator for unique_ptr sequence iterator.
Iterator< IT, IV > & operator++()
friend bool operator==(const Iterator< IT, IV > &a, const Iterator< IT, IV > &b)
Equality comparison operator.
forward_iterator_tag iterator_category
Iterator(const IT *ptr)
Constructor.
reference operator*() const
Iterator< IT, IV > operator++(int)
friend bool operator!=(const Iterator< IT, IV > &a, const Iterator< IT, IV > &b)
Inequality comparison operator.
ptrdiff_t difference_type
pointer operator->() const
Const unique_ptr sequence iterator.
Iterator< const unique_ptr< T >, const T > begin()
ConstUniquePtrSequenceIterator(const unique_ptr< T > *sequenceBegin, const unique_ptr< T > *sequenceEnd)
Const unique_ptr sequence iterator.
const unique_ptr< T > * sequenceBegin
Iterator< const unique_ptr< T >, const T > end()
const unique_ptr< T > * sequenceEnd
Iterator for unique_ptr sequence iterator.
Iterator< IT, IV > & operator++()
friend bool operator==(const Iterator< IT, IV > &a, const Iterator< IT, IV > &b)
Equality comparison operator.
Iterator(IT *ptr)
Constructor.
forward_iterator_tag iterator_category
Iterator< IT, IV > operator++(int)
friend bool operator!=(const Iterator< IT, IV > &a, const Iterator< IT, IV > &b)
Inequality comparison operator.
ptrdiff_t difference_type
unique_ptr sequence iterator
unique_ptr< T > * sequenceEnd
Iterator< unique_ptr< T >, T > begin()
Iterator< unique_ptr< T >, T > end()
unique_ptr< T > * sequenceBegin
UniquePtrSequenceIterator(unique_ptr< T > *sequenceBegin, unique_ptr< T > *sequenceEnd)
unique_ptr sequence iterator