This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: tr1/function and phoenix
- From: Paolo Carlini <paolo dot carlini at oracle dot com>
- To: Philipp Reh <sefi at s-e-f-i dot de>
- Cc: libstdc++ at gcc dot gnu dot org
- Date: Mon, 21 Sep 2009 15:14:42 +0200
- Subject: Re: tr1/function and phoenix
- References: <20090921123000.GA15582@miyuki>
Philipp Reh wrote:
> As far as I can see, the tr1 working paper doesn't forbid that a functor
> defines operator &. I couldn't reproduce the issue with a simpler test
> so it might have to do with the fact that the phoenix functor is a temporary
> in my test case.
>
In general, in our implementation of the C++03 library (and TR1, that is
N1836, which assumes a C++03 implementation outside the new facilities)
we do not take any specific action to protect vs user defined operator&,
in particular we don't use anything similar to boost::addressof
(basically, the rationale for that within the limits of C++03 is Table
32 and allocator.members, if I remember correctly). Agreed that all this
is in flux for C++0x, however, see for example N2257 and the DRs linked
therein.
Note that, in general, at this point in the standardization process, TR1
facilities should be considered more or less frozen. That means, likely
you can expect to see changes in this area only in the eventual
std::function.
Paolo.