$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: [boost] [type_traits] common_type and SFINAE
From: Lorenzo Caminiti (lorcaminiti_at_[hidden])
Date: 2012-10-04 03:28:20
Hello all,
common_type<T, U>::type is defined in a way that gives a hard compiler
error if T and U do not have a common type (this is also how
common_type is implemented in C++11).
An alternative design (I'm not sure if implementable) would have been
to not define the type member in case T and U have no common type.
This way I could use SFINAE to detect if common_type<T, U>::type does
not exist and therefore if T and U have not common type -- so to
implement N3351's concept Common<T, U>.
Is there a way to implement this alternative design?
Thanks.
--Lorenzo