libfaster API Documentation  Development Version
Super fast distributted computing
Map Operators

Description

Run a n to n map operaton.

Parameters
K- Key type of the created dataset
T- Value type of the source dataset
L- Key type of the created dataset
U- Value type of the created dataset
funcP- A function pointer of a user function U F(T&) that will be used on each dataset entry
Returns
A pointer to a new dataset

Functions

template<typename U >
fdd< U > * faster::fdd< T >::map (mapFunctionP< T, U > funcP)
 creates a fdd<U>
 
template<typename U >
fdd< U > * faster::fdd< T >::map (PmapFunctionP< T, U > funcP)
 creates a fdd<U *>
 
template<typename L , typename U >
indexedFdd< L, U > * faster::fdd< T >::map (ImapFunctionP< T, L, U > funcP)
 creates a indexedFdd<L,U>
 
template<typename L , typename U >
indexedFdd< L, U > * faster::fdd< T >::map (IPmapFunctionP< T, L, U > funcP)
 creates a indexedFdd<L,U*>
 
template<typename L , typename U >
indexedFdd< L, U > * faster::indexedFdd< K, T >::map (ImapIFunctionP< K, T, L, U > funcP)
 creates a indexedFdd<L,U>
 
template<typename L , typename U >
indexedFdd< L, U > * faster::indexedFdd< K, T >::map (IPmapIFunctionP< K, T, L, U > funcP)
 creates a indexedFdd<L,U*>
 
template<typename U >
fdd< U > * faster::indexedFdd< K, T >::map (mapIFunctionP< K, T, U > funcP)
 creates a fdd<U>
 
template<typename U >
fdd< U > * faster::indexedFdd< K, T >::map (PmapIFunctionP< K, T, U > funcP)
 creates a fdd<U *>
 

Typedefs

template<typename T , typename U >
using faster::mapFunctionP = U(*)(T &input)
 
template<typename T , typename L , typename U >
using faster::ImapFunctionP = std::pair< L, U >(*)(T &input)
 
template<typename T , typename U >
using faster::PmapFunctionP = std::pair< U, size_t >(*)(T &input)
 
template<typename T , typename L , typename U >
using faster::IPmapFunctionP = std::tuple< L, U, size_t >(*)(T &input)
 
template<typename T , typename U >
using faster::mapPFunctionP = U(*)(T *input, size_t size)
 
template<typename T , typename L , typename U >
using faster::ImapPFunctionP = std::pair< L, U >(*)(T *input, size_t size)
 
template<typename T , typename U >
using faster::PmapPFunctionP = std::pair< U, size_t >(*)(T *input, size_t size)
 
template<typename T , typename L , typename U >
using faster::IPmapPFunctionP = std::tuple< L, U, size_t >(*)(T *input, size_t size)
 
template<typename K , typename T , typename L , typename U >
using faster::ImapIFunctionP = std::pair< L, U >(*)(const K &inKey, T &input)
 
template<typename K , typename T , typename U >
using faster::mapIFunctionP = U(*)(const K &inKey, T &input)
 
template<typename K , typename T , typename L , typename U >
using faster::IPmapIFunctionP = std::tuple< L, U, size_t >(*)(const K &inKey, T &input)
 
template<typename K , typename T , typename U >
using faster::PmapIFunctionP = std::pair< U, size_t >(*)(const K &inKey, T &input)
 
template<typename K , typename T , typename L , typename U >
using faster::ImapIPFunctionP = std::pair< L, U >(*)(K inKey, T *input, size_t size)
 
template<typename K , typename T , typename U >
using faster::mapIPFunctionP = U(*)(K inKey, T *input, size_t size)
 
template<typename K , typename T , typename L , typename U >
using faster::IPmapIPFunctionP = std::tuple< L, U, size_t >(*)(K inKey, T *input, size_t size)
 
template<typename K , typename T , typename U >
using faster::PmapIPFunctionP = std::pair< U, size_t >(*)(K inKey, T *input, size_t size)
 
template<typename K , typename To >
using faster::mapByKeyG2FunctionP = To(*)(const K &key, std::vector< void * > &a, std::vector< void * > &b)
 
template<typename K , typename To >
using faster::mapByKeyG3FunctionP = To(*)(const K &key, std::vector< void * > &a, std::vector< void * > &b, std::vector< void * > &c)
 
template<typename K , typename Ko , typename To >
using faster::ImapByKeyG2FunctionP = std::pair< Ko, To >(*)(const K &key, std::vector< void * > &a, std::vector< void * > &b)
 
template<typename K , typename Ko , typename To >
using faster::ImapByKeyG3FunctionP = std::pair< Ko, To >(*)(const K &key, std::vector< void * > &a, std::vector< void * > &b, std::vector< void * > &c)