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

#include <AMReX_TableData.H>

Public Member Functions

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

Public Attributes

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

Static Private Member Functions

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

Constructor & Destructor Documentation

◆ Table3D() [1/3]

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

◆ Table3D() [2/3]

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

◆ Table3D() [3/3]

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

Member Function Documentation

◆ len0()

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

◆ len1()

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

◆ operator bool()

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

◆ operator()()

template<typename T , Order 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::Table3D< T, ORDER >::operator() ( int  i,
int  j,
int  k 
) const
inlinenoexcept

Member Data Documentation

◆ begin

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

◆ end

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

◆ p

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

◆ stride1

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

◆ stride2

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

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