Added Michel's patches for #1427

[SVN r68205]
This commit is contained in:
Marshall Clow
2011-01-17 14:52:49 +00:00
parent 14b1075d6b
commit caa0e5035a
2 changed files with 5 additions and 6 deletions

View File

@ -42,13 +42,11 @@ namespace boost
struct transform_iterator_base
{
private:
typedef typename std::iterator_traits<Iterator>::reference Arg1;
// By default, dereferencing the iterator yields the same as
// the function.
typedef typename ia_dflt_help<
Reference
, result_of<UnaryFunc(typename std::iterator_traits<Iterator>::value_type)>
, result_of<UnaryFunc(typename std::iterator_traits<Iterator>::reference)>
>::type reference;
// To get the default for Value: remove any reference on the

View File

@ -106,11 +106,12 @@ struct polymorphic_mult_functor
{
//Implement result_of protocol
template <class FArgs> struct result;
template <class F, class T> struct result<F(T)> {typedef T type;};
template <class F, class T> struct result<F(T )> {typedef T type;};
template <class F, class T> struct result<F(T& )> {typedef T type;};
template <class F, class T> struct result<F(const T&)> {typedef T type;};
template <class T>
typename result<polymorphic_mult_functor(T)>::type
operator()(const T& _arg) const {return _arg*2;}
T operator()(const T& _arg) const {return _arg*2;}
};
int