
Le 07/06/14 17:13, Ion Gaztañaga a écrit :
El 06/06/2014 23:40, Peter Dimov escribió:
John Maddock wrote:
I'm tied of saying this.... but if mpl::bool_ and int_ were moved out of MPL full, either to core, or to some mpl_core, then there's no need to split type_traits anymore.
The question is: what is the minimal conforming implementation of a type trait? Is it
template<class T> struct something { bool const value = false; }
or is it, instead,
template<class T> struct something: mpl::false_ { };
I would say the first one. I use my own true_/false_ wrappers in my libraries just to avoid MPL dependencies.
To be standard conforming, we would need to add "std::integral_constant<bool, false>" as "type" member. But IMHO this seems a bit redundant.
Well, currently something more template <class T, T v> struct integral_constant { static constexpr T value = v; typedef T value_type; typedef integral_constant<T,v> type; constexpr operator value_type() const { return value; } constexpr value_type operator()() const { return value; } }; Vicente C++ International Standard