diff --git a/ortools/glop/markowitz.h b/ortools/glop/markowitz.h index bd6b6d3007..fa7612710c 100644 --- a/ortools/glop/markowitz.h +++ b/ortools/glop/markowitz.h @@ -103,6 +103,10 @@ class MatrixNonZeroPattern { public: MatrixNonZeroPattern() = default; + // This type is neither copyable nor movable. + MatrixNonZeroPattern(const MatrixNonZeroPattern&) = delete; + MatrixNonZeroPattern& operator=(const MatrixNonZeroPattern&) = delete; + // Releases the memory used by this class. void Clear(); @@ -197,8 +201,6 @@ class MatrixNonZeroPattern { DenseBooleanRow bool_scratchpad_; std::vector col_scratchpad_; ColIndex num_non_deleted_columns_; - - DISALLOW_COPY_AND_ASSIGN(MatrixNonZeroPattern); }; // Adjustable priority queue of columns. Pop() returns a column with the @@ -208,6 +210,10 @@ class ColumnPriorityQueue { public: ColumnPriorityQueue() = default; + // This type is neither copyable nor movable. + ColumnPriorityQueue(const ColumnPriorityQueue&) = delete; + ColumnPriorityQueue& operator=(const ColumnPriorityQueue&) = delete; + // Releases the memory used by this class. void Clear(); @@ -229,7 +235,6 @@ class ColumnPriorityQueue { StrictITIVector col_degree_; std::vector> col_by_degree_; int32_t min_degree_; - DISALLOW_COPY_AND_ASSIGN(ColumnPriorityQueue); }; // Contains a set of columns indexed by ColIndex. This is like a SparseMatrix @@ -240,6 +245,12 @@ class SparseMatrixWithReusableColumnMemory { public: SparseMatrixWithReusableColumnMemory() = default; + // This type is neither copyable nor movable. + SparseMatrixWithReusableColumnMemory( + const SparseMatrixWithReusableColumnMemory&) = delete; + SparseMatrixWithReusableColumnMemory& operator=( + const SparseMatrixWithReusableColumnMemory&) = delete; + // Resets the repository to num_cols empty columns. void Reset(ColIndex num_cols); @@ -266,7 +277,6 @@ class SparseMatrixWithReusableColumnMemory { absl::StrongVector mapping_; std::vector free_columns_; std::vector columns_; - DISALLOW_COPY_AND_ASSIGN(SparseMatrixWithReusableColumnMemory); }; // The class that computes either the actual L.U decomposition, or the @@ -276,6 +286,10 @@ class Markowitz { public: Markowitz() = default; + // This type is neither copyable nor movable. + Markowitz(const Markowitz&) = delete; + Markowitz& operator=(const Markowitz&) = delete; + // Computes the full factorization with P, Q, L and U. // // If the matrix is singular, the returned status will indicate it and the @@ -448,8 +462,6 @@ class Markowitz { // Number of floating point operations of the last factorization. int64_t num_fp_operations_; - - DISALLOW_COPY_AND_ASSIGN(Markowitz); }; } // namespace glop