---
title: CFBagRetainCallBack
framework: corefoundation
role: symbol
role_heading: Type Alias
path: corefoundation/cfbagretaincallback
---

# CFBagRetainCallBack

Prototype of a callback function used to retain a value being added to a bag.

## Declaration

```swift
typealias CFBagRetainCallBack = (CFAllocator?, UnsafeRawPointer?) -> UnsafeRawPointer?
```

## Parameters

- `allocator`: The bag’s allocator.
- `value`: The value being added to the bag.

## Return Value

Return Value The value to store in the bag, which is usually the value parameter passed to this callback, but may be a different   value if a different value should be stored in the collection.

## Discussion

Discussion This callback is passed to CFBagCreate(_:_:_:_:) in a CFBagCallBacks structure.

## See Also

### Callbacks

- [CFBagApplierFunction](corefoundation/cfbagapplierfunction.md)
- [CFBagCopyDescriptionCallBack](corefoundation/cfbagcopydescriptioncallback.md)
- [CFBagEqualCallBack](corefoundation/cfbagequalcallback.md)
- [CFBagHashCallBack](corefoundation/cfbaghashcallback.md)
- [CFBagReleaseCallBack](corefoundation/cfbagreleasecallback.md)
