Steven Watanabe
AMDG
On 03/24/2014 12:10 AM, Joaquín Mª López Muñoz wrote:
The non-documented BOOST_BIND_NO_PLACEHOLDERS macro suppresses the definition of (anonymous namespace)::_1, (anonymous namespace)::_2, etc., presumably to cope with potential clashes with other libs' placeholders such as Boost.Lambda's when in the presence of using directives. The problem with this is that using Boost.Bind without placeholder names requires writing code such as
bind(f,boost::arg<1>(),boost::arg<2>());
The other solution is to define your own placeholders. You just need to specialize boost::is_placeholder.
Same problem: boost::is_placeholder is not documented anywhere AFAICS, nor is the fact that boost::bind uses it to determine what's a placeholder and what's not. So, it's just a documentation issue --I'm perfectly fine with using boost::arg<N>() or whatever provided it's the documented way to go. Thank you, Joaquín M López Muñoz Telefónica Digital