#include <boost/qvm/deduce_q.hpp>
#include <boost/qvm/deduce_v.hpp>
#include <boost/qvm/deduce_m.hpp>
#include <boost/qvm/deduce_s.hpp>
namespace boost
{
namespace qvm
{
//*** Generic programming utilities ***
template <class Q>
struct deduce_q
{
typedef Q type;
};
template <class A,class B>
struct deduce_q2
{
typedef /*unspecified*/ type;
};
template <
class V,
int Dim=v_traits<Vector>::dim>
struct deduce_v
{
typedef /*unspecified*/ type;
};
template <class A,class B,int Dim>
struct deduce_v2
{
typedef /*unspecified*/ type;
};
template <
class M,
int Rows=m_traits<Matrix>::rows,
int Cols=m_traits<Matrix>::cols>
struct deduce_m
{
typedef /*unspecified*/ type;
};
template <class A,class B,int Rows,int Cols>
struct deduce_m2
{
typedef /*unspecified*/ type;
};
template <class A,class B>
struct deduce_s
{
typedef typename impl<A,B>::type type;
};
template <class Scalar>
struct s_traits
{
BOOST_QVM_INLINE_CRITICAL
static Scalar value( int v )
{
return Scalar(v);
}
};
template <class T>
struct scalar
{
typedef /*exact definition unspecified*/ type;
};
}
}