DNDSR 0.1.0.dev1+gcd065ad
Distributed Numeric Data Structure for CFV
Loading...
Searching...
No Matches
DNDS::ArrayEigenMatrix< _mat_ni, _mat_nj, _mat_ni_max, _mat_nj_max, _align >::iterator< B, is_const > Class Template Reference

Element iterator for ArrayEigenMatrix, yielding Eigen::Map<Matrix> per row. More...

#include <ArrayEigenMatrix.hpp>

Inheritance diagram for DNDS::ArrayEigenMatrix< _mat_ni, _mat_nj, _mat_ni_max, _mat_nj_max, _align >::iterator< B, is_const >:
[legend]
Collaboration diagram for DNDS::ArrayEigenMatrix< _mat_ni, _mat_nj, _mat_ni_max, _mat_nj_max, _align >::iterator< B, is_const >:
[legend]

Public Types

using view_type = std::conditional_t< is_const, t_deviceViewConst< B >, t_deviceView< B > >
 
using t_base_iter = ArrayIteratorBase< iterator< B > >
 
using value_type = typename view_type::t_EigenView
 
using reference = typename view_type::t_EigenView
 
- 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

DNDS_DEVICE_CALLABLE auto getView () const
 
DNDS_DEVICE_CALLABLE iterator (const view_type &n_view, index n_iRow)
 
DNDS_DEVICE_CALLABLE reference operator* ()
 
DNDS_DEVICE_CALLABLE reference operator* () const
 
std::string to_string ()
 
- 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 _mat_ni = 1, rowsize _mat_nj = 1, rowsize _mat_ni_max = _mat_ni, rowsize _mat_nj_max = _mat_nj, rowsize _align = NoAlign>
template<DeviceBackend B, bool is_const = false>
class DNDS::ArrayEigenMatrix< _mat_ni, _mat_nj, _mat_ni_max, _mat_nj_max, _align >::iterator< B, is_const >

Element iterator for ArrayEigenMatrix, yielding Eigen::Map<Matrix> per row.

Definition at line 363 of file ArrayEigenMatrix.hpp.

Member Typedef Documentation

◆ reference

template<rowsize _mat_ni = 1, rowsize _mat_nj = 1, rowsize _mat_ni_max = _mat_ni, rowsize _mat_nj_max = _mat_nj, rowsize _align = NoAlign>
template<DeviceBackend B, bool is_const = false>
using DNDS::ArrayEigenMatrix< _mat_ni, _mat_nj, _mat_ni_max, _mat_nj_max, _align >::iterator< B, is_const >::reference = typename view_type::t_EigenView

Definition at line 372 of file ArrayEigenMatrix.hpp.

◆ t_base_iter

template<rowsize _mat_ni = 1, rowsize _mat_nj = 1, rowsize _mat_ni_max = _mat_ni, rowsize _mat_nj_max = _mat_nj, rowsize _align = NoAlign>
template<DeviceBackend B, bool is_const = false>
using DNDS::ArrayEigenMatrix< _mat_ni, _mat_nj, _mat_ni_max, _mat_nj_max, _align >::iterator< B, is_const >::t_base_iter = ArrayIteratorBase<iterator<B> >

Definition at line 367 of file ArrayEigenMatrix.hpp.

◆ value_type

template<rowsize _mat_ni = 1, rowsize _mat_nj = 1, rowsize _mat_ni_max = _mat_ni, rowsize _mat_nj_max = _mat_nj, rowsize _align = NoAlign>
template<DeviceBackend B, bool is_const = false>
using DNDS::ArrayEigenMatrix< _mat_ni, _mat_nj, _mat_ni_max, _mat_nj_max, _align >::iterator< B, is_const >::value_type = typename view_type::t_EigenView

Definition at line 371 of file ArrayEigenMatrix.hpp.

◆ view_type

template<rowsize _mat_ni = 1, rowsize _mat_nj = 1, rowsize _mat_ni_max = _mat_ni, rowsize _mat_nj_max = _mat_nj, rowsize _align = NoAlign>
template<DeviceBackend B, bool is_const = false>
using DNDS::ArrayEigenMatrix< _mat_ni, _mat_nj, _mat_ni_max, _mat_nj_max, _align >::iterator< B, is_const >::view_type = std::conditional_t<is_const, t_deviceViewConst<B>, t_deviceView<B> >

Definition at line 366 of file ArrayEigenMatrix.hpp.

Constructor & Destructor Documentation

◆ iterator()

template<rowsize _mat_ni = 1, rowsize _mat_nj = 1, rowsize _mat_ni_max = _mat_ni, rowsize _mat_nj_max = _mat_nj, rowsize _align = NoAlign>
template<DeviceBackend B, bool is_const = false>
DNDS_DEVICE_CALLABLE DNDS::ArrayEigenMatrix< _mat_ni, _mat_nj, _mat_ni_max, _mat_nj_max, _align >::iterator< B, is_const >::iterator ( const view_type n_view,
index  n_iRow 
)
inline

Definition at line 383 of file ArrayEigenMatrix.hpp.

Here is the call graph for this function:

Member Function Documentation

◆ getView()

template<rowsize _mat_ni = 1, rowsize _mat_nj = 1, rowsize _mat_ni_max = _mat_ni, rowsize _mat_nj_max = _mat_nj, rowsize _align = NoAlign>
template<DeviceBackend B, bool is_const = false>
DNDS_DEVICE_CALLABLE auto DNDS::ArrayEigenMatrix< _mat_ni, _mat_nj, _mat_ni_max, _mat_nj_max, _align >::iterator< B, is_const >::getView ( ) const
inline

Definition at line 379 of file ArrayEigenMatrix.hpp.

Here is the caller graph for this function:

◆ operator*() [1/2]

template<rowsize _mat_ni = 1, rowsize _mat_nj = 1, rowsize _mat_ni_max = _mat_ni, rowsize _mat_nj_max = _mat_nj, rowsize _align = NoAlign>
template<DeviceBackend B, bool is_const = false>
DNDS_DEVICE_CALLABLE reference DNDS::ArrayEigenMatrix< _mat_ni, _mat_nj, _mat_ni_max, _mat_nj_max, _align >::iterator< B, is_const >::operator* ( )
inline

Definition at line 388 of file ArrayEigenMatrix.hpp.

◆ operator*() [2/2]

template<rowsize _mat_ni = 1, rowsize _mat_nj = 1, rowsize _mat_ni_max = _mat_ni, rowsize _mat_nj_max = _mat_nj, rowsize _align = NoAlign>
template<DeviceBackend B, bool is_const = false>
DNDS_DEVICE_CALLABLE reference DNDS::ArrayEigenMatrix< _mat_ni, _mat_nj, _mat_ni_max, _mat_nj_max, _align >::iterator< B, is_const >::operator* ( ) const
inline

Definition at line 390 of file ArrayEigenMatrix.hpp.

◆ to_string()

template<rowsize _mat_ni = 1, rowsize _mat_nj = 1, rowsize _mat_ni_max = _mat_ni, rowsize _mat_nj_max = _mat_nj, rowsize _align = NoAlign>
template<DeviceBackend B, bool is_const = false>
std::string DNDS::ArrayEigenMatrix< _mat_ni, _mat_nj, _mat_ni_max, _mat_nj_max, _align >::iterator< B, is_const >::to_string ( )
inline

Definition at line 395 of file ArrayEigenMatrix.hpp.

Member Data Documentation

◆ view

template<rowsize _mat_ni = 1, rowsize _mat_nj = 1, rowsize _mat_ni_max = _mat_ni, rowsize _mat_nj_max = _mat_nj, rowsize _align = NoAlign>
template<DeviceBackend B, bool is_const = false>
view_type DNDS::ArrayEigenMatrix< _mat_ni, _mat_nj, _mat_ni_max, _mat_nj_max, _align >::iterator< B, is_const >::view
protected

Definition at line 376 of file ArrayEigenMatrix.hpp.


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