boost::static_unsigned_max<sizeof(A),boost::static_unsigned_max<sizeof(B),sizeof(D)>::value >::value;