/* -*- C++ -*- Wrap functors in jobs in ThreadWeaver. SPDX-FileCopyrightText: 2005-2013 Mirko Boehm SPDX-License-Identifier: LGPL-2.0-or-later */ #ifndef LAMBDA_H #define LAMBDA_H #include "job.h" #include "threadweaver_export.h" namespace ThreadWeaver { template /* * Lambda is a template that takes any type on which operator() is available, and executes it in run() */ class Lambda : public Job { public: /*! */ explicit Lambda(T t_) : t(t_) { } protected: void run(JobPointer, Thread *) override { t(); } private: T t; }; } #endif // LAMBDA_H