void IICHANEventAllocator::DeleteEvent(EVENT* e) { if(!e) return; int id = e->id; id = GetIndexById(id); delete e; e = NULL; events.erase(events.begin() + id); }
//--------------------------------------------------------------------------- void Table::AddIndexById(unsigned char Id, char *desc) { if (GetIndexById(Id)) return; ColumnField *col = GetColumnById(Id); if (!col) return; IndexField *newindex = new IndexField(Id, IndexList->Fields.GetNElements()-1, col->GetDataType(), desc); newindex->index = new Index(IdxHandle, Id, IndexList->Fields.GetNElements()-1, col->GetDataType(), TRUE, dScanner->index->NEntries, this); IndexList->AddField(newindex); IndexField *previous = (IndexField *)newindex->Previous; previous->index->Colaborate(newindex); newindex->index->Colaborate(((IndexField *)IndexList->Fields.GetHead())); previous->index->Propagate(); IndexList->WriteFields(); }