Thrill  0.1
zip_window.hpp File Reference
#include <thrill/api/dia.hpp>
#include <thrill/api/dop_node.hpp>
#include <thrill/common/functional.hpp>
#include <thrill/common/logger.hpp>
#include <thrill/common/string.hpp>
#include <thrill/data/file.hpp>
#include <tlx/meta/apply_tuple.hpp>
#include <tlx/meta/call_for_range.hpp>
#include <tlx/meta/call_foreach_with_index.hpp>
#include <tlx/meta/vexpand.hpp>
#include <tlx/meta/vmap_for_range.hpp>
#include <algorithm>
#include <array>
#include <functional>
#include <tuple>
#include <vector>
+ Include dependency graph for zip_window.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ArrayTag
 tag structure for ZipWindow() More...
 
class  ZipWindowNode< ValueType, ZipFunction_, Pad_, UnequalCheck, UseStdArray, kNumInputs_ >
 
class  ZipWindowNode< ValueType, ZipFunction_, Pad_, UnequalCheck, UseStdArray, kNumInputs_ >::RegisterParent
 Register Parent PreOp Hooks, instantiated and called for each Zip parent. More...
 
class  ZipWindowReader< ZipWindowNode, UseArray >
 
class  ZipWindowReader< ZipWindowNode, false >
 template specialization Reader which delivers std::vector<>s to ZipFunction More...
 
class  ZipWindowReader< ZipWindowNode, true >
 template specialization Reader which delivers std::array<>s to ZipFunction More...
 
struct  ZipWindowTraits< ReturnType(*)(Args...)>
 specialize for function pointers More...
 
struct  ZipWindowTraits< ReturnType(ClassType::*)(Args...) const >
 specialize for pointers to const member function More...
 
struct  ZipWindowTraits< ReturnType(ClassType::*)(Args...)>
 specialize for pointers to mutable member function More...
 

Namespaces

 thrill
 
 thrill::api
 

Macros

#define THRILL_API_ZIP_WINDOW_HEADER
 

Functions

template<typename ZipFunction , typename FirstDIAType , typename FirstDIAStack , typename... DIAs>
auto ZipWindow (const std::array< size_t, 1+sizeof ...(DIAs)> &window_size, const ZipFunction &zip_function, const DIA< FirstDIAType, FirstDIAStack > &first_dia, const DIAs &... dias)
 Zips two DIAs of equal size in style of functional programming by applying zip_function to the i-th fixed-sized windows of both input DIAs to form the i-th element of the output DIA. More...
 
template<typename ZipFunction , typename FirstDIAType , typename FirstDIAStack , typename... DIAs>
auto ZipWindow (struct CutTag, const std::array< size_t, 1+sizeof ...(DIAs)> &window_size, const ZipFunction &zip_function, const DIA< FirstDIAType, FirstDIAStack > &first_dia, const DIAs &... dias)
 Zips two DIAs of equal size in style of functional programming by applying zip_function to the i-th fixed-sized windows of both input DIAs to form the i-th element of the output DIA. More...
 
template<typename ZipFunction , typename FirstDIAType , typename FirstDIAStack , typename... DIAs>
auto ZipWindow (struct PadTag, const std::array< size_t, 1+sizeof ...(DIAs)> &window_size, const ZipFunction &zip_function, const typename ZipWindowTraits< ZipFunction >::value_type_tuple_plain &padding, const DIA< FirstDIAType, FirstDIAStack > &first_dia, const DIAs &... dias)
 Zips two DIAs of equal size in style of functional programming by applying zip_function to the i-th fixed-sized windows of both input DIAs to form the i-th element of the output DIA. More...
 
template<typename ZipFunction , typename FirstDIAType , typename FirstDIAStack , typename... DIAs>
auto ZipWindow (struct PadTag, const std::array< size_t, 1+sizeof ...(DIAs)> &window_size, const ZipFunction &zip_function, const DIA< FirstDIAType, FirstDIAStack > &first_dia, const DIAs &... dias)
 Zips two DIAs of equal size in style of functional programming by applying zip_function to the i-th fixed-sized windows of both input DIAs to form the i-th element of the output DIA. More...
 
template<typename ZipFunction , typename FirstDIAType , typename FirstDIAStack , typename... DIAs>
auto ZipWindow (struct ArrayTag, struct PadTag, const std::array< size_t, 1+sizeof ...(DIAs)> &window_size, const ZipFunction &zip_function, const typename ZipWindowTraits< ZipFunction >::value_type_tuple_plain &padding, const DIA< FirstDIAType, FirstDIAStack > &first_dia, const DIAs &... dias)
 Zips two DIAs of equal size in style of functional programming by applying zip_function to the i-th fixed-sized windows of both input DIAs to form the i-th element of the output DIA. More...
 
template<typename ZipFunction , typename FirstDIAType , typename FirstDIAStack , typename... DIAs>
auto ZipWindow (struct ArrayTag, struct PadTag, const std::array< size_t, 1+sizeof ...(DIAs)> &window_size, const ZipFunction &zip_function, const DIA< FirstDIAType, FirstDIAStack > &first_dia, const DIAs &... dias)
 Zips two DIAs of equal size in style of functional programming by applying zip_function to the i-th fixed-sized windows of both input DIAs to form the i-th element of the output DIA. More...
 

Variables

const struct ArrayTag ArrayTag
 global const ArrayTag instance More...
 

Macro Definition Documentation

◆ THRILL_API_ZIP_WINDOW_HEADER

#define THRILL_API_ZIP_WINDOW_HEADER

Definition at line 17 of file zip_window.hpp.