RAJA
RAJA provides a collection of platform portability abstractions for C++ HPC applications.
Namespaces | Functions
for_each.hpp File Reference

Header file providing RAJA for_each templates. More...

#include "RAJA/config.hpp"
#include <iterator>
#include <type_traits>
#include "camp/list.hpp"
#include "RAJA/pattern/detail/algorithm.hpp"
#include "RAJA/util/macros.hpp"
#include "RAJA/util/types.hpp"

Go to the source code of this file.

Namespaces

 RAJA
 
 RAJA::detail
 

Functions

template<typename Iter , typename UnaryFunc >
constexpr RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE RAJA_INLINE UnaryFunc RAJA::detail::for_each (Iter begin, Iter end, UnaryFunc func)
 
template<typename UnaryFunc , typename... Ts>
constexpr RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE RAJA_INLINE UnaryFunc RAJA::detail::for_each_type (camp::list< Ts... > const &, UnaryFunc func)
 
template<typename Tuple , typename UnaryFunc , camp::idx_t... Is>
constexpr RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE RAJA_INLINE UnaryFunc RAJA::detail::for_each_tuple (Tuple &&t, UnaryFunc func, camp::idx_seq< Is... >)
 
template<typename Container , typename UnaryFunc >
constexpr RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE RAJA_INLINE concepts::enable_if_t< UnaryFunc, type_traits::is_range< Container > > RAJA::for_each (Container &&c, UnaryFunc func)
 Apply func to all the elements in the given range in order using a sequential for loop in O(N) operations and O(1) extra memory see https://en.cppreference.com/w/cpp/algorithm/for_each. More...
 
template<typename UnaryFunc , typename... Ts>
constexpr RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE RAJA_INLINE UnaryFunc RAJA::for_each_type (camp::list< Ts... > const &c, UnaryFunc func)
 Apply func to each type in the given list in order using a compile-time expansion in O(N) operations and O(1) extra memory. More...
 
template<typename Tuple , typename UnaryFunc >
constexpr RAJA_SUPPRESS_HD_WARN RAJA_HOST_DEVICE RAJA_INLINE UnaryFunc RAJA::for_each_tuple (Tuple &&t, UnaryFunc func)
 Apply func to each object in the given tuple or tuple like type in order using a compile-time expansion in O(N) operations and O(1) extra memory. More...
 

Detailed Description

Header file providing RAJA for_each templates.