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