//----------------------------------------------------------------------------- // Tools::displayArray //----------------------------------------------------------------------------- std::string Tools::displayArray( const ArrayPtr& arr, int maxCell ) { ArrayIterator begin = arr->begin(); ArrayIterator end = arr->end(); return Tools::scanValues( begin, end, maxCell ); }
//----------------------------------------------------------------------------- // Tools::displayValues //----------------------------------------------------------------------------- std::string Tools::displayValues(const ArrayPtr& array) { std::cout<<"Entering Tools::displayValues"<<std::endl; std::string str; ArrayIterator begin = array->begin(); ArrayIterator end = array->end(); str = scanValues(begin, end, 15); std::cout<<"Leaving Tools::displayValues"<<std::endl; return str; }
Arena::Arena(ArrayPtr<byte> scratch) : nextChunkSize(kj::max(sizeof(ChunkHeader), scratch.size())) { if (scratch.size() > sizeof(ChunkHeader)) { ChunkHeader* chunk = reinterpret_cast<ChunkHeader*>(scratch.begin()); chunk->end = scratch.end(); chunk->pos = reinterpret_cast<byte*>(chunk + 1); chunk->next = nullptr; // Never actually observed. // Don't place the chunk in the chunk list because it's not ours to delete. Just make it the // current chunk so that we'll allocate from it until it is empty. currentChunk = chunk; } }