2
0
mirror of https://github.com/boostorg/ublas.git synced 2026-02-21 15:32:12 +00:00

MSVC workarounds only for 6.0 and 7.0

svn path=/trunk/boost/boost/numeric/ublas/; revision=24477
This commit is contained in:
Michael Stevens
2004-08-14 20:04:59 +00:00
parent 92c5419aed
commit 8088fc4c6a
4 changed files with 31 additions and 31 deletions

View File

@@ -860,7 +860,7 @@ namespace boost { namespace numeric { namespace ublas {
ZeroElement (double) {
return 0.;
}
#ifndef BOOST_MSVC
#if !(defined(BOOST_MSVC) && BOOST_MSVC <= 1300)
template<>
std::complex<float>
ZeroElement (std::complex<float>) {
@@ -882,7 +882,7 @@ namespace boost { namespace numeric { namespace ublas {
ZeroElement (vector<double>) {
return zero_vector<double> ();
}
#ifndef BOOST_MSVC
#if !(defined(BOOST_MSVC) && BOOST_MSVC <= 1300)
template<>
vector<std::complex<float> >
ZeroElement (vector<std::complex<float> >) {
@@ -904,7 +904,7 @@ namespace boost { namespace numeric { namespace ublas {
ZeroElement (matrix<double>) {
return zero_matrix<double> ();
}
#ifndef BOOST_MSVC
#if !(defined(BOOST_MSVC) && BOOST_MSVC <= 1300)
template<>
matrix<std::complex<float> >
ZeroElement (matrix<std::complex<float> >) {
@@ -930,7 +930,7 @@ namespace boost { namespace numeric { namespace ublas {
OneElement (double) {
return 1.;
}
#ifndef BOOST_MSVC
#if !(defined(BOOST_MSVC) && BOOST_MSVC <= 1300)
template<>
std::complex<float>
OneElement (std::complex<float>) {
@@ -952,7 +952,7 @@ namespace boost { namespace numeric { namespace ublas {
OneElement (matrix<double>) {
return identity_matrix<double> ();
}
#ifndef BOOST_MSVC
#if !(defined(BOOST_MSVC) && BOOST_MSVC <= 1300)
template<>
matrix<std::complex<float> >
OneElement (matrix<std::complex<float> >) {
@@ -1631,7 +1631,7 @@ namespace boost { namespace numeric { namespace ublas {
VectorSpaceConcept<double, matrix<double> >::constraints ();
LinearOperatorConcept<double, vector<double>, matrix<double> >::constraints ();
#ifndef BOOST_MSVC
#if !(defined(BOOST_MSVC) && BOOST_MSVC <= 1300)
AdditiveAbelianGroupConcept<std::complex<float> >::constraints ();
CommutativeRingWithIdentityConcept<std::complex<float> >::constraints ();
FieldConcept<std::complex<float> >::constraints ();

View File

@@ -2819,7 +2819,7 @@ namespace boost { namespace numeric { namespace ublas {
public iterator_base_traits<typename const_iterator1_type::iterator_category>::template
iterator_base<const_iterator1, value_type>::type {
#else
#ifndef BOOST_MSVC
#if !(defined(BOOST_MSVC) && BOOST_MSVC < 1300)
public random_access_iterator_base<typename const_iterator1_type::iterator_category,
const_iterator1, value_type> {
#else
@@ -2964,7 +2964,7 @@ namespace boost { namespace numeric { namespace ublas {
public iterator_base_traits<typename iterator1_type::iterator_category>::template
iterator_base<iterator1, value_type>::type {
#else
#ifndef BOOST_MSVC
#if !(defined(BOOST_MSVC) && BOOST_MSVC < 1300)
public random_access_iterator_base<typename iterator1_type::iterator_category,
iterator1, value_type> {
#else
@@ -3108,7 +3108,7 @@ namespace boost { namespace numeric { namespace ublas {
public iterator_base_traits<typename const_iterator2_type::iterator_category>::template
iterator_base<const_iterator2, value_type>::type {
#else
#ifndef BOOST_MSVC
#if !(defined(BOOST_MSVC) && BOOST_MSVC < 1300)
public random_access_iterator_base<typename const_iterator2_type::iterator_category,
const_iterator2, value_type> {
#else
@@ -3253,7 +3253,7 @@ namespace boost { namespace numeric { namespace ublas {
public iterator_base_traits<typename iterator2_type::iterator_category>::template
iterator_base<iterator2, value_type>::type {
#else
#ifndef BOOST_MSVC
#if !(defined(BOOST_MSVC) && BOOST_MSVC < 1300)
public random_access_iterator_base<typename iterator2_type::iterator_category,
iterator2, value_type> {
#else

View File

@@ -18,7 +18,7 @@
namespace boost { namespace numeric { namespace ublas {
// MSVC 6.0 gets confused by the forward declarations.
#ifndef BOOST_MSVC
#if !(defined(BOOST_MSVC) && BOOST_MSVC <= 1300)
template < typename V >
BOOST_UBLAS_INLINE
@@ -141,8 +141,8 @@ namespace boost { namespace numeric { namespace ublas {
BOOST_UBLAS_INLINE
typename c_vector<T, N>::const_pointer data( const c_vector<T, N> &v ) ;
#endif
#ifndef BOOST_MSVC
// We need data_const() mostly due to MSVC 6.0.
#if !(defined(BOOST_MSVC) && BOOST_MSVC <= 1300)
// We need data_const() mostly due to MSVC
// But how shall we write portable code otherwise?
template < typename T, std::size_t N >
BOOST_UBLAS_INLINE
@@ -194,8 +194,8 @@ namespace boost { namespace numeric { namespace ublas {
BOOST_UBLAS_INLINE
typename c_matrix<T, M, N>::const_pointer data( const c_matrix<T, M, N> &m ) ;
#endif
#ifndef BOOST_MSVC
// We need data_const() mostly due to MSVC 6.0.
#if !(defined(BOOST_MSVC) && BOOST_MSVC <= 1300)
// We need data_const() mostly due to MSVC
// But how shall we write portable code otherwise?
template < typename T, std::size_t M, std::size_t N >
BOOST_UBLAS_INLINE
@@ -284,8 +284,8 @@ namespace boost { namespace numeric { namespace ublas {
BOOST_UBLAS_INLINE
typename c_vector<T, N>::const_pointer base( const c_vector<T, N> &v ) ;
#endif
#ifndef BOOST_MSVC
// We need base_const() mostly due to MSVC 6.0.
#if !(defined(BOOST_MSVC) && BOOST_MSVC <= 1300)
// We need base_const() mostly due to MSVC
// But how shall we write portable code otherwise?
template < typename T, std::size_t N >
BOOST_UBLAS_INLINE
@@ -337,8 +337,8 @@ namespace boost { namespace numeric { namespace ublas {
BOOST_UBLAS_INLINE
typename c_matrix<T, M, N>::const_pointer base( const c_matrix<T, M, N> &m ) ;
#endif
#ifndef BOOST_MSVC
// We need base_const() mostly due to MSVC 6.0.
#if !(defined(BOOST_MSVC) && BOOST_MSVC <= 1300)
// We need base_const() mostly due to MSVC
// But how shall we write portable code otherwise?
template < typename T, std::size_t M, std::size_t N >
BOOST_UBLAS_INLINE
@@ -610,8 +610,8 @@ namespace boost { namespace numeric { namespace ublas {
return v.data() ;
}
#endif
#ifndef BOOST_MSVC
// We need data_const() mostly due to MSVC 6.0.
#if !(defined(BOOST_MSVC) && BOOST_MSVC <= 1300)
// We need data_const() mostly due to MSVC
// But how shall we write portable code otherwise?
template < typename T, std::size_t N >
BOOST_UBLAS_INLINE
@@ -687,8 +687,8 @@ namespace boost { namespace numeric { namespace ublas {
return m.data() ;
}
#endif
#ifndef BOOST_MSVC
// We need data_const() mostly due to MSVC 6.0.
#if !(defined(BOOST_MSVC) && BOOST_MSVC <= 1300)
// We need data_const() mostly due to MSVC
// But how shall we write portable code otherwise?
template < typename T, std::size_t M, std::size_t N >
BOOST_UBLAS_INLINE
@@ -819,8 +819,8 @@ namespace boost { namespace numeric { namespace ublas {
return v.data() ;
}
#endif
#ifndef BOOST_MSVC
// We need base_const() mostly due to MSVC 6.0.
#if !(defined(BOOST_MSVC) && BOOST_MSVC <= 1300)
// We need base_const() mostly due to MSVC
// But how shall we write portable code otherwise?
template < typename T, std::size_t N >
BOOST_UBLAS_INLINE
@@ -896,8 +896,8 @@ namespace boost { namespace numeric { namespace ublas {
return m.data() ;
}
#endif
#ifndef BOOST_MSVC
// We need base_const() mostly due to MSVC 6.0.
#if !(defined(BOOST_MSVC) && BOOST_MSVC <= 1300)
// We need base_const() mostly due to MSVC
// But how shall we write portable code otherwise?
template < typename T, std::size_t M, std::size_t N >
BOOST_UBLAS_INLINE

View File

@@ -281,7 +281,7 @@ namespace boost { namespace numeric { namespace ublas {
public iterator_base_traits<typename const_iterator_type::iterator_category>::template
iterator_base<const_iterator, value_type>::type {
#else
#ifndef BOOST_MSVC
#if !(defined(BOOST_MSVC) && BOOST_MSVC < 1300)
public random_access_iterator_base<typename const_iterator_type::iterator_category,
const_iterator, value_type> {
#else
@@ -394,7 +394,7 @@ namespace boost { namespace numeric { namespace ublas {
public iterator_base_traits<typename iterator_type::iterator_category>::template
iterator_base<iterator, value_type>::type {
#else
#ifndef BOOST_MSVC
#if !(defined(BOOST_MSVC) && BOOST_MSVC < 1300)
public random_access_iterator_base<typename iterator_type::iterator_category,
iterator, value_type> {
#else
@@ -1053,7 +1053,7 @@ return true;
return reverse_iterator (begin ());
}
#if defined(BOOST_MSVC) && (BOOST_MSVC <= 1300)
#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
// VC++ 6.0 cannot access data_ from iterator
private:
#endif
@@ -1598,7 +1598,7 @@ return true;
return reverse_iterator (begin ());
}
#if defined(BOOST_MSVC) && (BOOST_MSVC <= 1300)
#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
// VC++ 6.0 cannot access data_ from iterator
private:
#endif