mirror of
https://github.com/ml-explore/mlx.git
synced 2025-07-14 20:41:13 +08:00
Replace the use of result_of_t
with invoke_result_t
(#1397)
* Fix C++20 incompatibility * Fix C++20 incompatibility
This commit is contained in:
parent
efeb9c0f02
commit
dc627dcb5e
@ -37,7 +37,7 @@ class ThreadPool {
|
||||
ThreadPool(size_t);
|
||||
template <class F, class... Args>
|
||||
auto enqueue(F&& f, Args&&... args)
|
||||
-> std::future<typename std::result_of_t<F(Args...)>>;
|
||||
-> std::future<typename std::invoke_result_t<F, Args...>>;
|
||||
~ThreadPool();
|
||||
|
||||
private:
|
||||
@ -71,8 +71,8 @@ inline ThreadPool::ThreadPool(size_t threads) : stop(false) {
|
||||
|
||||
template <class F, class... Args>
|
||||
auto ThreadPool::enqueue(F&& f, Args&&... args)
|
||||
-> std::future<typename std::result_of_t<F(Args...)>> {
|
||||
using return_type = typename std::result_of_t<F(Args...)>;
|
||||
-> std::future<typename std::invoke_result_t<F, Args...>> {
|
||||
using return_type = typename std::invoke_result_t<F, Args...>;
|
||||
|
||||
auto task = std::make_shared<std::packaged_task<return_type()>>(
|
||||
std::bind(std::forward<F>(f), std::forward<Args>(args)...));
|
||||
|
Loading…
Reference in New Issue
Block a user