mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-05-03 01:04:23 +08:00
add a noncopyable base class for decompositions
This commit is contained in:
parent
1b20e16546
commit
a2ae063491
@ -103,6 +103,21 @@ template<bool Condition, typename T> struct enable_if;
|
|||||||
template<typename T> struct enable_if<true,T>
|
template<typename T> struct enable_if<true,T>
|
||||||
{ typedef T type; };
|
{ typedef T type; };
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** \internal
|
||||||
|
* A base class do disable default copy ctor and copy assignement operator.
|
||||||
|
*/
|
||||||
|
class noncopyable
|
||||||
|
{
|
||||||
|
noncopyable(const noncopyable&);
|
||||||
|
const noncopyable& operator=(const noncopyable&);
|
||||||
|
protected:
|
||||||
|
noncopyable() {}
|
||||||
|
~noncopyable() {}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
/** \internal
|
/** \internal
|
||||||
* Convenient struct to get the result type of a unary or binary functor.
|
* Convenient struct to get the result type of a unary or binary functor.
|
||||||
*
|
*
|
||||||
|
@ -51,7 +51,7 @@ namespace Eigen {
|
|||||||
* see http://www-users.cs.umn.edu/~saad/software/SPARSKIT/README for more details.
|
* see http://www-users.cs.umn.edu/~saad/software/SPARSKIT/README for more details.
|
||||||
*/
|
*/
|
||||||
template <typename _Scalar>
|
template <typename _Scalar>
|
||||||
class IncompleteLUT
|
class IncompleteLUT : internal::noncopyable
|
||||||
{
|
{
|
||||||
typedef _Scalar Scalar;
|
typedef _Scalar Scalar;
|
||||||
typedef typename NumTraits<Scalar>::Real RealScalar;
|
typedef typename NumTraits<Scalar>::Real RealScalar;
|
||||||
|
@ -33,7 +33,7 @@ namespace Eigen {
|
|||||||
* \sa class SimplicialCholesky, DiagonalPreconditioner, IdentityPreconditioner
|
* \sa class SimplicialCholesky, DiagonalPreconditioner, IdentityPreconditioner
|
||||||
*/
|
*/
|
||||||
template< typename Derived>
|
template< typename Derived>
|
||||||
class IterativeSolverBase
|
class IterativeSolverBase : internal::noncopyable
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef typename internal::traits<Derived>::MatrixType MatrixType;
|
typedef typename internal::traits<Derived>::MatrixType MatrixType;
|
||||||
|
@ -303,7 +303,7 @@ MappedSparseMatrix<Scalar,Flags,Index> map_superlu(SluMatrix& sluMat)
|
|||||||
* \brief The base class for the direct and incomplete LU factorization of SuperLU
|
* \brief The base class for the direct and incomplete LU factorization of SuperLU
|
||||||
*/
|
*/
|
||||||
template<typename _MatrixType, typename Derived>
|
template<typename _MatrixType, typename Derived>
|
||||||
class SuperLUBase
|
class SuperLUBase : internal::noncopyable
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef _MatrixType MatrixType;
|
typedef _MatrixType MatrixType;
|
||||||
|
@ -136,7 +136,7 @@ inline int umfpack_get_determinant(std::complex<double> *Mx, double *Ex, void *N
|
|||||||
* \sa \ref TutorialSparseDirectSolvers
|
* \sa \ref TutorialSparseDirectSolvers
|
||||||
*/
|
*/
|
||||||
template<typename _MatrixType>
|
template<typename _MatrixType>
|
||||||
class UmfPackLU
|
class UmfPackLU : internal::noncopyable
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef _MatrixType MatrixType;
|
typedef _MatrixType MatrixType;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user