Subject: Re: [boost] [bind] BOOST_BIND_NO_PLACEHOLDERS and unspecified-placeholder-type's
From: Joaquin M Lopez Munoz (joaquin_at_[hidden])
Date: 2014-03-25 11:35:21
Steven Watanabe <watanabesj <at> gmail.com> writes:
> 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.
JoaquÃn M LÃ³pez MuÃ±oz
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk