Block-Structured AMR Software Framework
amrex::Table4D< T, ORDER > Struct Template Reference

#include <AMReX_TableData.H>

Public Member Functions

constexpr Table4D () noexcept=default
 
template<class U = T, std::enable_if_t< std::is_const_v< U >, int > = 0>
constexpr AMREX_GPU_HOST_DEVICE Table4D (Table4D< std::remove_const_t< T >, ORDER > const &rhs) noexcept
 
constexpr AMREX_GPU_HOST_DEVICE Table4D (T *a_p, GpuArray< int, 4 > const &a_begin, GpuArray< int, 4 > const &a_end) 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, int n) const noexcept
 

Public Attributes

T *AMREX_RESTRICT p = nullptr
 
Long stride1 = 0
 
Long stride2 = 0
 
Long stride3 = 0
 
GpuArray< int, 4 > begin {{1,1,1,1}}
 
GpuArray< int, 4 > end {{0,0,0,0}}
 

Static Private Member Functions

static constexpr int len0 (GpuArray< int, 4 > const &a_begin, GpuArray< int, 4 > const &a_end) noexcept
 
static constexpr int len1 (GpuArray< int, 4 > const &a_begin, GpuArray< int, 4 > const &a_end) noexcept
 
static constexpr int len2 (GpuArray< int, 4 > const &a_begin, GpuArray< int, 4 > const &a_end) noexcept
 

Constructor & Destructor Documentation

◆ Table4D() [1/3]

template<typename T , typename ORDER = Order::F>
constexpr amrex::Table4D< T, ORDER >::Table4D ( )
constexprdefaultnoexcept

◆ Table4D() [2/3]

template<typename T , typename ORDER = Order::F>
template<class U = T, std::enable_if_t< std::is_const_v< U >, int > = 0>
constexpr AMREX_GPU_HOST_DEVICE amrex::Table4D< T, ORDER >::Table4D ( Table4D< std::remove_const_t< T >, ORDER > const &  rhs)
inlineconstexprnoexcept

◆ Table4D() [3/3]

template<typename T , typename ORDER = Order::F>
constexpr AMREX_GPU_HOST_DEVICE amrex::Table4D< T, ORDER >::Table4D ( T *  a_p,
GpuArray< int, 4 > const &  a_begin,
GpuArray< int, 4 > const &  a_end 
)
inlineconstexprnoexcept

Member Function Documentation

◆ len0()

template<typename T , typename ORDER = Order::F>
static constexpr int amrex::Table4D< T, ORDER >::len0 ( GpuArray< int, 4 > const &  a_begin,
GpuArray< int, 4 > const &  a_end 
)
inlinestaticconstexprprivatenoexcept

◆ len1()

template<typename T , typename ORDER = Order::F>
static constexpr int amrex::Table4D< T, ORDER >::len1 ( GpuArray< int, 4 > const &  a_begin,
GpuArray< int, 4 > const &  a_end 
)
inlinestaticconstexprprivatenoexcept

◆ len2()

template<typename T , typename ORDER = Order::F>
static constexpr int amrex::Table4D< T, ORDER >::len2 ( GpuArray< int, 4 > const &  a_begin,
GpuArray< int, 4 > const &  a_end 
)
inlinestaticconstexprprivatenoexcept

◆ operator bool()

template<typename T , typename ORDER = Order::F>
AMREX_GPU_HOST_DEVICE amrex::Table4D< T, ORDER >::operator bool ( ) const
inlineexplicitnoexcept

◆ operator()()

template<typename T , typename ORDER = Order::F>
template<class U = T, std::enable_if_t<!std::is_void_v< U >, int > = 0>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE U& amrex::Table4D< T, ORDER >::operator() ( int  i,
int  j,
int  k,
int  n 
) const
inlinenoexcept

Member Data Documentation

◆ begin

template<typename T , typename ORDER = Order::F>
GpuArray<int,4> amrex::Table4D< T, ORDER >::begin {{1,1,1,1}}

◆ end

template<typename T , typename ORDER = Order::F>
GpuArray<int,4> amrex::Table4D< T, ORDER >::end {{0,0,0,0}}

◆ p

template<typename T , typename ORDER = Order::F>
T* AMREX_RESTRICT amrex::Table4D< T, ORDER >::p = nullptr

◆ stride1

template<typename T , typename ORDER = Order::F>
Long amrex::Table4D< T, ORDER >::stride1 = 0

◆ stride2

template<typename T , typename ORDER = Order::F>
Long amrex::Table4D< T, ORDER >::stride2 = 0

◆ stride3

template<typename T , typename ORDER = Order::F>
Long amrex::Table4D< T, ORDER >::stride3 = 0

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