X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=common%2Fblocking_priority_queue.h;h=33c5b989b61177213d0a55c70d6738e85283fc5d;hb=829fcd07d635222421a83387e279c50bd9d81320;hp=154a133559a895a84f2ebb2f733cabd602b53db3;hpb=1f2344fe8705342b0503af4609064267e9ae42f4;p=casparcg diff --git a/common/blocking_priority_queue.h b/common/blocking_priority_queue.h index 154a13355..33c5b989b 100644 --- a/common/blocking_priority_queue.h +++ b/common/blocking_priority_queue.h @@ -26,7 +26,6 @@ #include -#include #include #include "semaphore.h" @@ -46,11 +45,11 @@ class blocking_priority_queue public: typedef unsigned int size_type; private: - std::map, std::greater> queues_by_priority_; - semaphore space_available_; - semaphore elements_available_; - mutable boost::mutex capacity_mutex_; - size_type capacity_; + std::map, std::greater> queues_by_priority_; + size_type capacity_; + semaphore space_available_ { capacity_ }; + semaphore elements_available_ { 0u }; + mutable boost::mutex capacity_mutex_; public: /** * Constructor. @@ -61,11 +60,9 @@ public: */ template blocking_priority_queue(size_type capacity, const PrioList& priorities) - : space_available_(capacity) - , elements_available_(0u) - , capacity_(capacity) + : capacity_(capacity) { - BOOST_FOREACH(Prio priority, priorities) + for (Prio priority : priorities) { queues_by_priority_.insert(std::make_pair(priority, tbb::concurrent_queue())); } @@ -165,7 +162,7 @@ public: acquire_transaction transaction(elements_available_, true); - BOOST_FOREACH(auto& queue, queues_by_priority_) + for (auto& queue : queues_by_priority_) { if (queue.first < minimum_priority) { @@ -254,7 +251,7 @@ private: void pop_acquired_any_priority(T& element, acquire_transaction& transaction) { - BOOST_FOREACH(auto& queue, queues_by_priority_) + for (auto& queue : queues_by_priority_) { if (queue.second.try_pop(element)) {