Use = default for trivial special members
Applied changes correspond to clang-tidy fixes
stemming from the modernize-use-equals-default check.
Change-Id: I254b0908a76d464131564b637cd0e42a6b03fb5a
diff --git a/include/ceres/autodiff_first_order_function.h b/include/ceres/autodiff_first_order_function.h
index c3c5cb2..fa63785 100644
--- a/include/ceres/autodiff_first_order_function.h
+++ b/include/ceres/autodiff_first_order_function.h
@@ -110,7 +110,7 @@
static_assert(kNumParameters > 0, "kNumParameters must be positive");
}
- ~AutoDiffFirstOrderFunction() override {}
+ ~AutoDiffFirstOrderFunction() override = default;
bool Evaluate(const double* const parameters,
double* cost,
diff --git a/include/ceres/autodiff_local_parameterization.h b/include/ceres/autodiff_local_parameterization.h
index 38bc45a..aadee81 100644
--- a/include/ceres/autodiff_local_parameterization.h
+++ b/include/ceres/autodiff_local_parameterization.h
@@ -114,7 +114,7 @@
explicit AutoDiffLocalParameterization(Functor* functor)
: functor_(functor) {}
- ~AutoDiffLocalParameterization() override {}
+ ~AutoDiffLocalParameterization() override = default;
bool Plus(const double* x,
const double* delta,
double* x_plus_delta) const override {
diff --git a/include/ceres/autodiff_manifold.h b/include/ceres/autodiff_manifold.h
index 9673533..fa326ac 100644
--- a/include/ceres/autodiff_manifold.h
+++ b/include/ceres/autodiff_manifold.h
@@ -152,7 +152,7 @@
// Takes ownership of functor.
explicit AutoDiffManifold(Functor* functor) : functor_(functor) {}
- ~AutoDiffManifold() override {}
+ ~AutoDiffManifold() override = default;
int AmbientSize() const override { return kAmbientSize; }
int TangentSize() const override { return kTangentSize; }
diff --git a/include/ceres/context.h b/include/ceres/context.h
index d08e32b..e22df7e 100644
--- a/include/ceres/context.h
+++ b/include/ceres/context.h
@@ -41,11 +41,11 @@
// (e.g. threads) managed by the Context.
class Context {
public:
- Context() {}
+ Context() = default;
Context(const Context&) = delete;
void operator=(const Context&) = delete;
- virtual ~Context() {}
+ virtual ~Context() = default;
// Creates a context object and the caller takes ownership.
static Context* Create();
diff --git a/include/ceres/cost_function.h b/include/ceres/cost_function.h
index d1550c1..7e0f2cc 100644
--- a/include/ceres/cost_function.h
+++ b/include/ceres/cost_function.h
@@ -67,7 +67,7 @@
CostFunction(const CostFunction&) = delete;
void operator=(const CostFunction&) = delete;
- virtual ~CostFunction() {}
+ virtual ~CostFunction() = default;
// Inputs:
//
diff --git a/include/ceres/dynamic_cost_function.h b/include/ceres/dynamic_cost_function.h
index 2afb08d..4d0c2bc 100644
--- a/include/ceres/dynamic_cost_function.h
+++ b/include/ceres/dynamic_cost_function.h
@@ -40,7 +40,7 @@
// parameter blocks and set the number of residuals at run time.
class CERES_EXPORT DynamicCostFunction : public CostFunction {
public:
- ~DynamicCostFunction() override {}
+ ~DynamicCostFunction() override = default;
virtual void AddParameterBlock(int size) {
mutable_parameter_block_sizes()->push_back(size);
diff --git a/include/ceres/evaluation_callback.h b/include/ceres/evaluation_callback.h
index b9f5bbb..2ff7c47 100644
--- a/include/ceres/evaluation_callback.h
+++ b/include/ceres/evaluation_callback.h
@@ -62,7 +62,7 @@
// execute faster.
class CERES_EXPORT EvaluationCallback {
public:
- virtual ~EvaluationCallback() {}
+ virtual ~EvaluationCallback() = default;
// Called before Ceres requests residuals or jacobians for a given setting of
// the parameters. User parameters (the double* values provided to the cost
diff --git a/include/ceres/first_order_function.h b/include/ceres/first_order_function.h
index 1420153..eb66c5a 100644
--- a/include/ceres/first_order_function.h
+++ b/include/ceres/first_order_function.h
@@ -39,7 +39,7 @@
// and its gradient.
class CERES_EXPORT FirstOrderFunction {
public:
- virtual ~FirstOrderFunction() {}
+ virtual ~FirstOrderFunction() = default;
// cost is never null. gradient may be null. The return value
// indicates whether the evaluation was successful or not.
diff --git a/include/ceres/iteration_callback.h b/include/ceres/iteration_callback.h
index 4507fdf..d52d466 100644
--- a/include/ceres/iteration_callback.h
+++ b/include/ceres/iteration_callback.h
@@ -194,7 +194,7 @@
//
class CERES_EXPORT IterationCallback {
public:
- virtual ~IterationCallback() {}
+ virtual ~IterationCallback() = default;
virtual CallbackReturnType operator()(const IterationSummary& summary) = 0;
};
diff --git a/include/ceres/local_parameterization.h b/include/ceres/local_parameterization.h
index 0144e7d..b92ec9b 100644
--- a/include/ceres/local_parameterization.h
+++ b/include/ceres/local_parameterization.h
@@ -155,7 +155,7 @@
class CERES_EXPORT IdentityParameterization : public LocalParameterization {
public:
explicit IdentityParameterization(int size);
- ~IdentityParameterization() override {}
+ ~IdentityParameterization() override = default;
bool Plus(const double* x,
const double* delta,
double* x_plus_delta) const override;
@@ -176,7 +176,7 @@
public:
explicit SubsetParameterization(int size,
const std::vector<int>& constant_parameters);
- ~SubsetParameterization() override {}
+ ~SubsetParameterization() override = default;
bool Plus(const double* x,
const double* delta,
double* x_plus_delta) const override;
@@ -201,7 +201,7 @@
// theta) part.
class CERES_EXPORT QuaternionParameterization : public LocalParameterization {
public:
- ~QuaternionParameterization() override {}
+ ~QuaternionParameterization() override = default;
bool Plus(const double* x,
const double* delta,
double* x_plus_delta) const override;
@@ -224,7 +224,7 @@
class CERES_EXPORT EigenQuaternionParameterization
: public ceres::LocalParameterization {
public:
- ~EigenQuaternionParameterization() override {}
+ ~EigenQuaternionParameterization() override = default;
bool Plus(const double* x,
const double* delta,
double* x_plus_delta) const override;
@@ -250,7 +250,7 @@
: public LocalParameterization {
public:
explicit HomogeneousVectorParameterization(int size);
- ~HomogeneousVectorParameterization() override {}
+ ~HomogeneousVectorParameterization() override = default;
bool Plus(const double* x,
const double* delta,
double* x_plus_delta) const override;
@@ -306,7 +306,7 @@
public:
ProductParameterization(const ProductParameterization&) = delete;
ProductParameterization& operator=(const ProductParameterization&) = delete;
- ~ProductParameterization() override {}
+ ~ProductParameterization() override = default;
//
// NOTE: The constructor takes ownership of the input local
// parameterizations.
diff --git a/include/ceres/loss_function.h b/include/ceres/loss_function.h
index 5c7bb85..4da78bf 100644
--- a/include/ceres/loss_function.h
+++ b/include/ceres/loss_function.h
@@ -85,7 +85,7 @@
class CERES_EXPORT LossFunction {
public:
- virtual ~LossFunction() {}
+ virtual ~LossFunction() = default;
// For a residual vector with squared 2-norm 'sq_norm', this method
// is required to fill in the value and derivatives of the loss
diff --git a/include/ceres/manifold.h b/include/ceres/manifold.h
index c3715d9..da56500 100644
--- a/include/ceres/manifold.h
+++ b/include/ceres/manifold.h
@@ -293,7 +293,7 @@
public:
ProductManifold(const ProductManifold&) = delete;
ProductManifold& operator=(const ProductManifold&) = delete;
- ~ProductManifold() override {}
+ ~ProductManifold() override = default;
// NOTE: The constructor takes ownership of the input
// manifolds.
diff --git a/include/ceres/sized_cost_function.h b/include/ceres/sized_cost_function.h
index 55355bd..b8a6a8c 100644
--- a/include/ceres/sized_cost_function.h
+++ b/include/ceres/sized_cost_function.h
@@ -61,7 +61,7 @@
*mutable_parameter_block_sizes() = std::vector<int32_t>{Ns...};
}
- ~SizedCostFunction() override {}
+ ~SizedCostFunction() override = default;
// Subclasses must implement Evaluate().
};
diff --git a/internal/ceres/autodiff_benchmarks/brdf_cost_function.h b/internal/ceres/autodiff_benchmarks/brdf_cost_function.h
index 9d7c0cc..715d8b0 100644
--- a/internal/ceres/autodiff_benchmarks/brdf_cost_function.h
+++ b/internal/ceres/autodiff_benchmarks/brdf_cost_function.h
@@ -45,7 +45,7 @@
// https://github.com/wdas/brdf/blob/master/src/brdfs/disney.brdf
struct Brdf {
public:
- Brdf() {}
+ Brdf() = default;
template <typename T>
inline bool operator()(const T* const material,
diff --git a/internal/ceres/block_jacobi_preconditioner.cc b/internal/ceres/block_jacobi_preconditioner.cc
index 6f37aca..7459310 100644
--- a/internal/ceres/block_jacobi_preconditioner.cc
+++ b/internal/ceres/block_jacobi_preconditioner.cc
@@ -50,7 +50,7 @@
m_.reset(new BlockRandomAccessDiagonalMatrix(blocks));
}
-BlockJacobiPreconditioner::~BlockJacobiPreconditioner() {}
+BlockJacobiPreconditioner::~BlockJacobiPreconditioner() = default;
bool BlockJacobiPreconditioner::UpdateImpl(const BlockSparseMatrix& A,
const double* D) {
diff --git a/internal/ceres/block_random_access_dense_matrix.cc b/internal/ceres/block_random_access_dense_matrix.cc
index 386f81e..f2ac0b8 100644
--- a/internal/ceres/block_random_access_dense_matrix.cc
+++ b/internal/ceres/block_random_access_dense_matrix.cc
@@ -60,7 +60,7 @@
// Assume that the user does not hold any locks on any cell blocks
// when they are calling SetZero.
-BlockRandomAccessDenseMatrix::~BlockRandomAccessDenseMatrix() {}
+BlockRandomAccessDenseMatrix::~BlockRandomAccessDenseMatrix() = default;
CellInfo* BlockRandomAccessDenseMatrix::GetCell(const int row_block_id,
const int col_block_id,
diff --git a/internal/ceres/block_random_access_matrix.cc b/internal/ceres/block_random_access_matrix.cc
index ea88855..8e70c04 100644
--- a/internal/ceres/block_random_access_matrix.cc
+++ b/internal/ceres/block_random_access_matrix.cc
@@ -33,7 +33,7 @@
namespace ceres {
namespace internal {
-BlockRandomAccessMatrix::~BlockRandomAccessMatrix() {}
+BlockRandomAccessMatrix::~BlockRandomAccessMatrix() = default;
} // namespace internal
} // namespace ceres
diff --git a/internal/ceres/block_sparse_matrix.cc b/internal/ceres/block_sparse_matrix.cc
index 5efd2e1..4db409d 100644
--- a/internal/ceres/block_sparse_matrix.cc
+++ b/internal/ceres/block_sparse_matrix.cc
@@ -46,7 +46,7 @@
using std::vector;
-BlockSparseMatrix::~BlockSparseMatrix() {}
+BlockSparseMatrix::~BlockSparseMatrix() = default;
BlockSparseMatrix::BlockSparseMatrix(
CompressedRowBlockStructure* block_structure)
diff --git a/internal/ceres/block_structure.h b/internal/ceres/block_structure.h
index d49d7d3..39f85a2 100644
--- a/internal/ceres/block_structure.h
+++ b/internal/ceres/block_structure.h
@@ -71,7 +71,7 @@
bool CellLessThan(const Cell& lhs, const Cell& rhs);
struct CompressedList {
- CompressedList() {}
+ CompressedList() = default;
// Construct a CompressedList with the cells containing num_cells
// entries.
diff --git a/internal/ceres/c_api.cc b/internal/ceres/c_api.cc
index a813fd4..a604e56 100644
--- a/internal/ceres/c_api.cc
+++ b/internal/ceres/c_api.cc
@@ -78,7 +78,7 @@
}
}
- ~CallbackCostFunction() override {}
+ ~CallbackCostFunction() override = default;
bool Evaluate(double const* const* parameters,
double* residuals,
diff --git a/internal/ceres/callbacks.cc b/internal/ceres/callbacks.cc
index a2692cc..70e2409 100644
--- a/internal/ceres/callbacks.cc
+++ b/internal/ceres/callbacks.cc
@@ -45,7 +45,7 @@
double* parameters)
: program_(program), parameters_(parameters) {}
-StateUpdatingCallback::~StateUpdatingCallback() {}
+StateUpdatingCallback::~StateUpdatingCallback() = default;
CallbackReturnType StateUpdatingCallback::operator()(
const IterationSummary& summary) {
@@ -64,7 +64,7 @@
user_parameters_(user_parameters) {}
GradientProblemSolverStateUpdatingCallback::
- ~GradientProblemSolverStateUpdatingCallback() {}
+ ~GradientProblemSolverStateUpdatingCallback() = default;
CallbackReturnType GradientProblemSolverStateUpdatingCallback::operator()(
const IterationSummary& summary) {
@@ -80,7 +80,7 @@
const bool log_to_stdout)
: minimizer_type(minimizer_type), log_to_stdout_(log_to_stdout) {}
-LoggingCallback::~LoggingCallback() {}
+LoggingCallback::~LoggingCallback() = default;
CallbackReturnType LoggingCallback::operator()(
const IterationSummary& summary) {
diff --git a/internal/ceres/canonical_views_clustering.cc b/internal/ceres/canonical_views_clustering.cc
index c193735..740ab8e 100644
--- a/internal/ceres/canonical_views_clustering.cc
+++ b/internal/ceres/canonical_views_clustering.cc
@@ -48,7 +48,7 @@
class CanonicalViewsClustering {
public:
- CanonicalViewsClustering() {}
+ CanonicalViewsClustering() = default;
// Compute the canonical views clustering of the vertices of the
// graph. centers will contain the vertices that are the identified
diff --git a/internal/ceres/cgnr_linear_operator.h b/internal/ceres/cgnr_linear_operator.h
index 82dcf2d..a0d9e85 100644
--- a/internal/ceres/cgnr_linear_operator.h
+++ b/internal/ceres/cgnr_linear_operator.h
@@ -82,7 +82,7 @@
public:
CgnrLinearOperator(const LinearOperator& A, const double* D)
: A_(A), D_(D), z_(new double[A.num_rows()]) {}
- ~CgnrLinearOperator() override {}
+ ~CgnrLinearOperator() override = default;
void RightMultiply(const double* x, double* y) const final {
std::fill(z_.get(), z_.get() + A_.num_rows(), 0.0);
diff --git a/internal/ceres/cgnr_solver.cc b/internal/ceres/cgnr_solver.cc
index 9dba1cf..2f38d30 100644
--- a/internal/ceres/cgnr_solver.cc
+++ b/internal/ceres/cgnr_solver.cc
@@ -54,7 +54,7 @@
}
}
-CgnrSolver::~CgnrSolver() {}
+CgnrSolver::~CgnrSolver() = default;
LinearSolver::Summary CgnrSolver::SolveImpl(
BlockSparseMatrix* A,
diff --git a/internal/ceres/compressed_row_sparse_matrix.cc b/internal/ceres/compressed_row_sparse_matrix.cc
index 900586c..b9e2715 100644
--- a/internal/ceres/compressed_row_sparse_matrix.cc
+++ b/internal/ceres/compressed_row_sparse_matrix.cc
@@ -266,7 +266,7 @@
CHECK_EQ(num_nonzeros(), num_rows);
}
-CompressedRowSparseMatrix::~CompressedRowSparseMatrix() {}
+CompressedRowSparseMatrix::~CompressedRowSparseMatrix() = default;
void CompressedRowSparseMatrix::SetZero() {
std::fill(values_.begin(), values_.end(), 0);
diff --git a/internal/ceres/context_impl.h b/internal/ceres/context_impl.h
index 384db12..f94d559 100644
--- a/internal/ceres/context_impl.h
+++ b/internal/ceres/context_impl.h
@@ -47,11 +47,11 @@
class CERES_EXPORT_INTERNAL ContextImpl : public Context {
public:
- ContextImpl() {}
+ ContextImpl() = default;
ContextImpl(const ContextImpl&) = delete;
void operator=(const ContextImpl&) = delete;
- ~ContextImpl() override {}
+ ~ContextImpl() override = default;
// When compiled with C++ threading support, resize the thread pool to have
// at min(num_thread, num_hardware_threads) where num_hardware_threads is
diff --git a/internal/ceres/coordinate_descent_minimizer.cc b/internal/ceres/coordinate_descent_minimizer.cc
index 93096ac..3c566c7 100644
--- a/internal/ceres/coordinate_descent_minimizer.cc
+++ b/internal/ceres/coordinate_descent_minimizer.cc
@@ -64,7 +64,7 @@
CHECK(context_ != nullptr);
}
-CoordinateDescentMinimizer::~CoordinateDescentMinimizer() {}
+CoordinateDescentMinimizer::~CoordinateDescentMinimizer() = default;
bool CoordinateDescentMinimizer::Init(
const Program& program,
diff --git a/internal/ceres/covariance.cc b/internal/ceres/covariance.cc
index 8e240ff..ead3287 100644
--- a/internal/ceres/covariance.cc
+++ b/internal/ceres/covariance.cc
@@ -47,7 +47,7 @@
impl_.reset(new internal::CovarianceImpl(options));
}
-Covariance::~Covariance() {}
+Covariance::~Covariance() = default;
bool Covariance::Compute(
const vector<pair<const double*, const double*>>& covariance_blocks,
diff --git a/internal/ceres/covariance_impl.cc b/internal/ceres/covariance_impl.cc
index 7ca23a8..8c00384 100644
--- a/internal/ceres/covariance_impl.cc
+++ b/internal/ceres/covariance_impl.cc
@@ -79,7 +79,7 @@
evaluate_options_.apply_loss_function = options_.apply_loss_function;
}
-CovarianceImpl::~CovarianceImpl() {}
+CovarianceImpl::~CovarianceImpl() = default;
template <typename T>
void CheckForDuplicates(std::vector<T> blocks) {
diff --git a/internal/ceres/covariance_test.cc b/internal/ceres/covariance_test.cc
index 410212b..e39b2ae 100644
--- a/internal/ceres/covariance_test.cc
+++ b/internal/ceres/covariance_test.cc
@@ -379,7 +379,7 @@
// x_plus_delta = delta * x;
class PolynomialParameterization : public LocalParameterization {
public:
- ~PolynomialParameterization() final {}
+ ~PolynomialParameterization() final = default;
bool Plus(const double* x,
const double* delta,
@@ -402,7 +402,7 @@
// x_plus_delta = delta * x;
class PolynomialManifold : public Manifold {
public:
- ~PolynomialManifold() final {}
+ ~PolynomialManifold() final = default;
bool Plus(const double* x,
const double* delta,
diff --git a/internal/ceres/cuda_buffer.h b/internal/ceres/cuda_buffer.h
index 2d983af..44e7de3 100644
--- a/internal/ceres/cuda_buffer.h
+++ b/internal/ceres/cuda_buffer.h
@@ -49,7 +49,7 @@
template <typename T>
class CudaBuffer {
public:
- CudaBuffer() {}
+ CudaBuffer() = default;
CudaBuffer(const CudaBuffer&) = delete;
CudaBuffer& operator=(const CudaBuffer&) = delete;
diff --git a/internal/ceres/dense_cholesky.h b/internal/ceres/dense_cholesky.h
index 470998a..a3514b4 100644
--- a/internal/ceres/dense_cholesky.h
+++ b/internal/ceres/dense_cholesky.h
@@ -153,7 +153,7 @@
std::string* message) override;
private:
- CUDADenseCholesky32Bit() {}
+ CUDADenseCholesky32Bit() = default;
// Initializes the cuSolverDN context, creates an asynchronous stream, and
// associates the stream with cuSolverDN. Returns true iff initialization was
// successful, else it returns false and a human-readable error message is
@@ -198,7 +198,7 @@
std::string* message) override;
private:
- CUDADenseCholesky64Bit() {}
+ CUDADenseCholesky64Bit() = default;
// Initializes the cuSolverDN context, creates an asynchronous stream, and
// associates the stream with cuSolverDN. Returns true iff initialization was
// successful, else it returns false and a human-readable error message is
diff --git a/internal/ceres/dogleg_strategy.h b/internal/ceres/dogleg_strategy.h
index 5042767..d79fb35 100644
--- a/internal/ceres/dogleg_strategy.h
+++ b/internal/ceres/dogleg_strategy.h
@@ -56,7 +56,7 @@
class CERES_EXPORT_INTERNAL DoglegStrategy : public TrustRegionStrategy {
public:
explicit DoglegStrategy(const TrustRegionStrategy::Options& options);
- ~DoglegStrategy() override {}
+ ~DoglegStrategy() override = default;
// TrustRegionStrategy interface
Summary ComputeStep(const PerSolveOptions& per_solve_options,
diff --git a/internal/ceres/dynamic_sparse_normal_cholesky_solver.h b/internal/ceres/dynamic_sparse_normal_cholesky_solver.h
index 04be570..6a2cb33 100644
--- a/internal/ceres/dynamic_sparse_normal_cholesky_solver.h
+++ b/internal/ceres/dynamic_sparse_normal_cholesky_solver.h
@@ -58,7 +58,7 @@
public:
explicit DynamicSparseNormalCholeskySolver(
const LinearSolver::Options& options);
- ~DynamicSparseNormalCholeskySolver() override {}
+ ~DynamicSparseNormalCholeskySolver() override = default;
private:
LinearSolver::Summary SolveImpl(CompressedRowSparseMatrix* A,
diff --git a/internal/ceres/eigensparse.cc b/internal/ceres/eigensparse.cc
index f24672c..1c47a02 100644
--- a/internal/ceres/eigensparse.cc
+++ b/internal/ceres/eigensparse.cc
@@ -48,7 +48,7 @@
class EigenSparseCholeskyTemplate : public SparseCholesky {
public:
EigenSparseCholeskyTemplate() : analyzed_(false) {}
- ~EigenSparseCholeskyTemplate() override {}
+ ~EigenSparseCholeskyTemplate() override = default;
CompressedRowSparseMatrix::StorageType StorageType() const final {
return CompressedRowSparseMatrix::LOWER_TRIANGULAR;
}
@@ -160,7 +160,7 @@
return sparse_cholesky;
}
-EigenSparseCholesky::~EigenSparseCholesky() {}
+EigenSparseCholesky::~EigenSparseCholesky() = default;
std::unique_ptr<SparseCholesky> FloatEigenSparseCholesky::Create(
const OrderingType ordering_type) {
@@ -182,7 +182,7 @@
return sparse_cholesky;
}
-FloatEigenSparseCholesky::~FloatEigenSparseCholesky() {}
+FloatEigenSparseCholesky::~FloatEigenSparseCholesky() = default;
} // namespace internal
} // namespace ceres
diff --git a/internal/ceres/evaluation_callback_test.cc b/internal/ceres/evaluation_callback_test.cc
index 3736405..f81f3bd 100644
--- a/internal/ceres/evaluation_callback_test.cc
+++ b/internal/ceres/evaluation_callback_test.cc
@@ -72,7 +72,7 @@
evaluate_num_calls(0),
evaluate_last_parameter_hash(kUninitialized) {}
- ~WigglyBowlCostFunctionAndEvaluationCallback() override {}
+ ~WigglyBowlCostFunctionAndEvaluationCallback() override = default;
// Evaluation callback interface. This checks that all the preconditions are
// met at the point that Ceres calls into it.
diff --git a/internal/ceres/evaluator.cc b/internal/ceres/evaluator.cc
index 5168741..4d69f96 100644
--- a/internal/ceres/evaluator.cc
+++ b/internal/ceres/evaluator.cc
@@ -48,7 +48,7 @@
namespace ceres {
namespace internal {
-Evaluator::~Evaluator() {}
+Evaluator::~Evaluator() = default;
Evaluator* Evaluator::Create(const Evaluator::Options& options,
Program* program,
diff --git a/internal/ceres/fixed_array_test.cc b/internal/ceres/fixed_array_test.cc
index f29f809..287230a 100644
--- a/internal/ceres/fixed_array_test.cc
+++ b/internal/ceres/fixed_array_test.cc
@@ -500,8 +500,8 @@
// PickyDelete EXPECTs its class-scope deallocation funcs are unused.
struct PickyDelete {
- PickyDelete() {}
- ~PickyDelete() {}
+ PickyDelete() = default;
+ ~PickyDelete() = default;
void operator delete(void* p) {
EXPECT_TRUE(false) << __FUNCTION__;
::operator delete(p);
diff --git a/internal/ceres/gradient_checking_cost_function.cc b/internal/ceres/gradient_checking_cost_function.cc
index fbc8ea5..f786b83 100644
--- a/internal/ceres/gradient_checking_cost_function.cc
+++ b/internal/ceres/gradient_checking_cost_function.cc
@@ -80,7 +80,7 @@
set_num_residuals(function->num_residuals());
}
- ~GradientCheckingCostFunction() override {}
+ ~GradientCheckingCostFunction() override = default;
bool Evaluate(double const* const* parameters,
double* residuals,
diff --git a/internal/ceres/gradient_checking_cost_function_test.cc b/internal/ceres/gradient_checking_cost_function_test.cc
index 6a6e075..264a858 100644
--- a/internal/ceres/gradient_checking_cost_function_test.cc
+++ b/internal/ceres/gradient_checking_cost_function_test.cc
@@ -268,7 +268,7 @@
set_num_residuals(num_residuals);
mutable_parameter_block_sizes()->push_back(parameter_block_size);
}
- ~UnaryCostFunction() override {}
+ ~UnaryCostFunction() override = default;
bool Evaluate(double const* const* parameters,
double* residuals,
diff --git a/internal/ceres/gradient_problem_evaluator.h b/internal/ceres/gradient_problem_evaluator.h
index 453a390..a510b25 100644
--- a/internal/ceres/gradient_problem_evaluator.h
+++ b/internal/ceres/gradient_problem_evaluator.h
@@ -47,7 +47,7 @@
public:
explicit GradientProblemEvaluator(const GradientProblem& problem)
: problem_(problem) {}
- ~GradientProblemEvaluator() override {}
+ ~GradientProblemEvaluator() override = default;
SparseMatrix* CreateJacobian() const final { return nullptr; }
bool Evaluate(const EvaluateOptions& evaluate_options,
const double* state,
diff --git a/internal/ceres/gradient_problem_solver.cc b/internal/ceres/gradient_problem_solver.cc
index b72fad9..f754274 100644
--- a/internal/ceres/gradient_problem_solver.cc
+++ b/internal/ceres/gradient_problem_solver.cc
@@ -92,7 +92,7 @@
return solver_options.IsValid(error);
}
-GradientProblemSolver::~GradientProblemSolver() {}
+GradientProblemSolver::~GradientProblemSolver() = default;
void GradientProblemSolver::Solve(const GradientProblemSolver::Options& options,
const GradientProblem& problem,
diff --git a/internal/ceres/gradient_problem_solver_test.cc b/internal/ceres/gradient_problem_solver_test.cc
index 6d014df..e3b4085 100644
--- a/internal/ceres/gradient_problem_solver_test.cc
+++ b/internal/ceres/gradient_problem_solver_test.cc
@@ -39,7 +39,7 @@
// Rosenbrock function; see http://en.wikipedia.org/wiki/Rosenbrock_function .
class Rosenbrock : public ceres::FirstOrderFunction {
public:
- ~Rosenbrock() override {}
+ ~Rosenbrock() override = default;
bool Evaluate(const double* parameters,
double* cost,
@@ -73,7 +73,7 @@
}
class QuadraticFunction : public ceres::FirstOrderFunction {
- ~QuadraticFunction() override {}
+ ~QuadraticFunction() override = default;
bool Evaluate(const double* parameters,
double* cost,
double* gradient) const final {
@@ -90,7 +90,7 @@
struct RememberingCallback : public IterationCallback {
explicit RememberingCallback(double* x) : calls(0), x(x) {}
- ~RememberingCallback() override {}
+ ~RememberingCallback() override = default;
CallbackReturnType operator()(const IterationSummary& summary) final {
x_values.push_back(*x);
return SOLVER_CONTINUE;
diff --git a/internal/ceres/graph.h b/internal/ceres/graph.h
index 9b26158..ef65453 100644
--- a/internal/ceres/graph.h
+++ b/internal/ceres/graph.h
@@ -49,7 +49,7 @@
template <typename Vertex>
class Graph {
public:
- Graph() {}
+ Graph() = default;
// Add a vertex.
void AddVertex(const Vertex& vertex) {
@@ -106,7 +106,7 @@
template <typename Vertex>
class WeightedGraph {
public:
- WeightedGraph() {}
+ WeightedGraph() = default;
// Add a weighted vertex. If the vertex already exists in the graph,
// its weight is set to the new weight.
diff --git a/internal/ceres/implicit_schur_complement.cc b/internal/ceres/implicit_schur_complement.cc
index f2196d4..bb2da17 100644
--- a/internal/ceres/implicit_schur_complement.cc
+++ b/internal/ceres/implicit_schur_complement.cc
@@ -45,7 +45,7 @@
const LinearSolver::Options& options)
: options_(options), D_(NULL), b_(NULL) {}
-ImplicitSchurComplement::~ImplicitSchurComplement() {}
+ImplicitSchurComplement::~ImplicitSchurComplement() = default;
void ImplicitSchurComplement::Init(const BlockSparseMatrix& A,
const double* D,
diff --git a/internal/ceres/iterative_refiner.cc b/internal/ceres/iterative_refiner.cc
index 5f0bfdd..1815469 100644
--- a/internal/ceres/iterative_refiner.cc
+++ b/internal/ceres/iterative_refiner.cc
@@ -42,7 +42,7 @@
IterativeRefiner::IterativeRefiner(const int max_num_iterations)
: max_num_iterations_(max_num_iterations) {}
-IterativeRefiner::~IterativeRefiner() {}
+IterativeRefiner::~IterativeRefiner() = default;
void IterativeRefiner::Allocate(int num_cols) {
residual_.resize(num_cols);
diff --git a/internal/ceres/iterative_refiner_test.cc b/internal/ceres/iterative_refiner_test.cc
index 2591375..d3ec9a2 100644
--- a/internal/ceres/iterative_refiner_test.cc
+++ b/internal/ceres/iterative_refiner_test.cc
@@ -54,7 +54,7 @@
class FakeSparseMatrix : public SparseMatrix {
public:
FakeSparseMatrix(const Matrix& m) : m_(m) {}
- ~FakeSparseMatrix() override {}
+ ~FakeSparseMatrix() override = default;
// y += Ax
void RightMultiply(const double* x, double* y) const final {
@@ -90,7 +90,7 @@
class FakeSparseCholesky : public SparseCholesky {
public:
FakeSparseCholesky(const Matrix& lhs) { lhs_ = lhs.cast<Scalar>(); }
- ~FakeSparseCholesky() override {}
+ ~FakeSparseCholesky() override = default;
LinearSolverTerminationType Solve(const double* rhs_ptr,
double* solution_ptr,
diff --git a/internal/ceres/iterative_schur_complement_solver.cc b/internal/ceres/iterative_schur_complement_solver.cc
index 143df5e..e6340df 100644
--- a/internal/ceres/iterative_schur_complement_solver.cc
+++ b/internal/ceres/iterative_schur_complement_solver.cc
@@ -57,7 +57,7 @@
const LinearSolver::Options& options)
: options_(options) {}
-IterativeSchurComplementSolver::~IterativeSchurComplementSolver() {}
+IterativeSchurComplementSolver::~IterativeSchurComplementSolver() = default;
LinearSolver::Summary IterativeSchurComplementSolver::SolveImpl(
BlockSparseMatrix* A,
diff --git a/internal/ceres/levenberg_marquardt_strategy.cc b/internal/ceres/levenberg_marquardt_strategy.cc
index cb0e937..2445f5b 100644
--- a/internal/ceres/levenberg_marquardt_strategy.cc
+++ b/internal/ceres/levenberg_marquardt_strategy.cc
@@ -61,7 +61,7 @@
CHECK_GT(max_radius_, 0.0);
}
-LevenbergMarquardtStrategy::~LevenbergMarquardtStrategy() {}
+LevenbergMarquardtStrategy::~LevenbergMarquardtStrategy() = default;
TrustRegionStrategy::Summary LevenbergMarquardtStrategy::ComputeStep(
const TrustRegionStrategy::PerSolveOptions& per_solve_options,
diff --git a/internal/ceres/levenberg_marquardt_strategy_test.cc b/internal/ceres/levenberg_marquardt_strategy_test.cc
index c1b88ce..c05dad1 100644
--- a/internal/ceres/levenberg_marquardt_strategy_test.cc
+++ b/internal/ceres/levenberg_marquardt_strategy_test.cc
@@ -58,7 +58,7 @@
RegularizationCheckingLinearSolver(const int num_cols, const double* diagonal)
: num_cols_(num_cols), diagonal_(diagonal) {}
- ~RegularizationCheckingLinearSolver() override {}
+ ~RegularizationCheckingLinearSolver() override = default;
private:
LinearSolver::Summary SolveImpl(
diff --git a/internal/ceres/line_search.h b/internal/ceres/line_search.h
index 124cedb..0af4884 100644
--- a/internal/ceres/line_search.h
+++ b/internal/ceres/line_search.h
@@ -161,7 +161,7 @@
};
explicit LineSearch(const LineSearch::Options& options);
- virtual ~LineSearch() {}
+ virtual ~LineSearch() = default;
static LineSearch* Create(const LineSearchType line_search_type,
const LineSearch::Options& options,
@@ -260,7 +260,7 @@
class ArmijoLineSearch : public LineSearch {
public:
explicit ArmijoLineSearch(const LineSearch::Options& options);
- ~ArmijoLineSearch() override {}
+ ~ArmijoLineSearch() override = default;
private:
void DoSearch(double step_size_estimate,
@@ -279,7 +279,7 @@
class WolfeLineSearch : public LineSearch {
public:
explicit WolfeLineSearch(const LineSearch::Options& options);
- ~WolfeLineSearch() override {}
+ ~WolfeLineSearch() override = default;
// Returns true iff either a valid point, or valid bracket are found.
bool BracketingPhase(const FunctionSample& initial_position,
diff --git a/internal/ceres/line_search_direction.cc b/internal/ceres/line_search_direction.cc
index 12c83c8..2b707fb 100644
--- a/internal/ceres/line_search_direction.cc
+++ b/internal/ceres/line_search_direction.cc
@@ -40,7 +40,7 @@
class SteepestDescent : public LineSearchDirection {
public:
- ~SteepestDescent() override {}
+ ~SteepestDescent() override = default;
bool NextDirection(const LineSearchMinimizer::State& previous,
const LineSearchMinimizer::State& current,
Vector* search_direction) override {
@@ -105,7 +105,7 @@
use_approximate_eigenvalue_bfgs_scaling),
is_positive_definite_(true) {}
- ~LBFGS() override {}
+ ~LBFGS() override = default;
bool NextDirection(const LineSearchMinimizer::State& previous,
const LineSearchMinimizer::State& current,
@@ -161,7 +161,7 @@
inverse_hessian_ = Matrix::Identity(num_parameters, num_parameters);
}
- ~BFGS() override {}
+ ~BFGS() override = default;
bool NextDirection(const LineSearchMinimizer::State& previous,
const LineSearchMinimizer::State& current,
diff --git a/internal/ceres/line_search_direction.h b/internal/ceres/line_search_direction.h
index 2fcf472..e8b1139 100644
--- a/internal/ceres/line_search_direction.h
+++ b/internal/ceres/line_search_direction.h
@@ -59,7 +59,7 @@
static LineSearchDirection* Create(const Options& options);
- virtual ~LineSearchDirection() {}
+ virtual ~LineSearchDirection() = default;
virtual bool NextDirection(const LineSearchMinimizer::State& previous,
const LineSearchMinimizer::State& current,
Vector* search_direction) = 0;
diff --git a/internal/ceres/line_search_minimizer.h b/internal/ceres/line_search_minimizer.h
index 802b542..ae4670a 100644
--- a/internal/ceres/line_search_minimizer.h
+++ b/internal/ceres/line_search_minimizer.h
@@ -63,7 +63,7 @@
double step_size;
};
- ~LineSearchMinimizer() override {}
+ ~LineSearchMinimizer() override = default;
void Minimize(const Minimizer::Options& options,
double* parameters,
Solver::Summary* summary) final;
diff --git a/internal/ceres/line_search_preprocessor.cc b/internal/ceres/line_search_preprocessor.cc
index 6a69425..465d9a4 100644
--- a/internal/ceres/line_search_preprocessor.cc
+++ b/internal/ceres/line_search_preprocessor.cc
@@ -70,7 +70,7 @@
} // namespace
-LineSearchPreprocessor::~LineSearchPreprocessor() {}
+LineSearchPreprocessor::~LineSearchPreprocessor() = default;
bool LineSearchPreprocessor::Preprocess(const Solver::Options& options,
ProblemImpl* problem,
diff --git a/internal/ceres/linear_operator.cc b/internal/ceres/linear_operator.cc
index 548c724..88b7cc7 100644
--- a/internal/ceres/linear_operator.cc
+++ b/internal/ceres/linear_operator.cc
@@ -33,7 +33,7 @@
namespace ceres {
namespace internal {
-LinearOperator::~LinearOperator() {}
+LinearOperator::~LinearOperator() = default;
} // namespace internal
} // namespace ceres
diff --git a/internal/ceres/linear_solver.cc b/internal/ceres/linear_solver.cc
index 6cae248..befaa14 100644
--- a/internal/ceres/linear_solver.cc
+++ b/internal/ceres/linear_solver.cc
@@ -43,7 +43,7 @@
namespace ceres {
namespace internal {
-LinearSolver::~LinearSolver() {}
+LinearSolver::~LinearSolver() = default;
LinearSolverType LinearSolver::LinearSolverForZeroEBlocks(
LinearSolverType linear_solver_type) {
diff --git a/internal/ceres/linear_solver.h b/internal/ceres/linear_solver.h
index 93aee39..f4616cd 100644
--- a/internal/ceres/linear_solver.h
+++ b/internal/ceres/linear_solver.h
@@ -301,7 +301,7 @@
template <typename MatrixType>
class TypedLinearSolver : public LinearSolver {
public:
- ~TypedLinearSolver() override {}
+ ~TypedLinearSolver() override = default;
LinearSolver::Summary Solve(
LinearOperator* A,
const double* b,
diff --git a/internal/ceres/local_parameterization.cc b/internal/ceres/local_parameterization.cc
index 62947f0..33e2aa0 100644
--- a/internal/ceres/local_parameterization.cc
+++ b/internal/ceres/local_parameterization.cc
@@ -43,7 +43,7 @@
using std::vector;
-LocalParameterization::~LocalParameterization() {}
+LocalParameterization::~LocalParameterization() = default;
bool LocalParameterization::MultiplyByJacobian(const double* x,
const int num_rows,
diff --git a/internal/ceres/low_rank_inverse_hessian.h b/internal/ceres/low_rank_inverse_hessian.h
index 3fabb0c..a7a572c 100644
--- a/internal/ceres/low_rank_inverse_hessian.h
+++ b/internal/ceres/low_rank_inverse_hessian.h
@@ -73,7 +73,7 @@
LowRankInverseHessian(int num_parameters,
int max_num_corrections,
bool use_approximate_eigenvalue_scaling);
- ~LowRankInverseHessian() override {}
+ ~LowRankInverseHessian() override = default;
// Update the low rank approximation. delta_x is the change in the
// domain of Hessian, and delta_gradient is the change in the
diff --git a/internal/ceres/manifold_adapter.h b/internal/ceres/manifold_adapter.h
index 153dd97..2efec3a 100644
--- a/internal/ceres/manifold_adapter.h
+++ b/internal/ceres/manifold_adapter.h
@@ -15,7 +15,7 @@
CHECK(local_parameterization != nullptr);
}
- ~ManifoldAdapter() override {}
+ ~ManifoldAdapter() override = default;
bool Plus(const double* x,
const double* delta,
diff --git a/internal/ceres/miniglog/glog/logging.h b/internal/ceres/miniglog/glog/logging.h
index 303cd8e..34f26a5 100644
--- a/internal/ceres/miniglog/glog/logging.h
+++ b/internal/ceres/miniglog/glog/logging.h
@@ -138,7 +138,7 @@
// This implementation is not thread safe.
class CERES_EXPORT LogSink {
public:
- virtual ~LogSink() {}
+ virtual ~LogSink() = default;
virtual void send(LogSeverity severity,
const char* full_filename,
const char* base_filename,
@@ -294,7 +294,7 @@
// is not used" and "statement has no effect".
class CERES_EXPORT LoggerVoidify {
public:
- LoggerVoidify() {}
+ LoggerVoidify() = default;
// This has to be an operator with a precedence lower than << but
// higher than ?:
void operator&(const std::ostream& s) {}
diff --git a/internal/ceres/minimizer.cc b/internal/ceres/minimizer.cc
index b96e0c9..8e27c7b 100644
--- a/internal/ceres/minimizer.cc
+++ b/internal/ceres/minimizer.cc
@@ -51,7 +51,7 @@
return NULL;
}
-Minimizer::~Minimizer() {}
+Minimizer::~Minimizer() = default;
bool Minimizer::RunCallbacks(const Minimizer::Options& options,
const IterationSummary& iteration_summary,
diff --git a/internal/ceres/minimizer_test.cc b/internal/ceres/minimizer_test.cc
index 22b3a19..909beab 100644
--- a/internal/ceres/minimizer_test.cc
+++ b/internal/ceres/minimizer_test.cc
@@ -39,7 +39,7 @@
class FakeIterationCallback : public IterationCallback {
public:
- ~FakeIterationCallback() override {}
+ ~FakeIterationCallback() override = default;
CallbackReturnType operator()(const IterationSummary& summary) final {
return SOLVER_CONTINUE;
}
@@ -62,7 +62,7 @@
class AbortingIterationCallback : public IterationCallback {
public:
- ~AbortingIterationCallback() override {}
+ ~AbortingIterationCallback() override = default;
CallbackReturnType operator()(const IterationSummary& summary) final {
return SOLVER_ABORT;
}
@@ -80,7 +80,7 @@
class SucceedingIterationCallback : public IterationCallback {
public:
- ~SucceedingIterationCallback() override {}
+ ~SucceedingIterationCallback() override = default;
CallbackReturnType operator()(const IterationSummary& summary) final {
return SOLVER_TERMINATE_SUCCESSFULLY;
}
diff --git a/internal/ceres/parameter_block_test.cc b/internal/ceres/parameter_block_test.cc
index f7923b3..e0da433 100644
--- a/internal/ceres/parameter_block_test.cc
+++ b/internal/ceres/parameter_block_test.cc
@@ -111,7 +111,7 @@
struct TestManifold : public Manifold {
public:
- ~TestManifold() final {}
+ ~TestManifold() final = default;
bool Plus(const double* x,
const double* delta,
@@ -166,7 +166,7 @@
class BadManifold : public Manifold {
public:
BadManifold() : calls_(0) {}
- ~BadManifold() final {}
+ ~BadManifold() final = default;
bool Plus(const double* x,
const double* delta,
diff --git a/internal/ceres/partitioned_matrix_view.h b/internal/ceres/partitioned_matrix_view.h
index b39aa3e..4761050 100644
--- a/internal/ceres/partitioned_matrix_view.h
+++ b/internal/ceres/partitioned_matrix_view.h
@@ -62,7 +62,7 @@
// wrong output.
class CERES_EXPORT_INTERNAL PartitionedMatrixViewBase {
public:
- virtual ~PartitionedMatrixViewBase() {}
+ virtual ~PartitionedMatrixViewBase() = default;
// y += E'x
virtual void LeftMultiplyE(const double* x, double* y) const = 0;
diff --git a/internal/ceres/partitioned_matrix_view_impl.h b/internal/ceres/partitioned_matrix_view_impl.h
index 0b6a57f..22594ef 100644
--- a/internal/ceres/partitioned_matrix_view_impl.h
+++ b/internal/ceres/partitioned_matrix_view_impl.h
@@ -82,7 +82,7 @@
template <int kRowBlockSize, int kEBlockSize, int kFBlockSize>
PartitionedMatrixView<kRowBlockSize, kEBlockSize, kFBlockSize>::
- ~PartitionedMatrixView() {}
+ ~PartitionedMatrixView() = default;
// The next four methods don't seem to be particularly cache
// friendly. This is an artifact of how the BlockStructure of the
diff --git a/internal/ceres/preconditioner.cc b/internal/ceres/preconditioner.cc
index 69ba04d..17b9629c 100644
--- a/internal/ceres/preconditioner.cc
+++ b/internal/ceres/preconditioner.cc
@@ -35,7 +35,7 @@
namespace ceres {
namespace internal {
-Preconditioner::~Preconditioner() {}
+Preconditioner::~Preconditioner() = default;
PreconditionerType Preconditioner::PreconditionerForZeroEBlocks(
PreconditionerType preconditioner_type) {
@@ -53,7 +53,8 @@
CHECK(matrix != nullptr);
}
-SparseMatrixPreconditionerWrapper::~SparseMatrixPreconditionerWrapper() {}
+SparseMatrixPreconditionerWrapper::~SparseMatrixPreconditionerWrapper() =
+ default;
bool SparseMatrixPreconditionerWrapper::UpdateImpl(const SparseMatrix& A,
const double* D) {
diff --git a/internal/ceres/preconditioner.h b/internal/ceres/preconditioner.h
index 331cc9c..6a6bc61 100644
--- a/internal/ceres/preconditioner.h
+++ b/internal/ceres/preconditioner.h
@@ -149,7 +149,7 @@
template <typename MatrixType>
class TypedPreconditioner : public Preconditioner {
public:
- ~TypedPreconditioner() override {}
+ ~TypedPreconditioner() override = default;
bool Update(const LinearOperator& A, const double* D) final {
return UpdateImpl(*down_cast<const MatrixType*>(&A), D);
}
diff --git a/internal/ceres/preprocessor.cc b/internal/ceres/preprocessor.cc
index cd8c48c..097ac64 100644
--- a/internal/ceres/preprocessor.cc
+++ b/internal/ceres/preprocessor.cc
@@ -54,7 +54,7 @@
return NULL;
}
-Preprocessor::~Preprocessor() {}
+Preprocessor::~Preprocessor() = default;
void ChangeNumThreadsIfNeeded(Solver::Options* options) {
if (options->num_threads == 1) {
diff --git a/internal/ceres/problem.cc b/internal/ceres/problem.cc
index e6a7350..5926bce 100644
--- a/internal/ceres/problem.cc
+++ b/internal/ceres/problem.cc
@@ -46,7 +46,7 @@
// Not inline defaulted in declaration due to use of std::unique_ptr.
Problem::Problem(Problem&&) = default;
Problem& Problem::operator=(Problem&&) = default;
-Problem::~Problem() {}
+Problem::~Problem() = default;
ResidualBlockId Problem::AddResidualBlock(
CostFunction* cost_function,
diff --git a/internal/ceres/problem_test.cc b/internal/ceres/problem_test.cc
index d2ccf63..483ae07 100644
--- a/internal/ceres/problem_test.cc
+++ b/internal/ceres/problem_test.cc
@@ -67,7 +67,7 @@
mutable_parameter_block_sizes()->push_back(parameter_block_size);
}
- ~UnaryCostFunction() override {}
+ ~UnaryCostFunction() override = default;
bool Evaluate(double const* const* parameters,
double* residuals,
diff --git a/internal/ceres/program.cc b/internal/ceres/program.cc
index 5fba205..516d58d 100644
--- a/internal/ceres/program.cc
+++ b/internal/ceres/program.cc
@@ -54,12 +54,11 @@
namespace ceres {
namespace internal {
-Program::Program() {}
+Program::Program() = default;
Program::Program(const Program& program)
- : parameter_blocks_(program.parameter_blocks_),
- residual_blocks_(program.residual_blocks_),
- evaluation_callback_(program.evaluation_callback_) {}
+
+ = default;
const std::vector<ParameterBlock*>& Program::parameter_blocks() const {
return parameter_blocks_;
diff --git a/internal/ceres/program_test.cc b/internal/ceres/program_test.cc
index 7fdf300..d12cfa5 100644
--- a/internal/ceres/program_test.cc
+++ b/internal/ceres/program_test.cc
@@ -331,7 +331,7 @@
}
}
- ~NumParameterBlocksCostFunction() override {}
+ ~NumParameterBlocksCostFunction() override = default;
bool Evaluate(double const* const* parameters,
double* residuals,
diff --git a/internal/ceres/schur_complement_solver.cc b/internal/ceres/schur_complement_solver.cc
index cd62f40..57419c2 100644
--- a/internal/ceres/schur_complement_solver.cc
+++ b/internal/ceres/schur_complement_solver.cc
@@ -68,7 +68,7 @@
const BlockRandomAccessSparseMatrix& m)
: m_(m) {}
- ~BlockRandomAccessSparseMatrixAdapter() override {}
+ ~BlockRandomAccessSparseMatrixAdapter() override = default;
// y = y + Ax;
void RightMultiply(const double* x, double* y) const final {
@@ -93,7 +93,7 @@
const BlockRandomAccessDiagonalMatrix& m)
: m_(m) {}
- ~BlockRandomAccessDiagonalMatrixAdapter() override {}
+ ~BlockRandomAccessDiagonalMatrixAdapter() override = default;
// y = y + Ax;
void RightMultiply(const double* x, double* y) const final {
@@ -122,7 +122,7 @@
CHECK(options.context != nullptr);
}
-SchurComplementSolver::~SchurComplementSolver() {}
+SchurComplementSolver::~SchurComplementSolver() = default;
LinearSolver::Summary SchurComplementSolver::SolveImpl(
BlockSparseMatrix* A,
@@ -188,7 +188,7 @@
: SchurComplementSolver(options),
cholesky_(DenseCholesky::Create(options)) {}
-DenseSchurComplementSolver::~DenseSchurComplementSolver() {}
+DenseSchurComplementSolver::~DenseSchurComplementSolver() = default;
// Initialize a BlockRandomAccessDenseMatrix to store the Schur
// complement.
@@ -240,7 +240,7 @@
}
}
-SparseSchurComplementSolver::~SparseSchurComplementSolver() {}
+SparseSchurComplementSolver::~SparseSchurComplementSolver() = default;
// Determine the non-zero blocks in the Schur Complement matrix, and
// initialize a BlockRandomAccessSparseMatrix object.
diff --git a/internal/ceres/schur_eliminator.h b/internal/ceres/schur_eliminator.h
index 2fb59d4..a9eada5 100644
--- a/internal/ceres/schur_eliminator.h
+++ b/internal/ceres/schur_eliminator.h
@@ -165,7 +165,7 @@
// Example usage: Please see schur_complement_solver.cc
class CERES_EXPORT_INTERNAL SchurEliminatorBase {
public:
- virtual ~SchurEliminatorBase() {}
+ virtual ~SchurEliminatorBase() = default;
// Initialize the eliminator. It is the user's responsibilty to call
// this function before calling Eliminate or BackSubstitute. It is
@@ -379,7 +379,7 @@
int kFBlockSize = Eigen::Dynamic>
class SchurEliminatorForOneFBlock : public SchurEliminatorBase {
public:
- ~SchurEliminatorForOneFBlock() override {}
+ ~SchurEliminatorForOneFBlock() override = default;
void Init(int num_eliminate_blocks,
bool assume_full_rank_ete,
const CompressedRowBlockStructure* bs) override {
diff --git a/internal/ceres/schur_jacobi_preconditioner.cc b/internal/ceres/schur_jacobi_preconditioner.cc
index 89d770b..283cd4b 100644
--- a/internal/ceres/schur_jacobi_preconditioner.cc
+++ b/internal/ceres/schur_jacobi_preconditioner.cc
@@ -62,7 +62,7 @@
InitEliminator(bs);
}
-SchurJacobiPreconditioner::~SchurJacobiPreconditioner() {}
+SchurJacobiPreconditioner::~SchurJacobiPreconditioner() = default;
// Initialize the SchurEliminator.
void SchurJacobiPreconditioner::InitEliminator(
diff --git a/internal/ceres/solver.cc b/internal/ceres/solver.cc
index dfde122..491f066 100644
--- a/internal/ceres/solver.cc
+++ b/internal/ceres/solver.cc
@@ -485,7 +485,7 @@
return LineSearchOptionsAreValid(*this, error);
}
-Solver::~Solver() {}
+Solver::~Solver() = default;
void Solver::Solve(const Solver::Options& options,
Problem* problem,
diff --git a/internal/ceres/solver_test.cc b/internal/ceres/solver_test.cc
index 465262c..41f3872 100644
--- a/internal/ceres/solver_test.cc
+++ b/internal/ceres/solver_test.cc
@@ -78,7 +78,7 @@
struct RememberingCallback : public IterationCallback {
explicit RememberingCallback(double* x) : calls(0), x(x) {}
- ~RememberingCallback() override {}
+ ~RememberingCallback() override = default;
CallbackReturnType operator()(const IterationSummary& summary) final {
x_values.push_back(*x);
return SOLVER_CONTINUE;
@@ -89,7 +89,7 @@
};
struct NoOpEvaluationCallback : EvaluationCallback {
- ~NoOpEvaluationCallback() override {}
+ ~NoOpEvaluationCallback() override = default;
void PrepareForEvaluation(bool evaluate_jacobians,
bool new_evaluation_point) final {
(void)evaluate_jacobians;
diff --git a/internal/ceres/sparse_cholesky.cc b/internal/ceres/sparse_cholesky.cc
index 91cdf67..c71d2fe 100644
--- a/internal/ceres/sparse_cholesky.cc
+++ b/internal/ceres/sparse_cholesky.cc
@@ -113,7 +113,7 @@
return sparse_cholesky;
}
-SparseCholesky::~SparseCholesky() {}
+SparseCholesky::~SparseCholesky() = default;
LinearSolverTerminationType SparseCholesky::FactorAndSolve(
CompressedRowSparseMatrix* lhs,
@@ -133,7 +133,7 @@
: sparse_cholesky_(std::move(sparse_cholesky)),
iterative_refiner_(std::move(iterative_refiner)) {}
-RefinedSparseCholesky::~RefinedSparseCholesky() {}
+RefinedSparseCholesky::~RefinedSparseCholesky() = default;
CompressedRowSparseMatrix::StorageType RefinedSparseCholesky::StorageType()
const {
diff --git a/internal/ceres/sparse_matrix.cc b/internal/ceres/sparse_matrix.cc
index 32388f5..bc757ea 100644
--- a/internal/ceres/sparse_matrix.cc
+++ b/internal/ceres/sparse_matrix.cc
@@ -33,7 +33,7 @@
namespace ceres {
namespace internal {
-SparseMatrix::~SparseMatrix() {}
+SparseMatrix::~SparseMatrix() = default;
} // namespace internal
} // namespace ceres
diff --git a/internal/ceres/sparse_normal_cholesky_solver.cc b/internal/ceres/sparse_normal_cholesky_solver.cc
index 0f2e589..1ffce8f 100644
--- a/internal/ceres/sparse_normal_cholesky_solver.cc
+++ b/internal/ceres/sparse_normal_cholesky_solver.cc
@@ -54,7 +54,7 @@
sparse_cholesky_ = SparseCholesky::Create(options);
}
-SparseNormalCholeskySolver::~SparseNormalCholeskySolver() {}
+SparseNormalCholeskySolver::~SparseNormalCholeskySolver() = default;
LinearSolver::Summary SparseNormalCholeskySolver::SolveImpl(
BlockSparseMatrix* A,
diff --git a/internal/ceres/subset_preconditioner.cc b/internal/ceres/subset_preconditioner.cc
index 779a34a..e5146ce 100644
--- a/internal/ceres/subset_preconditioner.cc
+++ b/internal/ceres/subset_preconditioner.cc
@@ -55,7 +55,7 @@
sparse_cholesky_ = SparseCholesky::Create(sparse_cholesky_options);
}
-SubsetPreconditioner::~SubsetPreconditioner() {}
+SubsetPreconditioner::~SubsetPreconditioner() = default;
void SubsetPreconditioner::RightMultiply(const double* x, double* y) const {
CHECK(x != nullptr);
diff --git a/internal/ceres/thread_pool.cc b/internal/ceres/thread_pool.cc
index 821431c..69753df 100644
--- a/internal/ceres/thread_pool.cc
+++ b/internal/ceres/thread_pool.cc
@@ -57,7 +57,7 @@
: num_hardware_threads;
}
-ThreadPool::ThreadPool() {}
+ThreadPool::ThreadPool() = default;
ThreadPool::ThreadPool(int num_threads) { Resize(num_threads); }
diff --git a/internal/ceres/triplet_sparse_matrix.cc b/internal/ceres/triplet_sparse_matrix.cc
index 5dbf0e7..e4f7f9b 100644
--- a/internal/ceres/triplet_sparse_matrix.cc
+++ b/internal/ceres/triplet_sparse_matrix.cc
@@ -45,7 +45,7 @@
TripletSparseMatrix::TripletSparseMatrix()
: num_rows_(0), num_cols_(0), max_num_nonzeros_(0), num_nonzeros_(0) {}
-TripletSparseMatrix::~TripletSparseMatrix() {}
+TripletSparseMatrix::~TripletSparseMatrix() = default;
TripletSparseMatrix::TripletSparseMatrix(int num_rows,
int num_cols,
diff --git a/internal/ceres/trust_region_minimizer.cc b/internal/ceres/trust_region_minimizer.cc
index d848795..5e292bb 100644
--- a/internal/ceres/trust_region_minimizer.cc
+++ b/internal/ceres/trust_region_minimizer.cc
@@ -62,7 +62,7 @@
namespace ceres {
namespace internal {
-TrustRegionMinimizer::~TrustRegionMinimizer() {}
+TrustRegionMinimizer::~TrustRegionMinimizer() = default;
void TrustRegionMinimizer::Minimize(const Minimizer::Options& options,
double* parameters,
diff --git a/internal/ceres/trust_region_minimizer_test.cc b/internal/ceres/trust_region_minimizer_test.cc
index 3181068..7f2c931 100644
--- a/internal/ceres/trust_region_minimizer_test.cc
+++ b/internal/ceres/trust_region_minimizer_test.cc
@@ -76,7 +76,7 @@
}
// clang-format on
- ~PowellEvaluator2() override {}
+ ~PowellEvaluator2() override = default;
// Implementation of Evaluator interface.
SparseMatrix* CreateJacobian() const final {
diff --git a/internal/ceres/trust_region_preprocessor.cc b/internal/ceres/trust_region_preprocessor.cc
index 0943edb..fc76369 100644
--- a/internal/ceres/trust_region_preprocessor.cc
+++ b/internal/ceres/trust_region_preprocessor.cc
@@ -355,7 +355,7 @@
} // namespace
-TrustRegionPreprocessor::~TrustRegionPreprocessor() {}
+TrustRegionPreprocessor::~TrustRegionPreprocessor() = default;
bool TrustRegionPreprocessor::Preprocess(const Solver::Options& options,
ProblemImpl* problem,
diff --git a/internal/ceres/trust_region_strategy.cc b/internal/ceres/trust_region_strategy.cc
index 7e429d5..235bf98 100644
--- a/internal/ceres/trust_region_strategy.cc
+++ b/internal/ceres/trust_region_strategy.cc
@@ -38,7 +38,7 @@
namespace ceres {
namespace internal {
-TrustRegionStrategy::~TrustRegionStrategy() {}
+TrustRegionStrategy::~TrustRegionStrategy() = default;
TrustRegionStrategy* TrustRegionStrategy::Create(const Options& options) {
switch (options.trust_region_strategy_type) {
diff --git a/internal/ceres/visibility_based_preconditioner.cc b/internal/ceres/visibility_based_preconditioner.cc
index 0cf4afa..566dcfa 100644
--- a/internal/ceres/visibility_based_preconditioner.cc
+++ b/internal/ceres/visibility_based_preconditioner.cc
@@ -125,7 +125,7 @@
<< " eliminator time: " << eliminator_time - storage_time;
}
-VisibilityBasedPreconditioner::~VisibilityBasedPreconditioner() {}
+VisibilityBasedPreconditioner::~VisibilityBasedPreconditioner() = default;
// Determine the sparsity structure of the CLUSTER_JACOBI
// preconditioner. It clusters cameras using their scene