>>106324073


why define

friend void task_entry(task_wrapper_c &object) { object.task_entry_(object.obj_); }
friend void task_init(task_wrapper_c &object) { object.task_init_(object.obj_); }


instead of like

public:
void task_entry() { task_entry_(obj_); }
void task_init() { task_init_(obj_); }


?

are you avoiding method syntax on purpose?