AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
ArrayBase.hpp File Reference
#include "axom/config.hpp"
#include "axom/core/Macros.hpp"
#include "axom/core/memory_management.hpp"
#include "axom/core/utilities/Utilities.hpp"
#include "axom/core/Types.hpp"
#include "axom/core/StackArray.hpp"
#include "axom/core/numerics/matvecops.hpp"
#include "axom/core/execution/for_all.hpp"
#include <iostream>
#include <numeric>

Classes

struct  axom::detail::SubsliceProxy< T, SliceDim, BaseArray >
 
struct  axom::detail::SubsliceProxy< T, SliceDim, ArraySubslice< T, OldSliceDim, BaseArray > >
 
struct  axom::detail::SubsliceProxy< T, SliceDim, const ArraySubslice< T, OldSliceDim, BaseArray > >
 
class  axom::ArrayBase< T, DIM, ArrayType >
 
class  axom::ArrayBase< T, 1, ArrayType >
 Array implementation specific to 1D Arrays. More...
 
struct  axom::detail::all_types_are_integral_impl< Args >
 Indirection needed to dodge an MSVC compiler bug. More...
 
struct  axom::detail::all_types_are_integral_impl< First, Rest... >
 
struct  axom::detail::all_types_are_integral< Args >
 Checks if all types in a parameter pack are integral. More...
 
struct  axom::detail::ArrayOpsBase< T, false >
 
struct  axom::detail::ArrayOps< T, SPACE >
 
struct  axom::detail::ArrayOps< T, MemorySpace::Dynamic >
 
struct  axom::detail::ArrayTraits< ArraySubslice< T, SliceDim, BaseArray > >
 
class  axom::detail::ArraySubslice< T, SliceDim, BaseArray >
 Proxy class for efficiently constructing slice ArrayViews by using the generic ArrayBase constructor in ArrayView. This avoids the cost of looking up the correct allocator ID from the other ArrayView constructors. More...
 

Namespaces

 axom
 
 axom::detail
 

Functions

template<typename T , int DIM, typename ArrayType >
std::ostream & axom::print (std::ostream &os, const ArrayBase< T, DIM, ArrayType > &array)
 Free functions implementing ArrayBase's operator(s) More...
 
template<typename T , int N>
AXOM_HOST_DEVICEaxom::detail::packProduct (const T(&arr)[N])
 
template<typename T , int N>
bool axom::detail::allNonNegative (const T(&arr)[N])
 
template<int N, typename T , int DIM>
AXOM_HOST_DEVICE StackArray< T, N > axom::detail::takeLastElems (const StackArray< T, DIM > &arr)
 Takes the last N elements from an array. More...
 
Overloaded ArrayBase Operator(s)
template<typename T , int DIM, typename ArrayType >
std::ostream & axom::operator<< (std::ostream &os, const ArrayBase< T, DIM, ArrayType > &arr)
 Overloaded output stream operator. Outputs the Array-like to the given output stream. More...
 
template<typename T1 , typename T2 , int DIM, typename LArrayType , typename RArrayType >
bool axom::operator== (const ArrayBase< T1, DIM, LArrayType > &lhs, const ArrayBase< T2, DIM, RArrayType > &rhs)
 Equality comparison operator for Array-likes. More...
 
template<typename T1 , typename T2 , int DIM, typename LArrayType , typename RArrayType >
bool axom::operator!= (const ArrayBase< T1, DIM, LArrayType > &lhs, const ArrayBase< T2, DIM, RArrayType > &rhs)
 Inequality comparison operator for Arrays. More...