tweak code to use absl::string_view

This commit is contained in:
Laurent Perron
2023-02-28 10:54:14 +04:00
parent 87a9dc8c33
commit 5869f6165c
3 changed files with 7 additions and 5 deletions

View File

@@ -27,6 +27,7 @@
#include "absl/strings/str_format.h"
#include "absl/strings/str_join.h"
#include "absl/strings/str_split.h"
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
#include "ortools/base/cleanup.h"
#include "ortools/base/status_macros.h"
@@ -222,7 +223,7 @@ int AddMaxConstraint(const MPGeneralConstraintProto& gen_cst,
}
} // namespace
absl::Status SetSolverSpecificParameters(const std::string& parameters,
absl::Status SetSolverSpecificParameters(absl::string_view parameters,
GRBenv* gurobi) {
if (parameters.empty()) return absl::OkStatus();
std::vector<std::string> error_messages;

View File

@@ -18,6 +18,7 @@
#include "absl/status/status.h"
#include "absl/status/statusor.h"
#include "absl/strings/string_view.h"
#include "ortools/gurobi/environment.h"
#include "ortools/linear_solver/linear_solver.pb.h"
@@ -46,7 +47,7 @@ absl::StatusOr<MPSolutionResponse> GurobiSolveProto(
// "#\n# Gurobi-specific parameters, still part of the
// comment\n\nThreads=1\nPresolve 2,SolutionLimit=100" This function will
// process each and every token, even if an intermediate token is unrecognized.
absl::Status SetSolverSpecificParameters(const std::string& parameters,
absl::Status SetSolverSpecificParameters(absl::string_view parameters,
GRBenv* gurobi);
} // namespace operations_research
#endif // OR_TOOLS_LINEAR_SOLVER_PROTO_SOLVER_GUROBI_PROTO_SOLVER_H_

View File

@@ -31,6 +31,7 @@
#include "absl/strings/str_cat.h"
#include "absl/strings/str_format.h"
#include "absl/strings/str_split.h"
#include "absl/strings/string_view.h"
#include "absl/time/time.h"
#include "ortools/base/cleanup.h"
#include "ortools/base/commandlineflags.h"
@@ -277,8 +278,7 @@ absl::Status AddAbsConstraint(const MPGeneralConstraintProto& gen_cst,
std::vector<SCIP_VAR*> vars;
std::vector<double> vals;
std::vector<SCIP_CONS*> cons;
auto add_abs_constraint =
[&](const std::string& name_prefix) -> absl::Status {
auto add_abs_constraint = [&](absl::string_view name_prefix) -> absl::Status {
SCIP_CONS* scip_cons = nullptr;
CHECK(vars.size() == vals.size());
const std::string name =
@@ -384,7 +384,7 @@ absl::Status AddMinMaxConstraint(const MPGeneralConstraintProto& gen_cst,
std::vector<SCIP_VAR*> vars;
std::vector<double> vals;
std::vector<SCIP_CONS*> cons;
auto add_lin_constraint = [&](const std::string& name_prefix,
auto add_lin_constraint = [&](absl::string_view name_prefix,
double lower_bound = 0.0,
double upper_bound = 0.0) -> absl::Status {
SCIP_CONS* scip_cons = nullptr;