forked from CMU-Perceptual-Computing-Lab/openpose
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsubThreadNoQueue.hpp
More file actions
52 lines (40 loc) · 1.21 KB
/
Copy pathsubThreadNoQueue.hpp
File metadata and controls
52 lines (40 loc) · 1.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#ifndef OPENPOSE_THREAD_THREAD_NO_QUEUE_HPP
#define OPENPOSE_THREAD_THREAD_NO_QUEUE_HPP
#include <openpose/core/common.hpp>
#include <openpose/thread/thread.hpp>
#include <openpose/thread/worker.hpp>
namespace op
{
template<typename TDatums, typename TWorker = std::shared_ptr<Worker<TDatums>>>
class SubThreadNoQueue : public SubThread<TDatums, TWorker>
{
public:
explicit SubThreadNoQueue(const std::vector<TWorker>& tWorkers);
bool work();
DELETE_COPY(SubThreadNoQueue);
};
}
// Implementation
namespace op
{
template<typename TDatums, typename TWorker>
SubThreadNoQueue<TDatums, TWorker>::SubThreadNoQueue(const std::vector<TWorker>& tWorkers) :
SubThread<TDatums, TWorker>{tWorkers}
{}
template<typename TDatums, typename TWorker>
bool SubThreadNoQueue<TDatums, TWorker>::work()
{
try
{
TDatums tDatums;
return this->workTWorkers(tDatums, true);
}
catch (const std::exception& e)
{
error(e.what(), __LINE__, __FUNCTION__, __FILE__);
return false;
}
}
COMPILE_TEMPLATE_DATUM(SubThreadNoQueue);
}
#endif // OPENPOSE_THREAD_THREAD_NO_QUEUE_HPP