#ifndef OPENPOSE_THREAD_WORKER_CONSUMER_HPP #define OPENPOSE_THREAD_WORKER_CONSUMER_HPP #include #include namespace op { template class WorkerConsumer : public Worker { public: virtual ~WorkerConsumer(); void work(TDatums& tDatums); protected: virtual void workConsumer(const TDatums& tDatums) = 0; }; } // Implementation namespace op { template WorkerConsumer::~WorkerConsumer() { } template void WorkerConsumer::work(TDatums& tDatums) { try { workConsumer(tDatums); } catch (const std::exception& e) { this->stop(); errorWorker(e.what(), __LINE__, __FUNCTION__, __FILE__); } } COMPILE_TEMPLATE_DATUM(WorkerConsumer); } #endif // OPENPOSE_THREAD_WORKER_CONSUMER_HPP