Hydra  4.0.1
A header-only templated C++ framework to perform data analysis on massively parallel platforms.
ZipIteratorUtility.h File Reference
#include <hydra/detail/Config.h>
#include <hydra/detail/IteratorTraits.h>
#include <hydra/detail/ZipIteratorTraits.h>
#include <hydra/detail/external/hydra_thrust/iterator/zip_iterator.h>
#include <hydra/detail/external/hydra_thrust/type_traits/void_t.h>
#include <type_traits>
Include dependency graph for ZipIteratorUtility.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 hydra
 Generic policies definition.
 
 hydra::detail
 
 hydra::detail::meld_iterators_ns
 

Functions

template<typename T >
auto hydra::detail::meld_iterators_ns::convert_to_tuple (T &&iterator) -> typename std::enable_if< detail::is_iterator< T >::value &&detail::is_zip_iterator< T >::value, decltype(std::declval< T >().get_iterator_tuple()) >::type
 
template<typename ... Iterators>
auto hydra::detail::meld_iterators (Iterators &&... iterators) -> decltype(hydra::thrust::make_zip_iterator(hydra::thrust::tuple_cat(meld_iterators_ns::convert_to_tuple(std::forward< Iterators >(iterators))...)))
 
template<typename ... T>
std::enable_if< all_true< is_zip_iterator< T >::value... >::value, typename detail::merged_zip_iterator< T... >::type >::type hydra::detail::zip_iterator_cat (T const &... zip_iterators)