diff options
author | Gael Guennebaud <g.gael@free.fr> | 2010-01-04 19:00:16 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2010-01-04 19:00:16 +0100 |
commit | 8eab9fb87e2bcb3d9bce50c588e88fb6d500bfb5 (patch) | |
tree | e2ea6cb7185a144979a617b7e765491775b1a800 /Eigen/src/Core/Swap.h | |
parent | fcc3be5dceb2378a1b7659793686faaeb3fbe294 (diff) |
port VectorwiseOp and Swap to the novel mechanisms, and various cleanning
Diffstat (limited to 'Eigen/src/Core/Swap.h')
-rw-r--r-- | Eigen/src/Core/Swap.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Eigen/src/Core/Swap.h b/Eigen/src/Core/Swap.h index 010d8bb8b..60b6fffc9 100644 --- a/Eigen/src/Core/Swap.h +++ b/Eigen/src/Core/Swap.h @@ -35,11 +35,12 @@ template<typename ExpressionType> struct ei_traits<SwapWrapper<ExpressionType> > : ei_traits<ExpressionType> {}; template<typename ExpressionType> class SwapWrapper - : public MatrixBase<SwapWrapper<ExpressionType> > + : public ExpressionType::template MakeBase<SwapWrapper<ExpressionType> >::Type { public: - EIGEN_GENERIC_PUBLIC_INTERFACE(SwapWrapper) + typedef typename ExpressionType::template MakeBase<SwapWrapper<ExpressionType> >::Type Base; + _EIGEN_DENSE_PUBLIC_INTERFACE(SwapWrapper) typedef typename ei_packet_traits<Scalar>::type Packet; inline SwapWrapper(ExpressionType& xpr) : m_expression(xpr) {} @@ -117,7 +118,7 @@ template<typename ExpressionType> class SwapWrapper */ template<typename Derived> template<typename OtherDerived> -void MatrixBase<Derived>::swap(MatrixBase<OtherDerived> EIGEN_REF_TO_TEMPORARY other) +void DenseBase<Derived>::swap(DenseBase<OtherDerived> EIGEN_REF_TO_TEMPORARY other) { (SwapWrapper<Derived>(derived())).lazyAssign(other); } |