15class ThreadWrapperReg :
public ThreadWrapper
18 ThreadWrapperReg() =
default;
20 template <
typename F,
typename... Args>
21 explicit ThreadWrapperReg(std::string name, std::string componentTag, F&& f, Args&&... args)
23 [n = std::move(name), c = std::move(componentTag), func = std::forward<F>(f)](
auto&&... inner) {
25 func(std::forward<
decltype(inner)>(inner)...);
27 std::forward<Args>(args)...)
41 explicit JThreadWrapperReg(std::string name, std::string componentTag, F&& f, Args&&... args)
56class PThreadWrapperReg :
public PThreadWrapper
59 PThreadWrapperReg() =
default;
61 template <
typename F,
typename... Args>
62 explicit PThreadWrapperReg(std::string name, std::string componentTag, F&& f, Args&&... args)
64 [n = std::move(name), c = std::move(componentTag), func = std::forward<F>(f)](
auto&&... inner) {
66 func(std::forward<
decltype(inner)>(inner)...);
68 std::forward<Args>(args)...)