mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
ArrayWrapper and MatrixWrapper classes should not be nested by reference.
This commit is contained in:
@@ -29,6 +29,11 @@ struct traits<ArrayWrapper<ExpressionType> >
|
|||||||
: public traits<typename remove_all<typename ExpressionType::Nested>::type >
|
: public traits<typename remove_all<typename ExpressionType::Nested>::type >
|
||||||
{
|
{
|
||||||
typedef ArrayXpr XprKind;
|
typedef ArrayXpr XprKind;
|
||||||
|
// Let's remove NestByRefBit
|
||||||
|
enum {
|
||||||
|
Flags0 = traits<typename remove_all<typename ExpressionType::Nested>::type >::Flags,
|
||||||
|
Flags = Flags0 & ~NestByRefBit
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -166,6 +171,11 @@ struct traits<MatrixWrapper<ExpressionType> >
|
|||||||
: public traits<typename remove_all<typename ExpressionType::Nested>::type >
|
: public traits<typename remove_all<typename ExpressionType::Nested>::type >
|
||||||
{
|
{
|
||||||
typedef MatrixXpr XprKind;
|
typedef MatrixXpr XprKind;
|
||||||
|
// Let's remove NestByRefBit
|
||||||
|
enum {
|
||||||
|
Flags0 = traits<typename remove_all<typename ExpressionType::Nested>::type >::Flags,
|
||||||
|
Flags = Flags0 & ~NestByRefBit
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user