diff options
author | Lioncash <mathew1800@gmail.com> | 2018-11-21 21:47:06 -0500 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2018-11-21 21:47:08 -0500 |
commit | 93f7677402e8350843566c714d119f1ab669f2a0 (patch) | |
tree | a2a89ba90622dabbb0d5b6466f986dbb72f05f66 /src/common/thread.h | |
parent | 756e773096c5a64cb5c0ff48104ceb36fa1935cb (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.h | 2 |
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 }; |