OpenFPM_pdata  4.1.0
Project that contain the implementation of distributed structures
 
Loading...
Searching...
No Matches
openfpm::detail::multi_array::array_iterator_openfpm< T, TPtr, NumDims, vector, Reference, IteratorCategory > Class Template Reference

Detailed Description

template<typename T, typename TPtr, typename NumDims, typename vector, typename Reference, typename IteratorCategory>
class openfpm::detail::multi_array::array_iterator_openfpm< T, TPtr, NumDims, vector, Reference, IteratorCategory >

Definition at line 50 of file multi_array_iterator_openfpm.hpp.

+ Inheritance diagram for openfpm::detail::multi_array::array_iterator_openfpm< T, TPtr, NumDims, vector, Reference, IteratorCategory >:

Public Types

typedef facade_type::reference reference
 
typedef facade_type::value_type value_type
 
typedef facade_type::difference_type difference_type
 

Public Member Functions

__device__ __host__ array_iterator_openfpm (index idx, TPtr base, const size_type extent, const index *strides)
 
template<typename OPtr , typename ORef , typename Cat >
 array_iterator_openfpm (const array_iterator_openfpm< T, OPtr, NumDims, vector, ORef, Cat > &rhs, typename boost::enable_if_convertible< OPtr, TPtr >::type *=0)
 
operator_arrow_proxy_openfpm< reference > operator-> () const
 
reference dereference () const
 
void increment ()
 
void decrement ()
 
template<class IteratorAdaptor >
bool equal (IteratorAdaptor &rhs) const
 
template<class DifferenceType >
void advance (DifferenceType n)
 
template<class IteratorAdaptor >
facade_type::difference_type distance_to (IteratorAdaptor &rhs) const
 

Private Types

typedef detail::multi_array::associated_types_openfpm< T, NumDims, vectoraccess_t
 
typedef boost::iterator_facade< array_iterator_openfpm< T, TPtr, NumDims, vector, Reference, IteratorCategory >, typename detail::multi_array::associated_types_openfpm< T, NumDims, vector >::value_type, boost::random_access_traversal_tag, Reference > facade_type
 
typedef access_t::index index
 
typedef access_t::size_type size_type
 

Private Attributes

index idx_
 
TPtr base_
 
const size_type extent
 
const index * strides_
 

Friends

class iterator_core_access
 

Member Typedef Documentation

◆ access_t

template<typename T , typename TPtr , typename NumDims , typename vector , typename Reference , typename IteratorCategory >
typedef detail::multi_array::associated_types_openfpm<T,NumDims,vector> openfpm::detail::multi_array::array_iterator_openfpm< T, TPtr, NumDims, vector, Reference, IteratorCategory >::access_t
private

Definition at line 62 of file multi_array_iterator_openfpm.hpp.

◆ difference_type

template<typename T , typename TPtr , typename NumDims , typename vector , typename Reference , typename IteratorCategory >
typedef facade_type::difference_type openfpm::detail::multi_array::array_iterator_openfpm< T, TPtr, NumDims, vector, Reference, IteratorCategory >::difference_type

Definition at line 90 of file multi_array_iterator_openfpm.hpp.

◆ facade_type

template<typename T , typename TPtr , typename NumDims , typename vector , typename Reference , typename IteratorCategory >
typedef boost::iterator_facade< array_iterator_openfpm<T,TPtr,NumDims,vector,Reference,IteratorCategory> , typename detail::multi_array::associated_types_openfpm<T,NumDims,vector>::value_type , boost::random_access_traversal_tag , Reference > openfpm::detail::multi_array::array_iterator_openfpm< T, TPtr, NumDims, vector, Reference, IteratorCategory >::facade_type
private

Definition at line 69 of file multi_array_iterator_openfpm.hpp.

◆ index

template<typename T , typename TPtr , typename NumDims , typename vector , typename Reference , typename IteratorCategory >
typedef access_t::index openfpm::detail::multi_array::array_iterator_openfpm< T, TPtr, NumDims, vector, Reference, IteratorCategory >::index
private

Definition at line 71 of file multi_array_iterator_openfpm.hpp.

◆ reference

template<typename T , typename TPtr , typename NumDims , typename vector , typename Reference , typename IteratorCategory >
typedef facade_type::reference openfpm::detail::multi_array::array_iterator_openfpm< T, TPtr, NumDims, vector, Reference, IteratorCategory >::reference

Definition at line 88 of file multi_array_iterator_openfpm.hpp.

◆ size_type

template<typename T , typename TPtr , typename NumDims , typename vector , typename Reference , typename IteratorCategory >
typedef access_t::size_type openfpm::detail::multi_array::array_iterator_openfpm< T, TPtr, NumDims, vector, Reference, IteratorCategory >::size_type
private

Definition at line 72 of file multi_array_iterator_openfpm.hpp.

◆ value_type

template<typename T , typename TPtr , typename NumDims , typename vector , typename Reference , typename IteratorCategory >
typedef facade_type::value_type openfpm::detail::multi_array::array_iterator_openfpm< T, TPtr, NumDims, vector, Reference, IteratorCategory >::value_type

Definition at line 89 of file multi_array_iterator_openfpm.hpp.

Constructor & Destructor Documentation

◆ array_iterator_openfpm() [1/3]

template<typename T , typename TPtr , typename NumDims , typename vector , typename Reference , typename IteratorCategory >
__device__ __host__ openfpm::detail::multi_array::array_iterator_openfpm< T, TPtr, NumDims, vector, Reference, IteratorCategory >::array_iterator_openfpm ( )
inline

Definition at line 92 of file multi_array_iterator_openfpm.hpp.

◆ array_iterator_openfpm() [2/3]

template<typename T , typename TPtr , typename NumDims , typename vector , typename Reference , typename IteratorCategory >
__device__ __host__ openfpm::detail::multi_array::array_iterator_openfpm< T, TPtr, NumDims, vector, Reference, IteratorCategory >::array_iterator_openfpm ( index  idx,
TPtr  base,
const size_type  extent,
const index *  strides 
)
inline

Definition at line 94 of file multi_array_iterator_openfpm.hpp.

◆ array_iterator_openfpm() [3/3]

template<typename T , typename TPtr , typename NumDims , typename vector , typename Reference , typename IteratorCategory >
template<typename OPtr , typename ORef , typename Cat >
openfpm::detail::multi_array::array_iterator_openfpm< T, TPtr, NumDims, vector, Reference, IteratorCategory >::array_iterator_openfpm ( const array_iterator_openfpm< T, OPtr, NumDims, vector, ORef, Cat > &  rhs,
typename boost::enable_if_convertible< OPtr, TPtr >::type *  = 0 
)
inline

Definition at line 99 of file multi_array_iterator_openfpm.hpp.

Member Function Documentation

◆ advance()

template<typename T , typename TPtr , typename NumDims , typename vector , typename Reference , typename IteratorCategory >
template<class DifferenceType >
void openfpm::detail::multi_array::array_iterator_openfpm< T, TPtr, NumDims, vector, Reference, IteratorCategory >::advance ( DifferenceType  n)
inline

Definition at line 138 of file multi_array_iterator_openfpm.hpp.

◆ decrement()

template<typename T , typename TPtr , typename NumDims , typename vector , typename Reference , typename IteratorCategory >
void openfpm::detail::multi_array::array_iterator_openfpm< T, TPtr, NumDims, vector, Reference, IteratorCategory >::decrement ( )
inline

Definition at line 125 of file multi_array_iterator_openfpm.hpp.

◆ dereference()

template<typename T , typename TPtr , typename NumDims , typename vector , typename Reference , typename IteratorCategory >
reference openfpm::detail::multi_array::array_iterator_openfpm< T, TPtr, NumDims, vector, Reference, IteratorCategory >::dereference ( ) const
inline

Definition at line 115 of file multi_array_iterator_openfpm.hpp.

◆ distance_to()

template<typename T , typename TPtr , typename NumDims , typename vector , typename Reference , typename IteratorCategory >
template<class IteratorAdaptor >
facade_type::difference_type openfpm::detail::multi_array::array_iterator_openfpm< T, TPtr, NumDims, vector, Reference, IteratorCategory >::distance_to ( IteratorAdaptor &  rhs) const
inline

Definition at line 144 of file multi_array_iterator_openfpm.hpp.

◆ equal()

template<typename T , typename TPtr , typename NumDims , typename vector , typename Reference , typename IteratorCategory >
template<class IteratorAdaptor >
bool openfpm::detail::multi_array::array_iterator_openfpm< T, TPtr, NumDims, vector, Reference, IteratorCategory >::equal ( IteratorAdaptor &  rhs) const
inline

Definition at line 128 of file multi_array_iterator_openfpm.hpp.

◆ increment()

template<typename T , typename TPtr , typename NumDims , typename vector , typename Reference , typename IteratorCategory >
void openfpm::detail::multi_array::array_iterator_openfpm< T, TPtr, NumDims, vector, Reference, IteratorCategory >::increment ( )
inline

Definition at line 124 of file multi_array_iterator_openfpm.hpp.

◆ operator->()

template<typename T , typename TPtr , typename NumDims , typename vector , typename Reference , typename IteratorCategory >
operator_arrow_proxy_openfpm< reference > openfpm::detail::multi_array::array_iterator_openfpm< T, TPtr, NumDims, vector, Reference, IteratorCategory >::operator-> ( ) const
inline

Definition at line 109 of file multi_array_iterator_openfpm.hpp.

Friends And Related Symbol Documentation

◆ array_iterator_openfpm

template<typename T , typename TPtr , typename NumDims , typename vector , typename Reference , typename IteratorCategory >
template<typename , typename , typename , typename , typename , typename >
friend class array_iterator_openfpm
friend

Definition at line 76 of file multi_array_iterator_openfpm.hpp.

◆ iterator_core_access

template<typename T , typename TPtr , typename NumDims , typename vector , typename Reference , typename IteratorCategory >
friend class iterator_core_access
friend

Definition at line 61 of file multi_array_iterator_openfpm.hpp.

Field Documentation

◆ base_

template<typename T , typename TPtr , typename NumDims , typename vector , typename Reference , typename IteratorCategory >
TPtr openfpm::detail::multi_array::array_iterator_openfpm< T, TPtr, NumDims, vector, Reference, IteratorCategory >::base_
private

Definition at line 82 of file multi_array_iterator_openfpm.hpp.

◆ extent

template<typename T , typename TPtr , typename NumDims , typename vector , typename Reference , typename IteratorCategory >
const size_type openfpm::detail::multi_array::array_iterator_openfpm< T, TPtr, NumDims, vector, Reference, IteratorCategory >::extent
private

Definition at line 83 of file multi_array_iterator_openfpm.hpp.

◆ idx_

template<typename T , typename TPtr , typename NumDims , typename vector , typename Reference , typename IteratorCategory >
index openfpm::detail::multi_array::array_iterator_openfpm< T, TPtr, NumDims, vector, Reference, IteratorCategory >::idx_
private

Definition at line 81 of file multi_array_iterator_openfpm.hpp.

◆ strides_

template<typename T , typename TPtr , typename NumDims , typename vector , typename Reference , typename IteratorCategory >
const index* openfpm::detail::multi_array::array_iterator_openfpm< T, TPtr, NumDims, vector, Reference, IteratorCategory >::strides_
private

Definition at line 84 of file multi_array_iterator_openfpm.hpp.


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