mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-04-22 09:39:34 +08:00
Fix compile issues for gcc 4.8.
- Move constructors can only be defaulted as NOEXCEPT if all members have NOEXCEPT move constructors. - gcc 4.8 has some funny parsing bug in `a < b->c`, thinking `b-` is a template parameter.
This commit is contained in:
parent
154f00e9ea
commit
6035da5283
@ -220,7 +220,7 @@ template<typename T, int Size, int _Rows, int _Cols, int _Options> class DenseSt
|
|||||||
EIGEN_INTERNAL_DENSE_STORAGE_CTOR_PLUGIN(Index size = Size)
|
EIGEN_INTERNAL_DENSE_STORAGE_CTOR_PLUGIN(Index size = Size)
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
EIGEN_DEVICE_FUNC DenseStorage(const DenseStorage& other) = default;
|
EIGEN_DEVICE_FUNC DenseStorage(const DenseStorage&) = default;
|
||||||
#endif
|
#endif
|
||||||
#if !EIGEN_HAS_CXX11
|
#if !EIGEN_HAS_CXX11
|
||||||
EIGEN_DEVICE_FUNC
|
EIGEN_DEVICE_FUNC
|
||||||
@ -230,7 +230,7 @@ template<typename T, int Size, int _Rows, int _Cols, int _Options> class DenseSt
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
EIGEN_DEVICE_FUNC DenseStorage& operator=(const DenseStorage& other) = default;
|
EIGEN_DEVICE_FUNC DenseStorage& operator=(const DenseStorage&) = default;
|
||||||
#endif
|
#endif
|
||||||
#if EIGEN_HAS_RVALUE_REFERENCES
|
#if EIGEN_HAS_RVALUE_REFERENCES
|
||||||
#if !EIGEN_HAS_CXX11
|
#if !EIGEN_HAS_CXX11
|
||||||
@ -245,8 +245,8 @@ template<typename T, int Size, int _Rows, int _Cols, int _Options> class DenseSt
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
EIGEN_DEVICE_FUNC DenseStorage(DenseStorage&& other) EIGEN_NOEXCEPT = default;
|
EIGEN_DEVICE_FUNC DenseStorage(DenseStorage&&) = default;
|
||||||
EIGEN_DEVICE_FUNC DenseStorage& operator=(DenseStorage&& other) EIGEN_NOEXCEPT = default;
|
EIGEN_DEVICE_FUNC DenseStorage& operator=(DenseStorage&&) = default;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
EIGEN_DEVICE_FUNC DenseStorage(Index size, Index rows, Index cols) {
|
EIGEN_DEVICE_FUNC DenseStorage(Index size, Index rows, Index cols) {
|
||||||
|
@ -372,7 +372,7 @@ template <typename T> struct ArgMaxTupleReducer
|
|||||||
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void reduce(const T t, T* accum) const {
|
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void reduce(const T t, T* accum) const {
|
||||||
if (t.second < accum->second) {
|
if (t.second < accum->second) {
|
||||||
return;
|
return;
|
||||||
} else if (t.second > accum->second || t.first < accum->first) {
|
} else if (t.second > accum->second || accum->first > t.first ) {
|
||||||
*accum = t;
|
*accum = t;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -400,7 +400,7 @@ template <typename T> struct ArgMinTupleReducer
|
|||||||
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void reduce(const T& t, T* accum) const {
|
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void reduce(const T& t, T* accum) const {
|
||||||
if (t.second > accum->second) {
|
if (t.second > accum->second) {
|
||||||
return;
|
return;
|
||||||
} else if (t.second < accum->second || t.first < accum->first) {
|
} else if (t.second < accum->second || accum->first > t.first) {
|
||||||
*accum = t;
|
*accum = t;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user