OpenMPCD
Classes | Public Types | Public Member Functions | List of all members
OpenMPCD::CUDA::StridedIteratorRange< UnderlyingIterator, 0 > Class Template Reference

Partial template specialization of StridedIteratorRange for dynamic strides. More...

#include <StridedIteratorRange.hpp>

Classes

class  StrideFunctor
 Functor class for advancing a pointer by the given stride. More...
 

Public Types

typedef thrust::iterator_difference< UnderlyingIterator >::type IteratorDifference
 The type of the difference of two of the underlying iterators. More...
 
typedef thrust::counting_iterator< IteratorDifferenceCountingIterator
 Type that is used to linearly increment a count. More...
 
typedef thrust::transform_iterator< StrideFunctor, CountingIteratorTransformIterator
 Type that applies StrideFunctor to the input sequence. More...
 
typedef thrust::permutation_iterator< UnderlyingIterator, TransformIteratorPermutationIterator
 Type that will be indexing into the UnderlyingIterator according to the TransformIterator. More...
 
typedef PermutationIterator Iterator
 The effective iterator type. More...
 

Public Member Functions

 StridedIteratorRange (const UnderlyingIterator &start, const UnderlyingIterator &pastTheEnd_, const unsigned int stride_)
 The constructor. More...
 
Iterator begin () const
 Returns the first iterator in the strided range. More...
 
Iterator end () const
 Returns the first past-the-end iterator of the strided range. More...
 

Detailed Description

template<typename UnderlyingIterator>
class OpenMPCD::CUDA::StridedIteratorRange< UnderlyingIterator, 0 >

Partial template specialization of StridedIteratorRange for dynamic strides.

Definition at line 140 of file StridedIteratorRange.hpp.

Member Typedef Documentation

◆ CountingIterator

template<typename UnderlyingIterator >
typedef thrust::counting_iterator<IteratorDifference> OpenMPCD::CUDA::StridedIteratorRange< UnderlyingIterator, 0 >::CountingIterator

Type that is used to linearly increment a count.

Definition at line 185 of file StridedIteratorRange.hpp.

◆ Iterator

template<typename UnderlyingIterator >
typedef PermutationIterator OpenMPCD::CUDA::StridedIteratorRange< UnderlyingIterator, 0 >::Iterator

The effective iterator type.

Definition at line 198 of file StridedIteratorRange.hpp.

◆ IteratorDifference

template<typename UnderlyingIterator >
typedef thrust::iterator_difference<UnderlyingIterator>::type OpenMPCD::CUDA::StridedIteratorRange< UnderlyingIterator, 0 >::IteratorDifference

The type of the difference of two of the underlying iterators.

Definition at line 146 of file StridedIteratorRange.hpp.

◆ PermutationIterator

template<typename UnderlyingIterator >
typedef thrust::permutation_iterator< UnderlyingIterator, TransformIterator> OpenMPCD::CUDA::StridedIteratorRange< UnderlyingIterator, 0 >::PermutationIterator

Type that will be indexing into the UnderlyingIterator according to the TransformIterator.

Definition at line 194 of file StridedIteratorRange.hpp.

◆ TransformIterator

template<typename UnderlyingIterator >
typedef thrust::transform_iterator<StrideFunctor, CountingIterator> OpenMPCD::CUDA::StridedIteratorRange< UnderlyingIterator, 0 >::TransformIterator

Type that applies StrideFunctor to the input sequence.

Definition at line 189 of file StridedIteratorRange.hpp.

Constructor & Destructor Documentation

◆ StridedIteratorRange()

template<typename UnderlyingIterator >
OpenMPCD::CUDA::StridedIteratorRange< UnderlyingIterator, 0 >::StridedIteratorRange ( const UnderlyingIterator &  start,
const UnderlyingIterator &  pastTheEnd_,
const unsigned int  stride_ 
)
inline

The constructor.

Parameters
[in]startThe first iterator to iterate over.
[in]pastTheEnd_The first iterator that is past-the-end.
[in]stride_The iterator stride.

Definition at line 208 of file StridedIteratorRange.hpp.

Member Function Documentation

◆ begin()

template<typename UnderlyingIterator >
Iterator OpenMPCD::CUDA::StridedIteratorRange< UnderlyingIterator, 0 >::begin ( ) const
inline

Returns the first iterator in the strided range.

Definition at line 219 of file StridedIteratorRange.hpp.

◆ end()

template<typename UnderlyingIterator >
Iterator OpenMPCD::CUDA::StridedIteratorRange< UnderlyingIterator, 0 >::end ( ) const
inline

Returns the first past-the-end iterator of the strided range.

Definition at line 229 of file StridedIteratorRange.hpp.


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