aboutsummaryrefslogtreecommitdiff
path: root/src/common/thread.h
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2018-11-21 21:47:06 -0500
committerLioncash <mathew1800@gmail.com>2018-11-21 21:47:08 -0500
commit93f7677402e8350843566c714d119f1ab669f2a0 (patch)
treea2a89ba90622dabbb0d5b6466f986dbb72f05f66 /src/common/thread.h
parent756e773096c5a64cb5c0ff48104ceb36fa1935cb (diff)
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.
Diffstat (limited to 'src/common/thread.h')
-rw-r--r--src/common/thread.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/common/thread.h b/src/common/thread.h
index 741dce4872..2cf74452d7 100644
--- a/src/common/thread.h
+++ b/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
};