TestsTested | ✗ |
LangLanguage | Obj-CObjective C |
License | MIT |
ReleasedLast Release | Dec 2014 |
Maintained by Unclaimed.
This is a set of categories for performing concurrent map and filter operations
on Foundation data structures, currently supported are NSArray
,
NSDictionary
, NSSet
, NSOrderedSet
, and NSMapTable
(currently supported
on OS X only).
Concurrency is achieved using Grand Central Dispatch's dispatch_apply
. By
default, operations are run on the default priority global concurrent queue
(DISPATCH_QUEUE_PRIORITY_DEFAULT
). The operations can be performed on any
concurrent queue, see the category header files.
This library is based off code and ideas from @alloy and @seanlilmateus. It has been created because we were unaware of an existing implementation.
These examples are taken from the tests.
Doubling the values of an array:
NSArray *doubled = [numbersArray cco_concurrentMap:^(NSNumber *number) {
return @(2 * number.unsignedIntegerValue);
}];
Filtering even numbers out of a dictionary:
NSDictionary *filtered = [numbersDictionary cco_concurrentFilter:^BOOL (NSNumber *number) {
return number.unsignedIntegerValue % 2 == 1;
}];
Concurrent Collection Operations is released under the MIT License. See LICENSE.txt.