Boost logo

Boost :

From: Gary Powell (Gary.Powell_at_[hidden])
Date: 2000-04-19 10:11:42


Hi,
  I have placed a copy of the "views" library in the vault. While the
namespace was changed to "boost" gcc 2.95.2 has a compile bug that
causes it to crash if you use namespaces and this library. (It has to
do with a conflict with friend member template operators, which we
use for conversion/assignment i.e. const_view = view;) So namespaces
are not tested.

  This library also violates the standard rules about adding things
to the namespace std. VTL adds new versions of swap to the std
namespace so that callers to std::swap using a view will get our
version and not the std version. It's the best of a lot of worse
choices.

  In addition, it violates the rules about forward declarations of
container classes. (They are prohibited) These declarations are all
in one file, stl_traits.h, so if your compiler has problems with them
you can either include the correct files or fix it. The reasoning is
that by forward declaring the containers we can reduce the compile
time by elimination of unnecessary parsing. All we are interested in
is some trait information about the containers.

  The .html doc's are designed to be linked to the SGI STL pages.
There is a file, localize.sh in the doc's directory to setup these
links. It is suggested that you either have your own copy or use the
sgi net pages. We also "borrowed" art from the SGI pages so that the
banners would look like it was part of this same library. That was on
purpose, as this library is supposed to fit seamlessly with the std
stl library.

  While it can be argued that a library as large and as narrowly
scoped as this one is, doesn't deserve to be added to the "std", it
does show some of the problems with the current standard. i.e. the
issue of traits about std containers, and name lookup issues as shown
by the problems of doing the right thing with swap.

  Let me or Martin know about problems/issues.

  -gary-
gary.powell_at_[hidden]


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk