|
Boost : |
Subject: Re: [boost] New dependency report
From: Vicente J. Botet Escriba (vicente.botet_at_[hidden])
Date: 2014-06-08 02:23:56
Le 07/06/14 20:00, Peter Dimov a écrit :
> Andrey Semashev wrote:
>
>> Pulling type traits to Core doesn't sound good, it's better to create
>> a separate submodule for it.
>
> I think that you misunderstand. I do not intend to put type traits in
> Core. The is_pointer definition in the example is part of the test for
> bool_. It demonstrates that bool_ can dispatch without it being
> coupled to the definition of the trait - which can come from
> core_type_traits, from std, or from a user specialization.
>
Which library needs bool_ in Core?
IMO, what we need is integral_constant in Core and import it to Boost.
//boost/core/intergral_constant.hpp
namespace boost {
namespace core {
template <..> struct integral_constant {... };
}
}
//boost/type_traits/intergral_constant.hpp
namespace boost {
using core::integral_constant;
}
Note that the current implementation of integral_constant using
mpl::integral_c is not documented, so the changes are backward
compatible (Of course, the user or Boost code that is using the
implementation detail would be broken).
This doesn't needs a change in MPL at all.
What are the drawbacks of this solution?
Vicente
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk