|
Boost : |
From: Peter Dimov (pdimov_at_[hidden])
Date: 2007-04-27 20:32:26
Eric Niebler wrote:
> I'll have to take your word for it -- I'm not familiar enough with the
> TR1 bind to appreciate the difficulty of respecting
> is_bind_expression. It seems to me that is_bind_expression can be
> trivially implemented, given appropriately defined placeholders.
Implementing is_bind_expression is trivial and done. Making bind respect it
is harder. The TR1 spec says that in
bind( f, _1 + _2 );
bind needs to look at is_bind_expression<typeof(_1+_2)>::value to determine
whether it's a subexpression. This part is not present in boost::bind, it
just recognizes its own bind(...) expressions without asking
is_bind_expression.
> Result_of support for older compilers ... I suppose that requires
> partial template specialization, right? Do we still support compilers
> that don't do PTS?
Well, there are various degrees of doing PTS. Borland does PTS in principle,
but seems to choke on pretty much every change I make. Pointers to members
also stress even the modern compilers - we just found a pm-related bug in
VC8. In general after a commit to boost::bind I plan on two platforms
breaking right away, one at a later point. :-)
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk