本文整理汇总了C++中Page::clear方法的典型用法代码示例。如果您正苦于以下问题:C++ Page::clear方法的具体用法?C++ Page::clear怎么用?C++ Page::clear使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Page
的用法示例。
在下文中一共展示了Page::clear方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getNext
Operator::GetNextResultT BitEntropyPrinter::getNext(unsigned short threadid)
{
Page* in;
Operator::ResultCode rc;
unsigned int tupoffset;
Page* out = output[threadid];
out->clear();
// Populate output.
//
populateOutputPage(out, schema, threadid);
// Do first read.
//
Operator::GetNextResultT result = nextOp->getNext(threadid);
rc = result.first;
in = result.second;
tupoffset = 0;
while (rc != Error)
{
void* tuple;
dbgassert(rc != Error);
dbgassert(in != NULL);
dbgassert(tupoffset >= 0);
dbgassert(tupoffset <= (buffsize / nextOp->getOutSchema().getTupleSize()) + 1);
while ( (tuple = in->getTupleOffset(tupoffset++)) )
{
// Calculate entropy.
//
CtLong val = *(CtLong*)(nextOp->getOutSchema().calcOffset(tuple, fieldno));
addStatsToPage(out, schema, val);
}
// If input source depleted, remove state information and return.
//
if (rc == Finished)
{
return make_pair(Finished, out);
}
// Read more input.
//
Operator::GetNextResultT result = nextOp->getNext(threadid);
rc = result.first;
in = result.second;
tupoffset = 0;
}
state[threadid] = State(NullPage, Error, 0);
return make_pair(Error, NullPage); // Reached on Error
}
示例2: getNext
Operator::GetNextResultT IntGeneratorOp::getNext(unsigned short threadid)
{
dbgassert(output.at(threadid) != NULL);
Page* out = output[threadid];
out->clear();
while (out->canStoreTuple())
{
void* tuple = produceOne(threadid);
if (tuple == NULL)
return make_pair(Finished, out);
void* target = out->allocateTuple();
dbgassert(target != NULL);
schema.copyTuple(target, tuple);
}
return make_pair(Ready, out);
}