1#ifndef GUIK_TBB_CONCURRENT_QUEUE_HPP
2#define GUIK_TBB_CONCURRENT_QUEUE_HPP
4#include <tbb/concurrent_queue.h>
15 virtual size_t size()
const override {
16 return queue.unsafe_size();
19 virtual void push(
const T& item)
override {
23 virtual std::vector<T>
try_pop(
int max_num_items)
override {
25 items.reserve(max_num_items);
27 for (
int i = 0; i < max_num_items; i++) {
29 if (queue.try_pop(item)) {
30 items.emplace_back(item);
37 tbb::concurrent_queue<T> queue;
Definition concurrent_queue.hpp:10
Definition tbb_concurrent_queue.hpp:10
virtual void push(const T &item) override
Definition tbb_concurrent_queue.hpp:19
virtual std::vector< T > try_pop(int max_num_items) override
Definition tbb_concurrent_queue.hpp:23
virtual ~TbbConcurrentQueue() override
Definition tbb_concurrent_queue.hpp:13
virtual size_t size() const override
Definition tbb_concurrent_queue.hpp:15
TbbConcurrentQueue()
Definition tbb_concurrent_queue.hpp:12
Definition drawable_container.hpp:9