Add <memory> header to all files using std::unique_ptr. Fixes https://github.com/ceres-solver/ceres-solver/issues/758 Change-Id: I884819ec62cf7dcb95368eb46f3c03a46bb5243f
diff --git a/internal/ceres/accelerate_sparse.cc b/internal/ceres/accelerate_sparse.cc index 6cb9382..15e6645 100644 --- a/internal/ceres/accelerate_sparse.cc +++ b/internal/ceres/accelerate_sparse.cc
@@ -34,6 +34,7 @@ #ifndef CERES_NO_ACCELERATE_SPARSE #include <algorithm> +#include <memory> #include <string> #include <vector>
diff --git a/internal/ceres/block_jacobian_writer.cc b/internal/ceres/block_jacobian_writer.cc index b8cb3c7..253baf8 100644 --- a/internal/ceres/block_jacobian_writer.cc +++ b/internal/ceres/block_jacobian_writer.cc
@@ -31,6 +31,7 @@ #include "ceres/block_jacobian_writer.h" #include <algorithm> +#include <memory> #include "ceres/block_evaluate_preparer.h" #include "ceres/block_sparse_matrix.h"
diff --git a/internal/ceres/block_jacobian_writer.h b/internal/ceres/block_jacobian_writer.h index 2bf584c..7723b4f 100644 --- a/internal/ceres/block_jacobian_writer.h +++ b/internal/ceres/block_jacobian_writer.h
@@ -38,6 +38,7 @@ #ifndef CERES_INTERNAL_BLOCK_JACOBIAN_WRITER_H_ #define CERES_INTERNAL_BLOCK_JACOBIAN_WRITER_H_ +#include <memory> #include <vector> #include "ceres/evaluator.h"
diff --git a/internal/ceres/block_sparse_matrix.cc b/internal/ceres/block_sparse_matrix.cc index 9359354..a0f55f8 100644 --- a/internal/ceres/block_sparse_matrix.cc +++ b/internal/ceres/block_sparse_matrix.cc
@@ -32,6 +32,7 @@ #include <algorithm> #include <cstddef> +#include <memory> #include <vector> #include "ceres/block_structure.h"
diff --git a/internal/ceres/c_api.cc b/internal/ceres/c_api.cc index ddb8a98..a96af8d 100644 --- a/internal/ceres/c_api.cc +++ b/internal/ceres/c_api.cc
@@ -35,6 +35,7 @@ #include "ceres/c_api.h" #include <iostream> +#include <memory> #include <string> #include <vector>
diff --git a/internal/ceres/compressed_row_jacobian_writer.cc b/internal/ceres/compressed_row_jacobian_writer.cc index 2526940..c94d719 100644 --- a/internal/ceres/compressed_row_jacobian_writer.cc +++ b/internal/ceres/compressed_row_jacobian_writer.cc
@@ -32,6 +32,7 @@ #include <algorithm> #include <iterator> +#include <memory> #include <string> #include <utility> #include <vector>
diff --git a/internal/ceres/compressed_row_sparse_matrix.cc b/internal/ceres/compressed_row_sparse_matrix.cc index 766e413..92aabce 100644 --- a/internal/ceres/compressed_row_sparse_matrix.cc +++ b/internal/ceres/compressed_row_sparse_matrix.cc
@@ -31,6 +31,7 @@ #include "ceres/compressed_row_sparse_matrix.h" #include <algorithm> +#include <memory> #include <numeric> #include <vector>
diff --git a/internal/ceres/cxsparse.cc b/internal/ceres/cxsparse.cc index 7800e8b..cde682a 100644 --- a/internal/ceres/cxsparse.cc +++ b/internal/ceres/cxsparse.cc
@@ -33,6 +33,7 @@ #ifndef CERES_NO_CXSPARSE +#include <memory> #include <string> #include <vector>
diff --git a/internal/ceres/dense_normal_cholesky_solver.h b/internal/ceres/dense_normal_cholesky_solver.h index d81dee9..2a07e3b 100644 --- a/internal/ceres/dense_normal_cholesky_solver.h +++ b/internal/ceres/dense_normal_cholesky_solver.h
@@ -34,6 +34,8 @@ #ifndef CERES_INTERNAL_DENSE_NORMAL_CHOLESKY_SOLVER_H_ #define CERES_INTERNAL_DENSE_NORMAL_CHOLESKY_SOLVER_H_ +#include <memory> + #include "ceres/dense_cholesky.h" #include "ceres/linear_solver.h"
diff --git a/internal/ceres/dynamic_compressed_row_jacobian_writer.cc b/internal/ceres/dynamic_compressed_row_jacobian_writer.cc index b261926..4ae9518 100644 --- a/internal/ceres/dynamic_compressed_row_jacobian_writer.cc +++ b/internal/ceres/dynamic_compressed_row_jacobian_writer.cc
@@ -30,6 +30,8 @@ #include "ceres/dynamic_compressed_row_jacobian_writer.h" +#include <memory> + #include "ceres/casts.h" #include "ceres/compressed_row_jacobian_writer.h" #include "ceres/dynamic_compressed_row_sparse_matrix.h"
diff --git a/internal/ceres/dynamic_compressed_row_jacobian_writer.h b/internal/ceres/dynamic_compressed_row_jacobian_writer.h index 9a93b2b..e87e7fd 100644 --- a/internal/ceres/dynamic_compressed_row_jacobian_writer.h +++ b/internal/ceres/dynamic_compressed_row_jacobian_writer.h
@@ -34,6 +34,8 @@ #ifndef CERES_INTERNAL_DYNAMIC_COMPRESSED_ROW_JACOBIAN_WRITER_H_ #define CERES_INTERNAL_DYNAMIC_COMPRESSED_ROW_JACOBIAN_WRITER_H_ +#include <memory> + #include "ceres/evaluator.h" #include "ceres/scratch_evaluate_preparer.h"
diff --git a/internal/ceres/eigensparse.cc b/internal/ceres/eigensparse.cc index 1a896cc..7211450 100644 --- a/internal/ceres/eigensparse.cc +++ b/internal/ceres/eigensparse.cc
@@ -30,6 +30,8 @@ #include "ceres/eigensparse.h" +#include <memory> + #ifdef CERES_USE_EIGEN_SPARSE #include <sstream>
diff --git a/internal/ceres/evaluation_callback_test.cc b/internal/ceres/evaluation_callback_test.cc index adeb4da..e9809a3 100644 --- a/internal/ceres/evaluation_callback_test.cc +++ b/internal/ceres/evaluation_callback_test.cc
@@ -32,6 +32,7 @@ #include <cmath> #include <limits> +#include <memory> #include <vector> #include "ceres/autodiff_cost_function.h" @@ -72,7 +73,6 @@ evaluate_num_calls(0), evaluate_last_parameter_hash(kUninitialized) {} - // Evaluation callback interface. This checks that all the preconditions are // met at the point that Ceres calls into it. void PrepareForEvaluation(bool evaluate_jacobians,
diff --git a/internal/ceres/evaluator.cc b/internal/ceres/evaluator.cc index f8d1121..60c1a6d 100644 --- a/internal/ceres/evaluator.cc +++ b/internal/ceres/evaluator.cc
@@ -30,6 +30,7 @@ #include "ceres/evaluator.h" +#include <memory> #include <vector> #include "ceres/block_evaluate_preparer.h"
diff --git a/internal/ceres/evaluator.h b/internal/ceres/evaluator.h index e642551..54ee63a 100644 --- a/internal/ceres/evaluator.h +++ b/internal/ceres/evaluator.h
@@ -33,6 +33,7 @@ #define CERES_INTERNAL_EVALUATOR_H_ #include <map> +#include <memory> #include <string> #include <vector>
diff --git a/internal/ceres/float_cxsparse.cc b/internal/ceres/float_cxsparse.cc index 6c68830..a5cc527 100644 --- a/internal/ceres/float_cxsparse.cc +++ b/internal/ceres/float_cxsparse.cc
@@ -30,6 +30,8 @@ #include "ceres/float_cxsparse.h" +#include <memory> + #if !defined(CERES_NO_CXSPARSE) namespace ceres {
diff --git a/internal/ceres/float_suitesparse.cc b/internal/ceres/float_suitesparse.cc index 0360457..731a1e9 100644 --- a/internal/ceres/float_suitesparse.cc +++ b/internal/ceres/float_suitesparse.cc
@@ -30,6 +30,8 @@ #include "ceres/float_suitesparse.h" +#include <memory> + #if !defined(CERES_NO_SUITESPARSE) namespace ceres {
diff --git a/internal/ceres/gradient_checking_cost_function.cc b/internal/ceres/gradient_checking_cost_function.cc index fdd378e..e322b7c 100644 --- a/internal/ceres/gradient_checking_cost_function.cc +++ b/internal/ceres/gradient_checking_cost_function.cc
@@ -34,6 +34,7 @@ #include <algorithm> #include <cmath> #include <cstdint> +#include <memory> #include <numeric> #include <string> #include <vector>
diff --git a/internal/ceres/gradient_checking_cost_function.h b/internal/ceres/gradient_checking_cost_function.h index e514ae6..786b29f 100644 --- a/internal/ceres/gradient_checking_cost_function.h +++ b/internal/ceres/gradient_checking_cost_function.h
@@ -32,6 +32,7 @@ #ifndef CERES_INTERNAL_GRADIENT_CHECKING_COST_FUNCTION_H_ #define CERES_INTERNAL_GRADIENT_CHECKING_COST_FUNCTION_H_ +#include <memory> #include <mutex> #include <string>
diff --git a/internal/ceres/graph_algorithms.h b/internal/ceres/graph_algorithms.h index 82a20d8..0580a33 100644 --- a/internal/ceres/graph_algorithms.h +++ b/internal/ceres/graph_algorithms.h
@@ -34,6 +34,7 @@ #define CERES_INTERNAL_GRAPH_ALGORITHMS_H_ #include <algorithm> +#include <memory> #include <unordered_map> #include <unordered_set> #include <utility>
diff --git a/internal/ceres/inner_product_computer.cc b/internal/ceres/inner_product_computer.cc index 1a3a1a1..c24f6fc 100644 --- a/internal/ceres/inner_product_computer.cc +++ b/internal/ceres/inner_product_computer.cc
@@ -31,6 +31,7 @@ #include "ceres/inner_product_computer.h" #include <algorithm> +#include <memory> #include "ceres/small_blas.h"
diff --git a/internal/ceres/line_search.cc b/internal/ceres/line_search.cc index f8dbc8a..d64858f 100644 --- a/internal/ceres/line_search.cc +++ b/internal/ceres/line_search.cc
@@ -34,6 +34,7 @@ #include <cmath> #include <iomanip> #include <iostream> // NOLINT +#include <memory> #include "ceres/evaluator.h" #include "ceres/function_sample.h"
diff --git a/internal/ceres/line_search_direction.cc b/internal/ceres/line_search_direction.cc index 8a71b56..274a521 100644 --- a/internal/ceres/line_search_direction.cc +++ b/internal/ceres/line_search_direction.cc
@@ -30,6 +30,8 @@ #include "ceres/line_search_direction.h" +#include <memory> + #include "ceres/internal/eigen.h" #include "ceres/line_search_minimizer.h" #include "ceres/low_rank_inverse_hessian.h" @@ -104,7 +106,6 @@ use_approximate_eigenvalue_bfgs_scaling), is_positive_definite_(true) {} - bool NextDirection(const LineSearchMinimizer::State& previous, const LineSearchMinimizer::State& current, Vector* search_direction) override { @@ -159,7 +160,6 @@ inverse_hessian_ = Matrix::Identity(num_parameters, num_parameters); } - bool NextDirection(const LineSearchMinimizer::State& previous, const LineSearchMinimizer::State& current, Vector* search_direction) override {
diff --git a/internal/ceres/line_search_direction.h b/internal/ceres/line_search_direction.h index 11d56bc..0394c7e 100644 --- a/internal/ceres/line_search_direction.h +++ b/internal/ceres/line_search_direction.h
@@ -31,6 +31,8 @@ #ifndef CERES_INTERNAL_LINE_SEARCH_DIRECTION_H_ #define CERES_INTERNAL_LINE_SEARCH_DIRECTION_H_ +#include <memory> + #include "ceres/internal/eigen.h" #include "ceres/line_search_minimizer.h" #include "ceres/types.h"
diff --git a/internal/ceres/linear_solver.cc b/internal/ceres/linear_solver.cc index cf358bd..aa43716 100644 --- a/internal/ceres/linear_solver.cc +++ b/internal/ceres/linear_solver.cc
@@ -30,6 +30,8 @@ #include "ceres/linear_solver.h" +#include <memory> + #include "ceres/cgnr_solver.h" #include "ceres/dense_normal_cholesky_solver.h" #include "ceres/dense_qr_solver.h"
diff --git a/internal/ceres/linear_solver.h b/internal/ceres/linear_solver.h index 9905af0..0ecc35c 100644 --- a/internal/ceres/linear_solver.h +++ b/internal/ceres/linear_solver.h
@@ -36,6 +36,7 @@ #include <cstddef> #include <map> +#include <memory> #include <string> #include <vector>
diff --git a/internal/ceres/minimizer.cc b/internal/ceres/minimizer.cc index a3c77cb..449c728 100644 --- a/internal/ceres/minimizer.cc +++ b/internal/ceres/minimizer.cc
@@ -30,6 +30,8 @@ #include "ceres/minimizer.h" +#include <memory> + #include "ceres/line_search_minimizer.h" #include "ceres/trust_region_minimizer.h" #include "ceres/types.h"
diff --git a/internal/ceres/partitioned_matrix_view.cc b/internal/ceres/partitioned_matrix_view.cc index 0d81c02..d38f30a 100644 --- a/internal/ceres/partitioned_matrix_view.cc +++ b/internal/ceres/partitioned_matrix_view.cc
@@ -39,6 +39,8 @@ // // This file is generated using generate_template_specializations.py. +#include <memory> + #include "ceres/linear_solver.h" #include "ceres/partitioned_matrix_view.h"
diff --git a/internal/ceres/partitioned_matrix_view.h b/internal/ceres/partitioned_matrix_view.h index d9ebcd9..b7b6a91 100644 --- a/internal/ceres/partitioned_matrix_view.h +++ b/internal/ceres/partitioned_matrix_view.h
@@ -38,6 +38,7 @@ #include <algorithm> #include <cstring> +#include <memory> #include <vector> #include "ceres/block_structure.h"
diff --git a/internal/ceres/partitioned_matrix_view_impl.h b/internal/ceres/partitioned_matrix_view_impl.h index 753e0f9..c66c4d7 100644 --- a/internal/ceres/partitioned_matrix_view_impl.h +++ b/internal/ceres/partitioned_matrix_view_impl.h
@@ -30,6 +30,7 @@ #include <algorithm> #include <cstring> +#include <memory> #include <vector> #include "ceres/block_sparse_matrix.h"
diff --git a/internal/ceres/partitioned_matrix_view_template.py b/internal/ceres/partitioned_matrix_view_template.py index 42a135f..b0ca6b9 100644 --- a/internal/ceres/partitioned_matrix_view_template.py +++ b/internal/ceres/partitioned_matrix_view_template.py
@@ -122,6 +122,8 @@ """ FACTORY_FILE_HEADER = """ +#include <memory> + #include "ceres/linear_solver.h" #include "ceres/partitioned_matrix_view.h"
diff --git a/internal/ceres/preprocessor.cc b/internal/ceres/preprocessor.cc index b9dc066..44f0974 100644 --- a/internal/ceres/preprocessor.cc +++ b/internal/ceres/preprocessor.cc
@@ -30,6 +30,8 @@ #include "ceres/preprocessor.h" +#include <memory> + #include "ceres/callbacks.h" #include "ceres/gradient_checking_cost_function.h" #include "ceres/line_search_preprocessor.h"
diff --git a/internal/ceres/problem.cc b/internal/ceres/problem.cc index 5926bce..4269ca3 100644 --- a/internal/ceres/problem.cc +++ b/internal/ceres/problem.cc
@@ -31,6 +31,7 @@ #include "ceres/problem.h" +#include <memory> #include <vector> #include "ceres/crs_matrix.h"
diff --git a/internal/ceres/schur_eliminator.cc b/internal/ceres/schur_eliminator.cc index de0e950..22e7358 100644 --- a/internal/ceres/schur_eliminator.cc +++ b/internal/ceres/schur_eliminator.cc
@@ -39,6 +39,8 @@ // // This file is generated using generate_template_specializations.py. +#include <memory> + #include "ceres/linear_solver.h" #include "ceres/schur_eliminator.h"
diff --git a/internal/ceres/schur_eliminator_benchmark.cc b/internal/ceres/schur_eliminator_benchmark.cc index 76ccfaa..9dac07d 100644 --- a/internal/ceres/schur_eliminator_benchmark.cc +++ b/internal/ceres/schur_eliminator_benchmark.cc
@@ -28,6 +28,8 @@ // // Authors: sameeragarwal@google.com (Sameer Agarwal) +#include <memory> + #include "Eigen/Dense" #include "benchmark/benchmark.h" #include "ceres/block_random_access_dense_matrix.h"
diff --git a/internal/ceres/schur_eliminator_template.py b/internal/ceres/schur_eliminator_template.py index 0bddb29..2bb78c3 100644 --- a/internal/ceres/schur_eliminator_template.py +++ b/internal/ceres/schur_eliminator_template.py
@@ -124,6 +124,8 @@ """ FACTORY_FILE_HEADER = """ +#include <memory> + #include "ceres/linear_solver.h" #include "ceres/schur_eliminator.h"
diff --git a/internal/ceres/scratch_evaluate_preparer.cc b/internal/ceres/scratch_evaluate_preparer.cc index f7589f6..0a1b0f3 100644 --- a/internal/ceres/scratch_evaluate_preparer.cc +++ b/internal/ceres/scratch_evaluate_preparer.cc
@@ -30,6 +30,8 @@ #include "ceres/scratch_evaluate_preparer.h" +#include <memory> + #include "ceres/parameter_block.h" #include "ceres/program.h" #include "ceres/residual_block.h"
diff --git a/internal/ceres/sparse_cholesky.cc b/internal/ceres/sparse_cholesky.cc index c71d2fe..4a80470 100644 --- a/internal/ceres/sparse_cholesky.cc +++ b/internal/ceres/sparse_cholesky.cc
@@ -30,6 +30,8 @@ #include "ceres/sparse_cholesky.h" +#include <memory> + #include "ceres/accelerate_sparse.h" #include "ceres/cxsparse.h" #include "ceres/eigensparse.h"
diff --git a/internal/ceres/sparse_normal_cholesky_solver.h b/internal/ceres/sparse_normal_cholesky_solver.h index bb4b8de..7973f73 100644 --- a/internal/ceres/sparse_normal_cholesky_solver.h +++ b/internal/ceres/sparse_normal_cholesky_solver.h
@@ -39,6 +39,7 @@ #include "ceres/internal/port.h" // clang-format on +#include <memory> #include <vector> #include "ceres/linear_solver.h"
diff --git a/internal/ceres/suitesparse.cc b/internal/ceres/suitesparse.cc index ce8ac65..99c7ff2 100644 --- a/internal/ceres/suitesparse.cc +++ b/internal/ceres/suitesparse.cc
@@ -32,6 +32,7 @@ #include "ceres/internal/port.h" #ifndef CERES_NO_SUITESPARSE +#include <memory> #include <vector> #include "ceres/compressed_col_sparse_matrix_utils.h"
diff --git a/internal/ceres/suitesparse.h b/internal/ceres/suitesparse.h index 8802774..8ab45be 100644 --- a/internal/ceres/suitesparse.h +++ b/internal/ceres/suitesparse.h
@@ -39,6 +39,7 @@ #ifndef CERES_NO_SUITESPARSE #include <cstring> +#include <memory> #include <string> #include <vector>
diff --git a/internal/ceres/triplet_sparse_matrix.cc b/internal/ceres/triplet_sparse_matrix.cc index c409a59..7cfd69e 100644 --- a/internal/ceres/triplet_sparse_matrix.cc +++ b/internal/ceres/triplet_sparse_matrix.cc
@@ -31,7 +31,7 @@ #include "ceres/triplet_sparse_matrix.h" #include <algorithm> -#include <cstddef> +#include <memory> #include "ceres/internal/eigen.h" #include "ceres/internal/port.h"
diff --git a/internal/ceres/trust_region_minimizer_test.cc b/internal/ceres/trust_region_minimizer_test.cc index 62261f7..26878f3 100644 --- a/internal/ceres/trust_region_minimizer_test.cc +++ b/internal/ceres/trust_region_minimizer_test.cc
@@ -36,6 +36,7 @@ #include "ceres/trust_region_minimizer.h" #include <cmath> +#include <memory> #include "ceres/autodiff_cost_function.h" #include "ceres/cost_function.h" @@ -76,7 +77,6 @@ } // clang-format on - // Implementation of Evaluator interface. std::unique_ptr<SparseMatrix> CreateJacobian() const final { CHECK(col1 || col2 || col3 || col4);
diff --git a/internal/ceres/trust_region_strategy.cc b/internal/ceres/trust_region_strategy.cc index c6961a1..1096cd3 100644 --- a/internal/ceres/trust_region_strategy.cc +++ b/internal/ceres/trust_region_strategy.cc
@@ -32,6 +32,8 @@ #include "ceres/trust_region_strategy.h" +#include <memory> + #include "ceres/dogleg_strategy.h" #include "ceres/levenberg_marquardt_strategy.h"
diff --git a/internal/ceres/trust_region_strategy.h b/internal/ceres/trust_region_strategy.h index d520917..ae45f2b 100644 --- a/internal/ceres/trust_region_strategy.h +++ b/internal/ceres/trust_region_strategy.h
@@ -31,6 +31,7 @@ #ifndef CERES_INTERNAL_TRUST_REGION_STRATEGY_H_ #define CERES_INTERNAL_TRUST_REGION_STRATEGY_H_ +#include <memory> #include <string> #include "ceres/internal/port.h"
diff --git a/internal/ceres/visibility.cc b/internal/ceres/visibility.cc index 54de638..aa84a9f 100644 --- a/internal/ceres/visibility.cc +++ b/internal/ceres/visibility.cc
@@ -33,6 +33,7 @@ #include <algorithm> #include <cmath> #include <ctime> +#include <memory> #include <set> #include <unordered_map> #include <utility>