16 using Func = void (*)(
void *)
noexcept;
18 void operator()() noexcept { func_(
this); }
24template <
typename T,
typename Invoker = Invoker>
25class InvokerAdapter :
public Invoker {
27 template <
typename... Args>
28 InvokerAdapter(Args &&...args) : Invoker(std::forward<Args>(args)...) {
29 this->func_ = &invoke_static_;
33 static void invoke_static_(
void *self)
noexcept {
34 static_cast<T *
>(self)->invoke();
38class WorkInvoker :
public Invoker {
40 SingleLinkEntry work_queue_entry_;
Intrusive single-linked and double-linked list implementations.
The main namespace for the Condy library.