[RFA] Removing const from std::swap
Paolo Carlini
pcarlini@suse.de
Thu May 19 14:28:00 GMT 2005
Hi everyone,
some time ago, in an overzealous (it seems ;) series of const- tweaks to
the algorithms, I touched std::swap too, adding a const to the temporary
__tmp:
template<typename _Tp>
inline void
swap(_Tp& __a, _Tp& __b)
{
// concept requirements
__glibcxx_function_requires(_SGIAssignableConcept<_Tp>)
const _Tp __tmp = __a;
__a = __b;
__b = __tmp;
}
This is strictly speaking absolutely legal, as the concept check also
demonstrates, but now people on the c++.moderated list, Howard Hinnant
for example, believe that this is "overly pedantic" ;) ... Shall I
remove it? If we keep it, auto_ptrs cannot be swapped, as an extension,
indeed...
Thanks,
Paolo.
More information about the Libstdc++
mailing list