Block-Structured AMR Software Framework
AMReX_TagParallelFor.H File Reference
#include <AMReX_Config.H>
#include <AMReX_Arena.H>
#include <AMReX_Array4.H>
#include <AMReX_Box.H>
#include <AMReX_GpuLaunch.H>
#include <AMReX_Vector.H>
#include <limits>
#include <utility>

Go to the source code of this file.

Classes

struct  amrex::Array4PairTag< T >
 
struct  amrex::Array4CopyTag< T0, T1 >
 
struct  amrex::Array4MaskCopyTag< T0, T1 >
 
struct  amrex::Array4Tag< T >
 
struct  amrex::Array4BoxTag< T >
 
struct  amrex::Array4BoxValTag< T >
 
struct  amrex::Array4BoxOrientationTag< T >
 
struct  amrex::Array4BoxOffsetTag< T >
 
struct  amrex::VectorTag< T >
 

Namespaces

 amrex
 
 amrex::detail
 

Functions

template<typename T >
std::enable_if_t< std::is_same< std::decay_t< decltype(std::declval< T >).box())>, Box >::value, Long > amrex::detail::get_tag_size (T const &tag) noexcept
 
template<typename T >
std::enable_if_t< std::is_integral< std::decay_t< decltype(std::declval< T >).size())> >::value, Long > amrex::detail::get_tag_size (T const &tag) noexcept
 
template<typename T , typename F >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE std::enable_if_t< std::is_same< std::decay_t< decltype(std::declval< T >).box())>, Box >::value > amrex::detail::tagparfor_call_f (int icell, T const &tag, F &&f) noexcept
 
template<typename T , typename F >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE std::enable_if_t< std::is_integral< std::decay_t< decltype(std::declval< T >).size())> >::value > amrex::detail::tagparfor_call_f (int i, T const &tag, F &&f) noexcept
 
template<class TagType , class F >
void amrex::detail::ParallelFor_doit (Vector< TagType > const &tags, F &&f)
 
template<class TagType , class F >
std::enable_if_t< std::is_same< std::decay_t< decltype(std::declval< TagType >).box())>, Box >::value > amrex::ParallelFor (Vector< TagType > const &tags, int ncomp, F &&f)
 
template<class TagType , class F >
std::enable_if_t< std::is_same< std::decay_t< decltype(std::declval< TagType >).box())>, Box >::value > amrex::ParallelFor (Vector< TagType > const &tags, F &&f)
 
template<class TagType , class F >
std::enable_if_t< std::is_integral< std::decay_t< decltype(std::declval< TagType >).size())> >::value > amrex::ParallelFor (Vector< TagType > const &tags, F &&f)