void* dispatcher_resolve(dispatcher_t *obj, int sig[], int *count, int allow_unsafe, int exact_match_required) { Dispatcher *disp = static_cast<Dispatcher*>(obj); Type *args = reinterpret_cast<Type*>(sig); void *callable = disp->resolve(args, *count, (bool) allow_unsafe, (bool) exact_match_required); return callable; }