Boost logo

Boost Users :

From: William E. Kempf (wekempf_at_[hidden])
Date: 2003-01-09 07:08:02


> From: "Simon Bailey <conic_at_[hidden]>" <conic_at_[hidden]>
> --- In Boost-Users_at_[hidden], "Paul Mensonides" <yg-boost-
> users_at_m...> wrote:
> > "William E. Kempf" <wekempf_at_c...> wrote in message
> >
> > > That still misses the point. Boost currently won't help you to
> install
> > the library, but installation certainly wouldn't entail copying the
> entire
> > $BOOST_ROOT tree to the $INCLUDE directory on your system. You'd
> only copy
> > the $BOOST_ROOT/boost tree there.
> >
> > Yes, and this is why I said that it hasn't been a problem for me.
> However,
> > I see where the OP is coming from as well.
> >
> > Paul Mensonides
>
> Paul understands me correctly. I confused the issue by making two
> requests at once.
>
> Mainly, I want to include other libraries alongside boost and provide
> a single include path. That is the first wish. Bill has pointed out
> that I could move BOOST_ROOT/boost into my INCLUDE directory. I
> didn't know that - I thought it might break things.
>
> The second thing I was suggesting (and this is quite minor) was that
> we make the change to include smart_ptr.hpp (etc.) and thread.hpp
> (etc.) at the same directory level. I thought that the
> subdirectories (like /thread) were the way of the future. I didn't
> realise that the plan was to move all the headers into
> BOOST_ROOT/boost.
>
> So it seems my first wish is not needed and my second wish is already
> on the drawing board. :-)

No, it's never been planned to move all headers into $BOOST_ROOT/boost. That would be problematic at best. The headers are in subdirectories to avoid name clashes, and that's how it should be for large libraries and/or libraries that use common names. What many of these libraries do, and what Boost.Threads will do with the next release, however, is to have a *single* include header in $BOOST_ROOT/boost that includes all the other headers from the specific sub-library. This (mostly) avoids the dangers of name clashes, gives a simple single include file for many uses, yet retains the ability for users to include only what they need to in order to reduce compilation time, etc. For example, both of the following would be legal:

#include <boost/thread/thread.hpp>
#include <boost/thread/mutex.hpp>
#include <boost/thread/condition.hpp>

// ... code using boost::thread, boost::mutex and
// boost condition

- or -

#include <boost/thread.hpp>

// ... code using boost::thread, boost::mutex and
// boost condition

William E. Kempf
wekempf_at_[hidden]


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net