Boost logo

Boost :

Subject: Re: [boost] boost policy against inline friend functions?
From: Emil Dotchevski (emildotchevski_at_[hidden])
Date: 2009-10-26 18:19:54


On Mon, Oct 26, 2009 at 3:13 PM, Beman Dawes <bdawes_at_[hidden]> wrote:
> On Mon, Oct 26, 2009 at 5:58 PM, Stefan Strasser <strasser_at_[hidden]> 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


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