Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r56535 - trunk/boost/numeric/ublas/detail
From: guwi17_at_[hidden]
Date: 2009-10-02 17:36:50


Author: guwi17
Date: 2009-10-02 17:36:50 EDT (Fri, 02 Oct 2009)
New Revision: 56535
URL: http://svn.boost.org/trac/boost/changeset/56535

Log:
see #3499:
 * added DefaultConstructible to mutable matrix and vector container,
 * fixed INTERNAL concept checks
Text files modified:
   trunk/boost/numeric/ublas/detail/concepts.hpp | 24 +++++++++++++-----------
   1 files changed, 13 insertions(+), 11 deletions(-)

Modified: trunk/boost/numeric/ublas/detail/concepts.hpp
==============================================================================
--- trunk/boost/numeric/ublas/detail/concepts.hpp (original)
+++ trunk/boost/numeric/ublas/detail/concepts.hpp 2009-10-02 17:36:50 EDT (Fri, 02 Oct 2009)
@@ -499,6 +499,7 @@
 
         void constraints () {
             function_requires< VectorConcept<vector_type> >();
+ function_requires< DefaultConstructible<vector_type> >();
             function_requires< Mutable_VectorExpressionConcept<vector_type> >();
             size_type n (0);
             value_type t = value_type ();
@@ -579,6 +580,7 @@
 
         void constraints () {
             function_requires< MatrixConcept<matrix_type> >();
+ function_requires< DefaultConstructible<matrix_type> >();
             function_requires< Mutable_MatrixExpressionConcept<matrix_type> >();
             size_type n (0);
             value_type t = value_type ();
@@ -1405,12 +1407,12 @@
             function_requires< IndexedRandomAccess1DIteratorConcept<expression_model::const_reverse_iterator> >();
         }
 
- function_requires< ScalarExpressionConcept<vector_scalar_unary<vector<T>, vector_sum<T> > > >();
- function_requires< ScalarExpressionConcept<vector_scalar_unary<vector<T>, vector_norm_1<T> > > >();
- function_requires< ScalarExpressionConcept<vector_scalar_unary<vector<T>, vector_norm_2<T> > > >();
- function_requires< ScalarExpressionConcept<vector_scalar_unary<vector<T>, vector_norm_inf<T> > > >();
+ function_requires< ScalarExpressionConcept<vector_scalar_unary<vector<T>, vector_sum<vector<T> > > > >();
+ function_requires< ScalarExpressionConcept<vector_scalar_unary<vector<T>, vector_norm_1<vector<T> > > > >();
+ function_requires< ScalarExpressionConcept<vector_scalar_unary<vector<T>, vector_norm_2<vector<T> > > > >();
+ function_requires< ScalarExpressionConcept<vector_scalar_unary<vector<T>, vector_norm_inf<vector<T> > > > >();
 
- function_requires< ScalarExpressionConcept<vector_scalar_binary<vector<T>, vector<T>, vector_inner_prod<T, T, T> > > >();
+ function_requires< ScalarExpressionConcept<vector_scalar_binary<vector<T>, vector<T>, vector_inner_prod<vector<T>, vector<T>, T> > > >();
 #endif
 
         // Matrix Expressions
@@ -1482,29 +1484,29 @@
         }
 
         {
- typedef matrix_vector_binary1<matrix<T>, vector<T>, matrix_vector_prod1<T, T, T> > expression_model;
+ typedef matrix_vector_binary1<matrix<T>, vector<T>, matrix_vector_prod1<matrix<T>, vector<T>, T> > expression_model;
             function_requires< VectorExpressionConcept<expression_model> >();
             function_requires< IndexedRandomAccess1DIteratorConcept<expression_model::const_iterator> >();
             function_requires< IndexedRandomAccess1DIteratorConcept<expression_model::const_reverse_iterator> >();
         }
 
         {
- typedef matrix_vector_binary2<vector<T>, matrix<T>, matrix_vector_prod2<T, T, T> > expression_model;
+ typedef matrix_vector_binary2<vector<T>, matrix<T>, matrix_vector_prod2<matrix<T>, vector<T>, T > > expression_model;
             function_requires< VectorExpressionConcept<expression_model> >();
             function_requires< IndexedRandomAccess1DIteratorConcept<expression_model::const_iterator> >();
             function_requires< IndexedRandomAccess1DIteratorConcept<expression_model::const_reverse_iterator> >();
         }
 
         {
- typedef matrix_matrix_binary<matrix<T>, matrix<T>, matrix_matrix_prod<T, T, T> > expression_model;
+ typedef matrix_matrix_binary<matrix<T>, matrix<T>, matrix_matrix_prod<matrix<T>, matrix<T>, T > > expression_model;
             function_requires< MatrixExpressionConcept<expression_model> >();
             function_requires< IndexedRandomAccess2DIteratorConcept<expression_model::const_iterator1, expression_model::const_iterator2> >();
             function_requires< IndexedRandomAccess2DIteratorConcept<expression_model::const_reverse_iterator1, expression_model::const_reverse_iterator2> >();
         }
 
- function_requires< ScalarExpressionConcept<matrix_scalar_unary<matrix<T>, matrix_norm_1<T> > > >();
- function_requires< ScalarExpressionConcept<matrix_scalar_unary<matrix<T>, matrix_norm_frobenius<T> > > >();
- function_requires< ScalarExpressionConcept<matrix_scalar_unary<matrix<T>, matrix_norm_inf<T> > > >();
+ function_requires< ScalarExpressionConcept<matrix_scalar_unary<matrix<T>, matrix_norm_1<vector<T> > > > >();
+ function_requires< ScalarExpressionConcept<matrix_scalar_unary<matrix<T>, matrix_norm_frobenius<vector<T> > > > >();
+ function_requires< ScalarExpressionConcept<matrix_scalar_unary<matrix<T>, matrix_norm_inf<vector<T> > > > >();
 #endif
 
 #ifdef EXTERNAL


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk