diff --git a/include/boost/numeric/ublas/config.hpp b/include/boost/numeric/ublas/config.hpp index 07f47f9f..22be18b0 100644 --- a/include/boost/numeric/ublas/config.hpp +++ b/include/boost/numeric/ublas/config.hpp @@ -215,8 +215,8 @@ namespace std { #define BOOST_UBLAS_USE_STREAM // Base traits templates syntax untested #define BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS -// Problems with ::template resolution syntax -#define BOOST_UBLAS_TEMPLATE +// Problems type check debug functor syntax +#define BOOST_UBLAS_TYPE_CHECK 0 #endif #endif @@ -227,9 +227,6 @@ namespace std { #ifndef BOOST_UBLAS_TYPENAME #define BOOST_UBLAS_TYPENAME typename #endif -#ifndef BOOST_UBLAS_TEMPLATE -#define BOOST_UBLAS_TEMPLATE template -#endif #ifndef BOOST_UBLAS_USING #define BOOST_UBLAS_USING using #endif diff --git a/include/boost/numeric/ublas/definitions.hpp b/include/boost/numeric/ublas/definitions.hpp index 9749c979..733ef745 100644 --- a/include/boost/numeric/ublas/definitions.hpp +++ b/include/boost/numeric/ublas/definitions.hpp @@ -165,7 +165,7 @@ namespace boost { namespace numeric { namespace ublas { typename I::container_type::size_type index (const I& i) { typedef typename I::container_type container_type; - return dimension_properties::BOOST_UBLAS_TEMPLATE index (i); + return dimension_properties::template index (i); } #endif diff --git a/include/boost/numeric/ublas/matrix_assign.hpp b/include/boost/numeric/ublas/matrix_assign.hpp index 69d7844f..be4909e9 100644 --- a/include/boost/numeric/ublas/matrix_assign.hpp +++ b/include/boost/numeric/ublas/matrix_assign.hpp @@ -677,7 +677,7 @@ namespace boost { namespace numeric { namespace ublas { matrix cm (m.size1 (), m.size2 ()); #ifndef BOOST_UBLAS_NO_ELEMENT_PROXIES indexing_matrix_assign (scalar_assign::reference, value_type> (), cm, m, row_major_tag ()); - indexing_matrix_assign (functor1_type::BOOST_UBLAS_TEMPLATE make_debug_functor::reference, value_type> (), cm, e, row_major_tag ()); + indexing_matrix_assign (functor1_type::template make_debug_functor::reference, value_type> (), cm, e, row_major_tag ()); #else indexing_matrix_assign (scalar_assign (), cm, m, row_major_tag ()); indexing_matrix_assign (functor1_type (), cm, e, row_major_tag ()); @@ -812,7 +812,7 @@ namespace boost { namespace numeric { namespace ublas { matrix cm (m.size1 (), m.size2 ()); #ifndef BOOST_UBLAS_NO_ELEMENT_PROXIES indexing_matrix_assign (scalar_assign::reference, value_type> (), cm, m, column_major_tag ()); - indexing_matrix_assign (functor1_type::BOOST_UBLAS_TEMPLATE make_debug_functor::reference, value_type> (), cm, e, column_major_tag ()); + indexing_matrix_assign (functor1_type::template make_debug_functor::reference, value_type> (), cm, e, column_major_tag ()); #else indexing_matrix_assign (scalar_assign (), cm, m, column_major_tag ()); indexing_matrix_assign (functor1_type (), cm, e, column_major_tag ()); @@ -1010,7 +1010,7 @@ namespace boost { namespace numeric { namespace ublas { matrix cm (m.size1 (), m.size2 ()); #ifndef BOOST_UBLAS_NO_ELEMENT_PROXIES indexing_matrix_assign (scalar_assign::reference, value_type> (), cm, m, row_major_tag ()); - indexing_matrix_assign (functor1_type::BOOST_UBLAS_TEMPLATE make_debug_functor::reference, value_type> (), cm, e, row_major_tag ()); + indexing_matrix_assign (functor1_type::template make_debug_functor::reference, value_type> (), cm, e, row_major_tag ()); #else indexing_matrix_assign (scalar_assign (), cm, m, row_major_tag ()); indexing_matrix_assign (functor1_type (), cm, e, row_major_tag ()); @@ -1137,7 +1137,7 @@ namespace boost { namespace numeric { namespace ublas { matrix cm (m.size1 (), m.size2 ()); #ifndef BOOST_UBLAS_NO_ELEMENT_PROXIES indexing_matrix_assign (scalar_assign::reference, value_type> (), cm, m, column_major_tag ()); - indexing_matrix_assign (functor1_type::BOOST_UBLAS_TEMPLATE make_debug_functor::reference, value_type> (), cm, e, column_major_tag ()); + indexing_matrix_assign (functor1_type::template make_debug_functor::reference, value_type> (), cm, e, column_major_tag ()); #else indexing_matrix_assign (scalar_assign (), cm, m, column_major_tag ()); indexing_matrix_assign (functor1_type (), cm, e, column_major_tag ()); diff --git a/include/boost/numeric/ublas/vector_assign.hpp b/include/boost/numeric/ublas/vector_assign.hpp index 5d21d3d2..e69fa9dc 100644 --- a/include/boost/numeric/ublas/vector_assign.hpp +++ b/include/boost/numeric/ublas/vector_assign.hpp @@ -320,7 +320,7 @@ namespace boost { namespace numeric { namespace ublas { vector cv (v.size ()); #ifndef BOOST_UBLAS_NO_ELEMENT_PROXIES indexing_vector_assign (scalar_assign::reference, value_type> (), cv, v); - indexing_vector_assign (functor_type::BOOST_UBLAS_TEMPLATE make_debug_functor::reference, value_type> (), cv, e); + indexing_vector_assign (functor_type::template make_debug_functor::reference, value_type> (), cv, e); #else indexing_vector_assign (scalar_assign (), cv, v); indexing_vector_assign (functor_type (), cv, e); @@ -380,7 +380,7 @@ namespace boost { namespace numeric { namespace ublas { vector cv (v.size ()); #ifndef BOOST_UBLAS_NO_ELEMENT_PROXIES indexing_vector_assign (scalar_assign::reference, value_type> (), cv, v); - indexing_vector_assign (functor_type::BOOST_UBLAS_TEMPLATE make_debug_functor::reference, value_type> (), cv, e); + indexing_vector_assign (functor_type::template make_debug_functor::reference, value_type> (), cv, e); #else indexing_vector_assign (scalar_assign (), cv, v); indexing_vector_assign (functor_type (), cv, e); @@ -415,7 +415,7 @@ namespace boost { namespace numeric { namespace ublas { vector cv (v.size ()); #ifndef BOOST_UBLAS_NO_ELEMENT_PROXIES indexing_vector_assign (scalar_assign::reference, value_type> (), cv, v); - indexing_vector_assign (functor_type::BOOST_UBLAS_TEMPLATE make_debug_functor::reference, value_type> (), cv, e); + indexing_vector_assign (functor_type::template make_debug_functor::reference, value_type> (), cv, e); #else indexing_vector_assign (scalar_assign (), cv, v); indexing_vector_assign (functor_type (), cv, e);