vector class cleaned, slight work on handler

This commit is contained in:
herbglitch 2022-12-15 16:45:45 -07:00
parent cd5471c9c8
commit 55e8c44221
5 changed files with 56 additions and 57 deletions

View file

@ -9,10 +9,10 @@ struct ARC_Handler {
ARC_Vector *trash;
};
void ARC_Handler_Create(ARC_Handler **handler, uint32_t dataSize){
void ARC_Handler_Create(ARC_Handler **handler){
*handler = (ARC_Handler *) malloc(sizeof(ARC_Handler));
ARC_Vector_Create(&((*handler)->data), dataSize);
ARC_Vector_Create(&((*handler)->trash), dataSize);
ARC_Vector_Create(&((*handler)->data));
ARC_Vector_Create(&((*handler)->trash));
}
void ARC_Handler_Destroy(ARC_Handler *handler, ARC_Handler_CleanDataFn cleanfn){
@ -29,11 +29,9 @@ void ARC_Handler_Add(ARC_Handler *handler, void *data){
ARC_Vector_Add(handler->data, data);
}
int8_t ARC_Handler_RemoveCompareFn(void *a, void *b){ return a == b; }
void ARC_Handler_Remove(ARC_Handler *handler, void *data){
void ARC_Handler_Remove(ARC_Handler *handler, void *data, ARC_Handler_CompareDataFn compare){
ARC_Vector_Add(handler->trash, data);
ARC_Vector_Remove(handler->data, data, ARC_Handler_RemoveCompareFn);
ARC_Vector_Remove(handler->data, data, (ARC_Vector_CompareDataFn) compare);
}
void ARC_Handler_RemoveIndex(ARC_Handler *handler, uint32_t *index){