PARCSortedList * parcSortedList_Copy(const PARCSortedList *original) { PARCSortedList *result = parcObject_CreateInstance(PARCSortedList); if (result != NULL) { result->list = parcLinkedList_Copy(original->list); } return result; }
PARCHashMap * parcHashMap_Copy(const PARCHashMap *original) { parcHashMap_OptionalAssertValid(original); PARCHashMap *result = parcObject_CreateInstance(PARCHashMap); result->capacity = original->capacity; result->minCapacity = original->minCapacity; result->maxLoadFactor = original->maxLoadFactor; result->minLoadFactor = original->minLoadFactor; result->size = original->size; result->buckets = parcMemory_Allocate(result->capacity * sizeof(PARCLinkedList*)); for (unsigned int i = 0; i < result->capacity; i++) { result->buckets[i] = NULL; if (original->buckets[i] != NULL) { result->buckets[i] = parcLinkedList_Copy(original->buckets[i]); } } return result; }