Foundation
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
Foundation::Core::LambdaJob< Lambda, ReturnType, Args > Struct Template Referencefinal

State-carrying lambda job for use with ThreadPool. More...

#include <ThreadPool.hpp>

Inheritance diagram for Foundation::Core::LambdaJob< Lambda, ReturnType, Args >:
Foundation::Core::Job

Public Member Functions

 LambdaJob (Lambda &&func)
 
void Execute (size_t) noexcept override
 
- Public Member Functions inherited from Foundation::Core::Job
virtual ~Job ()=default
 

Public Attributes

Lambda mFunc
 
Promise< ReturnType > mPromise
 

Detailed Description

template<typename Lambda, typename ReturnType, typename... Args>
struct Foundation::Core::LambdaJob< Lambda, ReturnType, Args >

State-carrying lambda job for use with ThreadPool.

Note
This is not meant to be used directly. Instead, use ThreadPool::Push with a lambda function.
Template Parameters
LambdaType of the lambda function.
ReturnTypeReturn type of the lambda function.

Constructor & Destructor Documentation

◆ LambdaJob()

template<typename Lambda , typename ReturnType , typename... Args>
Foundation::Core::LambdaJob< Lambda, ReturnType, Args >::LambdaJob ( Lambda &&  func)
inline

Member Function Documentation

◆ Execute()

template<typename Lambda , typename ReturnType , typename... Args>
void Foundation::Core::LambdaJob< Lambda, ReturnType, Args >::Execute ( size_t  )
inlineoverridevirtualnoexcept

Implements Foundation::Core::Job.

Member Data Documentation

◆ mFunc

template<typename Lambda , typename ReturnType , typename... Args>
Lambda Foundation::Core::LambdaJob< Lambda, ReturnType, Args >::mFunc

◆ mPromise

template<typename Lambda , typename ReturnType , typename... Args>
Promise<ReturnType> Foundation::Core::LambdaJob< Lambda, ReturnType, Args >::mPromise

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