Boost logo

Boost :

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
> implementors.

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
others ?

(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