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.