Block-Structured AMR Software Framework
amrex::PolymorphicArray4< T > Struct Template Reference

#include <AMReX_Array4.H>

Inheritance diagram for amrex::PolymorphicArray4< T >:
amrex::Array4< T >

Public Member Functions

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE PolymorphicArray4 (Array4< T > const &a)
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE T & operator() (int i, int j, int k) const noexcept
 
template<class U = T, std::enable_if_t< amrex::HasMultiComp< U >::value, int > = 0>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE U::reference_type operator() (int i, int j, int k, int n) const noexcept
 
template<class U = T, std::enable_if_t<!amrex::HasMultiComp< U >::value, int > = 0>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE U & operator() (int i, int j, int k, int n) const noexcept
 
- Public Member Functions inherited from amrex::Array4< T >
constexpr AMREX_GPU_HOST_DEVICE Array4 () noexcept
 
template<class U = T, std::enable_if_t< std::is_const_v< U >, int > = 0>
constexpr AMREX_GPU_HOST_DEVICE Array4 (Array4< std::remove_const_t< T >> const &rhs) noexcept
 
constexpr AMREX_GPU_HOST_DEVICE Array4 (T *a_p, Dim3 const &a_begin, Dim3 const &a_end, int a_ncomp) noexcept
 
template<class U , std::enable_if_t< std::is_same_v< std::remove_const_t< T >, std::remove_const_t< U >>, int > = 0>
constexpr AMREX_GPU_HOST_DEVICE Array4 (Array4< U > const &rhs, int start_comp) noexcept
 
template<class U , std::enable_if_t< std::is_same_v< std::remove_const_t< T >, std::remove_const_t< U >>, int > = 0>
constexpr AMREX_GPU_HOST_DEVICE Array4 (Array4< U > const &rhs, int start_comp, int num_comps) noexcept
 
AMREX_GPU_HOST_DEVICE operator bool () const noexcept
 
template<class U = T, std::enable_if_t<!std::is_void_v< U >, int > = 0>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE U & operator() (int i, int j, int k) const noexcept
 
template<class U = T, std::enable_if_t<!std::is_void_v< U >, int > = 0>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE U & operator() (int i, int j, int k, int n) const noexcept
 
template<class U = T, std::enable_if_t<!std::is_void_v< U >, int > = 0>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE T * ptr (int i, int j, int k) const noexcept
 
template<class U = T, std::enable_if_t<!std::is_void_v< U >, int > = 0>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE T * ptr (int i, int j, int k, int n) const noexcept
 
template<class U = T, std::enable_if_t<!std::is_void_v< U >, int > = 0>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE U & operator() (IntVect const &iv) const noexcept
 
template<class U = T, std::enable_if_t<!std::is_void_v< U >, int > = 0>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE U & operator() (IntVect const &iv, int n) const noexcept
 
template<class U = T, std::enable_if_t<!std::is_void_v< U >, int > = 0>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE T * ptr (IntVect const &iv) const noexcept
 
template<class U = T, std::enable_if_t<!std::is_void_v< U >, int > = 0>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE T * ptr (IntVect const &iv, int n) const noexcept
 
template<class U = T, std::enable_if_t<!std::is_void_v< U >, int > = 0>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE U & operator() (Dim3 const &cell) const noexcept
 
template<class U = T, std::enable_if_t<!std::is_void_v< U >, int > = 0>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE U & operator() (Dim3 const &cell, int n) const noexcept
 
template<class U = T, std::enable_if_t<!std::is_void_v< U >, int > = 0>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE T * ptr (Dim3 const &cell) const noexcept
 
template<class U = T, std::enable_if_t<!std::is_void_v< U >, int > = 0>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE T * ptr (Dim3 const &cell, int n) const noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE T * dataPtr () const noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE std::size_t size () const noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE int nComp () const noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool contains (int i, int j, int k) const noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool contains (IntVect const &iv) const noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE bool contains (Dim3 const &cell) const noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE CellData< T > cellData (int i, int j, int k) const noexcept
 

Additional Inherited Members

- Public Attributes inherited from amrex::Array4< T >
T *AMREX_RESTRICT p
 
Long jstride = 0
 
Long kstride = 0
 
Long nstride = 0
 
Dim3 begin {1,1,1}
 
Dim3 end {0,0,0}
 
int ncomp =0
 

Constructor & Destructor Documentation

◆ PolymorphicArray4()

template<typename T >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::PolymorphicArray4< T >::PolymorphicArray4 ( Array4< T > const &  a)
inline

Member Function Documentation

◆ operator()() [1/3]

template<typename T >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE T& amrex::PolymorphicArray4< T >::operator() ( int  i,
int  j,
int  k 
) const
inlinenoexcept

◆ operator()() [2/3]

template<typename T >
template<class U = T, std::enable_if_t< amrex::HasMultiComp< U >::value, int > = 0>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE U::reference_type amrex::PolymorphicArray4< T >::operator() ( int  i,
int  j,
int  k,
int  n 
) const
inlinenoexcept

◆ operator()() [3/3]

template<typename T >
template<class U = T, std::enable_if_t<!amrex::HasMultiComp< U >::value, int > = 0>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE U& amrex::PolymorphicArray4< T >::operator() ( int  i,
int  j,
int  k,
int  n 
) const
inlinenoexcept

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