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

Header file for multi-iterator Zip Views. More...

#include "RAJA/config.hpp"
#include <iostream>
#include <type_traits>
#include "RAJA/pattern/detail/algorithm.hpp"
#include "RAJA/util/camp_aliases.hpp"
#include "RAJA/util/concepts.hpp"
#include "RAJA/util/zip_tuple.hpp"
#include "RAJA/util/Span.hpp"

Go to the source code of this file.

Classes

struct  RAJA::ZipIterator< Iters >
 ZipIterator class for simultaneously iterating over multiple iterators. This is not a standards compliant iterator. More...
 
struct  RAJA::CompareFirst< T, Compare >
 Comparator object that compares the first member of tuple like objects. More...
 

Namespaces

 RAJA
 

Functions

template<typename... Args>
RAJA_HOST_DEVICE constexpr RAJA_INLINE auto RAJA::zip (Args &&... args) -> ZipIterator< camp::decay< Args >... >
 Zip multiple iterators together to iterate them simultaneously with a single ZipIterator object. More...
 
template<typename... Args>
RAJA_HOST_DEVICE constexpr RAJA_INLINE auto RAJA::zip_span (Args &&... args) -> Span< ZipIterator< detail::ContainerIter< camp::decay< Args >>... >, typename ZipIterator< detail::ContainerIter< camp::decay< Args >>... >::difference_type >
 Zip multiple containers together to iterate them simultaneously with ZipIterator objects. More...
 
template<typename T , typename Compare >
RAJA_HOST_DEVICE constexpr RAJA_INLINE auto RAJA::compare_first (Compare comp) -> CompareFirst< T, Compare >
 Make a comparator to compare first member of tuple like objects of type T. More...
 

Detailed Description

Header file for multi-iterator Zip Views.