Boost logo

Boost :

Subject: Re: [boost] New dependency report
From: Felipe Magno de Almeida (felipe.m.almeida_at_[hidden])
Date: 2014-06-13 13:25:04


On Fri, Jun 13, 2014 at 1:49 PM, Eric Niebler <eniebler_at_[hidden]> wrote:
> On 06/13/2014 09:42 AM, Andrey Semashev wrote:
>> On Friday 13 June 2014 09:27:04 Eric Niebler wrote:

[snip]

> There are a great many goals that this change would address:
>
> * Make the minimum requirements for type traits sensible in C++11 by
> using std:: facilities where appropriate
>
> * Breaking the dependency of TypeTraits on MPL.[^1]
>
> * Making boost type traits play nicely with code written for C++11 that
> dispatches to std::true_type or std::false_type
>
> * Make the mpl meta-functions work with std::integral_constants
>
> * Make it possible to define mpl Sequence types without reserving a very
> generic and common identifier like "tag".
>
> This solution is not radical. It's a matter of grepping the source for
> "::tag" and replacing with uses of mpl::tag.

I agree this is the best solution. I'd hate to have to know which
false_type a template metafunction returns. Also, it goes with
the idea of separating multiple member typedefs in specific
metafunctions that are considered best practices nowadays.
I can volunteer to do this change over this weekend if nobody
else volunteers.

> Eric
>
> [^1]: TypeTraits has other mpl dependencies like if_ and friends. Those
> would need to be addressed regardless of this change. <sigh>

Regards,

-- 
Felipe Magno de Almeida

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk