iterative-solver 0.0
 
Loading...
Searching...
No Matches
molpro::linalg::array::util::Task< Result > Class Template Reference

#include <util.h>

Public Member Functions

 Task (std::future< Result > &&task)
 
 Task (Task &&other)=default
 
 ~Task ()
 
bool test ()
 Returns true if the task has completed.
 
Result wait ()
 wait for the task to complete and return its result
 

Static Public Member Functions

template<class Func , typename... Args>
static Task create (Func &&f, Args &&...args)
 

Protected Attributes

std::future< Result > m_task
 

Constructor & Destructor Documentation

◆ Task() [1/2]

template<typename Result = void>
molpro::linalg::array::util::Task< Result >::Task ( std::future< Result > &&  task)
inline

◆ Task() [2/2]

template<typename Result = void>
molpro::linalg::array::util::Task< Result >::Task ( Task< Result > &&  other)
default

◆ ~Task()

template<typename Result = void>
molpro::linalg::array::util::Task< Result >::~Task ( )
inline

Member Function Documentation

◆ create()

template<typename Result = void>
template<class Func , typename... Args>
static Task molpro::linalg::array::util::Task< Result >::create ( Func &&  f,
Args &&...  args 
)
inlinestatic

◆ test()

template<typename Result = void>
bool molpro::linalg::array::util::Task< Result >::test ( )
inline

Returns true if the task has completed.

◆ wait()

template<typename Result = void>
Result molpro::linalg::array::util::Task< Result >::wait ( )
inline

wait for the task to complete and return its result

Member Data Documentation

◆ m_task

template<typename Result = void>
std::future<Result> molpro::linalg::array::util::Task< Result >::m_task
protected