#include <boost/qvm/deduce_scalar.hpp>
namespace boost
{
namespace qvm
{
template <class A,class B>
struct deduce_scalar
{
typedef typename impl<A,B>::type type;
};
}
}
A and B satisfy the scalar requirements.
If A and B are the same type, impl<A,B>::type returns that type. Otherwise, impl<A,B>::type is well defined for the following types only: signed/unsigned char, signed/unsigned short, signed/unsigned int, signed/unsigned long, float and double. The deduction logic is as follows: