Boost logo

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