Settled for std::function.

Signed-off-by: LH_Mouse <lh_mouse@126.com>
General update.

Signed-off-by: LH_Mouse <lh_mouse@126.com>