Block-Structured AMR Software Framework
amrex::ParticleArrayAccessor< ParticleType, DataLayoutTag > Struct Template Reference

#include <AMReX_ParticleArray.H>

Public Types

using policy_type = DataLayoutPolicyRaw< ParticleType, DataLayoutTag >
 
using value_type = typename policy_type::value_type
 
using raw_type = typename policy_type::raw_type
 

Public Member Functions

 ParticleArrayAccessor (std::size_t a_size, raw_type a_data)
 
AMREX_GPU_HOST_DEVICE value_type operator[] (std::size_t a_index) const
 
AMREX_GPU_HOST_DEVICE std::size_t size () const
 

Static Public Attributes

static constexpr auto data_layout = DataLayoutTag
 

Private Attributes

std::size_t m_size
 
raw_type m_data
 

Detailed Description

template<typename ParticleType, DataLayout DataLayoutTag>
struct amrex::ParticleArrayAccessor< ParticleType, DataLayoutTag >

A Version of ParticleArray that contains only raw pointers, so that it can be copied by value into GPU kernels.

Member Typedef Documentation

◆ policy_type

template<typename ParticleType , DataLayout DataLayoutTag>
using amrex::ParticleArrayAccessor< ParticleType, DataLayoutTag >::policy_type = DataLayoutPolicyRaw<ParticleType, DataLayoutTag>

◆ raw_type

template<typename ParticleType , DataLayout DataLayoutTag>
using amrex::ParticleArrayAccessor< ParticleType, DataLayoutTag >::raw_type = typename policy_type::raw_type

◆ value_type

template<typename ParticleType , DataLayout DataLayoutTag>
using amrex::ParticleArrayAccessor< ParticleType, DataLayoutTag >::value_type = typename policy_type::value_type

Constructor & Destructor Documentation

◆ ParticleArrayAccessor()

template<typename ParticleType , DataLayout DataLayoutTag>
amrex::ParticleArrayAccessor< ParticleType, DataLayoutTag >::ParticleArrayAccessor ( std::size_t  a_size,
raw_type  a_data 
)
inline

Member Function Documentation

◆ operator[]()

template<typename ParticleType , DataLayout DataLayoutTag>
AMREX_GPU_HOST_DEVICE value_type amrex::ParticleArrayAccessor< ParticleType, DataLayoutTag >::operator[] ( std::size_t  a_index) const
inline

◆ size()

template<typename ParticleType , DataLayout DataLayoutTag>
AMREX_GPU_HOST_DEVICE std::size_t amrex::ParticleArrayAccessor< ParticleType, DataLayoutTag >::size ( ) const
inline

Member Data Documentation

◆ data_layout

template<typename ParticleType , DataLayout DataLayoutTag>
constexpr auto amrex::ParticleArrayAccessor< ParticleType, DataLayoutTag >::data_layout = DataLayoutTag
staticconstexpr

◆ m_data

template<typename ParticleType , DataLayout DataLayoutTag>
raw_type amrex::ParticleArrayAccessor< ParticleType, DataLayoutTag >::m_data
private

◆ m_size

template<typename ParticleType , DataLayout DataLayoutTag>
std::size_t amrex::ParticleArrayAccessor< ParticleType, DataLayoutTag >::m_size
private

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