DNDSR 0.1.0.dev1+gcd065ad
Distributed Numeric Data Structure for CFV
Loading...
Searching...
No Matches
DNDS::ArrayEigenVector< _vec_size, _row_max, _align >::iterator< B > Class Template Reference

Element iterator for ArrayEigenVector, yielding Eigen::Map per row. More...

#include <ArrayEigenVector.hpp>

Inheritance diagram for DNDS::ArrayEigenVector< _vec_size, _row_max, _align >::iterator< B >:
[legend]
Collaboration diagram for DNDS::ArrayEigenVector< _vec_size, _row_max, _align >::iterator< B >:
[legend]

Public Types

using view_type = t_deviceView< B >
 
using t_base_iter = ArrayIteratorBase< iterator< B > >
 
using reference = t_EigenMap
 
using iterator_category = std::random_access_iterator_tag
 
- Public Types inherited from DNDS::ArrayIteratorBase< iterator< B > >
using difference_type = std::ptrdiff_t
 
using iterator_category = std::random_access_iterator_tag
 
using reference = void
 
using pointer = void
 
using value = void
 

Public Member Functions

auto getView () const
 
DNDS_DEVICE_CALLABLE iterator (const iterator &)=default
 
DNDS_DEVICE_CALLABLE ~iterator ()=default
 
DNDS_DEVICE_CALLABLE iterator (const view_type &n_view, index n_iRow)
 
DNDS_DEVICE_CALLABLE reference operator* ()
 
- Public Member Functions inherited from DNDS::ArrayIteratorBase< iterator< B > >
DNDS_DEVICE_CALLABLE auto getView () const
 
DNDS_DEVICE_CALLABLE ArrayIteratorBase (index n_iRow)
 
DNDS_DEVICE_CALLABLE index RowSize () const
 
DNDS_DEVICE_CALLABLE iterator< B > & operator++ ()
 
DNDS_DEVICE_CALLABLE iterator< B > operator++ (int)
 
DNDS_DEVICE_CALLABLE iterator< B > & operator-- ()
 
DNDS_DEVICE_CALLABLE iterator< B > operator-- (int)
 
DNDS_DEVICE_CALLABLE iterator< B > & operator+= (difference_type n)
 
DNDS_DEVICE_CALLABLE iterator< B > & operator-= (difference_type n)
 
DNDS_DEVICE_CALLABLE iterator< B > operator+ (difference_type n) const
 
DNDS_DEVICE_CALLABLE iterator< B > operator- (difference_type n) const
 
DNDS_DEVICE_CALLABLE difference_type operator- (const iterator< B > &R) const
 
DNDS_DEVICE_CALLABLE bool operator== (const iterator< B > &R) const
 
DNDS_DEVICE_CALLABLE bool operator!= (const iterator< B > &R) const
 
DNDS_DEVICE_CALLABLE bool operator< (const iterator< B > &R) const
 
DNDS_DEVICE_CALLABLE bool operator>= (const iterator< B > &R) const
 
DNDS_DEVICE_CALLABLE bool operator> (const iterator< B > &R) const
 
DNDS_DEVICE_CALLABLE bool operator<= (const iterator< B > &R) const
 
DNDS_DEVICE_CALLABLE auto operator[] (difference_type n)
 
DNDS_DEVICE_CALLABLE auto operator[] (difference_type n) const
 

Protected Attributes

view_type view
 
- Protected Attributes inherited from DNDS::ArrayIteratorBase< iterator< B > >
index iRow
 

Detailed Description

template<rowsize _vec_size = 1, rowsize _row_max = _vec_size, rowsize _align = NoAlign>
template<DeviceBackend B>
class DNDS::ArrayEigenVector< _vec_size, _row_max, _align >::iterator< B >

Element iterator for ArrayEigenVector, yielding Eigen::Map per row.

Definition at line 102 of file ArrayEigenVector.hpp.

Member Typedef Documentation

◆ iterator_category

template<rowsize _vec_size = 1, rowsize _row_max = _vec_size, rowsize _align = NoAlign>
template<DeviceBackend B>
using DNDS::ArrayEigenVector< _vec_size, _row_max, _align >::iterator< B >::iterator_category = std::random_access_iterator_tag

Definition at line 109 of file ArrayEigenVector.hpp.

◆ reference

template<rowsize _vec_size = 1, rowsize _row_max = _vec_size, rowsize _align = NoAlign>
template<DeviceBackend B>
using DNDS::ArrayEigenVector< _vec_size, _row_max, _align >::iterator< B >::reference = t_EigenMap

Definition at line 108 of file ArrayEigenVector.hpp.

◆ t_base_iter

template<rowsize _vec_size = 1, rowsize _row_max = _vec_size, rowsize _align = NoAlign>
template<DeviceBackend B>
using DNDS::ArrayEigenVector< _vec_size, _row_max, _align >::iterator< B >::t_base_iter = ArrayIteratorBase<iterator<B> >

Definition at line 106 of file ArrayEigenVector.hpp.

◆ view_type

template<rowsize _vec_size = 1, rowsize _row_max = _vec_size, rowsize _align = NoAlign>
template<DeviceBackend B>
using DNDS::ArrayEigenVector< _vec_size, _row_max, _align >::iterator< B >::view_type = t_deviceView<B>

Definition at line 105 of file ArrayEigenVector.hpp.

Constructor & Destructor Documentation

◆ iterator() [1/2]

template<rowsize _vec_size = 1, rowsize _row_max = _vec_size, rowsize _align = NoAlign>
template<DeviceBackend B>
DNDS_DEVICE_CALLABLE DNDS::ArrayEigenVector< _vec_size, _row_max, _align >::iterator< B >::iterator ( const iterator< B > &  )
default

◆ ~iterator()

template<rowsize _vec_size = 1, rowsize _row_max = _vec_size, rowsize _align = NoAlign>
template<DeviceBackend B>
DNDS_DEVICE_CALLABLE DNDS::ArrayEigenVector< _vec_size, _row_max, _align >::iterator< B >::~iterator ( )
default

◆ iterator() [2/2]

template<rowsize _vec_size = 1, rowsize _row_max = _vec_size, rowsize _align = NoAlign>
template<DeviceBackend B>
DNDS_DEVICE_CALLABLE DNDS::ArrayEigenVector< _vec_size, _row_max, _align >::iterator< B >::iterator ( const view_type n_view,
index  n_iRow 
)
inlineexplicit

Definition at line 118 of file ArrayEigenVector.hpp.

Member Function Documentation

◆ getView()

template<rowsize _vec_size = 1, rowsize _row_max = _vec_size, rowsize _align = NoAlign>
template<DeviceBackend B>
auto DNDS::ArrayEigenVector< _vec_size, _row_max, _align >::iterator< B >::getView ( ) const
inline

Definition at line 115 of file ArrayEigenVector.hpp.

◆ operator*()

template<rowsize _vec_size = 1, rowsize _row_max = _vec_size, rowsize _align = NoAlign>
template<DeviceBackend B>
DNDS_DEVICE_CALLABLE reference DNDS::ArrayEigenVector< _vec_size, _row_max, _align >::iterator< B >::operator* ( )
inline

Definition at line 122 of file ArrayEigenVector.hpp.

Member Data Documentation

◆ view

template<rowsize _vec_size = 1, rowsize _row_max = _vec_size, rowsize _align = NoAlign>
template<DeviceBackend B>
view_type DNDS::ArrayEigenVector< _vec_size, _row_max, _align >::iterator< B >::view
protected

Definition at line 112 of file ArrayEigenVector.hpp.


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