void RowCollection<Group,Hash>::getWholeRow(size_t rowId, Items& items, bool separateNull, uint32_t attrId, Items* pNullItems) { assert(_mode==RowCollectionModeRead); assert(separateNull || (pNullItems==NULL)); assert(items.empty()); if (pNullItems!=NULL) { assert(pNullItems->empty()); } boost::scoped_ptr<MyRowIterator> rowIterator(openRow(rowId)); items.reserve(_counts[rowId]); TypeId strType = _attributes[attrId].getType(); DoubleFloatOther type = getDoubleFloatOther(strType); while (!rowIterator->end()) { vector<Value> item(_attributes.size()); rowIterator->getItem(item); if (separateNull && isNullOrNan(item[attrId], type)) { if (pNullItems!=NULL) { pNullItems->push_back(item); } } else { items.push_back(item); } ++(*rowIterator); } }
void ChartBase:: free_chart_items(Items& itms) { Item *temp; while( !itms.empty() ) { temp = itms.front(); //temp->check(); itms.pop_front(); //if(!temp->term()->terminal_p()) delete temp; } }