SimGrid  3.16
Versatile Simulation of Distributed Systems
simgrid::xbt::Task< R(Args...)> Class Template Reference

Detailed Description

template<class R, class... Args>
class simgrid::xbt::Task< R(Args...)>

Type-erased run-once task.

  • Like std::function but callable only once. However, it works with move-only types.
  • Like std::packaged_task<> but without the shared state.

#include <functional.hpp>

Public Member Functions

 Task ()
 
 Task (std::nullptr_t)
 
 ~Task ()
 
 Task (Task const &)=delete
 
 Task (Task &&that)
 
Taskoperator= (Task that)
 
template<class F >
 Task (F code)
 
 operator bool () const
 
bool operator! () const
 
operator() (Args... args)
 

Constructor & Destructor Documentation

◆ Task() [1/5]

template<class R , class... Args>
simgrid::xbt::Task< R(Args...)>::Task ( )
inline

◆ Task() [2/5]

template<class R , class... Args>
simgrid::xbt::Task< R(Args...)>::Task ( std::nullptr_t  )
inline

◆ ~Task()

template<class R , class... Args>
simgrid::xbt::Task< R(Args...)>::~Task ( )
inline

◆ Task() [3/5]

template<class R , class... Args>
simgrid::xbt::Task< R(Args...)>::Task ( Task< R(Args...)> const &  )
delete

◆ Task() [4/5]

template<class R , class... Args>
simgrid::xbt::Task< R(Args...)>::Task ( Task< R(Args...)> &&  that)
inline

◆ Task() [5/5]

template<class R , class... Args>
template<class F >
simgrid::xbt::Task< R(Args...)>::Task ( code)
inline

Member Function Documentation

◆ operator=()

template<class R , class... Args>
Task& simgrid::xbt::Task< R(Args...)>::operator= ( Task< R(Args...)>  that)
inline

◆ operator bool()

template<class R , class... Args>
simgrid::xbt::Task< R(Args...)>::operator bool ( ) const
inline

◆ operator!()

template<class R , class... Args>
bool simgrid::xbt::Task< R(Args...)>::operator! ( ) const
inline

◆ operator()()

template<class R , class... Args>
R simgrid::xbt::Task< R(Args...)>::operator() ( Args...  args)
inline

The documentation for this class was generated from the following file: