Boost LA

scalar_cast(vector)

#include <boost/la/vector_scalar_cast.hpp>

namespace
boost
    {
    namespace
    la
        {
        //Only enabled if: is_vector<A>::value
        template <class Scalar,class A>
        -unspecified-return_type- scalar_cast( A const & a );
        }
    }

Returns:

A read-only view proxy of a that looks like a vector of the same dimensions as a, but with scalar_type Scalar and elements constructed from the corresponding elements of a.