ZRef<Result> sResultFromWalker(ZRef<Walker> iWalker) { map<string8,size_t> offsets; size_t baseOffset = 0; iWalker = iWalker->Prime(map<string8,size_t>(), offsets, baseOffset); vector<ZVal_Any> thePackedRows; vector<ZVal_Any> theRow(baseOffset); for (;;) { if (not iWalker->QReadInc(&theRow[0])) break; foreachi (ii, offsets) thePackedRows.push_back(theRow[ii->second]); } RelHead theRelHead; foreachi (ii, offsets) theRelHead.insert(ii->first); return new Result(theRelHead, &thePackedRows); }