Given a type T, I am trying to transform a type list into another
containing the common type between T and the individual types in the
type list.
When I compile the example below, I get the following error:
/usr/local/include/boost/type_traits/common_type.hpp:111:42: error:
incompatible operand types ('mpl_::arg<1>' and 'int')
typedef decltype(declval<bool>() ? declval<T>() : declval<U>()) type;
^ ~~~~~~~~~~~~ ~~~~~~~~~~~~
It appears that the placeholder is not expanded to its actual type.
If I use, say, decay<> instead of common_type<>, the example works just
fine.
Does anybody know how I can make it work?
Example code:
#include