2
0
mirror of https://github.com/boostorg/ublas.git synced 2026-02-23 04:02:10 +00:00

Compatibility fix for VC 6.0.

This commit is contained in:
Jörg Walter
2003-11-05 08:31:36 +00:00
parent ff6b2d5182
commit bef18df03a
2 changed files with 50 additions and 5 deletions

View File

@@ -516,8 +516,13 @@ namespace boost { namespace numeric { namespace ublas {
typedef typename M::value_type value_type;
#ifdef BOOST_UBLAS_TYPE_CHECK
matrix<value_type, row_major> cm (m.size1 (), m.size2 ());
#ifndef BOOST_MSVC
indexing_matrix_assign (scalar_assign<typename matrix<value_type, row_major>::reference, value_type> (), cm, m, row_major_tag ());
indexing_matrix_assign (functor1_type::template make_debug_functor<typename matrix<value_type, row_major>::reference, value_type> (), cm, e, row_major_tag ());
#else
indexing_matrix_assign (scalar_assign<value_type, value_type> (), cm, m, row_major_tag ());
indexing_matrix_assign (functor1_type (), cm, e, row_major_tag ());
#endif
#endif
typename M::iterator1 it1 (m.begin1 ());
typename M::iterator1 it1_end (m.end1 ());
@@ -646,8 +651,13 @@ namespace boost { namespace numeric { namespace ublas {
typedef typename M::value_type value_type;
#ifdef BOOST_UBLAS_TYPE_CHECK
matrix<value_type, column_major> cm (m.size1 (), m.size2 ());
#ifndef BOOST_MSVC
indexing_matrix_assign (scalar_assign<typename matrix<value_type, column_major>::reference, value_type> (), cm, m, column_major_tag ());
indexing_matrix_assign (functor1_type::template make_debug_functor<typename matrix<value_type, column_major>::reference, value_type> (), cm, e, column_major_tag ());
indexing_matrix_assign (functor1_type::template make_debug_functor<typename matrix<value_type, column_major>::reference, value_type> (), cm, e, column_major_tag ());
#else
indexing_matrix_assign (scalar_assign<value_type, value_type> (), cm, m, column_major_tag ());
indexing_matrix_assign (functor1_type (), cm, e, column_major_tag ());
#endif
#endif
typename M::iterator2 it2 (m.begin2 ());
typename M::iterator2 it2_end (m.end2 ());
@@ -774,8 +784,13 @@ namespace boost { namespace numeric { namespace ublas {
typedef typename M::value_type value_type;
#ifdef BOOST_UBLAS_TYPE_CHECK
matrix<value_type, row_major> cm (m.size1 (), m.size2 ());
#ifndef BOOST_MSVC
indexing_matrix_assign (scalar_assign<typename matrix<value_type, row_major>::reference, value_type> (), cm, m, row_major_tag ());
indexing_matrix_assign (functor_type::template make_debug_functor<typename matrix<value_type, row_major>::reference, value_type> (), cm, e, row_major_tag ());
indexing_matrix_assign (functor_type::template make_debug_functor<typename matrix<value_type, row_major>::reference, value_type> (), cm, e, row_major_tag ());
#else
indexing_matrix_assign (scalar_assign<value_type, value_type> (), cm, m, row_major_tag ());
indexing_matrix_assign (functor_type (), cm, e, row_major_tag ());
#endif
#endif
m.clear ();
typename E::const_iterator1 it1e (e ().begin1 ());
@@ -812,8 +827,13 @@ namespace boost { namespace numeric { namespace ublas {
typedef typename M::value_type value_type;
#ifdef BOOST_UBLAS_TYPE_CHECK
matrix<value_type, column_major> cm (m.size1 (), m.size2 ());
#ifndef BOOST_MSVC
indexing_matrix_assign (scalar_assign<typename matrix<value_type, column_major>::reference, value_type> (), cm, m, column_major_tag ());
indexing_matrix_assign (functor_type::template make_debug_functor<typename matrix<value_type, column_major>::reference, value_type> (), cm, e, column_major_tag ());
indexing_matrix_assign (functor_type::template make_debug_functor<typename matrix<value_type, column_major>::reference, value_type> (), cm, e, column_major_tag ());
#else
indexing_matrix_assign (scalar_assign<value_type, value_type> (), cm, m, column_major_tag ());
indexing_matrix_assign (functor_type (), cm, e, column_major_tag ());
#endif
#endif
m.clear ();
typename E::const_iterator2 it2e (e ().begin2 ());
@@ -852,8 +872,13 @@ namespace boost { namespace numeric { namespace ublas {
typedef typename M::value_type value_type;
#ifdef BOOST_UBLAS_TYPE_CHECK
matrix<value_type, row_major> cm (m.size1 (), m.size2 ());
#ifndef BOOST_MSVC
indexing_matrix_assign (scalar_assign<typename matrix<value_type, row_major>::reference, value_type> (), cm, m, row_major_tag ());
indexing_matrix_assign (functor1_type::template make_debug_functor<typename matrix<value_type, row_major>::reference, value_type> (), cm, e, row_major_tag ());
indexing_matrix_assign (functor1_type::template make_debug_functor<typename matrix<value_type, row_major>::reference, value_type> (), cm, e, row_major_tag ());
#else
indexing_matrix_assign (scalar_assign<value_type, value_type> (), cm, m, row_major_tag ());
indexing_matrix_assign (functor1_type (), cm, e, row_major_tag ());
#endif
#endif
typename M::iterator1 it1 (m.begin1 ());
typename M::iterator1 it1_end (m.end1 ());
@@ -1059,8 +1084,13 @@ namespace boost { namespace numeric { namespace ublas {
typedef typename M::value_type value_type;
#ifdef BOOST_UBLAS_TYPE_CHECK
matrix<value_type, column_major> cm (m.size1 (), m.size2 ());
#ifndef BOOST_MSVC
indexing_matrix_assign (scalar_assign<typename matrix<value_type, column_major>::reference, value_type> (), cm, m, column_major_tag ());
indexing_matrix_assign (functor1_type::template make_debug_functor<typename matrix<value_type, column_major>::reference, value_type> (), cm, e, column_major_tag ());
indexing_matrix_assign (functor1_type::template make_debug_functor<typename matrix<value_type, column_major>::reference, value_type> (), cm, e, column_major_tag ());
#else
indexing_matrix_assign (scalar_assign<value_type, value_type> (), cm, m, column_major_tag ());
indexing_matrix_assign (functor1_type (), cm, e, column_major_tag ());
#endif
#endif
typename M::iterator2 it2 (m.begin2 ());
typename M::iterator2 it2_end (m.end2 ());

View File

@@ -284,8 +284,13 @@ namespace boost { namespace numeric { namespace ublas {
typedef typename V::value_type value_type;
#ifdef BOOST_UBLAS_TYPE_CHECK
vector<value_type> cv (v.size ());
#ifndef BOOST_MSVC
indexing_vector_assign (scalar_assign<typename vector<value_type>::reference, value_type> (), cv, v);
indexing_vector_assign (functor_type::template make_debug_functor<typename vector<value_type>::reference, value_type> (), cv, e);
#else
indexing_vector_assign (scalar_assign<value_type, value_type> (), cv, v);
indexing_vector_assign (functor_type (), cv, e);
#endif
#endif
typename V::iterator it (v.begin ());
typename V::iterator it_end (v.end ());
@@ -339,8 +344,13 @@ namespace boost { namespace numeric { namespace ublas {
typedef typename V::value_type value_type;
#ifdef BOOST_UBLAS_TYPE_CHECK
vector<value_type> cv (v.size ());
#ifndef BOOST_MSVC
indexing_vector_assign (scalar_assign<typename vector<value_type>::reference, value_type> (), cv, v);
indexing_vector_assign (functor_type::template make_debug_functor<typename vector<value_type>::reference, value_type> (), cv, e);
#else
indexing_vector_assign (scalar_assign<value_type, value_type> (), cv, v);
indexing_vector_assign (functor_type (), cv, e);
#endif
#endif
v.clear ();
typename E::const_iterator ite (e ().begin ());
@@ -368,8 +378,13 @@ namespace boost { namespace numeric { namespace ublas {
typedef typename V::reference reference;
#ifdef BOOST_UBLAS_TYPE_CHECK
vector<value_type> cv (v.size ());
#ifndef BOOST_MSVC
indexing_vector_assign (scalar_assign<typename vector<value_type>::reference, value_type> (), cv, v);
indexing_vector_assign (functor_type::template make_debug_functor<typename vector<value_type>::reference, value_type> (), cv, e);
#else
indexing_vector_assign (scalar_assign<value_type, value_type> (), cv, v);
indexing_vector_assign (functor_type (), cv, e);
#endif
#endif
typename V::iterator it (v.begin ());
typename V::iterator it_end (v.end ());