DNDSR 0.1.0.dev1+gcd065ad
Distributed Numeric Data Structure for CFV
Loading...
Searching...
No Matches
DNDS::ArrayPairDeviceView< B, TArray > Struct Template Reference

Mutable device view onto an ArrayPair (for CUDA kernels). More...

#include <ArrayPair.hpp>

Inheritance diagram for DNDS::ArrayPairDeviceView< B, TArray >:
[legend]
Collaboration diagram for DNDS::ArrayPairDeviceView< B, TArray >:
[legend]

Public Types

using t_arrayDeviceView = typename TArray::template t_deviceView< B >
 
using t_self = ArrayPairDeviceView< B, TArray >
 

Public Member Functions

DNDS_DEVICE_CALLABLE ArrayPairDeviceView (const t_arrayDeviceView &n_father, const t_arrayDeviceView &n_son)
 
- Public Member Functions inherited from DNDS::ArrayPairDeviceView_Base< Derived >
DNDS_DEVICE_CALLABLE index Size () const
 Combined father + son row count.
 
DNDS_DEVICE_CALLABLE auto RowSize () const
 Uniform row width (delegates to father; father/son share it).
 
DNDS_DEVICE_CALLABLE auto RowSize (index i) const
 Per-row width in the combined address space.
 
DNDS_DEVICE_CALLABLE auto operator[] (index i) const
 Row pointer for index i in the combined address space (const).
 
DNDS_DEVICE_CALLABLE auto operator[] (index i)
 Row pointer for index i (mutable).
 
template<class... TOthers>
DNDS_DEVICE_CALLABLE decltype(autooperator() (index i, TOthers... aOthers)
 N-ary element access in the combined address space (mutable). Forwards extra arguments to the underlying operator().
 
template<class... TOthers>
DNDS_DEVICE_CALLABLE decltype(autooperator() (index i, TOthers... aOthers) const
 N-ary element access (const).
 

Public Attributes

t_arrayDeviceView father
 
t_arrayDeviceView son
 

Detailed Description

template<DeviceBackend B, class TArray = ParArray<real, 1>>
struct DNDS::ArrayPairDeviceView< B, TArray >

Mutable device view onto an ArrayPair (for CUDA kernels).

Captures both father and son device views by value; must not outlive the owning pair.

Definition at line 104 of file ArrayPair.hpp.

Member Typedef Documentation

◆ t_arrayDeviceView

template<DeviceBackend B, class TArray = ParArray<real, 1>>
using DNDS::ArrayPairDeviceView< B, TArray >::t_arrayDeviceView = typename TArray::template t_deviceView<B>

Definition at line 106 of file ArrayPair.hpp.

◆ t_self

template<DeviceBackend B, class TArray = ParArray<real, 1>>
using DNDS::ArrayPairDeviceView< B, TArray >::t_self = ArrayPairDeviceView<B, TArray>

Definition at line 111 of file ArrayPair.hpp.

Constructor & Destructor Documentation

◆ ArrayPairDeviceView()

template<DeviceBackend B, class TArray = ParArray<real, 1>>
DNDS_DEVICE_CALLABLE DNDS::ArrayPairDeviceView< B, TArray >::ArrayPairDeviceView ( const t_arrayDeviceView n_father,
const t_arrayDeviceView n_son 
)
inline

Definition at line 115 of file ArrayPair.hpp.

Member Data Documentation

◆ father

template<DeviceBackend B, class TArray = ParArray<real, 1>>
t_arrayDeviceView DNDS::ArrayPairDeviceView< B, TArray >::father

Definition at line 108 of file ArrayPair.hpp.

◆ son

template<DeviceBackend B, class TArray = ParArray<real, 1>>
t_arrayDeviceView DNDS::ArrayPairDeviceView< B, TArray >::son

Definition at line 109 of file ArrayPair.hpp.


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