mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-12 03:39:01 +08:00
bug #697: make sure empty classes are at the end in case of multiple inheritence
This commit is contained in:
parent
a819fa148d
commit
775f7e5fbb
@ -75,12 +75,13 @@ template<typename BinaryOp, typename Lhs, typename Rhs, typename StorageKind>
|
|||||||
class CwiseBinaryOpImpl;
|
class CwiseBinaryOpImpl;
|
||||||
|
|
||||||
template<typename BinaryOp, typename LhsType, typename RhsType>
|
template<typename BinaryOp, typename LhsType, typename RhsType>
|
||||||
class CwiseBinaryOp : internal::no_assignment_operator,
|
class CwiseBinaryOp :
|
||||||
public CwiseBinaryOpImpl<
|
public CwiseBinaryOpImpl<
|
||||||
BinaryOp, LhsType, RhsType,
|
BinaryOp, LhsType, RhsType,
|
||||||
typename internal::cwise_promote_storage_type<typename internal::traits<LhsType>::StorageKind,
|
typename internal::cwise_promote_storage_type<typename internal::traits<LhsType>::StorageKind,
|
||||||
typename internal::traits<RhsType>::StorageKind,
|
typename internal::traits<RhsType>::StorageKind,
|
||||||
BinaryOp>::ret>
|
BinaryOp>::ret>,
|
||||||
|
internal::no_assignment_operator
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
@ -41,8 +41,7 @@ struct traits<CwiseNullaryOp<NullaryOp, PlainObjectType> > : traits<PlainObjectT
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<typename NullaryOp, typename PlainObjectType>
|
template<typename NullaryOp, typename PlainObjectType>
|
||||||
class CwiseNullaryOp : internal::no_assignment_operator,
|
class CwiseNullaryOp : public internal::dense_xpr_base< CwiseNullaryOp<NullaryOp, PlainObjectType> >::type, internal::no_assignment_operator
|
||||||
public internal::dense_xpr_base< CwiseNullaryOp<NullaryOp, PlainObjectType> >::type
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
@ -53,8 +53,7 @@ template<typename UnaryOp, typename XprType, typename StorageKind>
|
|||||||
class CwiseUnaryOpImpl;
|
class CwiseUnaryOpImpl;
|
||||||
|
|
||||||
template<typename UnaryOp, typename XprType>
|
template<typename UnaryOp, typename XprType>
|
||||||
class CwiseUnaryOp : internal::no_assignment_operator,
|
class CwiseUnaryOp : public CwiseUnaryOpImpl<UnaryOp, XprType, typename internal::traits<XprType>::StorageKind>, internal::no_assignment_operator
|
||||||
public CwiseUnaryOpImpl<UnaryOp, XprType, typename internal::traits<XprType>::StorageKind>
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ struct nested_eval<ReturnByValue<Derived>, n, PlainObject>
|
|||||||
} // end namespace internal
|
} // end namespace internal
|
||||||
|
|
||||||
template<typename Derived> class ReturnByValue
|
template<typename Derived> class ReturnByValue
|
||||||
: internal::no_assignment_operator, public internal::dense_xpr_base< ReturnByValue<Derived> >::type
|
: public internal::dense_xpr_base< ReturnByValue<Derived> >::type, internal::no_assignment_operator
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef typename internal::traits<Derived>::ReturnType ReturnType;
|
typedef typename internal::traits<Derived>::ReturnType ReturnType;
|
||||||
|
@ -49,8 +49,8 @@ struct traits<Select<ConditionMatrixType, ThenMatrixType, ElseMatrixType> >
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<typename ConditionMatrixType, typename ThenMatrixType, typename ElseMatrixType>
|
template<typename ConditionMatrixType, typename ThenMatrixType, typename ElseMatrixType>
|
||||||
class Select : internal::no_assignment_operator,
|
class Select : public internal::dense_xpr_base< Select<ConditionMatrixType, ThenMatrixType, ElseMatrixType> >::type,
|
||||||
public internal::dense_xpr_base< Select<ConditionMatrixType, ThenMatrixType, ElseMatrixType> >::type
|
internal::no_assignment_operator
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
@ -55,8 +55,8 @@ struct traits<PartialReduxExpr<MatrixType, MemberOp, Direction> >
|
|||||||
}
|
}
|
||||||
|
|
||||||
template< typename MatrixType, typename MemberOp, int Direction>
|
template< typename MatrixType, typename MemberOp, int Direction>
|
||||||
class PartialReduxExpr : internal::no_assignment_operator,
|
class PartialReduxExpr : public internal::dense_xpr_base< PartialReduxExpr<MatrixType, MemberOp, Direction> >::type,
|
||||||
public internal::dense_xpr_base< PartialReduxExpr<MatrixType, MemberOp, Direction> >::type
|
internal::no_assignment_operator
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@ template<typename MatrixType,typename Rhs> struct homogeneous_right_product_impl
|
|||||||
} // end namespace internal
|
} // end namespace internal
|
||||||
|
|
||||||
template<typename MatrixType,int _Direction> class Homogeneous
|
template<typename MatrixType,int _Direction> class Homogeneous
|
||||||
: internal::no_assignment_operator, public MatrixBase<Homogeneous<MatrixType,_Direction> >
|
: public MatrixBase<Homogeneous<MatrixType,_Direction> >, internal::no_assignment_operator
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user