Boost logo

Boost :

Subject: Re: [boost] [bind][phoenix] unified placeholders, yea or nay?
From: Thomas Klimpel (Thomas.Klimpel_at_[hidden])
Date: 2012-05-28 09:34:29


Eric Niebler wrote:
> 1) Cause boost.bind to depend on boost.proto. (I would do what I
> could to keep that dependency as slight as possible.)

Currently, Boost.Bind works on IBM XL C/C++ (formerly vacpp for visual age c++), while Boost.Proto does not. To be frank, the issue is that the name-lookup for templates of vacpp was never standard compliant, and IBM XL C/C++ just continued that "tradition", even after they started to add C++11 features.

A single instance of such a name lookup problem is usually easy to "fix", but I can fully understand every developer that doesn't want to "fix" many places in his code for a non-compliant compiler to which he usually doesn't even have access.

> 2) Could not be supported on all platforms; e.g. not on borland or
> (gcc < 4) where the placeholders are actually static inline functions(!).
> (Peter, is this an ODR thing?)

>From a technical point of view, it should be possible to still support Boost.Bind on vacpp (IBM XL C/C++) . If you make the proposed change, could you ensure to fix all name lookup problems (for vacpp) in the parts of Boost.Proto on which Boost.Bind would depend? (Both IBM XL C/C++ for AIX, V12.1 and IBM XL C/C++ Enterprise Edition, V10.1 are part of the regular regression test runners for trunk, both still using vacpp as name)

Regards,
Thomas


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk