bool CCaliData::DeleteRowData(CString& szPath) { for (size_t i=0; i<m_CaliItems.size(); ++i) { if (m_CaliItems[i].szSampleFullName==szPath) { DeleteRowData(i); i = -1; //重新开始循环 } } return true; }
void CValueTable::ClearDeletedRows() { for (int RowIdx = FirstDeletedRowIndex; RowIdx < NumRows && DeletedRowsCount > 0; RowIdx++) if (IsRowDeleted(RowIdx)) { --DeletedRowsCount; DeleteRowData(RowIdx); RowStateBuffer[RowIdx] = DestroyedRow; //???remember first & count? reuse only when NumRows == NumAllocRows } n_assert(!DeletedRowsCount); FirstDeletedRowIndex = MAX_SDWORD; }