forked from boostorg/function
53b95c386d
and playing more nicely with reinterpret_cast (thanks to Brad King for the fixes). [SVN r39285]