From c3341fcbb778ee85c315fade7e22edea55db66e2 Mon Sep 17 00:00:00 2001 From: Michael Stevens Date: Wed, 18 Aug 2004 09:34:30 +0000 Subject: [PATCH] Change to NO_ITERATOR_BASE_TRAITS as a bug workaround Use code that works with VC6 [SVN r24549] --- include/boost/numeric/ublas/config.hpp | 22 +++---- .../boost/numeric/ublas/matrix_expression.hpp | 32 +++++----- include/boost/numeric/ublas/matrix_proxy.hpp | 64 +++++++------------ .../boost/numeric/ublas/vector_expression.hpp | 8 +-- include/boost/numeric/ublas/vector_proxy.hpp | 22 ++----- 5 files changed, 57 insertions(+), 91 deletions(-) diff --git a/include/boost/numeric/ublas/config.hpp b/include/boost/numeric/ublas/config.hpp index 849f84b5..99e2aa55 100644 --- a/include/boost/numeric/ublas/config.hpp +++ b/include/boost/numeric/ublas/config.hpp @@ -50,6 +50,8 @@ #pragma warning (disable: 4503) #pragma warning (disable: 4786) +// Base traits templates syntax not supported +#define BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS // MSVC doesn't always accept the 'typename' keyword. #define BOOST_UBLAS_TYPENAME // MSVC doesn't accept the 'using' keyword (at least for importing base members). @@ -105,9 +107,6 @@ // GNU Compiler Collection #if defined (__GNUC__) && ! defined (BOOST_STRICT_CONFIG) -// GCC allows to use iterator_base_traits. -#define BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS - #if __GNUC__ <= 2 && __GNUC_MINOR__ <= 95 // GCC 2.95.3 needs BOOST_UBLAS_REVERSE_ITERATOR_OVERLOADS (this seems to be arguable). #define BOOST_UBLAS_REVERSE_ITERATOR_OVERLOADS @@ -124,12 +123,10 @@ // Intel Compiler #if defined (BOOST_INTEL) && ! defined (BOOST_STRICT_CONFIG) -//TODO When is this true? -// ICC sometimes needs qualified type names. -//#define BOOST_UBLAS_QUALIFIED_TYPENAME - -// ICC memory usage and time grows with this enabled -//#define BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#if (BOOST_INTEL < 800) +// Base traits templates syntax untested +#define BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS +#endif // Define swap for index_pair and triple. #if (BOOST_INTEL <= 800) @@ -171,10 +168,7 @@ namespace std { // Thanks to Kresimir Fresl for porting to Comeau. #if defined (__COMO__) && ! defined (BOOST_STRICT_CONFIG) - -// Comeau allows to use iterator_base_traits. -#define BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS - +// Comeau should not have any problems #endif @@ -185,6 +179,8 @@ namespace std { // 8.x #if __MWERKS__ <= 0x3003 #define BOOST_UBLAS_NO_MEMBER_FRIENDS +// Base traits templates syntax untested +#define BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS #endif #endif diff --git a/include/boost/numeric/ublas/matrix_expression.hpp b/include/boost/numeric/ublas/matrix_expression.hpp index 0d748719..f1c9ab60 100644 --- a/include/boost/numeric/ublas/matrix_expression.hpp +++ b/include/boost/numeric/ublas/matrix_expression.hpp @@ -771,7 +771,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator1: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::iterator_category>::template iterator_base::type { @@ -941,7 +941,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator2: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::iterator_category>::template iterator_base::type { @@ -1259,7 +1259,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator1: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { #else @@ -1398,7 +1398,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator2: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { #else @@ -1732,7 +1732,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator1: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { #else @@ -1871,7 +1871,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator2: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { #else @@ -2199,7 +2199,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator1: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::iterator_category>::template iterator_base::type { @@ -2465,7 +2465,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator2: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::iterator_category>::template iterator_base::type { @@ -2924,7 +2924,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator1: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { #else @@ -3071,7 +3071,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator2: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { #else @@ -3373,7 +3373,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator1: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { #else @@ -3520,7 +3520,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator2: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { #else @@ -3806,7 +3806,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::iterator_category>::template iterator_base::type { @@ -4201,7 +4201,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::iterator_category>::template iterator_base::type { @@ -4635,7 +4635,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator1: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::iterator_category>::template iterator_base::type { @@ -4864,7 +4864,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator2: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::iterator_category>::template iterator_base::type { diff --git a/include/boost/numeric/ublas/matrix_proxy.hpp b/include/boost/numeric/ublas/matrix_proxy.hpp index 47af5eee..f2fc8e2f 100644 --- a/include/boost/numeric/ublas/matrix_proxy.hpp +++ b/include/boost/numeric/ublas/matrix_proxy.hpp @@ -265,7 +265,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { #else @@ -373,7 +373,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class iterator: public container_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { #else @@ -771,7 +771,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { #else @@ -879,7 +879,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class iterator: public container_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { #else @@ -1262,7 +1262,7 @@ namespace boost { namespace numeric { namespace ublas { class const_iterator: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::iterator_category>::template iterator_base::type { @@ -1380,7 +1380,7 @@ namespace boost { namespace numeric { namespace ublas { class iterator: public container_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::iterator_category>::template iterator_base::type { @@ -1763,7 +1763,7 @@ namespace boost { namespace numeric { namespace ublas { class const_iterator: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::iterator_category>::template iterator_base::type { @@ -1881,7 +1881,7 @@ namespace boost { namespace numeric { namespace ublas { class iterator: public container_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::iterator_category>::template iterator_base::type { @@ -2265,7 +2265,7 @@ namespace boost { namespace numeric { namespace ublas { class const_iterator: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::iterator_category>::template iterator_base::type { @@ -2383,7 +2383,7 @@ namespace boost { namespace numeric { namespace ublas { class iterator: public container_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::iterator_category>::template iterator_base::type { @@ -2821,17 +2821,12 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator1: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { -#else -#if !(defined(BOOST_MSVC) && BOOST_MSVC < 1300) - public random_access_iterator_base { #else public random_access_iterator_base { -#endif #endif public: typedef typename const_iterator1_type::iterator_category iterator_category; @@ -2966,17 +2961,12 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class iterator1: public container_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { -#else -#if !(defined(BOOST_MSVC) && BOOST_MSVC < 1300) - public random_access_iterator_base { #else public random_access_iterator_base { -#endif #endif public: typedef typename iterator1_type::iterator_category iterator_category; @@ -3110,17 +3100,12 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator2: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { -#else -#if !(defined(BOOST_MSVC) && BOOST_MSVC < 1300) - public random_access_iterator_base { #else public random_access_iterator_base { -#endif #endif public: typedef typename const_iterator2_type::iterator_category iterator_category; @@ -3255,17 +3240,12 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class iterator2: public container_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { -#else -#if !(defined(BOOST_MSVC) && BOOST_MSVC < 1300) - public random_access_iterator_base { #else public random_access_iterator_base { -#endif #endif public: typedef typename iterator2_type::iterator_category iterator_category; @@ -3757,7 +3737,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator1: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { #else @@ -3900,7 +3880,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class iterator1: public container_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { #else @@ -4042,7 +4022,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator2: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { #else @@ -4185,7 +4165,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class iterator2: public container_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { #else @@ -4697,7 +4677,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator1: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { #else @@ -4840,7 +4820,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class iterator1: public container_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { #else @@ -4982,7 +4962,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator2: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { #else @@ -5125,7 +5105,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class iterator2: public container_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { #else diff --git a/include/boost/numeric/ublas/vector_expression.hpp b/include/boost/numeric/ublas/vector_expression.hpp index f25b0b4e..0efe1bac 100644 --- a/include/boost/numeric/ublas/vector_expression.hpp +++ b/include/boost/numeric/ublas/vector_expression.hpp @@ -634,7 +634,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { #else @@ -925,7 +925,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::iterator_category>::template iterator_base::type { @@ -1307,7 +1307,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { #else @@ -1548,7 +1548,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { #else diff --git a/include/boost/numeric/ublas/vector_proxy.hpp b/include/boost/numeric/ublas/vector_proxy.hpp index ae93d497..8775e89c 100644 --- a/include/boost/numeric/ublas/vector_proxy.hpp +++ b/include/boost/numeric/ublas/vector_proxy.hpp @@ -277,17 +277,12 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { -#else -#if !(defined(BOOST_MSVC) && BOOST_MSVC < 1300) - public random_access_iterator_base { #else public random_access_iterator_base { -#endif #endif public: typedef typename const_iterator_type::iterator_category iterator_category; @@ -390,17 +385,12 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class iterator: public container_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { -#else -#if !(defined(BOOST_MSVC) && BOOST_MSVC < 1300) - public random_access_iterator_base { #else public random_access_iterator_base { -#endif #endif public: typedef typename iterator_type::iterator_category iterator_category; @@ -815,7 +805,7 @@ return true; #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { #else @@ -923,7 +913,7 @@ return true; #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class iterator: public container_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { #else @@ -1359,7 +1349,7 @@ return true; #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator: public container_const_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { #else @@ -1467,7 +1457,7 @@ return true; #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class iterator: public container_reference, -#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS +#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS public iterator_base_traits::template iterator_base::type { #else