
On Mon, Oct 26, 2009 at 3:13 PM, Beman Dawes <bdawes@acm.org> wrote:
On Mon, Oct 26, 2009 at 5:58 PM, Stefan Strasser <strasser@uni-bremen.de> wrote:
Am Monday 26 October 2009 20:50:45 schrieb Philippe Vaucher:
Apparently some compilers don't support template friends. There is the BOOST_NO_MEMBER_TEMPLATE_FRIENDS config macro to detect this though.
There's also a comment below the public comparison functions:
// Tasteless as this may seem, making all members public allows member templates // to work in the absence of member template friends. (Matthew Langston)
thanks, I missed that. I checked the conditions for NO_MEMBER_TEMPLATE_FRIENDS and all current compilers seem to support it. so I guess there is no reason not to use member template friends in new (proposed) boost libraries, unless you intend to make it uber-portable.
I remember that particular comment; it was quite a few years ago, and applied to compilers that have mercifully died and hopefully been buried. VC++ 6, for example.
I suspect that some users still use VC++ 6. Otherwise, perhaps we should remove all such workarounds, including macros like NO_MEMBER_TEMPLATE_FRIENDS? Though I know that there is still some disagreements between different compilers about what (instance of a) function template is friend to what type. :) Emil Dotchevski Reverge Studios, Inc. http://www.revergestudios.com/reblog/index.php?n=ReCode