AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
for_all.hpp File Reference
#include "axom/config.hpp"
#include "axom/core/execution/execution_space.hpp"
#include "axom/core/execution/nested_for_exec.hpp"
#include "axom/core/Macros.hpp"
#include "axom/core/Types.hpp"
#include "axom/core/StackArray.hpp"
#include <type_traits>
#include <utility>

Namespaces

 axom
 

Functions

Generic Loop Traversal Functions
template<typename ExecSpace , typename KernelType >
void axom::for_all (const IndexType &begin, const IndexType &end, KernelType &&kernel) noexcept
 Loops over a specified contiguous range, I:[begin,end-1]. More...
 
template<typename ExecSpace , typename KernelType >
void axom::for_all (const IndexType &N, KernelType &&kernel) noexcept
 Loops over the contiguous range, I:[0,N-1], given by its length, N. More...
 
template<typename ExecSpace , typename KernelType >
void axom::for_all (const axom::StackArray< IndexType, 2 > &iRange, const axom::StackArray< IndexType, 2 > &jRange, KernelType &&kernel) noexcept
 Loops over a 2D specified contiguous range. More...
 
template<typename ExecSpace , typename KernelType >
void axom::for_all (const axom::StackArray< IndexType, 2 > &shape, KernelType &&kernel) noexcept
 Loops over a 2D specified contiguous range. More...
 
template<typename ExecSpace , typename KernelType >
void axom::for_all (const axom::StackArray< IndexType, 2 > &iRange, const axom::StackArray< IndexType, 2 > &jRange, const axom::StackArray< IndexType, 2 > &kRange, KernelType &&kernel) noexcept
 Loops over a 3D specified contiguous range. More...
 
template<typename ExecSpace , typename KernelType >
void axom::for_all (const StackArray< IndexType, 3 > &shape, KernelType &&kernel) noexcept
 Loops over a 3D specified contiguous range. More...