Browse Source

Merge pull request #3 from CodingHanYa/main

Fix:修正了UTask内部因万能引用带来的潜在bug和局限性
Chunel 2 years ago
committed by GitHub
parent
commit
b9a444ba3e
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 3 deletions
  1. +4
    -3
      src/UtilsCtrl/ThreadPool/Task/UTask.h

+ 4
- 3
src/UtilsCtrl/ThreadPool/Task/UTask.h View File

@ -11,6 +11,7 @@
#include <vector> #include <vector>
#include <memory> #include <memory>
#include <type_traits>
#include "../UThreadObject.h" #include "../UThreadObject.h"
@ -23,10 +24,10 @@ class UTask : public UThreadObject {
virtual ~taskBased() = default; virtual ~taskBased() = default;
}; };
template<typename F>
template<typename F, typename T = typename std::decay<F>::type>
struct taskDerided : taskBased { struct taskDerided : taskBased {
F func_;
explicit taskDerided(F&& func) : func_(std::move(func)) {}
T func_;
explicit taskDerided(F&& func) : func_(std::forward<F>(func)) {}
CVoid call() override { func_(); } CVoid call() override { func_(); }
}; };

Loading…
Cancel
Save