From 7fbc9d840933dac58cfe4cd490ed1566d081ae35 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Wed, 10 Dec 2014 14:26:25 +0100 Subject: [PATCH] Introduce a ReplicateReturnType as a possible workaround of a compilation issue with MSVC+ICC --- Eigen/src/Core/DenseBase.h | 6 ++++-- Eigen/src/Core/Replicate.h | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Eigen/src/Core/DenseBase.h b/Eigen/src/Core/DenseBase.h index c5800f6c8..2354e54f1 100644 --- a/Eigen/src/Core/DenseBase.h +++ b/Eigen/src/Core/DenseBase.h @@ -462,8 +462,10 @@ template class DenseBase template RealScalar lpNorm() const; template - const Replicate replicate() const; - const Replicate replicate(Index rowFacor,Index colFactor) const; + inline const Replicate replicate() const; + + typedef const Replicate ReplicateReturnType; + inline ReplicateReturnType replicate(Index rowFacor,Index colFactor) const; typedef Reverse ReverseReturnType; typedef const Reverse ConstReverseReturnType; diff --git a/Eigen/src/Core/Replicate.h b/Eigen/src/Core/Replicate.h index dde86a834..4f899aa2e 100644 --- a/Eigen/src/Core/Replicate.h +++ b/Eigen/src/Core/Replicate.h @@ -135,7 +135,7 @@ template class Replicate */ template template -inline const Replicate +const Replicate DenseBase::replicate() const { return Replicate(derived()); @@ -150,7 +150,7 @@ DenseBase::replicate() const * \sa VectorwiseOp::replicate(), DenseBase::replicate(), class Replicate */ template -inline const Replicate +typename DenseBase::ReplicateReturnType DenseBase::replicate(Index rowFactor,Index colFactor) const { return Replicate(derived(),rowFactor,colFactor);