Skip to content

Commit

Permalink
constraint_solver: export from google3
Browse files Browse the repository at this point in the history
  • Loading branch information
Mizux committed Oct 4, 2023
1 parent 265fecb commit c60a2d0
Show file tree
Hide file tree
Showing 38 changed files with 2,278 additions and 2,491 deletions.
34 changes: 18 additions & 16 deletions ortools/constraint_solver/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -43,21 +43,6 @@ cc_proto_library(
deps = [":assignment_proto"],
)

proto_library(
name = "search_stats_proto",
srcs = ["search_stats.proto"],
)

cc_proto_library(
name = "search_stats_cc_proto",
deps = [":search_stats_proto"],
)

# java_proto_library(
# name = "search_stats_java_proto",
# deps = [":search_stats_proto"],
# )

proto_library(
name = "search_limit_proto",
srcs = ["search_limit.proto"],
Expand All @@ -83,6 +68,21 @@ cc_proto_library(
deps = [":demon_profiler_proto"],
)

proto_library(
name = "search_stats_proto",
srcs = ["search_stats.proto"],
)

cc_proto_library(
name = "search_stats_cc_proto",
deps = [":search_stats_proto"],
)

# java_proto_library(
# name = "search_stats_java_proto",
# deps = [":search_stats_proto"],
# )

proto_library(
name = "solver_parameters_proto",
srcs = ["solver_parameters.proto"],
Expand Down Expand Up @@ -161,8 +161,8 @@ cc_library(
deps = [
":assignment_cc_proto",
":demon_profiler_cc_proto",
":search_stats_cc_proto",
":search_limit_cc_proto",
":search_stats_cc_proto",
":solver_parameters_cc_proto",
":routing_parameters_cc_proto",
"//ortools/base",
Expand All @@ -175,6 +175,7 @@ cc_library(
"@com_google_absl//absl/strings",
"@com_google_absl//absl/strings:str_format",
"@com_google_absl//absl/time",
"@com_google_absl//absl/types:span",
# "//zlib:zlibonly",
"//ortools/base:bitmap",
"//ortools/base:intops",
Expand Down Expand Up @@ -402,6 +403,7 @@ cc_library(
"@com_google_absl//absl/strings",
"@com_google_absl//absl/strings:str_format",
"@com_google_absl//absl/time",
"@com_google_absl//absl/types:span",
"@com_google_protobuf//:protobuf",
],
)
1 change: 0 additions & 1 deletion ortools/constraint_solver/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@ To begin, skim:
The vehicle routing library lets one model and solve generic vehicle routing
problems ranging from the Traveling Salesman Problem to more complex problems
such as the Capacitated Vehicle Routing Problem with Time Windows.
* [routing_flags.h](../constraint_solver/routing_flags.h)

### Parameters

Expand Down
18 changes: 12 additions & 6 deletions ortools/constraint_solver/constraint_solver.cc
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@
#include "ortools/base/commandlineflags.h"
#include "ortools/base/file.h"
#include "ortools/base/logging.h"
#include "ortools/base/macros.h"
#include "ortools/base/map_util.h"
#include "ortools/base/recordio.h"
#include "ortools/base/stl_util.h"
Expand Down Expand Up @@ -531,21 +530,28 @@ template <class T>
class TrailPacker {
public:
explicit TrailPacker(int block_size) : block_size_(block_size) {}

// This type is neither copyable nor movable.
TrailPacker(const TrailPacker&) = delete;
TrailPacker& operator=(const TrailPacker&) = delete;
virtual ~TrailPacker() {}
int input_size() const { return block_size_ * sizeof(addrval<T>); }
virtual void Pack(const addrval<T>* block, std::string* packed_block) = 0;
virtual void Unpack(const std::string& packed_block, addrval<T>* block) = 0;

private:
const int block_size_;
DISALLOW_COPY_AND_ASSIGN(TrailPacker);
};

template <class T>
class NoCompressionTrailPacker : public TrailPacker<T> {
public:
explicit NoCompressionTrailPacker(int block_size)
: TrailPacker<T>(block_size) {}

// This type is neither copyable nor movable.
NoCompressionTrailPacker(const NoCompressionTrailPacker&) = delete;
NoCompressionTrailPacker& operator=(const NoCompressionTrailPacker&) = delete;
~NoCompressionTrailPacker() override {}
void Pack(const addrval<T>* block, std::string* packed_block) override {
DCHECK(block != nullptr);
Expand All @@ -558,9 +564,6 @@ class NoCompressionTrailPacker : public TrailPacker<T> {
DCHECK(block != nullptr);
memcpy(block, packed_block.c_str(), packed_block.size());
}

private:
DISALLOW_COPY_AND_ASSIGN(NoCompressionTrailPacker);
};

template <class T>
Expand All @@ -571,6 +574,10 @@ class ZlibTrailPacker : public TrailPacker<T> {
tmp_size_(compressBound(this->input_size())),
tmp_block_(new char[tmp_size_]) {}

// This type is neither copyable nor movable.
ZlibTrailPacker(const ZlibTrailPacker&) = delete;
ZlibTrailPacker& operator=(const ZlibTrailPacker&) = delete;

~ZlibTrailPacker() override {}

void Pack(const addrval<T>* block, std::string* packed_block) override {
Expand Down Expand Up @@ -599,7 +606,6 @@ class ZlibTrailPacker : public TrailPacker<T> {
private:
const uint64_t tmp_size_;
std::unique_ptr<char[]> tmp_block_;
DISALLOW_COPY_AND_ASSIGN(ZlibTrailPacker);
};

template <class T>
Expand Down
Loading

0 comments on commit c60a2d0

Please sign in to comment.