From: Valentin Bonnard (Bonnard.V_at_[hidden])
Date: 2000-01-29 16:17:16
Dave Abrahams wrote:
> on 1/29/00 3:10 PM, Valentin Bonnard at Bonnard.V_at_[hidden] wrote:
> >> In each case there are workarounds, however the point here is that the
> >> presence of an overload in namespace std may prevent overwise perfectly
> >> legal C++ code from compiling - and that code could be in your standard
> >> library - in other words simply including a user-defined header that
> >> defines overloads in std can disable standard library code.
> > That's correct. It would basically imply that lib code
> > cannot use standard lib templates or function, only
> > non-standard ones. And that's _not_ what we wanted. YADR.
> YADR? Please decode.
Yet Another DR (as in yacc, YAPL (Yet Another Public License))
> Personally, I don't think I'd mind putting that restriction on library
The commitee at least didn't intended to put this restriction.
> The fact that most names are available to users for use as
> preprocessor macros is a much more serious restriction on implementors.
The fact that implementors must stay away from a _namespace_
is more important than the inability to use any standard
container (and perhaps algorithms, if overloading in std or
partial function specialisation were allowed) while implementing
(Note the effect on efficiency, when the user has provided
a specialised and more efficient version.)
-- Valentin Bonnard
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk