Re: [Boost-bugs] [Boost C++ Libraries] #4399: Make the free function 'size' support the uBLAS traits system and better work with expression types

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #4399: Make the free function 'size' support the uBLAS traits system and better work with expression types
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-07-02 22:13:22


#4399: Make the free function 'size' support the uBLAS traits system and better
work with expression types
--------------------------------------------------------+-------------------
  Reporter: Marco Guazzone <marco.guazzone@…> | Owner: guwi17
      Type: Patches | Status: new
 Milestone: Boost 1.44.0 | Component: uBLAS
   Version: Boost 1.44.0 | Severity: Problem
Resolution: | Keywords:
--------------------------------------------------------+-------------------

Comment (by Marco Guazzone <marco.guazzone@…>):

 I've tried to change the 'size' operation without affecting its syntax but
 I've failed.

 More specifically, the problem is given by one of the polymorphic version
 of ''size'':

 {{{
     template <typename TagT, typename ExprT>
     typename ExprT::size_type size(ExprT const& e);
 }}}

 which I've initially transformed into


 {{{
     template <typename TagT, typename MatrixExprT>
     typename matrix_traits<MatrixExprT>::size_type
 size(matrix_expression<ExprT> const& me);
 }}}

 See the thread
 [http://lists.boost.org/MailArchives/ublas/2010/06/4362.php] for more
 details.

 So, my solution is to '''break back compatibility''' by removing that
 version of '''size''' and introducing a new free function (e.g.,
 '''size_by_tag''') with the same semantic.

 I attach a patch for the '''size''' operation and the related test suite.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/4399#comment:1>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:03 UTC