mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-05-21 20:17:35 +08:00
compilation fix
This commit is contained in:
parent
b3ad796d40
commit
c10b919edb
@ -536,9 +536,6 @@ class Matrix
|
|||||||
resizeLike(other);
|
resizeLike(other);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename MatrixType, typename OtherDerived, bool EvalBeforeAssigning = (int(OtherDerived::Flags) & EvalBeforeAssigningBit) != 0>
|
|
||||||
struct ei_matrix_set_selector;
|
|
||||||
|
|
||||||
/** \internal Copies the value of the expression \a other into \c *this with automatic resizing.
|
/** \internal Copies the value of the expression \a other into \c *this with automatic resizing.
|
||||||
*
|
*
|
||||||
* *this might be resized to match the dimensions of \a other. If *this was a null matrix (not already initialized),
|
* *this might be resized to match the dimensions of \a other. If *this was a null matrix (not already initialized),
|
||||||
@ -553,10 +550,16 @@ class Matrix
|
|||||||
template<typename OtherDerived>
|
template<typename OtherDerived>
|
||||||
EIGEN_STRONG_INLINE Matrix& _set(const MatrixBase<OtherDerived>& other)
|
EIGEN_STRONG_INLINE Matrix& _set(const MatrixBase<OtherDerived>& other)
|
||||||
{
|
{
|
||||||
ei_matrix_set_selector<Matrix,OtherDerived>::run(*this,other.derived());
|
_set_selector(other.derived(), typename ei_meta_if<(int(OtherDerived::Flags) & EvalBeforeAssigningBit), ei_meta_true, ei_meta_false>::ret());
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template<typename OtherDerived>
|
||||||
|
EIGEN_STRONG_INLINE void _set_selector(const OtherDerived& other, const ei_meta_true&) { _set_noalias(other.eval()); }
|
||||||
|
|
||||||
|
template<typename OtherDerived>
|
||||||
|
EIGEN_STRONG_INLINE void _set_selector(const OtherDerived& other, const ei_meta_false&) { _set_noalias(other); }
|
||||||
|
|
||||||
/** \internal Like _set() but additionally makes the assumption that no aliasing effect can happen (which
|
/** \internal Like _set() but additionally makes the assumption that no aliasing effect can happen (which
|
||||||
* is the case when creating a new matrix) so one can enforce lazy evaluation.
|
* is the case when creating a new matrix) so one can enforce lazy evaluation.
|
||||||
*
|
*
|
||||||
@ -603,20 +606,6 @@ class Matrix
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
|
|
||||||
template<typename MatrixType, typename OtherDerived>
|
|
||||||
struct Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::ei_matrix_set_selector<MatrixType,OtherDerived,true>
|
|
||||||
{
|
|
||||||
static void run(MatrixType& dst, const OtherDerived& src) { dst._set_noalias(src.eval()); }
|
|
||||||
};
|
|
||||||
|
|
||||||
template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
|
|
||||||
template<typename MatrixType, typename OtherDerived>
|
|
||||||
struct Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::ei_matrix_set_selector<MatrixType,OtherDerived,false>
|
|
||||||
{
|
|
||||||
static void run(MatrixType& dst, const OtherDerived& src) { dst._set_noalias(src); }
|
|
||||||
};
|
|
||||||
|
|
||||||
/** \defgroup matrixtypedefs Global matrix typedefs
|
/** \defgroup matrixtypedefs Global matrix typedefs
|
||||||
*
|
*
|
||||||
* \ingroup Core_Module
|
* \ingroup Core_Module
|
||||||
|
Loading…
x
Reference in New Issue
Block a user