$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r62073 - in sandbox/numeric_bindings/boost/numeric/bindings: . eigen glas mtl mumps ublas umfpack
From: thomas.klimpel_at_[hidden]
Date: 2010-05-17 18:36:50
Author: klimpel
Date: 2010-05-17 18:36:48 EDT (Mon, 17 May 2010)
New Revision: 62073
URL: http://svn.boost.org/trac/boost/changeset/62073
Log:
- adjusted sparse bindings to index_base.hpp
- added missing typename to data_order.hpp
- use index_base.hpp in umfpack and mumps bindings instead of the inappropriate detail::adaptor_access<...>
- use data_order.hpp in umfpack and mumps bindings instead of detail::property_at<..., tag::data_order>
Text files modified: 
   sandbox/numeric_bindings/boost/numeric/bindings/data_order.hpp               |     2 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/eigen/sparsematrix.hpp       |     5 ++---                                   
   sandbox/numeric_bindings/boost/numeric/bindings/glas/compressed.hpp          |     5 ++---                                   
   sandbox/numeric_bindings/boost/numeric/bindings/index_base.hpp               |     2 +-                                      
   sandbox/numeric_bindings/boost/numeric/bindings/mtl/compressed2D.hpp         |     5 ++---                                   
   sandbox/numeric_bindings/boost/numeric/bindings/mumps/mumps_driver_4_6_4.hpp |    13 ++++++++-----                           
   sandbox/numeric_bindings/boost/numeric/bindings/mumps/mumps_driver_4_8_0.hpp |     9 ++++++---                               
   sandbox/numeric_bindings/boost/numeric/bindings/ublas/matrix_sparse.hpp      |    10 ++++------                              
   sandbox/numeric_bindings/boost/numeric/bindings/umfpack/umfpack.hpp          |     7 +++++--                                 
   9 files changed, 31 insertions(+), 27 deletions(-)
Modified: sandbox/numeric_bindings/boost/numeric/bindings/data_order.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/data_order.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/data_order.hpp	2010-05-17 18:36:48 EDT (Mon, 17 May 2010)
@@ -34,7 +34,7 @@
 
 template< typename T >
 typename result_of::data_order<T>::type data_order( const T& ) {
-    return result_of::data_order<T>::type();
+    return typename result_of::data_order<T>::type();
 }
 
 } // namespace bindings
Modified: sandbox/numeric_bindings/boost/numeric/bindings/eigen/sparsematrix.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/eigen/sparsematrix.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/eigen/sparsematrix.hpp	2010-05-17 18:36:48 EDT (Mon, 17 May 2010)
@@ -46,11 +46,10 @@
         mpl::pair< tag::size_type<2>, std::ptrdiff_t >,
         mpl::pair< tag::matrix_type, tag::general >,
         mpl::pair< tag::data_structure, tag::compressed_sparse >,
-        mpl::pair< tag::data_order, data_order >
+        mpl::pair< tag::data_order, data_order >,
+        mpl::pair< tag::index_base, mpl::int_<0> >
     > property_map;
 
-    BOOST_STATIC_CONSTANT (std::size_t, index_base = 0);
-
     static std::ptrdiff_t size1( const Id& id ) {
         return id.rows();
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/glas/compressed.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/glas/compressed.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/glas/compressed.hpp	2010-05-17 18:36:48 EDT (Mon, 17 May 2010)
@@ -38,11 +38,10 @@
         mpl::pair< tag::size_type<2>, std::ptrdiff_t >,
         mpl::pair< tag::matrix_type, tag::general >,
         mpl::pair< tag::data_structure, tag::compressed_sparse >,
-        mpl::pair< tag::data_order, data_order >
+        mpl::pair< tag::data_order, data_order >,
+        mpl::pair< tag::index_base, mpl::int_<IB> >
     > property_map;
 
-    BOOST_STATIC_CONSTANT (std::size_t, index_base = IB);
-
     static std::ptrdiff_t size1( const Id& id ) {
         return id.num_rows();
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/index_base.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/index_base.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/index_base.hpp	2010-05-17 18:36:48 EDT (Mon, 17 May 2010)
@@ -25,7 +25,7 @@
 
 template< typename T >
 typename result_of::index_base<T>::type index_base( const T& ) {
-    return result_of::index_base<T>::type();
+    return typename result_of::index_base<T>::type();
 }
 
 } // namespace bindings
Modified: sandbox/numeric_bindings/boost/numeric/bindings/mtl/compressed2D.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/mtl/compressed2D.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/mtl/compressed2D.hpp	2010-05-17 18:36:48 EDT (Mon, 17 May 2010)
@@ -42,11 +42,10 @@
         mpl::pair< tag::size_type<2>, std::ptrdiff_t >,
         mpl::pair< tag::matrix_type, tag::general >,
         mpl::pair< tag::data_structure, tag::compressed_sparse >,
-        mpl::pair< tag::data_order, data_order >
+        mpl::pair< tag::data_order, data_order >,
+        mpl::pair< tag::index_base, mpl::int_<0> >
     > property_map;
 
-    BOOST_STATIC_CONSTANT (std::size_t, index_base = 0);
-
     static std::ptrdiff_t size1( const Id& id ) {
         return id.num_rows();
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/mumps/mumps_driver_4_6_4.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/mumps/mumps_driver_4_6_4.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/mumps/mumps_driver_4_6_4.hpp	2010-05-17 18:36:48 EDT (Mon, 17 May 2010)
@@ -16,6 +16,8 @@
 #include <boost/numeric/bindings/value_type.hpp>
 #include <boost/numeric/bindings/begin.hpp>
 #include <boost/numeric/bindings/size.hpp>
+#include <boost/numeric/bindings/data_order.hpp>
+#include <boost/numeric/bindings/index_base.hpp>
 #include <boost/static_assert.hpp>
 #include <complex>
 #include <cassert>
@@ -209,15 +211,16 @@
   //
   template <typename M>
   void matrix_integer_data( mumps<M>& data, M& m ) {
-    BOOST_STATIC_ASSERT( (1 == bindings::detail::adaptor_access<M>::index_base) ) ;
+    typedef typename bindings::result_of::index_base<M>::type index_b ;
+    BOOST_STATIC_ASSERT(index_b::value == 1) ;
     data.n = bindings::size_row( m ) ;
     assert( bindings::size_column( m ) == data.n ) ;
 
-    data.nz = bindings::end_value( m ) - bindings::begin_value( m );
-    detail::indices( typename bindings::detail::property_at< M, tag::data_order >::type(), data.irn, data.jcn, m ) ;
+    data.nz = bindings::end_value( m ) - bindings::begin_value( m ) ;
+    detail::indices( bindings::data_order(m), data.irn, data.jcn, m ) ;
 
-    data.nz_loc = bindings::end_value( m ) - bindings::begin_value( m );
-    detail::indices( typename bindings::detail::property_at< M, tag::data_order >::type(), data.irn_loc, data.jcn_loc, m ) ;
+    data.nz_loc = bindings::end_value( m ) - bindings::begin_value( m ) ;
+    detail::indices( bindings::data_order(m), data.irn_loc, data.jcn_loc, m ) ;
   } // matrix_integer_data()
 
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/mumps/mumps_driver_4_8_0.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/mumps/mumps_driver_4_8_0.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/mumps/mumps_driver_4_8_0.hpp	2010-05-17 18:36:48 EDT (Mon, 17 May 2010)
@@ -16,6 +16,8 @@
 #include <boost/numeric/bindings/value_type.hpp>
 #include <boost/numeric/bindings/begin.hpp>
 #include <boost/numeric/bindings/size.hpp>
+#include <boost/numeric/bindings/data_order.hpp>
+#include <boost/numeric/bindings/index_base.hpp>
 #include <boost/static_assert.hpp>
 #include <complex>
 #include <cassert>
@@ -216,15 +218,16 @@
   //
   template <typename M>
   void matrix_integer_data( mumps<M>& data, M& m ) {
-    BOOST_STATIC_ASSERT( (1 == bindings::detail::adaptor_access<M>::index_base) ) ;
+    typedef typename bindings::result_of::index_base<M>::type index_b ;
+    BOOST_STATIC_ASSERT(index_b::value == 1) ;
     data.n = bindings::size_row( m ) ;
     assert( bindings::size_column( m ) == data.n ) ;
 
     data.nz = bindings::end_value( m ) - bindings::begin_value( m ) ;
-    detail::indices( typename bindings::detail::property_at< M, tag::data_order >::type(), data.irn, data.jcn, m ) ;
+    detail::indices( bindings::data_order(m), data.irn, data.jcn, m ) ;
 
     data.nz_loc = bindings::end_value( m ) - bindings::begin_value( m ) ;
-    detail::indices( typename bindings::detail::property_at< M, tag::data_order >::type(), data.irn_loc, data.jcn_loc, m ) ;
+    detail::indices( bindings::data_order(m), data.irn_loc, data.jcn_loc, m ) ;
   } // matrix_integer_data()
 
 
Modified: sandbox/numeric_bindings/boost/numeric/bindings/ublas/matrix_sparse.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/ublas/matrix_sparse.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/ublas/matrix_sparse.hpp	2010-05-17 18:36:48 EDT (Mon, 17 May 2010)
@@ -37,11 +37,10 @@
         mpl::pair< tag::size_type<2>, std::ptrdiff_t >,
         mpl::pair< tag::matrix_type, tag::general >,
         mpl::pair< tag::data_structure, tag::compressed_sparse >,
-        mpl::pair< tag::data_order, data_order >
+        mpl::pair< tag::data_order, data_order >,
+        mpl::pair< tag::index_base, mpl::int_<IB> >
     > property_map;
 
-    BOOST_STATIC_CONSTANT (std::size_t, index_base = IB);
-
     static std::ptrdiff_t size1( const Id& id ) {
         return id.size1();
     }
@@ -90,11 +89,10 @@
         mpl::pair< tag::size_type<2>, std::ptrdiff_t >,
         mpl::pair< tag::matrix_type, tag::general >,
         mpl::pair< tag::data_structure, tag::coordinate_sparse >,
-        mpl::pair< tag::data_order, data_order >
+        mpl::pair< tag::data_order, data_order >,
+        mpl::pair< tag::index_base, mpl::int_<IB> >
     > property_map;
 
-    BOOST_STATIC_CONSTANT (std::size_t, index_base = IB);
-
     static std::ptrdiff_t size1( const Id& id ) {
         return id.size1();
     }
Modified: sandbox/numeric_bindings/boost/numeric/bindings/umfpack/umfpack.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/umfpack/umfpack.hpp	(original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/umfpack/umfpack.hpp	2010-05-17 18:36:48 EDT (Mon, 17 May 2010)
@@ -24,6 +24,8 @@
 #include <boost/numeric/bindings/begin.hpp>
 #include <boost/numeric/bindings/end.hpp>
 #include <boost/numeric/bindings/size.hpp>
+#include <boost/numeric/bindings/data_order.hpp>
+#include <boost/numeric/bindings/index_base.hpp>
 
 
 namespace boost { namespace numeric { namespace bindings {  namespace umfpack {
@@ -36,10 +38,11 @@
       tag::general
     >::value));
     BOOST_STATIC_ASSERT((boost::is_same<
-      typename bindings::detail::property_at< MatrA, tag::data_order >::type,
+      typename bindings::result_of::data_order<MatrA>::type,
       tag::column_major
     >::value));
-    BOOST_STATIC_ASSERT(bindings::detail::adaptor_access<MatrA>::index_base == 0);
+    typedef typename bindings::result_of::index_base<MatrA>::type index_b;
+    BOOST_STATIC_ASSERT(index_b::value == 0);
     typedef typename bindings::detail::property_at<
       MatrA, tag::data_structure >::type storage_f;
     BOOST_STATIC_ASSERT(