void TreeChunk::verifyTreeChunkList() const { TreeChunk* nextTC = (TreeChunk*)next(); if (prev() != NULL) { // interior list node shouldn'r have tree fields assert(embedded_list()->parent() == NULL && embedded_list()->left() == NULL && embedded_list()->right() == NULL, "should be clear"); } if (nextTC != NULL) { assert(as_TreeChunk(nextTC->prev()) == this, "broken chain"); assert(nextTC->size() == size(), "wrong size"); nextTC->verifyTreeChunkList(); } }
// Initialize fields in a TreeChunk that should be // initialized when the TreeChunk is being added to // a free list in the tree. void initialize() { embedded_list()->initialize(); }