---
title: "CFSetCreateMutableCopy(_:_:_:)"
framework: corefoundation
role: symbol
role_heading: Function
path: "corefoundation/cfsetcreatemutablecopy(_:_:_:)"
---

# CFSetCreateMutableCopy(_:_:_:)

Creates a new mutable set with the values from another set.

## Declaration

```swift
func CFSetCreateMutableCopy(_ allocator: CFAllocator!, _ capacity: CFIndex, _ theSet: CFSet!) -> CFMutableSet!
```

## Parameters

- `allocator`: The allocator to use to allocate memory for the new set and its storage for values. Pass NULL or doc://com.apple.corefoundation/documentation/CoreFoundation/kCFAllocatorDefault to use the current default allocator.
- `capacity`: The maximum number of values that can be contained by the new set. The set starts with the same number of values as theSet and can grow to this number of values (and it can have less). Pass 0 to specify that the maximum capacity is not limited. If non-0, capacity must be greater than or equal to the count of theSet.
- `theSet`: The set to copy. The pointer values from theSet are copied into the new set. The values are also retained by the new set. The count of the new set is the same as the count of theSet. The new set uses the same callbacks as theSet.

## Return Value

Return Value A new mutable set that contains the same values as theSet. Ownership follows the The Create Rule.

## See Also

### CFMutableSet Miscellaneous Functions

- [CFSetAddValue(_:_:)](corefoundation/cfsetaddvalue(_:_:).md)
- [CFSetCreateMutable(_:_:_:)](corefoundation/cfsetcreatemutable(_:_:_:).md)
- [CFSetRemoveAllValues(_:)](corefoundation/cfsetremoveallvalues(_:).md)
- [CFSetRemoveValue(_:_:)](corefoundation/cfsetremovevalue(_:_:).md)
- [CFSetReplaceValue(_:_:)](corefoundation/cfsetreplacevalue(_:_:).md)
- [CFSetSetValue(_:_:)](corefoundation/cfsetsetvalue(_:_:).md)
