From e256acec7c2ee0aeab17f067290bfbb944adbe1c Mon Sep 17 00:00:00 2001 From: Benoit Steiner Date: Mon, 1 Aug 2016 17:03:39 -0700 Subject: Avoid unecessary object copies --- unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h') diff --git a/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h b/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h index d2204ad5b..399f95cc1 100644 --- a/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h +++ b/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h @@ -21,14 +21,14 @@ struct StlThreadEnvironment { // destructor must join the thread. class EnvThread { public: - EnvThread(std::function f) : thr_(f) {} + EnvThread(std::function f) : thr_(std::move(f)) {} ~EnvThread() { thr_.join(); } private: std::thread thr_; }; - EnvThread* CreateThread(std::function f) { return new EnvThread(f); } + EnvThread* CreateThread(std::function f) { return new EnvThread(std::move(f)); } Task CreateTask(std::function f) { return Task{std::move(f)}; } void ExecuteTask(const Task& t) { t.f(); } }; -- cgit v1.2.3