10 #include <dispatch/dispatch.h> 12 #include <ml/neural_net/TaskQueue.hpp> 15 namespace neural_net {
20 static std::shared_ptr<GrandCentralDispatchQueue> GetGlobalConcurrentQueue();
21 static std::unique_ptr<GrandCentralDispatchQueue> CreateSerialQueue(
const char* label);
35 void DispatchApply(
size_t n, std::function<
void(
size_t i)> task)
override;
38 dispatch_queue_t impl_;
void DispatchApply(size_t n, std::function< void(size_t i)> task) override
void DispatchSync(std::function< void()> task) override
void DispatchAsync(std::function< void()> task) override
Concrete TaskQueue implementation wrapping Grand Central Dispatch/.
Abstract task queue interface modeled after Grand Central Dispatch.