コード例 #1
0
void LinkedFile<T>::indexLoad()
{
	FileIterator<T>* ite = this->getIterator();
	
	FILE_OFFSET inFileOffset = ite->getNextOffset();
	
	IndexedElement* lastElem = this->firstElem;
	
	while (ite->moveNext()) {
		Element<T>* current = ite->getCurrent();
		
		IndexedElement* elem = current->getIndexedElement();
		elem->inFileOffset = inFileOffset;
		elem->previous = lastElem;
		elem->next = NULL;
		
		// List
		lastElem->next = elem;
		lastElem = elem;
		
		this->indexAdd(current->key, elem);
		
		inFileOffset = ite->getNextOffset();
	}
	
	delete ite;
}