Boost logo

Boost :

From: Gennaro Prota (gennaro_prota_at_[hidden])
Date: 2002-11-15 10:31:10


On Tue, 29 Oct 2002 16:24:19 -0500, Douglas Gregor <gregod_at_[hidden]>
wrote:

>On Tuesday 29 October 2002 04:10 pm, Kevin S. Van Horn wrote:
>> Why are requirements about the address operator (&) included in the
>> CopyConstructible concept at
>> http://www.boost.org/libs/utility/CopyConstructible.html? This strikes me
>> as an error of taxonomy, as there is no essential reason why the two
>> issues belong together. There are many algorithms that require one to be
>> able to copy values, but don't care about taking addresses, and we have
>> boost::addressof() anyway.
>
>The requirements in utility/CopyConstructible.html are the same as those in
>the C++ standard. FWIW, I agree with you that the address-of operator should
>not be included, and I recently (last week) filed a defect report against it.
>Only time will tell

I don't see the reason for the inclusion of operator & either. However
if really that reason doesn't exist it is *veeeery* strange that this
wasn't noticed during discussions about library issue 69:

     http://std.dkuug.dk/jtc1/sc22/wg21/docs/lwg-defects.html#69

The rationale section for that defect says:

    There is no need to explicitly consider a user-defined operator&
    because elements must be copyconstructible (23.1
    [lib.container.requirements] para 3) and copyconstructible (20.1.3
    [lib.copyconstructible]) specifies requirements for operator&.

How is it possible for it to pass unnoticed?

Genny.


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