Boost logo

Boost :

From: Doug Gregor (dgregor_at_[hidden])
Date: 2008-03-03 09:09:59


On Mar 2, 2008, at 6:01 PM, Robert Ramey wrote:
> I'm curious about the header placement of headers and namespaces
> used by
> this library.
>
> Specifically I find the following.
>
> boost/signal.hpp containing boost::signal
> boost/visit_each.hpp containing boost::visit_each
> boost/last_value.hpp containnig boost::last_value
>
> as these are part of the signals library, should they be in
> boost/signals/... with namespaces of boost/signal/signal ... etc.?
>
> This is especially confusing in the case of signal.hpp which is not
> at all
> were one would expect
> to find it.
>
> Are these things where they are due to some oversight? Or were they
> placed
> there for some
> special reason. Were their separate reviews of these things. They
> seem to
> be part of
> the signals/slots libraries.

We didn't think as carefully about header (or namespace) placement
when the Signals library went into Boost, so there are some
inconsistencies. visit_each and last_value were reviewed with Signals,
but went into boost/ (and namespace boost) because they were
considered to be general mechanisms that could be reused. visit_each,
for example, needs to be supported by a few other libraries (like
Bind) to be useful, so it didn't belong in Signals.

As for boost/signal.hpp: it's in boost/ because boost::signal is in
namespace boost. In retrospect, I should have put everything in
namespace boost::signals (and headers in boost/signals), but back in
2002 we didn't have quite as much clutter in the top-level boost
namespace/directory.

        - Doug


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