Cleaning up C++14 move into lambda TODOs. Bug: webrtc:10945 Change-Id: I4d2f358b0e33b37e4b4f7bfcf3f6cd55e8d46bf9 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/153240 Commit-Queue: Sebastian Jansson <srte@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Cr-Commit-Position: refs/heads/master@{#29212}
diff --git a/rtc_base/task_utils/repeating_task_unittest.cc b/rtc_base/task_utils/repeating_task_unittest.cc index 2532098..469ee31 100644 --- a/rtc_base/task_utils/repeating_task_unittest.cc +++ b/rtc_base/task_utils/repeating_task_unittest.cc
@@ -60,18 +60,6 @@ private: MockClosure* mock_; }; - -// Helper closure class to stop repeating task on a task queue. This is -// equivalent to [handle{move(handle)}] { handle.Stop(); } in c++14. -class TaskHandleStopper { - public: - explicit TaskHandleStopper(RepeatingTaskHandle handle) - : handle_(std::move(handle)) {} - void operator()() { handle_.Stop(); } - - private: - RepeatingTaskHandle handle_; -}; } // namespace TEST(RepeatingTaskTest, TaskIsStoppedOnStop) { @@ -91,7 +79,8 @@ Sleep(kShortInterval * (kShortIntervalCount + kMargin)); EXPECT_EQ(counter.load(), kShortIntervalCount); - task_queue.PostTask(TaskHandleStopper(std::move(handle))); + task_queue.PostTask( + [handle = std::move(handle)]() mutable { handle.Stop(); }); // Sleep long enough that the task would run at least once more if not // stopped. Sleep(kLongInterval * 2); @@ -144,7 +133,8 @@ TaskQueueForTest task_queue("queue"); auto handle = RepeatingTaskHandle::DelayedStart( task_queue.Get(), TimeDelta::ms(100), MoveOnlyClosure(&mock)); - task_queue.PostTask(TaskHandleStopper(std::move(handle))); + task_queue.PostTask( + [handle = std::move(handle)]() mutable { handle.Stop(); }); EXPECT_TRUE(done.Wait(kTimeout.ms())); } @@ -156,7 +146,8 @@ TaskQueueForTest task_queue("queue"); auto handle = RepeatingTaskHandle::Start(task_queue.Get(), MoveOnlyClosure(&mock)); - task_queue.PostTask(TaskHandleStopper(std::move(handle))); + task_queue.PostTask( + [handle = std::move(handle)]() mutable { handle.Stop(); }); EXPECT_TRUE(done.Wait(kTimeout.ms())); } @@ -223,9 +214,11 @@ RepeatingTaskHandle handle; object->StartPeriodicTask(&handle, task_queue.Get()); // Restart the task - task_queue.PostTask(TaskHandleStopper(std::move(handle))); + task_queue.PostTask( + [handle = std::move(handle)]() mutable { handle.Stop(); }); object->StartPeriodicTask(&handle, task_queue.Get()); - task_queue.PostTask(TaskHandleStopper(std::move(handle))); + task_queue.PostTask( + [handle = std::move(handle)]() mutable { handle.Stop(); }); struct Destructor { void operator()() { object.reset(); } std::unique_ptr<ObjectOnTaskQueue> object;