Use override & final instead of just using virtual.

This is safer than using virtual and this lead to a minor
bug fixes.

Change-Id: Id69cb1cc569bf6bf245f22f029c7871b6c712568
This commit is contained in:
Sameer Agarwal
2019-07-14 00:16:13 +02:00
parent e4577dd6d9
commit 2ffddaccfe
89 changed files with 478 additions and 482 deletions
+14 -14
View File
@@ -48,13 +48,13 @@ class GradientProblemEvaluator : public Evaluator {
explicit GradientProblemEvaluator(const GradientProblem& problem)
: problem_(problem) {}
virtual ~GradientProblemEvaluator() {}
virtual SparseMatrix* CreateJacobian() const { return NULL; }
virtual bool Evaluate(const EvaluateOptions& evaluate_options,
const double* state,
double* cost,
double* residuals,
double* gradient,
SparseMatrix* jacobian) {
SparseMatrix* CreateJacobian() const final { return nullptr; }
bool Evaluate(const EvaluateOptions& evaluate_options,
const double* state,
double* cost,
double* residuals,
double* gradient,
SparseMatrix* jacobian) final {
CHECK(jacobian == NULL);
ScopedExecutionTimer total_timer("Evaluator::Total", &execution_summary_);
// The reason we use Residual and Jacobian here even when we are
@@ -70,23 +70,23 @@ class GradientProblemEvaluator : public Evaluator {
return problem_.Evaluate(state, cost, gradient);
}
virtual bool Plus(const double* state,
const double* delta,
double* state_plus_delta) const {
bool Plus(const double* state,
const double* delta,
double* state_plus_delta) const final {
return problem_.Plus(state, delta, state_plus_delta);
}
virtual int NumParameters() const {
int NumParameters() const final {
return problem_.NumParameters();
}
virtual int NumEffectiveParameters() const {
int NumEffectiveParameters() const final {
return problem_.NumLocalParameters();
}
virtual int NumResiduals() const { return 1; }
int NumResiduals() const final { return 1; }
virtual std::map<std::string, internal::CallStatistics> Statistics() const {
std::map<std::string, internal::CallStatistics> Statistics() const final {
return execution_summary_.statistics();
}