Hello,


I have tested the latest numeric bindings, but have met compilation errors when
I use ublas vector/matrix classes with default storage array (ublas::unbounded_array).
It seems that traits::vector_storage / traits::matrix_storage  fails because of the missing
traits class for unbounded_array. It works if I use the std::vector for a storage array
instead of unbounded_array:


#include <boost/numeric/bindings/traits/vector_traits.hpp>
#include <boost/numeric/bindings/traits/std_vector.hpp>
#include <boost/numeric/bindings/traits/ublas_vector.hpp>

namespace traits = boost::numeric::bindings::traits;
namespace ublas = boost::numeric::ublas;
int main()
{
        ublas::vector<double, std::vector<double> > v(10);
        double *vp = traits::vector_storage(v); // <- OK
        ublas::vector<double, ublas::unbounded_array<double> >  w(10);
        double *wp = traits::vector_storage(w); // <- Error
        return 0;
}


The error messages I got is as follows (using g++ 4.3.3):

./boost/numeric/bindings/traits/ublas_vector.hpp: In static member function ‘static typename boost::numeric::bindings::traits::default_vector_traits<V, T>::pointer boost::numeric::bindings::traits::vector_detail_traits<boost::numeric::ublas::vector<T, A>, V>::storage(V&) [with T = double, ArrT = boost::numeric::ublas::unbounded_array<double, std::allocator<double> >, V = boost::numeric::ublas::vector<double, boost::numeric::ublas::unbounded_array<double, std::allocator<double> > >]’:
./boost/numeric/bindings/traits/vector_traits.hpp:79:   instantiated from ‘typename boost::numeric::bindings::traits::vector_traits<V, void>::pointer boost::numeric::bindings::traits::vector_storage(V&) [with V = boost::numeric::ublas::vector<double, boost::numeric::ublas::unbounded_array<double, std::allocator<double> > >]’
vector_storage.cpp:12:   instantiated from here
./boost/numeric/bindings/traits/ublas_vector.hpp:43: error: ‘storage’ is not a member of ‘boost::numeric::bindings::traits::vector_traits<boost::numeric::ublas::unbounded_array<double, std::allocator<double> >, void>’
                                          

Could you kindly fix this problem?



Best regards,

Hidekazu Ikeno