On Wed, Dec 11, 2013 at 10:20 AM, Andrey Semashev
Maybe Boost.Utility should be revised as a collection of tools with none but the very basic dependencies, like Config and Preprocessor (this list is just my initial guess, it can be amended). Everything else could be extracted to distinct libraries.
To be more specific: call_traits.hpp -> Boost.TypeTraits generator_iterator.hpp -> Boost.Iterator current_function.hpp -> Boost.Config or just leave in Boost.Utility identity_type.hpp -> Boost.TypeTraits, not sure about this one in_place_factory.hpp, typed_in_place_factory.hpp -> Boost.Optional exception.hpp -> delete Extract to new submodules: compressed_pair.hpp -> Boost.CompressedPair operators.hpp -> Boost.Operators base_from_member.hpp -> Boost.BaseFromMember result_of.hpp -> Boost.ResultOf string_ref.hpp -> Boost.StringRef value_init.hpp -> Boost.ValueInitialization, if it's still needed ref.hpp -> Boost.Ref The rest is left in Boost.Utility. If I'm not missing anything, Boost.Utility then only depends on Boost.Config and Boost.Preprocessor.