On 17/05/2015 17:50, David Stone wrote:
Conceptually, common_type is a type_trait. We should not be so quick to worship at the altar of removing dependencies that we compromise logical design or introduce code duplication. I don't think a dependency-free graph is necessarily desirable -- the whole reason we have Boost is to create reusable components.
Largely I'm inclined to agree... but I can see the attraction of a modular boost as well. I think it's vital when we do this that the end user gets a seamless experience, so I would document the trait with the rest of type_traits docs, but with a small note that if you're downloading a modular boost (which we don't quite have yet, but we're getting there) then you must also download the common_type module. Actually, on the off chance that we end up with other type_traits that are more heavyweight than normal, a more generic name for the module would be better, but I can't think what at present? I guess come to that it could go into utility? John.