Boost logo

Boost :

Subject: Re: [boost] [reference_wrapper] Overloading operator() inreference_wrapper
From: Peter Dimov (lists_at_[hidden])
Date: 2013-05-02 10:11:28


Kazutoshi Satoda wrote:
> The standard version has 4 member typedef which are conditionally
> defined: result_type, argument_type, first_argument_type,
> second_argument_type. If "to update boost::ref to match the standard
> version" includes addition of these members, it requires the argument
> type complete to determine the condition to (or not to) define these
> typedef. If you decide not to define these typedef based on the
> incompleteness, it will likely cause ODR violation.

Interesting. I've always considered these typedefs redundant, but this is
the first time I see them as actively harmful.


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