1
0
Fork 0
forked from suyu/suyu

common/thread: Make Barrier's 'count' member non-const

While admirable as a means to ensure immutability, this has the
unfortunate downside of making the class non-movable. std::move cannot
actually perform a move operation if the provided operand has const data
members (std::move acts as an operation to "slide" resources out of an
object instance). Given Barrier contains move-only types such as
std::mutex, this can lead to confusing error messages if an object ever
contained a Barrier instance and said object was attempted to be moved.
This commit is contained in:
Lioncash 2018-11-21 21:47:06 -05:00
parent 756e773096
commit 93f7677402

View file

@ -73,7 +73,7 @@ public:
private: private:
std::condition_variable condvar; std::condition_variable condvar;
std::mutex mutex; std::mutex mutex;
const std::size_t count; std::size_t count;
std::size_t waiting = 0; std::size_t waiting = 0;
std::size_t generation = 0; // Incremented once each time the barrier is used std::size_t generation = 0; // Incremented once each time the barrier is used
}; };