18 #ifndef AGGOUT_PROCESSOR_CC
19 #define AGGOUT_PROCESSOR_CC
26 template <
class OutputClass,
class KeyType,
class ValueType>
35 template <
class OutputClass,
class KeyType,
class ValueType>
41 template <
class OutputClass,
class KeyType,
class ValueType>
46 if (begin !=
nullptr) {
57 template <
class OutputClass,
class KeyType,
class ValueType>
59 size_t numBytesInPage) {
62 blockPtr = std::make_shared<UseTemporaryAllocationBlock>(pageToWriteTo, numBytesInPage);
63 outputData = makeObject<Vector<Handle<OutputClass>>>();
67 template <
class OutputClass,
class KeyType,
class ValueType>
81 if (!((*begin) != (*end))) {
82 PDB_COUT <<
"AggOutProcessor: processed " << pos <<
" elements in the input page"
88 temp->getKey() = (*(*begin)).key;
89 temp->getValue() = (*(*begin)).value;
90 outputData->push_back(temp);
101 template <
class OutputClass,
class KeyType,
class ValueType>
106 template <
class OutputClass,
class KeyType,
class ValueType>
109 outputData =
nullptr;
112 template <
class OutputClass,
class KeyType,
class ValueType>
Handle< ObjType > getRootObject()
Record< ObjType > * getRecord(Handle< ObjType > &forMe)
void loadOutputPage(void *pageToWriteTo, size_t numBytesInPage) override
void loadInputPage(void *pageToProcess) override
void clearInputPage() override
void clearOutputPage() override
bool fillNextOutputPage() override
void initialize() override