fpmas 1.6
Public Member Functions | List of all members
fpmas::scheduler::LambdaTask< T > Class Template Reference

#include <scheduler.h>

Inheritance diagram for fpmas::scheduler::LambdaTask< T >:
Inheritance graph
[legend]
Collaboration diagram for fpmas::scheduler::LambdaTask< T >:
Collaboration graph
[legend]

Public Member Functions

template<typename Lambda_t >
 LambdaTask (api::graph::DistributedNode< T > *node, Lambda_t &&lambda_fct)
 
void run () override
 
- Public Member Functions inherited from fpmas::scheduler::NodeTask< T >
 NodeTask (api::graph::DistributedNode< T > *node)
 
api::graph::DistributedNode< T > * node () override
 
- Public Member Functions inherited from fpmas::scheduler::TaskBase< api::scheduler::NodeTask< T > >
void setJobPos (JID job_id, std::list< fpmas::api::scheduler::Task * >::iterator pos) override
 
std::list< api::scheduler::Task * >::iterator getJobPos (JID job_id) const override
 
virtual api::graph::DistributedNode< T > * node ()=0
 
- Public Member Functions inherited from fpmas::api::scheduler::Task
virtual void run ()=0
 
virtual void setJobPos (JID job_id, std::list< Task * >::iterator pos)=0
 
virtual std::list< Task * >::iterator getJobPos (JID job_id) const =0
 

Detailed Description

template<typename T>
class fpmas::scheduler::LambdaTask< T >

A NodeTask that can be initialized from a lambda function.

Used by the FPMAS_NODE_TASK() macro.

Constructor & Destructor Documentation

◆ LambdaTask()

template<typename T >
template<typename Lambda_t >
fpmas::scheduler::LambdaTask< T >::LambdaTask ( api::graph::DistributedNode< T > *  node,
Lambda_t &&  lambda_fct 
)
inline

LambdaTask constructor.

The specified lambda function must have a void () signature.

Template Parameters
automaticallydeduced lambda function type
Parameters
nodenode bound to the task
lambda_fctvoid() lambda function, that will be run by the task

Member Function Documentation

◆ run()

template<typename T >
void fpmas::scheduler::LambdaTask< T >::run ( )
inlineoverridevirtual

Runs the task.

Implements fpmas::api::scheduler::Task.


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