Boost logo

Ublas :

Subject: Re: [ublas] Making explicit the conversion between unless types
From: Nasos Iliopoulos (nasos_i_at_[hidden])
Date: 2016-06-29 22:42:39


Confirming

On 06/28/2016 01:04 PM, Riccardo Rossi wrote:

This is just to be sure my previous email was received

Can anyone acknowledge receipt?

Riccardo

On 24 Jun 2016 3:49 p.m., "Riccardo Rossi" <rrossi_at_[hidden]<mailto:rrossi_at_[hidden]>> wrote:

Dear all,

Right now the following code

#include <iostream>
#include <iostream>
#include <boost/numeric/ublas/matrix.hpp>

void f(
    const boost::numeric::ublas::bounded_matrix<double,10,1>& should_be_10by1
     )
{
}

int main() {
    boost::numeric::ublas::bounded_matrix<double,10,1> correct;
    boost::numeric::ublas::bounded_matrix<double,1,10> wrong;
    f(correct);
    f(wrong); //how can this be compiled??? - i expect the type of wrong to be ...wrong for f!!
}

Does compile, effectively bypassing type safety.

Essentially if I use a reference in defining a function it is because I don t want to pass by value.
In this case a copy is being done...allowed by the fact that the reference I pass is constant.

Couldn't t the conversion be made explicit? That would potentially uncover many bugs...

Regards
Riccardo

_______________________________________________
ublas mailing list
ublas_at_[hidden]<mailto:ublas_at_[hidden]>
http://lists.boost.org/mailman/listinfo.cgi/ublas
Sent to: athanasios.iliopoulos.ctr.gr_at_[hidden]<mailto:athanasios.iliopoulos.ctr.gr_at_[hidden]>