#include <boost/la/deduce_vector.hpp>
namespace
boost
{
namespace
la
{
template <
class Vector,
int Dim=vector_traits<Vector>::dim,
class Scalar=typename vector_traits<Vector>::scalar_type>
struct
deduce_vector
{
typedef /*unspecified*/ type;
};
}
}
This template is used by Boost LA whenever it needs to deduce a vector type of certain size and scalar type from a single user-supplied function parameter of vector type. The returned type must have accessible copy constructor (the Vector type itself could be non-copyable.)
The main template definition returns an unspecified vector type that satisfies the requirements above. Boost LA also defines (partial) specializations for some of the vector types it produces. Users can define other (partial) specializations for their own types.