2
0
mirror of https://github.com/boostorg/ublas.git synced 2026-02-26 05:02:16 +00:00

Extended NO_MEMBER_FRIENDS to VC6+7

VC7 in particular has problems without
This commit is contained in:
Michael Stevens
2004-08-24 06:25:09 +00:00
parent d7572c612b
commit 11ccb88b5b
2 changed files with 5 additions and 7 deletions

View File

@@ -48,11 +48,13 @@
#pragma warning (disable: 4503)
#pragma warning (disable: 4786)
// Member friend syntax works but lookup sometime fails on VC7
#define BOOST_UBLAS_NO_MEMBER_FRIENDS
// Base traits templates syntax not supported
#define BOOST_UBLAS_NO_ITERATOR_BASE_TRAITS
// MSVC doesn't always accept the 'typename' keyword.
// 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).
// MSVC doesn't accept the 'using' keyword (at least for importing base members)
#define BOOST_UBLAS_USING
// MSVC doesn't support long double
#define BOOST_UBLAS_NO_LONG_DOUBLE

View File

@@ -1642,9 +1642,7 @@ namespace boost { namespace numeric { namespace ublas {
void swap(index_pair<V> lhs, index_pair<V> rhs) {
lhs.swap(rhs);
}
#endif
#if defined (BOOST_UBLAS_NO_MEMBER_FRIENDS) || defined (BOOST_MSVC)
template<class V>
BOOST_UBLAS_INLINE
bool operator == (const index_pair<V>& lhs, const index_pair<V>& rhs) {
@@ -1829,9 +1827,7 @@ namespace boost { namespace numeric { namespace ublas {
void swap(index_triple<M> lhs, index_triple<M> rhs) {
lhs.swap(rhs);
}
#endif
#if defined (BOOST_UBLAS_NO_MEMBER_FRIENDS) || defined (BOOST_MSVC)
template<class M>
BOOST_UBLAS_INLINE
bool operator == (const index_triple<M>& lhs, const index_triple<M>& rhs) {
@@ -1840,7 +1836,7 @@ namespace boost { namespace numeric { namespace ublas {
template<class M>
BOOST_UBLAS_INLINE
bool operator != (const index_triple<M>& lhs, const index_triple<M>& rhs) {
return lhs.equal(rhs);
return !lhs.equal(rhs);
}
template<class M>
BOOST_UBLAS_INLINE