On Wed, Jul 14, 2010 at 7:30 PM, Steven Watanabe <watanabesj@gmail.com> wrote:
AMDG

boost::bind( wrapper, a, boost::bind( c, p ), b );
creates a function object that executes
wrapper(a, c(p), b).
what you want is
wrapper(a, boost::bind( c, p ), b),
so you have to write
boost::bind( wrapper, a, boost::protect(boost::bind( c, p )), b );

In Christ,

I know I'm being really dim here, but I have a strange mental block
about protect, so for the hard-of-thinking can you explain the difference between

boost::bind( wrapper, a, boost::bind( c, p ), b );

and

boost::bind( wrapper, a, boost::protect(boost::bind( c, p )), b );

Thanks,

- Rob.