diff --git a/core/algo/threaded_loop.h b/core/algo/threaded_loop.h index c11b3d4068..ba9251f3ce 100644 --- a/core/algo/threaded_loop.h +++ b/core/algo/threaded_loop.h @@ -320,6 +320,11 @@ template struct ThreadedLoopRunOuter { ProgressBar::SwitchToMultiThreaded progress_functions; struct Shared { + Shared(const Shared &) = delete; + Shared(Shared &&) = delete; + Shared &operator=(const Shared &) = delete; + Shared &operator=(Shared &&) = delete; + ~Shared() = default; Iterator &iterator; decltype(outer_loop(iterator)) loop; FORCE_INLINE bool next(Iterator &pos) { @@ -336,6 +341,11 @@ template struct ThreadedLoopRunOuter { struct PerThread { MutexProtected &shared; + PerThread(const PerThread &) = default; + PerThread(PerThread &&) = default; + PerThread &operator=(const PerThread &) = delete; + PerThread &operator=(PerThread &&) = delete; + ~PerThread() = default; typename std::remove_reference::type func; void execute() { auto pos = shared.lock()->iterator;