Search for usage in LXR

ThreadWeaver::Lambda< T > Class Template Reference

#include <lambda.h>

Inheritance diagram for ThreadWeaver::Lambda< T >:

Public Member Functions

 Lambda (T t_)
- Public Member Functions inherited from ThreadWeaver::Job
 Job ()
 Job (Private::Job_Private *d)
 ~Job () override
void aboutToBeDequeued (QueueAPI *api) override
void aboutToBeDequeued_locked (QueueAPI *api) override
void aboutToBeQueued (QueueAPI *api) override
void aboutToBeQueued_locked (QueueAPI *api) override
void assignQueuePolicy (QueuePolicy *) override
void blockingExecute () override
void execute (const JobPointer &job, Thread *) override
Executor * executor () const override
bool isFinished () const override
QMutexmutex () const override
int priority () const override
QList< QueuePolicy * > queuePolicies () const override
void removeQueuePolicy (QueuePolicy *) override
void requestAbort () override
Executor * setExecutor (Executor *executor) override
void setStatus (Status) override
Status status () const override
bool success () const override

Protected Member Functions

void run (JobPointer, Thread *) override
- Protected Member Functions inherited from ThreadWeaver::Job
Private::Job_Private * d ()
const Private::Job_Private * d () const
void defaultBegin (const JobPointer &job, Thread *thread) override
void defaultEnd (const JobPointer &job, Thread *thread) override

Detailed Description

template<typename T>
class ThreadWeaver::Lambda< T >

Lambda is a template that takes any type on which operator() is available, and executes it in run().

Definition at line 19 of file lambda.h.

Member Function Documentation

◆ run()

template<typename T >
void ThreadWeaver::Lambda< T >::run ( JobPointer  self,
Thread thread 

The method that actually performs the job.

It is called from execute(). This method is the one to overload it with the job's task.

The Job will be executed in the specified thread. thread may be zero, indicating that the job is being executed some other way (for example, synchronously by some other job). self specifies the job as the queue sees it. Whenever publishing information about the job to the outside world, for example by emitting signals, use self, not this. self is the reference counted object handled by the queue. Using it as signal parameters will amongst other things prevent thejob from being memory managed and deleted.

Implements ThreadWeaver::Job.

Definition at line 28 of file lambda.h.

The documentation for this class was generated from the following file:
This file is part of the KDE documentation.
Documentation copyright © 1996-2022 The KDE developers.
Generated on Sun Dec 4 2022 04:06:48 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.