Remove using std::string from port.h Change-Id: I7376f5e7eace22ec1fc05a61eaa858594f08682d
diff --git a/include/ceres/gradient_problem_solver.h b/include/ceres/gradient_problem_solver.h index 0676d92..1ed1e4a 100644 --- a/include/ceres/gradient_problem_solver.h +++ b/include/ceres/gradient_problem_solver.h
@@ -81,7 +81,7 @@ // Returns true if the options struct has a valid // configuration. Returns false otherwise, and fills in *error // with a message describing the problem. - bool IsValid(string* error) const; + bool IsValid(std::string* error) const; // Minimizer options ---------------------------------------- LineSearchDirectionType line_search_direction_type; @@ -269,11 +269,11 @@ // A brief one line description of the state of the solver after // termination. - string BriefReport() const; + std::string BriefReport() const; // A full multiline description of the state of the solver after // termination. - string FullReport() const; + std::string FullReport() const; bool IsSolutionUsable() const; @@ -281,7 +281,7 @@ TerminationType termination_type; // Reason why the solver terminated. - string message; + std::string message; // Cost of the problem (value of the objective function) before // the optimization.
diff --git a/include/ceres/internal/port.h b/include/ceres/internal/port.h index 24eca05..6cee7ba 100644 --- a/include/ceres/internal/port.h +++ b/include/ceres/internal/port.h
@@ -34,8 +34,6 @@ // This file needs to compile as c code. #ifdef __cplusplus -#include <string> - #include "ceres/internal/config.h" #if defined(CERES_TR1_MEMORY_HEADER) @@ -46,10 +44,6 @@ namespace ceres { -// This is necessary to properly handle the case that there is a different -// "string" implementation in the global namespace. -using std::string; - #if defined(CERES_TR1_SHARED_PTR) using std::tr1::shared_ptr; #else
diff --git a/include/ceres/solver.h b/include/ceres/solver.h index dc06151..cfa2974 100644 --- a/include/ceres/solver.h +++ b/include/ceres/solver.h
@@ -141,7 +141,7 @@ // Returns true if the options struct has a valid // configuration. Returns false otherwise, and fills in *error // with a message describing the problem. - bool IsValid(string* error) const; + bool IsValid(std::string* error) const; // Minimizer options ---------------------------------------- @@ -683,7 +683,7 @@ // non-empty if trust_region_minimizer_iterations_to_dump is // non-empty and trust_region_problem_dump_format_type is not // CONSOLE. - string trust_region_problem_dump_directory; + std::string trust_region_problem_dump_directory; DumpFormatType trust_region_problem_dump_format_type; // Finite differences options ---------------------------------------------- @@ -755,11 +755,11 @@ // A brief one line description of the state of the solver after // termination. - string BriefReport() const; + std::string BriefReport() const; // A full multiline description of the state of the solver after // termination. - string FullReport() const; + std::string FullReport() const; bool IsSolutionUsable() const; @@ -769,7 +769,7 @@ TerminationType termination_type; // Reason why the solver terminated. - string message; + std::string message; // Cost of the problem (value of the objective function) before // the optimization.
diff --git a/include/ceres/types.h b/include/ceres/types.h index 8915188..c9ee34c 100644 --- a/include/ceres/types.h +++ b/include/ceres/types.h
@@ -416,65 +416,65 @@ CERES_EXPORT const char* LinearSolverTypeToString( LinearSolverType type); -CERES_EXPORT bool StringToLinearSolverType(string value, +CERES_EXPORT bool StringToLinearSolverType(std::string value, LinearSolverType* type); CERES_EXPORT const char* PreconditionerTypeToString(PreconditionerType type); -CERES_EXPORT bool StringToPreconditionerType(string value, +CERES_EXPORT bool StringToPreconditionerType(std::string value, PreconditionerType* type); CERES_EXPORT const char* VisibilityClusteringTypeToString( VisibilityClusteringType type); -CERES_EXPORT bool StringToVisibilityClusteringType(string value, +CERES_EXPORT bool StringToVisibilityClusteringType(std::string value, VisibilityClusteringType* type); CERES_EXPORT const char* SparseLinearAlgebraLibraryTypeToString( SparseLinearAlgebraLibraryType type); CERES_EXPORT bool StringToSparseLinearAlgebraLibraryType( - string value, + std::string value, SparseLinearAlgebraLibraryType* type); CERES_EXPORT const char* DenseLinearAlgebraLibraryTypeToString( DenseLinearAlgebraLibraryType type); CERES_EXPORT bool StringToDenseLinearAlgebraLibraryType( - string value, + std::string value, DenseLinearAlgebraLibraryType* type); CERES_EXPORT const char* TrustRegionStrategyTypeToString( TrustRegionStrategyType type); -CERES_EXPORT bool StringToTrustRegionStrategyType(string value, +CERES_EXPORT bool StringToTrustRegionStrategyType(std::string value, TrustRegionStrategyType* type); CERES_EXPORT const char* DoglegTypeToString(DoglegType type); -CERES_EXPORT bool StringToDoglegType(string value, DoglegType* type); +CERES_EXPORT bool StringToDoglegType(std::string value, DoglegType* type); CERES_EXPORT const char* MinimizerTypeToString(MinimizerType type); -CERES_EXPORT bool StringToMinimizerType(string value, MinimizerType* type); +CERES_EXPORT bool StringToMinimizerType(std::string value, MinimizerType* type); CERES_EXPORT const char* LineSearchDirectionTypeToString( LineSearchDirectionType type); -CERES_EXPORT bool StringToLineSearchDirectionType(string value, +CERES_EXPORT bool StringToLineSearchDirectionType(std::string value, LineSearchDirectionType* type); CERES_EXPORT const char* LineSearchTypeToString(LineSearchType type); -CERES_EXPORT bool StringToLineSearchType(string value, LineSearchType* type); +CERES_EXPORT bool StringToLineSearchType(std::string value, LineSearchType* type); CERES_EXPORT const char* NonlinearConjugateGradientTypeToString( NonlinearConjugateGradientType type); CERES_EXPORT bool StringToNonlinearConjugateGradientType( - string value, + std::string value, NonlinearConjugateGradientType* type); CERES_EXPORT const char* LineSearchInterpolationTypeToString( LineSearchInterpolationType type); CERES_EXPORT bool StringToLineSearchInterpolationType( - string value, + std::string value, LineSearchInterpolationType* type); CERES_EXPORT const char* CovarianceAlgorithmTypeToString( CovarianceAlgorithmType type); CERES_EXPORT bool StringToCovarianceAlgorithmType( - string value, + std::string value, CovarianceAlgorithmType* type); CERES_EXPORT const char* TerminationTypeToString(TerminationType type);
diff --git a/internal/ceres/array_utils.cc b/internal/ceres/array_utils.cc index a22eb61..3eb5ea4 100644 --- a/internal/ceres/array_utils.cc +++ b/internal/ceres/array_utils.cc
@@ -41,6 +41,8 @@ namespace ceres { namespace internal { +using std::string; + // It is a near impossibility that user code generates this exact // value in normal operation, thus we will use it to fill arrays // before passing them to user code. If on return an element of the
diff --git a/internal/ceres/array_utils.h b/internal/ceres/array_utils.h index c11129e..55b53d2 100644 --- a/internal/ceres/array_utils.h +++ b/internal/ceres/array_utils.h
@@ -64,7 +64,7 @@ // Utility routine to print an array of doubles to a string. If the // array pointer is NULL, it is treated as an array of zeros. -void AppendArrayToString(const int size, const double* x, string* result); +void AppendArrayToString(const int size, const double* x, std::string* result); extern const double kImpossibleValue;
diff --git a/internal/ceres/callbacks.cc b/internal/ceres/callbacks.cc index 3858309..9a2a313 100644 --- a/internal/ceres/callbacks.cc +++ b/internal/ceres/callbacks.cc
@@ -37,6 +37,8 @@ namespace ceres { namespace internal { +using std::string; + StateUpdatingCallback::StateUpdatingCallback(Program* program, double* parameters) : program_(program), parameters_(parameters) {}
diff --git a/internal/ceres/coordinate_descent_minimizer.cc b/internal/ceres/coordinate_descent_minimizer.cc index 9f14840..b949c00 100644 --- a/internal/ceres/coordinate_descent_minimizer.cc +++ b/internal/ceres/coordinate_descent_minimizer.cc
@@ -54,6 +54,7 @@ using std::map; using std::set; +using std::string; using std::vector; CoordinateDescentMinimizer::~CoordinateDescentMinimizer() {
diff --git a/internal/ceres/coordinate_descent_minimizer.h b/internal/ceres/coordinate_descent_minimizer.h index 7aed5d3..25b9024 100644 --- a/internal/ceres/coordinate_descent_minimizer.h +++ b/internal/ceres/coordinate_descent_minimizer.h
@@ -60,7 +60,7 @@ bool Init(const Program& program, const ProblemImpl::ParameterMap& parameter_map, const ParameterBlockOrdering& ordering, - string* error); + std::string* error); // Minimizer interface. virtual ~CoordinateDescentMinimizer(); @@ -71,7 +71,7 @@ // Verify that each group in the ordering forms an independent set. static bool IsOrderingValid(const Program& program, const ParameterBlockOrdering& ordering, - string* message); + std::string* message); // Find a recursive decomposition of the Hessian matrix as a set // of independent sets of decreasing size and invert it. This
diff --git a/internal/ceres/evaluator.cc b/internal/ceres/evaluator.cc index c94c62c..4675c4a 100644 --- a/internal/ceres/evaluator.cc +++ b/internal/ceres/evaluator.cc
@@ -50,7 +50,7 @@ Evaluator* Evaluator::Create(const Evaluator::Options& options, Program* program, - string* error) { + std::string* error) { switch (options.linear_solver_type) { case DENSE_QR: case DENSE_NORMAL_CHOLESKY:
diff --git a/internal/ceres/evaluator.h b/internal/ceres/evaluator.h index 7fec1ee..52c7d8c 100644 --- a/internal/ceres/evaluator.h +++ b/internal/ceres/evaluator.h
@@ -72,7 +72,7 @@ static Evaluator* Create(const Options& options, Program* program, - string* error); + std::string* error); // This is used for computing the cost, residual and Jacobian for // returning to the user. For actually solving the optimization @@ -190,12 +190,12 @@ // that the base class implementation does not have to worry about // life time issues. Further, these calls are not expected to be // frequent or performance sensitive. - virtual std::map<string, int> CallStatistics() const { - return std::map<string, int>(); + virtual std::map<std::string, int> CallStatistics() const { + return std::map<std::string, int>(); } - virtual std::map<string, double> TimeStatistics() const { - return std::map<string, double>(); + virtual std::map<std::string, double> TimeStatistics() const { + return std::map<std::string, double>(); } };
diff --git a/internal/ceres/evaluator_test.cc b/internal/ceres/evaluator_test.cc index ddfafd9..de24274 100644 --- a/internal/ceres/evaluator_test.cc +++ b/internal/ceres/evaluator_test.cc
@@ -51,6 +51,7 @@ namespace ceres { namespace internal { +using std::string; using std::vector; // TODO(keir): Consider pushing this into a common test utils file.
diff --git a/internal/ceres/execution_summary.h b/internal/ceres/execution_summary.h index 3f684f9..e25f2c9 100644 --- a/internal/ceres/execution_summary.h +++ b/internal/ceres/execution_summary.h
@@ -46,30 +46,30 @@ // can be used for reporting times associated with various activities. class ExecutionSummary { public: - void IncrementTimeBy(const string& name, const double value) { + void IncrementTimeBy(const std::string& name, const double value) { CeresMutexLock l(×_mutex_); times_[name] += value; } - void IncrementCall(const string& name) { + void IncrementCall(const std::string& name) { CeresMutexLock l(&calls_mutex_); calls_[name] += 1; } - const std::map<string, double>& times() const { return times_; } - const std::map<string, int>& calls() const { return calls_; } + const std::map<std::string, double>& times() const { return times_; } + const std::map<std::string, int>& calls() const { return calls_; } private: Mutex times_mutex_; - std::map<string, double> times_; + std::map<std::string, double> times_; Mutex calls_mutex_; - std::map<string, int> calls_; + std::map<std::string, int> calls_; }; class ScopedExecutionTimer { public: - ScopedExecutionTimer(const string& name, ExecutionSummary* summary) + ScopedExecutionTimer(const std::string& name, ExecutionSummary* summary) : start_time_(WallTimeInSeconds()), name_(name), summary_(summary) {} @@ -80,7 +80,7 @@ private: const double start_time_; - const string name_; + const std::string name_; ExecutionSummary* summary_; };
diff --git a/internal/ceres/file.h b/internal/ceres/file.h index 4741d65..858b662 100644 --- a/internal/ceres/file.h +++ b/internal/ceres/file.h
@@ -39,12 +39,13 @@ namespace ceres { namespace internal { -void WriteStringToFileOrDie(const string &data, const string &filename); -void ReadFileToStringOrDie(const string &filename, string *data); +void WriteStringToFileOrDie(const std::string &data, + const std::string &filename); +void ReadFileToStringOrDie(const std::string &filename, std::string *data); // Join two path components, adding a slash if necessary. If basename is an // absolute path then JoinPath ignores dirname and simply returns basename. -string JoinPath(const string& dirname, const string& basename); +std::string JoinPath(const std::string& dirname, const std::string& basename); } // namespace internal } // namespace ceres
diff --git a/internal/ceres/gradient_checking_cost_function.cc b/internal/ceres/gradient_checking_cost_function.cc index 52b649b..0ac3fe6 100644 --- a/internal/ceres/gradient_checking_cost_function.cc +++ b/internal/ceres/gradient_checking_cost_function.cc
@@ -52,6 +52,7 @@ namespace ceres { namespace internal { +using std::string; using std::vector; namespace {
diff --git a/internal/ceres/gradient_checking_cost_function.h b/internal/ceres/gradient_checking_cost_function.h index d49c8e6..0fa6fb7 100644 --- a/internal/ceres/gradient_checking_cost_function.h +++ b/internal/ceres/gradient_checking_cost_function.h
@@ -61,7 +61,7 @@ const CostFunction* cost_function, double relative_step_size, double relative_precision, - const string& extra_info); + const std::string& extra_info); // Create a new ProblemImpl object from the input problem_impl, where // each CostFunctions in problem_impl are wrapped inside a
diff --git a/internal/ceres/gradient_problem_evaluator.h b/internal/ceres/gradient_problem_evaluator.h index 7d144e3..3cdb0dd 100644 --- a/internal/ceres/gradient_problem_evaluator.h +++ b/internal/ceres/gradient_problem_evaluator.h
@@ -79,11 +79,11 @@ virtual int NumResiduals() const { return 1; } - virtual std::map<string, int> CallStatistics() const { + virtual std::map<std::string, int> CallStatistics() const { return execution_summary_.calls(); } - virtual std::map<string, double> TimeStatistics() const { + virtual std::map<std::string, double> TimeStatistics() const { return execution_summary_.times(); }
diff --git a/internal/ceres/gradient_problem_solver.cc b/internal/ceres/gradient_problem_solver.cc index aea0804..78e509f 100644 --- a/internal/ceres/gradient_problem_solver.cc +++ b/internal/ceres/gradient_problem_solver.cc
@@ -46,6 +46,7 @@ namespace ceres { using internal::StringPrintf; using internal::StringAppendF; +using std::string; namespace {
diff --git a/internal/ceres/lapack.cc b/internal/ceres/lapack.cc index a3d9980..6cf2f6b 100644 --- a/internal/ceres/lapack.cc +++ b/internal/ceres/lapack.cc
@@ -70,7 +70,7 @@ int num_rows, const double* in_lhs, double* rhs_and_solution, - string* message) { + std::string* message) { #ifdef CERES_NO_LAPACK LOG(FATAL) << "Ceres was built without a BLAS library."; return LINEAR_SOLVER_FATAL_ERROR; @@ -151,7 +151,7 @@ int work_size, double* work, double* rhs_and_solution, - string* message) { + std::string* message) { #ifdef CERES_NO_LAPACK LOG(FATAL) << "Ceres was built without a LAPACK library."; return LINEAR_SOLVER_FATAL_ERROR;
diff --git a/internal/ceres/lapack.h b/internal/ceres/lapack.h index 8933c2c..f1b7676 100644 --- a/internal/ceres/lapack.h +++ b/internal/ceres/lapack.h
@@ -58,7 +58,7 @@ int num_rows, const double* lhs, double* rhs_and_solution, - string* message); + std::string* message); // The SolveUsingQR function requires a buffer for its temporary // computation. This function given the size of the lhs matrix will @@ -91,7 +91,7 @@ int work_size, double* work, double* rhs_and_solution, - string* message); + std::string* message); }; } // namespace internal
diff --git a/internal/ceres/line_search.cc b/internal/ceres/line_search.cc index d9343c9..d7d6576 100644 --- a/internal/ceres/line_search.cc +++ b/internal/ceres/line_search.cc
@@ -47,6 +47,7 @@ using std::map; using std::ostream; +using std::string; using std::vector; namespace {
diff --git a/internal/ceres/line_search.h b/internal/ceres/line_search.h index ea72f74..ccbfd58 100644 --- a/internal/ceres/line_search.h +++ b/internal/ceres/line_search.h
@@ -179,7 +179,7 @@ // the next candidate step size across all iterations. double polynomial_minimization_time_in_seconds; double total_time_in_seconds; - string error; + std::string error; }; explicit LineSearch(const LineSearch::Options& options); @@ -187,7 +187,7 @@ static LineSearch* Create(const LineSearchType line_search_type, const LineSearch::Options& options, - string* error); + std::string* error); // Perform the line search. //
diff --git a/internal/ceres/line_search_minimizer.cc b/internal/ceres/line_search_minimizer.cc index 85cc031..f5059e8 100644 --- a/internal/ceres/line_search_minimizer.cc +++ b/internal/ceres/line_search_minimizer.cc
@@ -69,7 +69,7 @@ bool Evaluate(Evaluator* evaluator, const Vector& x, LineSearchMinimizer::State* state, - string* message) { + std::string* message) { if (!evaluator->Evaluate(x.data(), &(state->cost), NULL,
diff --git a/internal/ceres/line_search_preprocessor.cc b/internal/ceres/line_search_preprocessor.cc index bf17dee..9f4dac5 100644 --- a/internal/ceres/line_search_preprocessor.cc +++ b/internal/ceres/line_search_preprocessor.cc
@@ -42,7 +42,7 @@ namespace internal { namespace { -bool IsProgramValid(const Program& program, string* error) { +bool IsProgramValid(const Program& program, std::string* error) { if (program.IsBoundsConstrained()) { *error = "LINE_SEARCH Minimizer does not support bounds."; return false;
diff --git a/internal/ceres/linear_least_squares_problems.cc b/internal/ceres/linear_least_squares_problems.cc index b6a6a8c..31209f9 100644 --- a/internal/ceres/linear_least_squares_problems.cc +++ b/internal/ceres/linear_least_squares_problems.cc
@@ -46,6 +46,8 @@ namespace ceres { namespace internal { +using std::string; + LinearLeastSquaresProblem* CreateLinearLeastSquaresProblemFromId(int id) { switch (id) { case 0:
diff --git a/internal/ceres/linear_least_squares_problems.h b/internal/ceres/linear_least_squares_problems.h index fdeed70..a8619f6 100644 --- a/internal/ceres/linear_least_squares_problems.h +++ b/internal/ceres/linear_least_squares_problems.h
@@ -71,7 +71,7 @@ // Write the linear least squares problem to disk. The exact format // depends on dump_format_type. -bool DumpLinearLeastSquaresProblem(const string& filename_base, +bool DumpLinearLeastSquaresProblem(const std::string& filename_base, DumpFormatType dump_format_type, const SparseMatrix* A, const double* D,
diff --git a/internal/ceres/linear_solver.h b/internal/ceres/linear_solver.h index 14f171c..de44bca 100644 --- a/internal/ceres/linear_solver.h +++ b/internal/ceres/linear_solver.h
@@ -273,7 +273,7 @@ double residual_norm; int num_iterations; LinearSolverTerminationType termination_type; - string message; + std::string message; }; // If the optimization problem is such that there are no remaining @@ -296,12 +296,12 @@ // that the base class implementation does not have to worry about // life time issues. Further, these calls are not expected to be // frequent or performance sensitive. - virtual std::map<string, int> CallStatistics() const { - return std::map<string, int>(); + virtual std::map<std::string, int> CallStatistics() const { + return std::map<std::string, int>(); } - virtual std::map<string, double> TimeStatistics() const { - return std::map<string, double>(); + virtual std::map<std::string, double> TimeStatistics() const { + return std::map<std::string, double>(); } // Factory @@ -331,11 +331,11 @@ return SolveImpl(down_cast<MatrixType*>(A), b, per_solve_options, x); } - virtual std::map<string, int> CallStatistics() const { + virtual std::map<std::string, int> CallStatistics() const { return execution_summary_.calls(); } - virtual std::map<string, double> TimeStatistics() const { + virtual std::map<std::string, double> TimeStatistics() const { return execution_summary_.times(); }
diff --git a/internal/ceres/minimizer.h b/internal/ceres/minimizer.h index 24c8e67..ef696d2 100644 --- a/internal/ceres/minimizer.h +++ b/internal/ceres/minimizer.h
@@ -134,7 +134,7 @@ int max_consecutive_nonmonotonic_steps; std::vector<int> trust_region_minimizer_iterations_to_dump; DumpFormatType trust_region_problem_dump_format_type; - string trust_region_problem_dump_directory; + std::string trust_region_problem_dump_directory; int max_num_consecutive_invalid_steps; double min_trust_region_radius; LineSearchDirectionType line_search_direction_type;
diff --git a/internal/ceres/parameter_block.h b/internal/ceres/parameter_block.h index 1ef8673..3ece270 100644 --- a/internal/ceres/parameter_block.h +++ b/internal/ceres/parameter_block.h
@@ -237,7 +237,7 @@ return true; } - string ToString() const { + std::string ToString() const { return StringPrintf("{ user_state=%p, state=%p, size=%d, " "constant=%d, index=%d, state_offset=%d, " "delta_offset=%d }",
diff --git a/internal/ceres/polynomial.cc b/internal/ceres/polynomial.cc index 848fbee..361ab68 100644 --- a/internal/ceres/polynomial.cc +++ b/internal/ceres/polynomial.cc
@@ -43,6 +43,7 @@ namespace ceres { namespace internal { +using std::string; using std::vector; namespace {
diff --git a/internal/ceres/polynomial.h b/internal/ceres/polynomial.h index aaa4401..d5816e5 100644 --- a/internal/ceres/polynomial.h +++ b/internal/ceres/polynomial.h
@@ -96,7 +96,7 @@ gradient(0.0), gradient_is_valid(false) { } - string ToDebugString() const; + std::string ToDebugString() const; double x; double value; // value = f(x)
diff --git a/internal/ceres/preprocessor.h b/internal/ceres/preprocessor.h index 5269eeb..312dab6 100644 --- a/internal/ceres/preprocessor.h +++ b/internal/ceres/preprocessor.h
@@ -84,7 +84,7 @@ : fixed_cost(0.0) { } - string error; + std::string error; Solver::Options options; LinearSolver::Options linear_solver_options; Evaluator::Options evaluator_options;
diff --git a/internal/ceres/problem_impl.cc b/internal/ceres/problem_impl.cc index a363248..ee1e32e 100644 --- a/internal/ceres/problem_impl.cc +++ b/internal/ceres/problem_impl.cc
@@ -55,9 +55,9 @@ namespace ceres { namespace internal { -using std::vector; using std::map; - +using std::string; +using std::vector; typedef std::map<double*, internal::ParameterBlock*> ParameterMap; namespace {
diff --git a/internal/ceres/program.cc b/internal/ceres/program.cc index 77bc63a..131802f 100644 --- a/internal/ceres/program.cc +++ b/internal/ceres/program.cc
@@ -51,6 +51,7 @@ namespace internal { using std::set; +using std::string; using std::vector; Program::Program() {}
diff --git a/internal/ceres/program.h b/internal/ceres/program.h index 54dc271..8f82cd3 100644 --- a/internal/ceres/program.h +++ b/internal/ceres/program.h
@@ -105,7 +105,7 @@ // offsets) are correct. bool IsValid() const; - bool ParameterBlocksAreFinite(string* message) const; + bool ParameterBlocksAreFinite(std::string* message) const; // Returns true if the program has any non-constant parameter blocks // which have non-trivial bounds constraints. @@ -114,7 +114,7 @@ // Returns false, if the program has any constant parameter blocks // which are not feasible, or any variable parameter blocks which // have a lower bound greater than or equal to the upper bound. - bool IsFeasible(string* message) const; + bool IsFeasible(std::string* message) const; // Loop over each residual block and ensure that no two parameter // blocks in the same residual block are part of @@ -145,7 +145,7 @@ // the problem. Program* CreateReducedProgram(std::vector<double*>* removed_parameter_blocks, double* fixed_cost, - string* error) const; + std::string* error) const; // See problem.h for what these do. int NumParameterBlocks() const; @@ -161,7 +161,7 @@ // A human-readable dump of the parameter blocks for debugging. // TODO(keir): If necessary, also dump the residual blocks. - string ToString() const; + std::string ToString() const; private: // Remove constant parameter blocks and residual blocks with no @@ -177,7 +177,7 @@ // error will contain a human readable description of the problem. bool RemoveFixedBlocks(std::vector<double*>* removed_parameter_blocks, double* fixed_cost, - string* message); + std::string* message); // The Program does not own the ParameterBlock or ResidualBlock objects. std::vector<ParameterBlock*> parameter_blocks_;
diff --git a/internal/ceres/program_evaluator.h b/internal/ceres/program_evaluator.h index 24ed3ae..00724fe 100644 --- a/internal/ceres/program_evaluator.h +++ b/internal/ceres/program_evaluator.h
@@ -297,11 +297,11 @@ return program_->NumResiduals(); } - virtual std::map<string, int> CallStatistics() const { + virtual std::map<std::string, int> CallStatistics() const { return execution_summary_.calls(); } - virtual std::map<string, double> TimeStatistics() const { + virtual std::map<std::string, double> TimeStatistics() const { return execution_summary_.times(); }
diff --git a/internal/ceres/program_test.cc b/internal/ceres/program_test.cc index 77a1c44..26ca683 100644 --- a/internal/ceres/program_test.cc +++ b/internal/ceres/program_test.cc
@@ -42,6 +42,7 @@ namespace ceres { namespace internal { +using std::string; using std::vector; // A cost function that simply returns its argument.
diff --git a/internal/ceres/reorder_program.cc b/internal/ceres/reorder_program.cc index fad69f9..d1c1df4 100644 --- a/internal/ceres/reorder_program.cc +++ b/internal/ceres/reorder_program.cc
@@ -59,6 +59,7 @@ using std::map; using std::set; +using std::string; using std::vector; namespace {
diff --git a/internal/ceres/reorder_program.h b/internal/ceres/reorder_program.h index 0474c1f..1275fd6 100644 --- a/internal/ceres/reorder_program.h +++ b/internal/ceres/reorder_program.h
@@ -46,14 +46,14 @@ bool ApplyOrdering(const ProblemImpl::ParameterMap& parameter_map, const ParameterBlockOrdering& ordering, Program* program, - string* error); + std::string* error); // Reorder the residuals for program, if necessary, so that the residuals // involving each E block occur together. This is a necessary condition for the // Schur eliminator, which works on these "row blocks" in the jacobian. bool LexicographicallyOrderResidualBlocks(int size_of_first_elimination_group, Program* program, - string* error); + std::string* error); // Schur type solvers require that all parameter blocks eliminated // by the Schur eliminator occur before others and the residuals be @@ -77,7 +77,7 @@ const ProblemImpl::ParameterMap& parameter_map, ParameterBlockOrdering* parameter_block_ordering, Program* program, - string* error); + std::string* error); // Sparse cholesky factorization routines when doing the sparse // cholesky factorization of the Jacobian matrix, reorders its @@ -93,7 +93,7 @@ SparseLinearAlgebraLibraryType sparse_linear_algebra_library_type, const ParameterBlockOrdering& parameter_block_ordering, Program* program, - string* error); + std::string* error); } // namespace internal } // namespace ceres
diff --git a/internal/ceres/reorder_program_test.cc b/internal/ceres/reorder_program_test.cc index 6f2b1b0..74b4a1d 100644 --- a/internal/ceres/reorder_program_test.cc +++ b/internal/ceres/reorder_program_test.cc
@@ -105,7 +105,7 @@ Program* program = problem.mutable_program(); program->SetParameterOffsetsAndIndex(); - string message; + std::string message; EXPECT_TRUE(LexicographicallyOrderResidualBlocks( 2, problem.mutable_program(), @@ -131,7 +131,7 @@ linear_solver_ordering.AddElementToGroup(&y, 1); Program program(problem.program()); - string message; + std::string message; EXPECT_FALSE(ApplyOrdering(problem.parameter_map(), linear_solver_ordering, &program, @@ -154,7 +154,7 @@ linear_solver_ordering.AddElementToGroup(&z, 1); Program* program = problem.mutable_program(); - string message; + std::string message; EXPECT_TRUE(ApplyOrdering(problem.parameter_map(), linear_solver_ordering,
diff --git a/internal/ceres/residual_block.cc b/internal/ceres/residual_block.cc index 5eb2117..c2a11c7 100644 --- a/internal/ceres/residual_block.cc +++ b/internal/ceres/residual_block.cc
@@ -117,7 +117,7 @@ cost, residuals, eval_jacobians)) { - string message = + std::string message = "\n\n" "Error in evaluating the ResidualBlock.\n\n" "There are two possible reasons. Either the CostFunction did not evaluate and fill all \n" // NOLINT
diff --git a/internal/ceres/residual_block.h b/internal/ceres/residual_block.h index b936064..82fa0bf 100644 --- a/internal/ceres/residual_block.h +++ b/internal/ceres/residual_block.h
@@ -127,7 +127,7 @@ int index() const { return index_; } void set_index(int index) { index_ = index; } - string ToString() { + std::string ToString() { return StringPrintf("{residual block; index=%d}", index_); }
diff --git a/internal/ceres/residual_block_utils.cc b/internal/ceres/residual_block_utils.cc index d2564a7..9bd8f6b 100644 --- a/internal/ceres/residual_block_utils.cc +++ b/internal/ceres/residual_block_utils.cc
@@ -44,6 +44,8 @@ namespace ceres { namespace internal { +using std::string; + void InvalidateEvaluation(const ResidualBlock& block, double* cost, double* residuals,
diff --git a/internal/ceres/residual_block_utils.h b/internal/ceres/residual_block_utils.h index 7051c21..6574f5b 100644 --- a/internal/ceres/residual_block_utils.h +++ b/internal/ceres/residual_block_utils.h
@@ -68,11 +68,11 @@ // Create a string representation of the Residual block containing the // value of the parameters, residuals and jacobians if present. // Useful for debugging output. -string EvaluationToString(const ResidualBlock& block, - double const* const* parameters, - double* cost, - double* residuals, - double** jacobians); +std::string EvaluationToString(const ResidualBlock& block, + double const* const* parameters, + double* cost, + double* residuals, + double** jacobians); } // namespace internal } // namespace ceres
diff --git a/internal/ceres/rotation_test.cc b/internal/ceres/rotation_test.cc index ef1adf7..1cf0236 100644 --- a/internal/ceres/rotation_test.cc +++ b/internal/ceres/rotation_test.cc
@@ -503,7 +503,7 @@ LOG(INFO) << "Rotation:"; LOG(INFO) << "EXPECTED | ACTUAL"; for (int i = 0; i < 3; ++i) { - string line; + std::string line; for (int j = 0; j < 3; ++j) { StringAppendF(&line, "%g ", kMatrix[i][j]); }
diff --git a/internal/ceres/solver.cc b/internal/ceres/solver.cc index b60efd9..c6414b5 100644 --- a/internal/ceres/solver.cc +++ b/internal/ceres/solver.cc
@@ -49,8 +49,9 @@ namespace ceres { namespace { -using std::vector; using std::map; +using std::string; +using std::vector; #define OPTION_OP(x, y, OP) \ if (!(options.x OP y)) { \
diff --git a/internal/ceres/solver_test.cc b/internal/ceres/solver_test.cc index e4abdef..4882fc2 100644 --- a/internal/ceres/solver_test.cc +++ b/internal/ceres/solver_test.cc
@@ -43,6 +43,8 @@ namespace ceres { namespace internal { +using std::string; + TEST(SolverOptions, DefaultTrustRegionOptionsAreValid) { Solver::Options options; options.minimizer_type = TRUST_REGION;
diff --git a/internal/ceres/solver_utils.cc b/internal/ceres/solver_utils.cc index 86440eb..39619e7 100644 --- a/internal/ceres/solver_utils.cc +++ b/internal/ceres/solver_utils.cc
@@ -37,8 +37,8 @@ namespace ceres { namespace internal { -string VersionString() { - string value = string(CERES_VERSION_STRING); +std::string VersionString() { + std::string value = std::string(CERES_VERSION_STRING); #ifdef CERES_NO_LAPACK value += "-no_lapack";
diff --git a/internal/ceres/solver_utils.h b/internal/ceres/solver_utils.h index 2d1edf8..412d342 100644 --- a/internal/ceres/solver_utils.h +++ b/internal/ceres/solver_utils.h
@@ -55,7 +55,7 @@ } } -string VersionString(); +std::string VersionString(); } // namespace internal } // namespace ceres
diff --git a/internal/ceres/split.cc b/internal/ceres/split.cc index 0afe1c5..4d2930a 100644 --- a/internal/ceres/split.cc +++ b/internal/ceres/split.cc
@@ -39,6 +39,7 @@ namespace ceres { namespace internal { +using std::string; using std::vector; // If we know how much to allocate for a vector of strings, we can allocate the
diff --git a/internal/ceres/split.h b/internal/ceres/split.h index ada6676..1945b4f 100644 --- a/internal/ceres/split.h +++ b/internal/ceres/split.h
@@ -41,8 +41,8 @@ // Split a string using one or more character delimiters, presented as a // nul-terminated c string. Append the components to 'result'. If there are // consecutive delimiters, this function skips over all of them. -void SplitStringUsing(const string& full, const char* delim, - std::vector<string>* res); +void SplitStringUsing(const std::string& full, const char* delim, + std::vector<std::string>* res); } // namespace internal } // namespace ceres
diff --git a/internal/ceres/stringprintf.cc b/internal/ceres/stringprintf.cc index 0f85f05..aca599f 100644 --- a/internal/ceres/stringprintf.cc +++ b/internal/ceres/stringprintf.cc
@@ -41,6 +41,8 @@ namespace ceres { namespace internal { +using std::string; + #ifdef _MSC_VER enum { IS_COMPILER_MSVC = 1 }; #if _MSC_VER < 1800
diff --git a/internal/ceres/stringprintf.h b/internal/ceres/stringprintf.h index cd1be14..b2b20da 100644 --- a/internal/ceres/stringprintf.h +++ b/internal/ceres/stringprintf.h
@@ -63,23 +63,23 @@ #endif // Return a C++ string. -extern string StringPrintf(const char* format, ...) +extern std::string StringPrintf(const char* format, ...) // Tell the compiler to do printf format string checking. CERES_PRINTF_ATTRIBUTE(1, 2); // Store result into a supplied string and return it. -extern const string& SStringPrintf(string* dst, const char* format, ...) +extern const std::string& SStringPrintf(std::string* dst, const char* format, ...) // Tell the compiler to do printf format string checking. CERES_PRINTF_ATTRIBUTE(2, 3); // Append result to a supplied string. -extern void StringAppendF(string* dst, const char* format, ...) +extern void StringAppendF(std::string* dst, const char* format, ...) // Tell the compiler to do printf format string checking. CERES_PRINTF_ATTRIBUTE(2, 3); // Lower-level routine that takes a va_list and appends to a specified string. // All other routines are just convenience wrappers around it. -extern void StringAppendV(string* dst, const char* format, va_list ap); +extern void StringAppendV(std::string* dst, const char* format, va_list ap); #undef CERES_PRINTF_ATTRIBUTE
diff --git a/internal/ceres/suitesparse.cc b/internal/ceres/suitesparse.cc index d8b1a49..c49af3c 100644 --- a/internal/ceres/suitesparse.cc +++ b/internal/ceres/suitesparse.cc
@@ -44,6 +44,7 @@ namespace ceres { namespace internal { +using std::string; using std::vector; SuiteSparse::SuiteSparse() {
diff --git a/internal/ceres/suitesparse.h b/internal/ceres/suitesparse.h index 5aa9cb9..c42492e 100644 --- a/internal/ceres/suitesparse.h +++ b/internal/ceres/suitesparse.h
@@ -143,12 +143,12 @@ // message contains an explanation of the failures if any. // // Caller owns the result. - cholmod_factor* AnalyzeCholesky(cholmod_sparse* A, string* message); + cholmod_factor* AnalyzeCholesky(cholmod_sparse* A, std::string* message); cholmod_factor* BlockAnalyzeCholesky(cholmod_sparse* A, const std::vector<int>& row_blocks, const std::vector<int>& col_blocks, - string* message); + std::string* message); // If A is symmetric, then compute the symbolic Cholesky // factorization of A(ordering, ordering). If A is unsymmetric, then @@ -164,7 +164,7 @@ cholmod_factor* AnalyzeCholeskyWithUserOrdering( cholmod_sparse* A, const std::vector<int>& ordering, - string* message); + std::string* message); // Perform a symbolic factorization of A without re-ordering A. No // postordering of the elimination tree is performed. This ensures @@ -173,7 +173,7 @@ // // message contains an explanation of the failures if any. cholmod_factor* AnalyzeCholeskyWithNaturalOrdering(cholmod_sparse* A, - string* message); + std::string* message); // Use the symbolic factorization in L, to find the numerical // factorization for the matrix A or AA^T. Return true if @@ -183,14 +183,14 @@ // message contains an explanation of the failures if any. LinearSolverTerminationType Cholesky(cholmod_sparse* A, cholmod_factor* L, - string* message); + std::string* message); // Given a Cholesky factorization of a matrix A = LL^T, solve the // linear system Ax = b, and return the result. If the Solve fails // NULL is returned. Caller owns the result. // // message contains an explanation of the failures if any. - cholmod_dense* Solve(cholmod_factor* L, cholmod_dense* b, string* message); + cholmod_dense* Solve(cholmod_factor* L, cholmod_dense* b, std::string* message); // By virtue of the modeling layer in Ceres being block oriented, // all the matrices used by Ceres are also block oriented. When @@ -260,15 +260,15 @@ void Free(cholmod_dense* m) { cholmod_free_dense(&m, &cc_); } void Free(cholmod_factor* m) { cholmod_free_factor(&m, &cc_); } - void Print(cholmod_sparse* m, const string& name) { + void Print(cholmod_sparse* m, const std::string& name) { cholmod_print_sparse(m, const_cast<char*>(name.c_str()), &cc_); } - void Print(cholmod_dense* m, const string& name) { + void Print(cholmod_dense* m, const std::string& name) { cholmod_print_dense(m, const_cast<char*>(name.c_str()), &cc_); } - void Print(cholmod_triplet* m, const string& name) { + void Print(cholmod_triplet* m, const std::string& name) { cholmod_print_triplet(m, const_cast<char*>(name.c_str()), &cc_); }
diff --git a/internal/ceres/system_test.cc b/internal/ceres/system_test.cc index 54fd30a..a365e52 100644 --- a/internal/ceres/system_test.cc +++ b/internal/ceres/system_test.cc
@@ -60,6 +60,7 @@ namespace ceres { namespace internal { +using std::string; using std::vector; const bool kAutomaticOrdering = true;
diff --git a/internal/ceres/test_util.cc b/internal/ceres/test_util.cc index 9d252e9..7758381 100644 --- a/internal/ceres/test_util.cc +++ b/internal/ceres/test_util.cc
@@ -120,7 +120,7 @@ } } -string TestFileAbsolutePath(const string& filename) { +std::string TestFileAbsolutePath(const std::string& filename) { return JoinPath(FLAGS_test_srcdir + CERES_TEST_SRCDIR_SUFFIX, filename); }
diff --git a/internal/ceres/test_util.h b/internal/ceres/test_util.h index 4c530de..c3703ac 100644 --- a/internal/ceres/test_util.h +++ b/internal/ceres/test_util.h
@@ -63,7 +63,7 @@ // Construct a fully qualified path for the test file depending on the // local build/testing environment. -string TestFileAbsolutePath(const string& filename); +std::string TestFileAbsolutePath(const std::string& filename); } // namespace internal } // namespace ceres
diff --git a/internal/ceres/trust_region_minimizer.cc b/internal/ceres/trust_region_minimizer.cc index 0a6ce80..2f6fcc4 100644 --- a/internal/ceres/trust_region_minimizer.cc +++ b/internal/ceres/trust_region_minimizer.cc
@@ -85,7 +85,7 @@ options.max_line_search_step_expansion; line_search_options.function = &line_search_function; - string message; + std::string message; scoped_ptr<LineSearch> line_search( CHECK_NOTNULL(LineSearch::Create(ceres::ARMIJO, line_search_options,
diff --git a/internal/ceres/trust_region_preprocessor.cc b/internal/ceres/trust_region_preprocessor.cc index 129442c..305eff8 100644 --- a/internal/ceres/trust_region_preprocessor.cc +++ b/internal/ceres/trust_region_preprocessor.cc
@@ -67,7 +67,7 @@ // Check if all the user supplied values in the parameter blocks are // sane or not, and if the program is feasible or not. -bool IsProgramValid(const Program& program, string* error) { +bool IsProgramValid(const Program& program, std::string* error) { return (program.ParameterBlocksAreFinite(error) && program.IsFeasible(error)); } @@ -84,7 +84,7 @@ options->linear_solver_type = LinearSolver::LinearSolverForZeroEBlocks( linear_solver_type_given); - string message; + std::string message; if (linear_solver_type_given == ITERATIVE_SCHUR) { options->preconditioner_type = Preconditioner::PreconditionerForZeroEBlocks( preconditioner_type_given);
diff --git a/internal/ceres/trust_region_strategy.h b/internal/ceres/trust_region_strategy.h index 998514f..cd70ef7 100644 --- a/internal/ceres/trust_region_strategy.h +++ b/internal/ceres/trust_region_strategy.h
@@ -98,7 +98,7 @@ // name starting with dump_filename_base. If dump_format_type is // CONSOLE then dump_filename_base will be ignored and the linear // system will be written to the standard error. - string dump_filename_base; + std::string dump_filename_base; DumpFormatType dump_format_type; };
diff --git a/internal/ceres/types.cc b/internal/ceres/types.cc index 52bd67d..7217c69 100644 --- a/internal/ceres/types.cc +++ b/internal/ceres/types.cc
@@ -36,6 +36,8 @@ namespace ceres { +using std::string; + #define CASESTR(x) case x: return #x #define STRENUM(x) if (value == #x) { *type = x; return true;}
diff --git a/internal/ceres/visibility_based_preconditioner.cc b/internal/ceres/visibility_based_preconditioner.cc index 125856e..3659d9d 100644 --- a/internal/ceres/visibility_based_preconditioner.cc +++ b/internal/ceres/visibility_based_preconditioner.cc
@@ -445,7 +445,7 @@ lhs->stype = 1; // TODO(sameeragarwal): Refactor to pipe this up and out. - string status; + std::string status; // Symbolic factorization is computed if we don't already have one handy. if (factor_ == NULL) { @@ -470,7 +470,7 @@ const int num_rows = m_->num_rows(); memcpy(CHECK_NOTNULL(tmp_rhs_)->x, x, m_->num_rows() * sizeof(*x)); // TODO(sameeragarwal): Better error handling. - string status; + std::string status; cholmod_dense* solution = CHECK_NOTNULL(ss->Solve(factor_, tmp_rhs_, &status)); memcpy(y, solution->x, sizeof(*y) * num_rows);
diff --git a/internal/ceres/wall_time.cc b/internal/ceres/wall_time.cc index 85c4417..22594d7 100644 --- a/internal/ceres/wall_time.cc +++ b/internal/ceres/wall_time.cc
@@ -59,7 +59,7 @@ #endif } -EventLogger::EventLogger(const string& logger_name) +EventLogger::EventLogger(const std::string& logger_name) : start_time_(WallTimeInSeconds()), last_event_time_(start_time_), events_("") { @@ -75,7 +75,7 @@ } } -void EventLogger::AddEvent(const string& event_name) { +void EventLogger::AddEvent(const std::string& event_name) { if (!VLOG_IS_ON(3)) { return; }
diff --git a/internal/ceres/wall_time.h b/internal/ceres/wall_time.h index 37f5568..faffa56 100644 --- a/internal/ceres/wall_time.h +++ b/internal/ceres/wall_time.h
@@ -72,14 +72,14 @@ // Total: time3 time1 + time2 + time3; class EventLogger { public: - explicit EventLogger(const string& logger_name); + explicit EventLogger(const std::string& logger_name); ~EventLogger(); - void AddEvent(const string& event_name); + void AddEvent(const std::string& event_name); private: const double start_time_; double last_event_time_; - string events_; + std::string events_; }; } // namespace internal