rocPRIM
Public Types | Public Member Functions | List of all members
reverse_iterator< SourceIterator > Class Template Reference

A reverse iterator is an iterator adaptor that reverses the direction of a wrapped iterator. More...

#include <reverse_iterator.hpp>

Public Types

using value_type = typename std::iterator_traits< SourceIterator >::value_type
 The type of the value that can be obtained by dereferencing the iterator.
 
using reference = typename std::iterator_traits< SourceIterator >::reference
 A reference type of the type iterated over (value_type).
 
using pointer = typename std::iterator_traits< SourceIterator >::pointer
 A pointer type of the type iterated over (value_type).
 
using difference_type = typename std::iterator_traits< SourceIterator >::difference_type
 A type used for identify distance between iterators.
 
using iterator_category = std::random_access_iterator_tag
 The category of the iterator.
 

Public Member Functions

ROCPRIM_HOST_DEVICE reverse_iterator (SourceIterator source_iterator)
 Constructs a new reverse_iterator using the supplied source.
 
ROCPRIM_HOST_DEVICE reverse_iteratoroperator++ ()
 
ROCPRIM_HOST_DEVICE reverse_iterator operator++ (int)
 
ROCPRIM_HOST_DEVICE reverse_iteratoroperator-- ()
 
ROCPRIM_HOST_DEVICE reverse_iterator operator-- (int)
 
ROCPRIM_HOST_DEVICE reference operator* ()
 
ROCPRIM_HOST_DEVICE reference operator[] (difference_type distance)
 
ROCPRIM_HOST_DEVICE reverse_iterator operator+ (difference_type distance) const
 
ROCPRIM_HOST_DEVICE reverse_iteratoroperator+= (difference_type distance)
 
ROCPRIM_HOST_DEVICE reverse_iterator operator- (difference_type distance) const
 
ROCPRIM_HOST_DEVICE reverse_iteratoroperator-= (difference_type distance)
 
ROCPRIM_HOST_DEVICE difference_type operator- (reverse_iterator other) const
 
ROCPRIM_HOST_DEVICE bool operator== (reverse_iterator other) const
 
ROCPRIM_HOST_DEVICE bool operator!= (reverse_iterator other) const
 
ROCPRIM_HOST_DEVICE bool operator< (reverse_iterator other) const
 
ROCPRIM_HOST_DEVICE bool operator<= (reverse_iterator other) const
 
ROCPRIM_HOST_DEVICE bool operator> (reverse_iterator other) const
 
ROCPRIM_HOST_DEVICE bool operator>= (reverse_iterator other) const
 

Detailed Description

template<class SourceIterator>
class reverse_iterator< SourceIterator >

A reverse iterator is an iterator adaptor that reverses the direction of a wrapped iterator.

Overview
  • reverse_iterator can be used with random access iterators to reverse the direction of the iteration.
  • The increment operators on the reverse iterator are mapped to decrements on the wrapped iterator,
  • And the decrement operators on the reverse iterators are mapped to increments on the wrapped iterator.
  • Use it to iterate over the elements of a container in reverse.
Template Parameters
SourceIterator- type of the wrapped iterator.

The documentation for this class was generated from the following file: