19 #ifndef PROJECTION_BLOCK_QUERY_PROCESSOR_CC
20 #define PROJECTION_BLOCK_QUERY_PROCESSOR_CC
29 template <
class Output,
class Input>
32 this->inputBlock =
nullptr;
33 this->outputBlock =
nullptr;
34 this->context =
nullptr;
35 this->inputObject =
nullptr;
38 template <
class Output,
class Input>
40 Selection<Output, Input>& forMe) {
43 projection = forMe.getProjection(inputObject);
48 template <
class Output,
class Input>
53 this->projection = projection;
58 template <
class Output,
class Input>
60 projectionFunc = projection.getFunc();
65 template <
class Output,
class Input>
67 this->inputBlock = inputBlock;
68 this->batchSize = this->inputBlock->getBlock().size();
73 template <
class Output,
class Input>
75 this->outputBlock = makeObject<GenericBlock>();
76 return this->outputBlock;
79 template <
class Output,
class Input>
94 int vecSize = myInVec.
size();
97 for (; posInInput < vecSize; posInInput++) {
98 inputObject = myInVec[posInInput];
110 if (this->context !=
nullptr) {
112 context->setOutputFull(
true);
119 template <
class Output,
class Input>
125 template <
class Output,
class Input>
127 outputBlock =
nullptr;
130 template <
class Output,
class Input>
132 inputBlock =
nullptr;
133 inputObject =
nullptr;
void clearInputBlock() override
void initialize() override
bool fillNextOutputBlock() override
void loadInputBlock(Handle< GenericBlock > block) override
Handle< GenericBlock > & loadOutputBlock() override
ProjectionBlockQueryProcessor(Selection< Output, Input > &forMe)
void push_back(const TypeContained &val)
~ProjectionBlockQueryProcessor()
void clearOutputBlock() override