|
Boost : |
From: Mitch Adler (mitch_at_[hidden])
Date: 1999-12-21 23:42:43
Greg Colvin (gcolvin_at_[hidden]) on or about 12/21/99 6:54 PM wrote:
>From: Mitch Adler <mitch_at_[hidden]>
>> That is, things can be added.
>
>So is Boost different from any other library in this respect?
Many support libraries define their extent and the names they use, and
don't grow in their public inteface/namespace.
Many are owned by the organization containing all clients that use the
namespace and can permit clients to require that library changes are
verified against their code, counting on locality to fix problems.
(Though I think that's a bad practice)
It is not true that all libraries are defined to expand, but boosts
charter, as with many libraries, seems to be, by defnition, expanding in
currenly unknowable ways. That is, classes we do not forsee now may be
added a year from now, or two, or three.
This makes any documentation of the interface intractable with regard to
name-collision avoidance.
>> Therefore there is no way to avoid potential collision with names in
>> ::boost.
>
>Sure there is. Don't use using-directives.
Yeah, exactly my point.
>> In practice, all names will not be used in ::boost, but unless we can
>> define the set of names that will be used and document them, it is far
>> better to tell people that 'using namespace ::boost' is the road to
>> collisions, incompaibility and nightmares.
>
>Yep. As is 'using namespace ::anything_else_you_can_name'.
Well, 'using namespace ::std' is clearly defined, and not likely to have
much added, so you're pretty safe from collisions there though I still
don't like using namespace directives at all if I can help it.
Boost on the other hand, seems to be a much faster changing proposition,
with more directions to expand in, causing much more potential for new
names to be added.
All of this is seems to be vehement agreement that declaring that we
don't know what will be added in ::boost, so we should discourage 'using
namespace ::boost' as strongly as we can.
Mitch
------------------------------------------------------------------------
Mitch Adler "A triangle with four points is
Intelligent Paradigm Euclid's ride to hell."
Mitch_at_[hidden] - Einstein, Picasso at the Lapin Agile
Mitch_at_[hidden]
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk