Block-Structured AMR Software Framework
Loading...
Searching...
No Matches
AMReX_Array4.H File Reference

Lightweight non-owning multidimensional array accessors for GPU and CPU. More...

#include <AMReX_Config.H>
#include <AMReX.H>
#include <AMReX_IntVect.H>
#include <AMReX_GpuPrint.H>
#include <AMReX_ConstexprFor.H>
#include <iostream>
#include <sstream>

Go to the source code of this file.

Classes

class  amrex::CellData< T >
 Lightweight accessor for data associated with a single cell. More...
 
class  amrex::ArrayND< T, N, last_dim_component >
 A multidimensional array accessor. More...
 
class  amrex::PolymorphicArray4< T >
 Array4 subclass that provides uniform (i,j,k,n) access for both AoS and SoA data. More...
 

Namespaces

namespace  amrex
 

Typedefs

template<typename T >
using amrex::Array4 = ArrayND< T, 4, true >
 Convenient alias for a 4D ArrayND with three spatial dimensions plus a component dimension.
 

Functions

template<class T >
__host__ __device__ Dim3 amrex::lbound (Array4< T > const &a) noexcept
 Return the inclusive lower bounds of an Array4 in Dim3 form.
 
template<class T >
__host__ __device__ Dim3 amrex::ubound (Array4< T > const &a) noexcept
 Return the inclusive upper bounds of an Array4 in Dim3 form.
 
template<class T >
__host__ __device__ Dim3 amrex::length (Array4< T > const &a) noexcept
 Return the spatial extents of an Array4 in Dim3 form.
 
template<typename T , int N, bool C>
std::ostream & amrex::operator<< (std::ostream &os, const ArrayND< T, N, C > &a)
 Stream an ArrayND as its index bounds.
 
template<typename T >
PolymorphicArray4< T > amrex::makePolymorphic (Array4< T > const &a)
 

Detailed Description

Lightweight non-owning multidimensional array accessors for GPU and CPU.