1 #ifndef LIBFASTER_WORKERFDDGROUP_H 2 #define LIBFASTER_WORKERFDDGROUP_H 5 #include <unordered_map> 9 #include "workerFddBase.h" 16 std::vector<workerFddBase*> members;
17 std::shared_ptr<std::vector<K>> uKeys;
18 std::shared_ptr<std::unordered_map<K, int>> keyMap;
27 std::vector< std::vector<void*>> findKeyInterval(
size_t i);
28 std::vector< std::vector<void*> > * getMemberKeyLocations(
size_t i);
35 template <
typename L,
typename U>
52 template <
typename L,
typename U>
59 template <
typename L,
typename U>
60 void flatMapByKeyI(
workerFddBase * dest,
void * mapByKeyFunc);
64 template <
typename L,
typename U>
67 void updateByKey(
void * mapByKeyFunc);
68 void bulkUpdate(
void * mapByKeyFunc);
70 void exchangeDataByKey(
fastComm *comm UNUSED){};
71 std::vector< std::vector<void*> > * getKeyLocations(){
return NULL; }
78 fddType getType() {
return Null; }
79 fddType getKeyType() {
return this->keyType; }
81 void setData(
void * d UNUSED,
size_t s UNUSED) {}
82 void setData(
void * d UNUSED,
size_t * ds UNUSED,
size_t s UNUSED) {}
83 void setData(
void * k UNUSED,
void * d UNUSED,
size_t s UNUSED) {}
84 void setData(
void * k UNUSED,
void * d UNUSED,
size_t * ds UNUSED,
size_t s UNUSED) {}
86 void setDataRaw(
void * d UNUSED,
size_t s UNUSED) {}
87 void setDataRaw(
void * d UNUSED,
size_t * ds UNUSED,
size_t s UNUSED) {}
88 void setDataRaw(
void * k UNUSED,
void * d UNUSED,
size_t s UNUSED) {}
89 void setDataRaw(
void * k UNUSED,
void * d UNUSED,
size_t * ds UNUSED,
size_t s UNUSED) {}
91 void * getItem(
size_t UNUSED p) {
return NULL; }
93 void * getKeys() {
return NULL; }
94 void * getData() {
return NULL; }
95 size_t getSize() {
return 0; }
96 size_t * getLineSizes() {
return NULL; }
97 void setSize(
size_t s UNUSED) {}
99 size_t itemSize() {
return 0; }
100 size_t baseSize() {
return 0; }
102 void deleteItem(
void * item UNUSED) {}
105 void insertl(
void * v UNUSED) {}
106 void insert(
void * k UNUSED,
void * v UNUSED,
size_t s UNUSED) {}
111 void collect(
fastComm * comm UNUSED) { }
113 void * getUKeys(){
return &uKeys; }
114 void setUKeys(
void * uk){ uKeys = * (std::shared_ptr<std::vector<K>>*) uk; }
115 void * getKeyMap(){
return &keyMap; }
116 void setKeyMap(
void * km){ keyMap = * (std::shared_ptr<std::unordered_map<K, int>>*) km; }
118 void writeToFile(
void * path UNUSED,
size_t procId UNUSED,
void * sufix UNUSED){}
unsigned int fddOpType
Dataset operation type.
unsigned int fddType
Dataset type.