Boost logo

Boost :

Subject: Re: [boost] boost and vendor's TR1 implementations
From: Sergey Sadovnikov (flex_ferrum_at_[hidden])
Date: 2008-11-12 19:44:57


Hello, David.

Wednesday, November 12, 2008 at 8:11:36 PM you wrote:

>> 2. boost::transform_iterator knows nothing about std::tr1::bind
>> shipped with VS2008 compiler.

DA> What is it supposed to "know?"
Once more about binders to the data member. Last standard working
draft (Doc No: N2798=08-0308, Date: 2008-10-04), [func.require] section:
--------------------------------
3. If a call wrapper (20.7.1) has a weak result type the type of its member type result_type is based on the
type T of the wrapper’s target object (20.7.1):
— if T is a function, reference to function, or pointer to function type, result_type shall be a synonym
for the return type of T;
— if T is a pointer to member function, result_type shall be a synonym for the return type of T;
— if T is a class type with a member type result_type, then result_type shall be a synonym for
T::result_type;
— otherwise result_type shall not be defined.
--------------------------------
Is this mean what class datamember "call wrappers" hasn't to define
'result_type' member? And there is no way to determine result type of the
following expression:

std::tr1::bind(&std::pair<int, int>::second, std::tr1::placeholders::_1));

?

-- 
Best Regards,
 Sergey                          mailto:flex_ferrum_at_[hidden]

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