
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