|
Boost : |
From: Richard Corden (richard.corden_at_[hidden])
Date: 2006-04-10 05:59:28
Martin Bonner wrote:
> The problem is the code:
> template <typename T1, typename T2>
> class sealed_impl
> {
> friend typename T1;
> friend typename T2;
> ...
>
> 7.1.5.3 p2 says "[Note: this implies that, within a class template with
> a template type-parameter T, the declaration friend class T; is
> ill-formed.]"
>
> In other words, you can't do that :-(
At least based on the C++-03 std.
The current C++ draft does allow 'friend T1' so it depends how the
'boost' community would like to operate here.
In general I think most implementers try to keep up with the working
paper both to ensure that there isn't any problems with the proposed
wording and also that they are in a position to ship when the new std
appears.
Personally, I also think it would be very useful if boost also tried
some experimental features, as the unique way boost pushes compilers may
also show problems in the standards wording this side of standardisation!
Just a thought.
Regards,
Richard
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk