DNDSR 0.1.0.dev1+gcd065ad
Distributed Numeric Data Structure for CFV
Loading...
Searching...
No Matches
DNDS::ArrayView< T, _row_size, _row_max, _align >::RowView Class Reference

Non-owning view of a single row: {pointer, size}. More...

#include <ArrayBasic.hpp>

Public Member Functions

DNDS_DEVICE_CALLABLE RowView ()=default
 
DNDS_DEVICE_CALLABLE RowView (const RowView &)=default
 
DNDS_DEVICE_CALLABLE ~RowView ()=default
 
DNDS_DEVICE_CALLABLE RowView (T *n_ptr, rowsize siz)
 
DNDS_DEVICE_CALLABLE T & operator[] (rowsize j)
 
DNDS_DEVICE_CALLABLEoperator[] (rowsize j) const
 
 operator std::vector< T > () const
 
void operator= (const std::vector< index > &r)
 
DNDS_DEVICE_CALLABLE void assign_value (const RowView &r)
 
DNDS_DEVICE_CALLABLE T * begin ()
 
DNDS_DEVICE_CALLABLE T * end ()
 
DNDS_DEVICE_CALLABLE T * cbegin () const
 
DNDS_DEVICE_CALLABLE T * cend () const
 
DNDS_DEVICE_CALLABLE rowsize size () const
 

Detailed Description

template<class T, rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
class DNDS::ArrayView< T, _row_size, _row_max, _align >::RowView

Non-owning view of a single row: {pointer, size}.

Supports indexing, iteration (begin/end), copy-in / copy-out from std::vector, and an assign_value kernel-safe copy. Returned by iterators derived from ArrayIteratorBase.

Definition at line 579 of file ArrayBasic.hpp.

Constructor & Destructor Documentation

◆ RowView() [1/3]

template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
DNDS_DEVICE_CALLABLE DNDS::ArrayView< T, _row_size, _row_max, _align >::RowView::RowView ( )
default

◆ RowView() [2/3]

template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
DNDS_DEVICE_CALLABLE DNDS::ArrayView< T, _row_size, _row_max, _align >::RowView::RowView ( const RowView )
default

◆ ~RowView()

template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
DNDS_DEVICE_CALLABLE DNDS::ArrayView< T, _row_size, _row_max, _align >::RowView::~RowView ( )
default

◆ RowView() [3/3]

template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
DNDS_DEVICE_CALLABLE DNDS::ArrayView< T, _row_size, _row_max, _align >::RowView::RowView ( T *  n_ptr,
rowsize  siz 
)
inline

Definition at line 590 of file ArrayBasic.hpp.

Member Function Documentation

◆ assign_value()

template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
DNDS_DEVICE_CALLABLE void DNDS::ArrayView< T, _row_size, _row_max, _align >::RowView::assign_value ( const RowView r)
inline

Definition at line 615 of file ArrayBasic.hpp.

Here is the call graph for this function:

◆ begin()

template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
DNDS_DEVICE_CALLABLE T * DNDS::ArrayView< T, _row_size, _row_max, _align >::RowView::begin ( )
inline

Definition at line 621 of file ArrayBasic.hpp.

◆ cbegin()

template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
DNDS_DEVICE_CALLABLE T * DNDS::ArrayView< T, _row_size, _row_max, _align >::RowView::cbegin ( ) const
inline

Definition at line 623 of file ArrayBasic.hpp.

◆ cend()

template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
DNDS_DEVICE_CALLABLE T * DNDS::ArrayView< T, _row_size, _row_max, _align >::RowView::cend ( ) const
inline

Definition at line 624 of file ArrayBasic.hpp.

◆ end()

template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
DNDS_DEVICE_CALLABLE T * DNDS::ArrayView< T, _row_size, _row_max, _align >::RowView::end ( )
inline

Definition at line 622 of file ArrayBasic.hpp.

◆ operator std::vector< T >()

template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
DNDS::ArrayView< T, _row_size, _row_max, _align >::RowView::operator std::vector< T > ( ) const
inline

Definition at line 604 of file ArrayBasic.hpp.

◆ operator=()

template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
void DNDS::ArrayView< T, _row_size, _row_max, _align >::RowView::operator= ( const std::vector< index > &  r)
inline

Definition at line 609 of file ArrayBasic.hpp.

Here is the call graph for this function:

◆ operator[]() [1/2]

template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
DNDS_DEVICE_CALLABLE T & DNDS::ArrayView< T, _row_size, _row_max, _align >::RowView::operator[] ( rowsize  j)
inline

Definition at line 592 of file ArrayBasic.hpp.

◆ operator[]() [2/2]

template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
DNDS_DEVICE_CALLABLE T DNDS::ArrayView< T, _row_size, _row_max, _align >::RowView::operator[] ( rowsize  j) const
inline

Definition at line 598 of file ArrayBasic.hpp.

◆ size()

template<class T , rowsize _row_size = 1, rowsize _row_max = _row_size, rowsize _align = NoAlign>
DNDS_DEVICE_CALLABLE rowsize DNDS::ArrayView< T, _row_size, _row_max, _align >::RowView::size ( ) const
inline

Definition at line 625 of file ArrayBasic.hpp.


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