[Patch] Qualify standard functions with std:: in stl_algo.h

Paolo Carlini pcarlini@unitus.it
Sun Jun 29 21:44:00 GMT 2003


Gabriel Dos Reis wrote:

>| *************** namespace std
>| *** 1243,1250 ****
>|         typedef typename iterator_traits<_OutputIterator>::iterator_category _IterType;
>|   
>|         if (__first == __last) return __result;
>| !       return __unique_copy(__first, __last,
>| ! __result, __binary_pred, _IterType());
>|       }
>|   
>|     /**
>| --- 1243,1249 ----
>|         typedef typename iterator_traits<_OutputIterator>::iterator_category _IterType;
>|   
>|         if (__first == __last) return __result;
>| !       return __unique_copy(__first, __last, __result, __binary_pred, _IterType());
>
>This should also be qualified -- even though the identifier is in the
>implementor namespace.
>
Argh! In that case *hundreds* more qualifications are needed! (and at 
least another well known implementation doesn't qualify those... ;)

But if you think this is the way to go... will need some more time, 
however...

>This swap needs not be qualified.
>
>swap has sort of become to have an operator-like status: It is
>regarded as a fundamental operator.  In the EWG, we're exploring the
>notion of "regular types", and swap is considered one of the
>fundamental operations on those type.  We need to have them work
>through ADL.
>
Thanks. Didn't know about that specific issue. Will fix the patch 
accordingly.

Paolo.



More information about the Libstdc++ mailing list