Преглед изворни кода

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.
Lioncash пре 7 година
родитељ
комит
93f7677402
1 измењених фајлова са 1 додато и 1 уклоњено
  1. 1 1
      src/common/thread.h

+ 1 - 1
src/common/thread.h

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