A platform for high-performance distributed tool and library development written in C++. It can be deployed in two different cluster modes: standalone or distributed. API for v0.5.0, released on June 13, 2018.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
JoinTuple.h File Reference
#include "JoinMap.h"
#include "SinkMerger.h"
#include "SinkShuffler.h"
#include "JoinTupleBase.h"
#include "PDBPage.h"
#include "RecordIterator.h"
+ Include dependency graph for JoinTuple.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  pdb::IsAbstract< T >
 
class  pdb::JoinTuple< HoldMe, MeTo >
 
class  pdb::JoinProbe< RHSType >
 
class  pdb::JoinSinkMerger< RHSType >
 
class  pdb::PartitionedJoinMapTupleSetIterator< RHSType >
 
class  pdb::JoinSinkShuffler< RHSType >
 
class  pdb::PartitionedJoinSink< RHSType >
 
class  pdb::JoinSink< RHSType >
 
class  pdb::JoinTupleSingleton
 
class  pdb::JoinSingleton< HoldMe >
 

Namespaces

 pdb
 

Typedefs

typedef std::shared_ptr
< JoinTupleSingleton
pdb::JoinTuplePtr
 

Functions

template<typename T >
void pdb::copyFrom (T &out, Handle< T > &in)
 
template<typename T >
void pdb::copyFrom (T &out, T &in)
 
template<typename T >
void pdb::copyFrom (Handle< T > &out, Handle< T > &in)
 
template<typename T >
void pdb::copyFrom (Handle< T > &out, T &in)
 
template<typename T >
void pdb::copyTo (T &out, Handle< T > &in)
 
template<typename T >
void pdb::copyTo (Handle< T > &out, Handle< T > &in)
 
template<typename TypeToCreate >
std::enable_if< sizeof(TypeToCreate::myOtherData)==0,
void >::type 
pdb::createCols (void **putUsHere, TupleSet &processMe, int offset, int whichPos, std::vector< int > positions)
 
template<typename TypeToCreate >
std::enable_if< sizeof(TypeToCreate::myOtherData)!=0,
void >::type 
pdb::createCols (void **putUsHere, TupleSet &processMe, int offset, int whichPos, std::vector< int > positions)
 
template<typename TypeToPackData >
std::enable_if<(sizeof(TypeToPackData::myOtherData)==0)&&(sizeof(TypeToPackData::myData)!=0),
void >::type 
pdb::packData (TypeToPackData &arg, TypeToPackData data)
 
template<typename TypeToPackData >
std::enable_if<(sizeof(TypeToPackData::myOtherData)!=0)&&(sizeof(TypeToPackData::myData)!=0),
void >::type 
pdb::packData (TypeToPackData &arg, TypeToPackData data)
 
template<typename TypeToPack >
std::enable_if< sizeof(TypeToPack::myOtherData)==0,
void >::type 
pdb::pack (TypeToPack &arg, int whichPosInTupleSet, int whichVec, void **us)
 
template<typename TypeToPack >
std::enable_if< sizeof(TypeToPack::myOtherData)!=0,
void >::type 
pdb::pack (TypeToPack &arg, int whichPosInTupleSet, int whichVec, void **us)
 
template<typename TypeToUnPack >
std::enable_if< sizeof(TypeToUnPack::myOtherData)==0,
void >::type 
pdb::unpack (TypeToUnPack &arg, int whichPosInTupleSet, int whichVec, void **us)
 
template<typename TypeToUnPack >
std::enable_if< sizeof(TypeToUnPack::myOtherData)!=0,
void >::type 
pdb::unpack (TypeToUnPack &arg, int whichPosInTupleSet, int whichVec, void **us)
 
template<typename TypeToTruncate >
std::enable_if< sizeof(TypeToTruncate::myOtherData)==0,
void >::type 
pdb::eraseEnd (int i, int whichVec, void **us)
 
template<typename TypeToTruncate >
std::enable_if< sizeof(TypeToTruncate::myOtherData)!=0,
void >::type 
pdb::eraseEnd (int i, int whichVec, void **us)
 
template<typename TypeToTruncate >
std::enable_if< sizeof(TypeToTruncate::myOtherData)==0,
void >::type 
pdb::truncate (int i, int whichVec, void **us)
 
template<typename TypeToTruncate >
std::enable_if< sizeof(TypeToTruncate::myOtherData)!=0,
void >::type 
pdb::truncate (int i, int whichVec, void **us)
 
int pdb::findType (std::string &findMe, std::vector< std::string > &typeList)
 
template<typename In1 >
std::enable_if
< std::is_base_of
< JoinTupleBase, In1 >::value,
JoinTuplePtr >::type 
pdb::findCorrectJoinTuple (std::vector< std::string > &typeList, std::vector< int > &whereEveryoneGoes)
 
template<typename In1 , typename... Rest>
std::enable_if< sizeof...(Rest)!=0
&&!std::is_base_of
< JoinTupleBase, In1 >::value,
JoinTuplePtr >::type 
pdb::findCorrectJoinTuple (std::vector< std::string > &typeList, std::vector< int > &whereEveryoneGoes)
 
template<typename In1 , typename In2 , typename... Rest>
std::enable_if
< std::is_base_of
< JoinTupleBase, In1 >::value,
JoinTuplePtr >::type 
pdb::findCorrectJoinTuple (std::vector< std::string > &typeList, std::vector< int > &whereEveryoneGoes)
 
template<typename In1 >
std::enable_if
<!std::is_base_of
< JoinTupleBase, In1 >::value,
JoinTuplePtr >::type 
pdb::findCorrectJoinTuple (std::vector< std::string > &typeList, std::vector< int > &whereEveryoneGoes)