On Wed, Sep 17, 2014 at 3:21 PM, Vicente J. Botet Escriba
Le 16/09/14 21:47, Andrey Semashev a écrit :
Hmm, I didn't notice that header. Ok, assuming we don't want to move this one header to its own sublib, what if we approach it from the other side. We can move all type traits except common_type.hpp and type_traits.hpp to a sublib base (i.e. type_traits/base). floating_point_promotion.hpp would be changed to not depend on MPL before moving to base.
This will work. However, currently the submodules depend on the module, not the opposite. I don't know if this is perturbing.
I don't think there is implied dependency of sublibs on the main library (if there is one). At least, I did not get that impression from Peter's reports and earlier discussions.
So, here is another alternative. Let everything in place except type_traits.hpp type_traits/common_type.hpp, which are move to two sub-modules TypeTraits.All and TypeTraits.CommonType with the following dependencies
TypeTraits.All -> TypeTraits TypeTraits.CommonType TypeTraits.CommonType -> TypeTraits TypeOf TypeOf -> TypeTraits
Yes, in this case we move a single type_traits.hpp to its own sublib. It looks a little awkward to me but I'm ok with it if John agrees.