mirror of
https://github.com/boostorg/ublas.git
synced 2026-02-19 14:52:17 +00:00
Change to NO_ITERATOR_BASE_TRAITS
as a bug workaround Use code that works with VC6 [SVN r24549]
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -771,7 +771,7 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
#ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR
|
||||
class const_iterator1:
|
||||
public container_const_reference<vector_matrix_binary>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename iterator_restrict_traits<typename E1::const_iterator::iterator_category,
|
||||
typename E2::const_iterator::iterator_category>::iterator_category>::template
|
||||
iterator_base<const_iterator1, value_type>::type {
|
||||
@@ -941,7 +941,7 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
#ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR
|
||||
class const_iterator2:
|
||||
public container_const_reference<vector_matrix_binary>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename iterator_restrict_traits<typename E1::const_iterator::iterator_category,
|
||||
typename E2::const_iterator::iterator_category>::iterator_category>::template
|
||||
iterator_base<const_iterator2, value_type>::type {
|
||||
@@ -1259,7 +1259,7 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
#ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR
|
||||
class const_iterator1:
|
||||
public container_const_reference<matrix_unary1>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename E::const_iterator1::iterator_category>::template
|
||||
iterator_base<const_iterator1, value_type>::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<matrix_unary1>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename E::const_iterator2::iterator_category>::template
|
||||
iterator_base<const_iterator2, value_type>::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<matrix_unary2>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename E::const_iterator2::iterator_category>::template
|
||||
iterator_base<const_iterator1, value_type>::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<matrix_unary2>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename E::const_iterator1::iterator_category>::template
|
||||
iterator_base<const_iterator2, value_type>::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<matrix_binary>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename iterator_restrict_traits<typename E1::const_iterator1::iterator_category,
|
||||
typename E2::const_iterator1::iterator_category>::iterator_category>::template
|
||||
iterator_base<const_iterator1, value_type>::type {
|
||||
@@ -2465,7 +2465,7 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
#ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR
|
||||
class const_iterator2:
|
||||
public container_const_reference<matrix_binary>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename iterator_restrict_traits<typename E1::const_iterator2::iterator_category,
|
||||
typename E2::const_iterator2::iterator_category>::iterator_category>::template
|
||||
iterator_base<const_iterator2, value_type>::type {
|
||||
@@ -2924,7 +2924,7 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
#ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR
|
||||
class const_iterator1:
|
||||
public container_const_reference<matrix_binary_scalar1>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename E2::const_iterator1::iterator_category>::template
|
||||
iterator_base<const_iterator1, value_type>::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<matrix_binary_scalar1>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename E2::const_iterator2::iterator_category>::template
|
||||
iterator_base<const_iterator2, value_type>::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<matrix_binary_scalar2>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename E1::const_iterator1::iterator_category>::template
|
||||
iterator_base<const_iterator1, value_type>::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<matrix_binary_scalar2>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename E1::const_iterator2::iterator_category>::template
|
||||
iterator_base<const_iterator2, value_type>::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<matrix_vector_binary1>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename iterator_restrict_traits<typename E1::const_iterator1::iterator_category,
|
||||
typename E2::const_iterator::iterator_category>::iterator_category>::template
|
||||
iterator_base<const_iterator, value_type>::type {
|
||||
@@ -4201,7 +4201,7 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
#ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR
|
||||
class const_iterator:
|
||||
public container_const_reference<matrix_vector_binary2>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename iterator_restrict_traits<typename E1::const_iterator::iterator_category,
|
||||
typename E2::const_iterator2::iterator_category>::iterator_category>::template
|
||||
iterator_base<const_iterator, value_type>::type {
|
||||
@@ -4635,7 +4635,7 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
#ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR
|
||||
class const_iterator1:
|
||||
public container_const_reference<matrix_matrix_binary>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename iterator_restrict_traits<typename E1::const_iterator1::iterator_category,
|
||||
typename E2::const_iterator2::iterator_category>::iterator_category>::template
|
||||
iterator_base<const_iterator1, value_type>::type {
|
||||
@@ -4864,7 +4864,7 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
#ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR
|
||||
class const_iterator2:
|
||||
public container_const_reference<matrix_matrix_binary>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename iterator_restrict_traits<typename E1::const_iterator1::iterator_category,
|
||||
typename E2::const_iterator2::iterator_category>::iterator_category>::template
|
||||
iterator_base<const_iterator2, value_type>::type {
|
||||
|
||||
@@ -265,7 +265,7 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
#ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR
|
||||
class const_iterator:
|
||||
public container_const_reference<matrix_row>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename const_iterator_type::iterator_category>::template
|
||||
iterator_base<const_iterator, value_type>::type {
|
||||
#else
|
||||
@@ -373,7 +373,7 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
#ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR
|
||||
class iterator:
|
||||
public container_reference<matrix_row>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename iterator_type::iterator_category>::template
|
||||
iterator_base<iterator, value_type>::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<matrix_column>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename const_iterator_type::iterator_category>::template
|
||||
iterator_base<const_iterator, value_type>::type {
|
||||
#else
|
||||
@@ -879,7 +879,7 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
#ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR
|
||||
class iterator:
|
||||
public container_reference<matrix_column>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename iterator_type::iterator_category>::template
|
||||
iterator_base<iterator, value_type>::type {
|
||||
#else
|
||||
@@ -1262,7 +1262,7 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
|
||||
class const_iterator:
|
||||
public container_const_reference<matrix_vector_range>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename iterator_restrict_traits<typename M::const_iterator1::iterator_category,
|
||||
typename M::const_iterator2::iterator_category>::iterator_category>::template
|
||||
iterator_base<const_iterator, value_type>::type {
|
||||
@@ -1380,7 +1380,7 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
|
||||
class iterator:
|
||||
public container_reference<matrix_vector_range>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename iterator_restrict_traits<typename M::iterator1::iterator_category,
|
||||
typename M::iterator2::iterator_category>::iterator_category>::template
|
||||
iterator_base<iterator, value_type>::type {
|
||||
@@ -1763,7 +1763,7 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
|
||||
class const_iterator:
|
||||
public container_const_reference<matrix_vector_slice>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename iterator_restrict_traits<typename M::const_iterator1::iterator_category,
|
||||
typename M::const_iterator2::iterator_category>::iterator_category>::template
|
||||
iterator_base<const_iterator, value_type>::type {
|
||||
@@ -1881,7 +1881,7 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
|
||||
class iterator:
|
||||
public container_reference<matrix_vector_slice>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename iterator_restrict_traits<typename M::iterator1::iterator_category,
|
||||
typename M::iterator2::iterator_category>::iterator_category>::template
|
||||
iterator_base<iterator, value_type>::type {
|
||||
@@ -2265,7 +2265,7 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
|
||||
class const_iterator:
|
||||
public container_const_reference<matrix_vector_indirect>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename iterator_restrict_traits<typename M::const_iterator1::iterator_category,
|
||||
typename M::const_iterator2::iterator_category>::iterator_category>::template
|
||||
iterator_base<const_iterator, value_type>::type {
|
||||
@@ -2383,7 +2383,7 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
|
||||
class iterator:
|
||||
public container_reference<matrix_vector_indirect>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename iterator_restrict_traits<typename M::iterator1::iterator_category,
|
||||
typename M::iterator2::iterator_category>::iterator_category>::template
|
||||
iterator_base<iterator, value_type>::type {
|
||||
@@ -2821,17 +2821,12 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
#ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR
|
||||
class const_iterator1:
|
||||
public container_const_reference<matrix_range>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename const_iterator1_type::iterator_category>::template
|
||||
iterator_base<const_iterator1, value_type>::type {
|
||||
#else
|
||||
#if !(defined(BOOST_MSVC) && BOOST_MSVC < 1300)
|
||||
public random_access_iterator_base<typename const_iterator1_type::iterator_category,
|
||||
const_iterator1, value_type> {
|
||||
#else
|
||||
public random_access_iterator_base<typename M::const_iterator1::iterator_category,
|
||||
const_iterator1, value_type> {
|
||||
#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<matrix_range>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename iterator1_type::iterator_category>::template
|
||||
iterator_base<iterator1, value_type>::type {
|
||||
#else
|
||||
#if !(defined(BOOST_MSVC) && BOOST_MSVC < 1300)
|
||||
public random_access_iterator_base<typename iterator1_type::iterator_category,
|
||||
iterator1, value_type> {
|
||||
#else
|
||||
public random_access_iterator_base<typename M::iterator1::iterator_category,
|
||||
iterator1, value_type> {
|
||||
#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<matrix_range>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename const_iterator2_type::iterator_category>::template
|
||||
iterator_base<const_iterator2, value_type>::type {
|
||||
#else
|
||||
#if !(defined(BOOST_MSVC) && BOOST_MSVC < 1300)
|
||||
public random_access_iterator_base<typename const_iterator2_type::iterator_category,
|
||||
const_iterator2, value_type> {
|
||||
#else
|
||||
public random_access_iterator_base<typename M::const_iterator2::iterator_category,
|
||||
const_iterator2, value_type> {
|
||||
#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<matrix_range>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename iterator2_type::iterator_category>::template
|
||||
iterator_base<iterator2, value_type>::type {
|
||||
#else
|
||||
#if !(defined(BOOST_MSVC) && BOOST_MSVC < 1300)
|
||||
public random_access_iterator_base<typename iterator2_type::iterator_category,
|
||||
iterator2, value_type> {
|
||||
#else
|
||||
public random_access_iterator_base<typename M::iterator2::iterator_category,
|
||||
iterator2, value_type> {
|
||||
#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<matrix_slice>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename M::const_iterator1::iterator_category>::template
|
||||
iterator_base<const_iterator1, value_type>::type {
|
||||
#else
|
||||
@@ -3900,7 +3880,7 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
#ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR
|
||||
class iterator1:
|
||||
public container_reference<matrix_slice>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename M::iterator1::iterator_category>::template
|
||||
iterator_base<iterator1, value_type>::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<matrix_slice>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename M::const_iterator2::iterator_category>::template
|
||||
iterator_base<const_iterator2, value_type>::type {
|
||||
#else
|
||||
@@ -4185,7 +4165,7 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
#ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR
|
||||
class iterator2:
|
||||
public container_reference<matrix_slice>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename M::iterator2::iterator_category>::template
|
||||
iterator_base<iterator2, value_type>::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<matrix_indirect>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename M::const_iterator1::iterator_category>::template
|
||||
iterator_base<const_iterator1, value_type>::type {
|
||||
#else
|
||||
@@ -4840,7 +4820,7 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
#ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR
|
||||
class iterator1:
|
||||
public container_reference<matrix_indirect>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename M::iterator1::iterator_category>::template
|
||||
iterator_base<iterator1, value_type>::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<matrix_indirect>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename M::const_iterator2::iterator_category>::template
|
||||
iterator_base<const_iterator2, value_type>::type {
|
||||
#else
|
||||
@@ -5125,7 +5105,7 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
#ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR
|
||||
class iterator2:
|
||||
public container_reference<matrix_indirect>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename M::iterator2::iterator_category>::template
|
||||
iterator_base<iterator2, value_type>::type {
|
||||
#else
|
||||
|
||||
@@ -634,7 +634,7 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
#ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR
|
||||
class const_iterator:
|
||||
public container_const_reference<vector_unary>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename E::const_iterator::iterator_category>::template
|
||||
iterator_base<const_iterator, value_type>::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<vector_binary>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename iterator_restrict_traits<typename E1::const_iterator::iterator_category,
|
||||
typename E2::const_iterator::iterator_category>::iterator_category>::template
|
||||
iterator_base<const_iterator, value_type>::type {
|
||||
@@ -1307,7 +1307,7 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
#ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR
|
||||
class const_iterator:
|
||||
public container_const_reference<vector_binary_scalar1>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename E2::const_iterator::iterator_category>::template
|
||||
iterator_base<const_iterator, value_type>::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<vector_binary_scalar2>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename E1::const_iterator::iterator_category>::template
|
||||
iterator_base<const_iterator, value_type>::type {
|
||||
#else
|
||||
|
||||
@@ -277,17 +277,12 @@ namespace boost { namespace numeric { namespace ublas {
|
||||
#ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR
|
||||
class const_iterator:
|
||||
public container_const_reference<vector_range>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename const_iterator_type::iterator_category>::template
|
||||
iterator_base<const_iterator, value_type>::type {
|
||||
#else
|
||||
#if !(defined(BOOST_MSVC) && BOOST_MSVC < 1300)
|
||||
public random_access_iterator_base<typename const_iterator_type::iterator_category,
|
||||
const_iterator, value_type> {
|
||||
#else
|
||||
public random_access_iterator_base<typename V::const_iterator::iterator_category,
|
||||
const_iterator, value_type> {
|
||||
#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<vector_range>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename iterator_type::iterator_category>::template
|
||||
iterator_base<iterator, value_type>::type {
|
||||
#else
|
||||
#if !(defined(BOOST_MSVC) && BOOST_MSVC < 1300)
|
||||
public random_access_iterator_base<typename iterator_type::iterator_category,
|
||||
iterator, value_type> {
|
||||
#else
|
||||
public random_access_iterator_base<typename V::iterator::iterator_category,
|
||||
iterator, value_type> {
|
||||
#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<vector_slice>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename V::const_iterator::iterator_category>::template
|
||||
iterator_base<const_iterator, value_type>::type {
|
||||
#else
|
||||
@@ -923,7 +913,7 @@ return true;
|
||||
#ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR
|
||||
class iterator:
|
||||
public container_reference<vector_slice>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename V::iterator::iterator_category>::template
|
||||
iterator_base<iterator, value_type>::type {
|
||||
#else
|
||||
@@ -1359,7 +1349,7 @@ return true;
|
||||
#ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR
|
||||
class const_iterator:
|
||||
public container_const_reference<vector_indirect>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename V::const_iterator::iterator_category>::template
|
||||
iterator_base<const_iterator, value_type>::type {
|
||||
#else
|
||||
@@ -1467,7 +1457,7 @@ return true;
|
||||
#ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR
|
||||
class iterator:
|
||||
public container_reference<vector_indirect>,
|
||||
#ifdef BOOST_UBLAS_USE_ITERATOR_BASE_TRAITS
|
||||
#ifndef BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
|
||||
public iterator_base_traits<typename V::iterator::iterator_category>::template
|
||||
iterator_base<iterator, value_type>::type {
|
||||
#else
|
||||
|
||||
Reference in New Issue
Block a user