19#include "absl/status/status.h"
20#include "absl/status/statusor.h"
23#include "ortools/math_opt/model.pb.h"
29 const std::shared_ptr<ModelStorage> storage = storage_.lock();
33 if (storage !=
nullptr) {
34 storage->DeleteUpdateTracker(update_tracker_);
40 update_tracker_(storage->NewUpdateTracker()) {}
42absl::StatusOr<std::optional<ModelUpdateProto>>
44 const std::shared_ptr<ModelStorage> storage = storage_.lock();
45 if (storage ==
nullptr) {
48 return storage->ExportModelUpdate(update_tracker_);
52 const std::shared_ptr<ModelStorage> storage = storage_.lock();
53 if (storage ==
nullptr) {
56 storage->Checkpoint(update_tracker_);
57 return absl::OkStatus();
61 const std::shared_ptr<ModelStorage> storage = storage_.lock();
62 if (storage ==
nullptr) {
65 return storage->ExportModel();
absl::StatusOr< ModelProto > ExportModel() const
absl::Status Checkpoint()
UpdateTracker(const std::shared_ptr< ModelStorage > &storage)
absl::StatusOr< std::optional< ModelUpdateProto > > ExportModelUpdate()
constexpr absl::string_view kModelIsDestroyed
Collection of objects used to extend the Constraint Solver library.