Boost logo

Boost :

Subject: Re: [boost] New dependency report
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2014-06-15 07:04:38


On Sunday 15 June 2014 12:07:44 Vicente J. Botet Escriba wrote:
> Le 13/06/14 20:27, Peter Dimov a écrit :
> >
> > The only requirement for a type trait (or a metaprogramming predicate,
> > in general) should be to have a ::value with a value of 0 or 1.
> > Nothing more. No ::tags. No required base classes. No mandatory
> > dependencies of any kind.
>
> What should be and what it is a quite different concern. The current
> documentation says that a boolean type traits inherits from
> boost::true_type or boost::false_type.

If you read some earlier posts, you will find discussion about TypeTraits.Core
submodule. I think no one in good consciousness considers to break TypeTraits
backward compatibility in such a radical way.

> > If you want to dispatch, type traits with a ::value == 0 should be
> > _convertible_ to false_type, and type traits with a ::value == 1
> > should be convertible to true_type, but they should not be required to
> > derive from them. This convertibility can be achieved from the
> > true_type/false_type side.
>
> I don't see how.

http://lists.boost.org/Archives/boost/2014/06/214248.php


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