
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@artberg.ru