On 7 June 2014 17:41, Peter Dimov
Antony Polukhin wrote:
Would it be good to move a single
header into the Boost.Core? This header depends only on Boost.Config. It adds dependency to a whole Boost.Functional library for the following libraries: array, container, filesystem, multiindex, thread, type_index, variant. While the general subject of forwarding headers still deserves consideration, in this specific case I wonder if moving funcional/hash into its own 'hash' module would not alleviate most of the problem.
The point of the forwarding header was to be a lightweight header, because the main header is quite heavy, so separating out the forwarding header is probably the right thing to do. I can't guarantee that I won't add any new dependencies to hash, so if you rely on hash having less dependencies, then this problem might resurface in the future. Looking at your report, many of functional's dependencies seem to be caused by problems elsewhere, e.g. boost/functional/factory.hpp includes boost/pointee.hpp from iterator, which pulls in a lot of modules. I think the problem there is with boost/pointee.hpp.