Workaround various "returning reference to temporary" warnings.

This commit is contained in:
Gael Guennebaud
2014-12-05 12:49:30 +01:00
parent 6ccf97f3e6
commit 80ed5bd90c
5 changed files with 9 additions and 11 deletions

View File

@@ -1221,7 +1221,9 @@ struct evaluator<Diagonal<ArgType, DiagIndex> >
typedef typename XprType::Index Index;
typedef typename XprType::Scalar Scalar;
typedef typename XprType::CoeffReturnType CoeffReturnType;
// FIXME having to check whether ArgType is sparse here i not very nice.
typedef typename internal::conditional<!internal::is_same<typename ArgType::StorageKind,Sparse>::value,
typename XprType::CoeffReturnType,Scalar>::type CoeffReturnType;
EIGEN_DEVICE_FUNC CoeffReturnType coeff(Index row, Index) const
{

View File

@@ -449,6 +449,9 @@ enum Action {GetAction, SetAction};
/** The type used to identify a dense storage. */
struct Dense {};
/** The type used to identify a general sparse storage. */
struct Sparse {};
/** The type used to identify a permutation storage. */
struct PermutationStorage {};