diff --git a/ortools/graph/cliques_test.cc b/ortools/graph/cliques_test.cc index 99bd0c03d25..ee9936b7298 100644 --- a/ortools/graph/cliques_test.cc +++ b/ortools/graph/cliques_test.cc @@ -157,12 +157,13 @@ void RunBronKerboschAlgorithmUntilCompletion( TEST(BronKerbosch, CompleteGraph) { constexpr int kNumNodes[] = {1, 5, 50, 500, 5000}; for (const int num_nodes : kNumNodes) { - ResultCallback2* graph = NewPermanentCallback(FullGraph); + auto graph = FullGraph; CliqueReporter reporter; auto callback = absl::bind_front(&CliqueReporter::AppendClique, &reporter); operations_research::FindCliques( - graph, num_nodes, ::util::functional::ToPermanentCallback(callback)); + ::util::functional::ToPermanentCallback(graph), num_nodes, + ::util::functional::ToPermanentCallback(callback)); const std::vector>& all_cliques = reporter.all_cliques(); EXPECT_EQ(1, all_cliques.size()); EXPECT_EQ(num_nodes, all_cliques[0].size()); @@ -236,12 +237,13 @@ TEST(BronKerboschAlgorithmTest, CompleteGraphWithInt64) { } TEST(BronKerbosch, EmptyGraph) { - ResultCallback2* graph = NewPermanentCallback(EmptyGraph); + auto graph = EmptyGraph; CliqueReporter reporter; auto callback = absl::bind_front(&CliqueReporter::AppendClique, &reporter); operations_research::FindCliques( - graph, 10, ::util::functional::ToPermanentCallback(callback)); + ::util::functional::ToPermanentCallback(graph), 10, + ::util::functional::ToPermanentCallback(callback)); const std::vector>& all_cliques = reporter.all_cliques(); EXPECT_EQ(10, all_cliques.size()); for (int i = 0; i < 10; ++i) { @@ -328,12 +330,13 @@ TEST(BronKerboschAlgorithmTest, EmptyGraphStopAfterEveryClique) { } TEST(BronKerbosch, MatchingGraph) { - ResultCallback2* graph = NewPermanentCallback(MatchingGraph); + auto graph = MatchingGraph; CliqueReporter reporter; auto callback = absl::bind_front(&CliqueReporter::AppendClique, &reporter); operations_research::FindCliques( - graph, 10, ::util::functional::ToPermanentCallback(callback)); + ::util::functional::ToPermanentCallback(graph), 10, + ::util::functional::ToPermanentCallback(callback)); const std::vector>& all_cliques = reporter.all_cliques(); EXPECT_EQ(5, all_cliques.size()); for (int i = 0; i < 5; ++i) { @@ -397,35 +400,38 @@ TEST(BronKerboschAlgorithmTest, ModuloGraph) { } TEST(BronKerbosch, CompleteGraphCover) { - ResultCallback2* graph = NewPermanentCallback(FullGraph); + auto graph = FullGraph; CliqueReporter reporter; auto callback = absl::bind_front(&CliqueReporter::AppendClique, &reporter); operations_research::CoverArcsByCliques( - graph, 10, ::util::functional::ToPermanentCallback(callback)); + ::util::functional::ToPermanentCallback(graph), 10, + ::util::functional::ToPermanentCallback(callback)); const std::vector>& all_cliques = reporter.all_cliques(); EXPECT_EQ(1, all_cliques.size()); EXPECT_EQ(10, all_cliques[0].size()); } TEST(BronKerbosch, EmptyGraphCover) { - ResultCallback2* graph = NewPermanentCallback(EmptyGraph); + auto graph = EmptyGraph; CliqueReporter reporter; auto callback = absl::bind_front(&CliqueReporter::AppendClique, &reporter); operations_research::CoverArcsByCliques( - graph, 10, ::util::functional::ToPermanentCallback(callback)); + ::util::functional::ToPermanentCallback(graph), 10, + ::util::functional::ToPermanentCallback(callback)); const std::vector>& all_cliques = reporter.all_cliques(); EXPECT_EQ(0, all_cliques.size()); } TEST(BronKerbosch, MatchingGraphCover) { - ResultCallback2* graph = NewPermanentCallback(MatchingGraph); + auto graph = MatchingGraph; CliqueReporter reporter; auto callback = absl::bind_front(&CliqueReporter::AppendClique, &reporter); operations_research::CoverArcsByCliques( - graph, 10, ::util::functional::ToPermanentCallback(callback)); + ::util::functional::ToPermanentCallback(graph), 10, + ::util::functional::ToPermanentCallback(callback)); const std::vector>& all_cliques = reporter.all_cliques(); EXPECT_EQ(5, all_cliques.size()); for (int i = 0; i < 5; ++i) { diff --git a/ortools/linear_solver/linear_solver.h b/ortools/linear_solver/linear_solver.h index c7e3eac8ef0..ba1b543bccf 100644 --- a/ortools/linear_solver/linear_solver.h +++ b/ortools/linear_solver/linear_solver.h @@ -138,6 +138,7 @@ #include #include #include +#include #include #include #include diff --git a/ortools/lp_data/lp_data.h b/ortools/lp_data/lp_data.h index 138d12cc01d..eb82d274121 100644 --- a/ortools/lp_data/lp_data.h +++ b/ortools/lp_data/lp_data.h @@ -33,6 +33,7 @@ #include "absl/container/flat_hash_map.h" #include "absl/container/flat_hash_set.h" +#include "absl/strings/string_view.h" #include "ortools/base/hash.h" #include "ortools/base/logging.h" // for CHECK* #include "ortools/glop/parameters.pb.h" @@ -75,7 +76,7 @@ class LinearProgram { void Clear(); // Name setter and getter. - void SetName(const std::string& name) { name_ = name; } + void SetName(absl::string_view name) { name_ = name; } const std::string& name() const { return name_; } // Creates a new variable and returns its index. diff --git a/ortools/lp_data/mps_reader.cc b/ortools/lp_data/mps_reader.cc index 3e0eba8d2d0..78f2bdb1f44 100644 --- a/ortools/lp_data/mps_reader.cc +++ b/ortools/lp_data/mps_reader.cc @@ -51,7 +51,7 @@ class DataWrapper { data_->Clear(); } - void SetName(absl::string_view name) { data_->SetName(std::string(name)); } + void SetName(absl::string_view name) { data_->SetName(name); } void SetObjectiveDirection(bool maximize) { data_->SetMaximizationProblem(maximize);