Skip to content

Commit 5cb6e39

Browse files
committed
replace std::result_of with std::invoke_result
1 parent 2fffaff commit 5cb6e39

2 files changed

Lines changed: 5 additions & 5 deletions

File tree

include/MGIS/ThreadPool.hxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ namespace mgis {
4848
* \param[in] a: arguments passed to the the task
4949
*/
5050
template <typename F, typename... Args>
51-
std::future<ThreadedTaskResult<typename std::result_of<F(Args...)>::type>>
51+
std::future<ThreadedTaskResult<typename std::invoke_result<F(Args...)>::type>>
5252
addTask(F&&, Args&&...);
5353
//! \return the number of threads managed by the ppol
5454
size_type getNumberOfThreads() const;

include/MGIS/ThreadPool.ixx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ namespace mgis {
2424
struct ThreadPool::Wrapper {
2525
Wrapper(F&& f_) : f(f_) {}
2626
template <typename... Args>
27-
ThreadedTaskResult<typename std::result_of<F(Args...)>::type> operator()(
27+
ThreadedTaskResult<typename std::invoke_result<F(Args...)>::type> operator()(
2828
Args&&... args) {
29-
using result = typename std::result_of<F(Args...)>::type;
29+
using result = typename std::invoke_result<F(Args...)>::type;
3030
using apply = typename std::conditional<std::is_same<result, void>::value,
3131
GetVoid, Get<result>>::type;
3232
ThreadedTaskResult<result> r;
@@ -61,10 +61,10 @@ namespace mgis {
6161

6262
// add new work item to the pool
6363
template <typename F, typename... Args>
64-
std::future<ThreadedTaskResult<typename std::result_of<F(Args...)>::type>>
64+
std::future<ThreadedTaskResult<typename std::invoke_result<F(Args...)>::type>>
6565
ThreadPool::addTask(F&& f, Args&&... a) {
6666
using return_type =
67-
ThreadedTaskResult<typename std::result_of<F(Args...)>::type>;
67+
ThreadedTaskResult<typename std::invoke_result<F(Args...)>::type>;
6868
using task = std::packaged_task<return_type()>;
6969
auto t = std::make_shared<task>(
7070
std::bind(Wrapper<F>(std::forward<F>(f)), std::forward<Args>(a)...));

0 commit comments

Comments
 (0)