diff options
author | Gael Guennebaud <g.gael@free.fr> | 2010-01-22 10:15:41 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2010-01-22 10:15:41 +0100 |
commit | d40c110053c13692ffc0df25fca292d98996d496 (patch) | |
tree | bcd5aeb0665e47168bb5cb53e5e935da1614bb7d /Eigen/src/Core/ReturnByValue.h | |
parent | f1a025185a25e53eb1c4817141c0523cf48f70bc (diff) |
lot of cleaning:
- clean the *_PUBLIC_INTERFACE_*
- update Diagonal, ReturnByValue, ForceAlignedAccess, UnaryView, etc. to support array
- many other small stuff
Diffstat (limited to 'Eigen/src/Core/ReturnByValue.h')
-rw-r--r-- | Eigen/src/Core/ReturnByValue.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/Eigen/src/Core/ReturnByValue.h b/Eigen/src/Core/ReturnByValue.h index e35493236..0199d3740 100644 --- a/Eigen/src/Core/ReturnByValue.h +++ b/Eigen/src/Core/ReturnByValue.h @@ -1,7 +1,7 @@ // This file is part of Eigen, a lightweight C++ template library // for linear algebra. // -// Copyright (C) 2009 Gael Guennebaud <g.gael@free.fr> +// Copyright (C) 2009-2010 Gael Guennebaud <g.gael@free.fr> // Copyright (C) 2009 Benoit Jacob <jacob.benoit.1@gmail.com> // // Eigen is free software; you can redistribute it and/or @@ -57,12 +57,14 @@ struct ei_nested<ReturnByValue<Derived>, n, PlainMatrixType> typedef typename ei_traits<Derived>::ReturnMatrixType type; }; -template<typename Derived> - class ReturnByValue : public MatrixBase<ReturnByValue<Derived> > +template<typename Derived> class ReturnByValue + : public ei_traits<Derived>::ReturnMatrixType::template MakeBase<ReturnByValue<Derived> >::Type { public: - EIGEN_GENERIC_PUBLIC_INTERFACE(ReturnByValue) typedef typename ei_traits<Derived>::ReturnMatrixType ReturnMatrixType; + typedef typename ReturnMatrixType::template MakeBase<ReturnByValue<Derived> >::Type Base; + EIGEN_DENSE_PUBLIC_INTERFACE(ReturnByValue) + template<typename Dest> inline void evalTo(Dest& dst) const { static_cast<const Derived* const>(this)->evalTo(dst); } |