// Delete F when we go out of scope:
std::unique_ptr<F> code(*reinterpret_cast<F**>(&buffer));
return (*code)(std::forward<Args>(args)...);
// Delete F when we go out of scope:
std::unique_ptr<F> code(*reinterpret_cast<F**>(&buffer));
return (*code)(std::forward<Args>(args)...);
operator bool() const { return vtable_ != nullptr; }
bool operator!() const { return vtable_ == nullptr; }
operator bool() const { return vtable_ != nullptr; }
bool operator!() const { return vtable_ == nullptr; }