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

#include <AMReX_TableData.H>

Public Member Functions

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

Public Attributes

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

Static Private Member Functions

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

Constructor & Destructor Documentation

◆ Table2D() [1/3]

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

◆ Table2D() [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::Table2D< T, ORDER >::Table2D ( Table2D< std::remove_const_t< T >, ORDER > const &  rhs)
inlineconstexprnoexcept

◆ Table2D() [3/3]

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

Member Function Documentation

◆ len0()

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

◆ operator bool()

template<typename T , typename ORDER = Order::F>
AMREX_GPU_HOST_DEVICE amrex::Table2D< 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::Table2D< T, ORDER >::operator() ( int  i,
int  j 
) const
inlinenoexcept

Member Data Documentation

◆ begin

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

◆ end

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

◆ p

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

◆ stride1

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

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