C++ Reference

C++ Reference: Linear solver

linear_solver.pb.h
Go to the documentation of this file.
1 // Generated by the protocol buffer compiler. DO NOT EDIT!
2 // source: ortools/linear_solver/linear_solver.proto
3 
4 #ifndef GOOGLE_PROTOBUF_INCLUDED_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
5 #define GOOGLE_PROTOBUF_INCLUDED_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
6 
7 #include <limits>
8 #include <string>
9 
10 #include <google/protobuf/port_def.inc>
11 #if PROTOBUF_VERSION < 3019000
12 #error This file was generated by a newer version of protoc which is
13 #error incompatible with your Protocol Buffer headers. Please update
14 #error your headers.
15 #endif
16 #if 3019001 < PROTOBUF_MIN_PROTOC_VERSION
17 #error This file was generated by an older version of protoc which is
18 #error incompatible with your Protocol Buffer headers. Please
19 #error regenerate this file with a newer version of protoc.
20 #endif
21 
22 #include <google/protobuf/port_undef.inc>
23 #include <google/protobuf/io/coded_stream.h>
24 #include <google/protobuf/arena.h>
25 #include <google/protobuf/arenastring.h>
26 #include <google/protobuf/generated_message_table_driven.h>
27 #include <google/protobuf/generated_message_util.h>
28 #include <google/protobuf/metadata_lite.h>
29 #include <google/protobuf/generated_message_reflection.h>
30 #include <google/protobuf/message.h>
31 #include <google/protobuf/repeated_field.h> // IWYU pragma: export
32 #include <google/protobuf/extension_set.h> // IWYU pragma: export
33 #include <google/protobuf/map.h> // IWYU pragma: export
34 #include <google/protobuf/map_entry.h>
35 #include <google/protobuf/map_field_inl.h>
36 #include <google/protobuf/generated_enum_reflection.h>
37 #include <google/protobuf/unknown_field_set.h>
38 #include "ortools/util/optional_boolean.pb.h"
39 // @@protoc_insertion_point(includes)
40 #include <google/protobuf/port_def.inc>
41 #define PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
42 PROTOBUF_NAMESPACE_OPEN
43 namespace internal {
44 class AnyMetadata;
45 } // namespace internal
46 PROTOBUF_NAMESPACE_CLOSE
47 
48 // Internal implementation detail -- do not use these members.
50  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
51  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
52  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
53  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
54  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[21]
55  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
56  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
57  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
58  static const uint32_t offsets[];
59 };
60 extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
61 namespace operations_research {
62 class MPAbsConstraint;
63 struct MPAbsConstraintDefaultTypeInternal;
64 extern MPAbsConstraintDefaultTypeInternal _MPAbsConstraint_default_instance_;
65 class MPArrayConstraint;
66 struct MPArrayConstraintDefaultTypeInternal;
67 extern MPArrayConstraintDefaultTypeInternal _MPArrayConstraint_default_instance_;
68 class MPArrayWithConstantConstraint;
69 struct MPArrayWithConstantConstraintDefaultTypeInternal;
70 extern MPArrayWithConstantConstraintDefaultTypeInternal _MPArrayWithConstantConstraint_default_instance_;
71 class MPConstraintProto;
72 struct MPConstraintProtoDefaultTypeInternal;
73 extern MPConstraintProtoDefaultTypeInternal _MPConstraintProto_default_instance_;
74 class MPGeneralConstraintProto;
75 struct MPGeneralConstraintProtoDefaultTypeInternal;
76 extern MPGeneralConstraintProtoDefaultTypeInternal _MPGeneralConstraintProto_default_instance_;
77 class MPIndicatorConstraint;
78 struct MPIndicatorConstraintDefaultTypeInternal;
79 extern MPIndicatorConstraintDefaultTypeInternal _MPIndicatorConstraint_default_instance_;
80 class MPModelDeltaProto;
81 struct MPModelDeltaProtoDefaultTypeInternal;
82 extern MPModelDeltaProtoDefaultTypeInternal _MPModelDeltaProto_default_instance_;
83 class MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse;
84 struct MPModelDeltaProto_ConstraintOverridesEntry_DoNotUseDefaultTypeInternal;
85 extern MPModelDeltaProto_ConstraintOverridesEntry_DoNotUseDefaultTypeInternal _MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse_default_instance_;
86 class MPModelDeltaProto_VariableOverridesEntry_DoNotUse;
87 struct MPModelDeltaProto_VariableOverridesEntry_DoNotUseDefaultTypeInternal;
88 extern MPModelDeltaProto_VariableOverridesEntry_DoNotUseDefaultTypeInternal _MPModelDeltaProto_VariableOverridesEntry_DoNotUse_default_instance_;
89 class MPModelProto;
90 struct MPModelProtoDefaultTypeInternal;
91 extern MPModelProtoDefaultTypeInternal _MPModelProto_default_instance_;
92 class MPModelRequest;
93 struct MPModelRequestDefaultTypeInternal;
94 extern MPModelRequestDefaultTypeInternal _MPModelRequest_default_instance_;
95 class MPQuadraticConstraint;
96 struct MPQuadraticConstraintDefaultTypeInternal;
97 extern MPQuadraticConstraintDefaultTypeInternal _MPQuadraticConstraint_default_instance_;
98 class MPQuadraticObjective;
99 struct MPQuadraticObjectiveDefaultTypeInternal;
100 extern MPQuadraticObjectiveDefaultTypeInternal _MPQuadraticObjective_default_instance_;
101 class MPSolution;
102 struct MPSolutionDefaultTypeInternal;
103 extern MPSolutionDefaultTypeInternal _MPSolution_default_instance_;
104 class MPSolutionResponse;
105 struct MPSolutionResponseDefaultTypeInternal;
106 extern MPSolutionResponseDefaultTypeInternal _MPSolutionResponse_default_instance_;
107 class MPSolveInfo;
108 struct MPSolveInfoDefaultTypeInternal;
109 extern MPSolveInfoDefaultTypeInternal _MPSolveInfo_default_instance_;
110 class MPSolverCommonParameters;
111 struct MPSolverCommonParametersDefaultTypeInternal;
112 extern MPSolverCommonParametersDefaultTypeInternal _MPSolverCommonParameters_default_instance_;
113 class MPSosConstraint;
114 struct MPSosConstraintDefaultTypeInternal;
115 extern MPSosConstraintDefaultTypeInternal _MPSosConstraint_default_instance_;
116 class MPVariableProto;
117 struct MPVariableProtoDefaultTypeInternal;
118 extern MPVariableProtoDefaultTypeInternal _MPVariableProto_default_instance_;
119 class OptionalDouble;
120 struct OptionalDoubleDefaultTypeInternal;
121 extern OptionalDoubleDefaultTypeInternal _OptionalDouble_default_instance_;
122 class PartialVariableAssignment;
123 struct PartialVariableAssignmentDefaultTypeInternal;
124 extern PartialVariableAssignmentDefaultTypeInternal _PartialVariableAssignment_default_instance_;
125 } // namespace operations_research
126 PROTOBUF_NAMESPACE_OPEN
127 template<> ::operations_research::MPAbsConstraint* Arena::CreateMaybeMessage<::operations_research::MPAbsConstraint>(Arena*);
128 template<> ::operations_research::MPArrayConstraint* Arena::CreateMaybeMessage<::operations_research::MPArrayConstraint>(Arena*);
129 template<> ::operations_research::MPArrayWithConstantConstraint* Arena::CreateMaybeMessage<::operations_research::MPArrayWithConstantConstraint>(Arena*);
130 template<> ::operations_research::MPConstraintProto* Arena::CreateMaybeMessage<::operations_research::MPConstraintProto>(Arena*);
131 template<> ::operations_research::MPGeneralConstraintProto* Arena::CreateMaybeMessage<::operations_research::MPGeneralConstraintProto>(Arena*);
132 template<> ::operations_research::MPIndicatorConstraint* Arena::CreateMaybeMessage<::operations_research::MPIndicatorConstraint>(Arena*);
133 template<> ::operations_research::MPModelDeltaProto* Arena::CreateMaybeMessage<::operations_research::MPModelDeltaProto>(Arena*);
134 template<> ::operations_research::MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse* Arena::CreateMaybeMessage<::operations_research::MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse>(Arena*);
135 template<> ::operations_research::MPModelDeltaProto_VariableOverridesEntry_DoNotUse* Arena::CreateMaybeMessage<::operations_research::MPModelDeltaProto_VariableOverridesEntry_DoNotUse>(Arena*);
136 template<> ::operations_research::MPModelProto* Arena::CreateMaybeMessage<::operations_research::MPModelProto>(Arena*);
137 template<> ::operations_research::MPModelRequest* Arena::CreateMaybeMessage<::operations_research::MPModelRequest>(Arena*);
138 template<> ::operations_research::MPQuadraticConstraint* Arena::CreateMaybeMessage<::operations_research::MPQuadraticConstraint>(Arena*);
139 template<> ::operations_research::MPQuadraticObjective* Arena::CreateMaybeMessage<::operations_research::MPQuadraticObjective>(Arena*);
140 template<> ::operations_research::MPSolution* Arena::CreateMaybeMessage<::operations_research::MPSolution>(Arena*);
141 template<> ::operations_research::MPSolutionResponse* Arena::CreateMaybeMessage<::operations_research::MPSolutionResponse>(Arena*);
142 template<> ::operations_research::MPSolveInfo* Arena::CreateMaybeMessage<::operations_research::MPSolveInfo>(Arena*);
143 template<> ::operations_research::MPSolverCommonParameters* Arena::CreateMaybeMessage<::operations_research::MPSolverCommonParameters>(Arena*);
144 template<> ::operations_research::MPSosConstraint* Arena::CreateMaybeMessage<::operations_research::MPSosConstraint>(Arena*);
145 template<> ::operations_research::MPVariableProto* Arena::CreateMaybeMessage<::operations_research::MPVariableProto>(Arena*);
146 template<> ::operations_research::OptionalDouble* Arena::CreateMaybeMessage<::operations_research::OptionalDouble>(Arena*);
147 template<> ::operations_research::PartialVariableAssignment* Arena::CreateMaybeMessage<::operations_research::PartialVariableAssignment>(Arena*);
148 PROTOBUF_NAMESPACE_CLOSE
149 namespace operations_research {
150 
154 };
155 bool MPSosConstraint_Type_IsValid(int value);
159 
160 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* MPSosConstraint_Type_descriptor();
161 template<typename T>
162 inline const std::string& MPSosConstraint_Type_Name(T enum_t_value) {
163  static_assert(::std::is_same<T, MPSosConstraint_Type>::value ||
164  ::std::is_integral<T>::value,
165  "Incorrect type passed to function MPSosConstraint_Type_Name.");
166  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
167  MPSosConstraint_Type_descriptor(), enum_t_value);
168 }
170  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, MPSosConstraint_Type* value) {
171  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<MPSosConstraint_Type>(
172  MPSosConstraint_Type_descriptor(), name, value);
173 }
179 };
184 
185 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* MPSolverCommonParameters_LPAlgorithmValues_descriptor();
186 template<typename T>
187 inline const std::string& MPSolverCommonParameters_LPAlgorithmValues_Name(T enum_t_value) {
188  static_assert(::std::is_same<T, MPSolverCommonParameters_LPAlgorithmValues>::value ||
189  ::std::is_integral<T>::value,
190  "Incorrect type passed to function MPSolverCommonParameters_LPAlgorithmValues_Name.");
191  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
193 }
195  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, MPSolverCommonParameters_LPAlgorithmValues* value) {
196  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<MPSolverCommonParameters_LPAlgorithmValues>(
198 }
215 };
216 bool MPModelRequest_SolverType_IsValid(int value);
220 
221 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* MPModelRequest_SolverType_descriptor();
222 template<typename T>
223 inline const std::string& MPModelRequest_SolverType_Name(T enum_t_value) {
224  static_assert(::std::is_same<T, MPModelRequest_SolverType>::value ||
225  ::std::is_integral<T>::value,
226  "Incorrect type passed to function MPModelRequest_SolverType_Name.");
227  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
228  MPModelRequest_SolverType_descriptor(), enum_t_value);
229 }
231  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, MPModelRequest_SolverType* value) {
232  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<MPModelRequest_SolverType>(
233  MPModelRequest_SolverType_descriptor(), name, value);
234 }
250 };
251 bool MPSolverResponseStatus_IsValid(int value);
255 
256 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* MPSolverResponseStatus_descriptor();
257 template<typename T>
258 inline const std::string& MPSolverResponseStatus_Name(T enum_t_value) {
259  static_assert(::std::is_same<T, MPSolverResponseStatus>::value ||
260  ::std::is_integral<T>::value,
261  "Incorrect type passed to function MPSolverResponseStatus_Name.");
262  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
263  MPSolverResponseStatus_descriptor(), enum_t_value);
264 }
266  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, MPSolverResponseStatus* value) {
267  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<MPSolverResponseStatus>(
268  MPSolverResponseStatus_descriptor(), name, value);
269 }
270 // ===================================================================
271 
272 class MPVariableProto final :
273  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.MPVariableProto) */ {
274  public:
275  inline MPVariableProto() : MPVariableProto(nullptr) {}
276  ~MPVariableProto() override;
277  explicit constexpr MPVariableProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
278 
279  MPVariableProto(const MPVariableProto& from);
281  : MPVariableProto() {
282  *this = ::std::move(from);
283  }
284 
286  CopyFrom(from);
287  return *this;
288  }
289  inline MPVariableProto& operator=(MPVariableProto&& from) noexcept {
290  if (this == &from) return *this;
291  if (GetOwningArena() == from.GetOwningArena()
292  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
293  && GetOwningArena() != nullptr
294  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
295  ) {
296  InternalSwap(&from);
297  } else {
298  CopyFrom(from);
299  }
300  return *this;
301  }
302 
303  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
304  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
305  }
306  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
307  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
308  }
309 
310  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
311  return GetDescriptor();
312  }
313  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
314  return default_instance().GetMetadata().descriptor;
315  }
316  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
317  return default_instance().GetMetadata().reflection;
318  }
320  return *internal_default_instance();
321  }
323  return reinterpret_cast<const MPVariableProto*>(
325  }
326  static constexpr int kIndexInFileMessages =
327  0;
328 
329  friend void swap(MPVariableProto& a, MPVariableProto& b) {
330  a.Swap(&b);
331  }
332  inline void Swap(MPVariableProto* other) {
333  if (other == this) return;
334  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
335  if (GetOwningArena() != nullptr &&
336  GetOwningArena() == other->GetOwningArena()) {
337  #else // PROTOBUF_FORCE_COPY_IN_SWAP
338  if (GetOwningArena() == other->GetOwningArena()) {
339  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
340  InternalSwap(other);
341  } else {
342  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
343  }
344  }
346  if (other == this) return;
347  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
348  InternalSwap(other);
349  }
350 
351  // implements Message ----------------------------------------------
352 
353  MPVariableProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
354  return CreateMaybeMessage<MPVariableProto>(arena);
355  }
356  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
357  void CopyFrom(const MPVariableProto& from);
358  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
359  void MergeFrom(const MPVariableProto& from);
360  private:
361  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
362  public:
363  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
364  bool IsInitialized() const final;
365 
366  size_t ByteSizeLong() const final;
367  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
368  uint8_t* _InternalSerialize(
369  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
370  int GetCachedSize() const final { return _cached_size_.Get(); }
371 
372  private:
373  void SharedCtor();
374  void SharedDtor();
375  void SetCachedSize(int size) const final;
376  void InternalSwap(MPVariableProto* other);
377 
378  private:
379  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
380  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
381  return "operations_research.MPVariableProto";
382  }
383  protected:
384  explicit MPVariableProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
385  bool is_message_owned = false);
386  private:
387  static void ArenaDtor(void* object);
388  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
389  public:
390 
391  static const ClassData _class_data_;
392  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
393 
394  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
395 
396  // nested types ----------------------------------------------------
397 
398  // accessors -------------------------------------------------------
399 
400  enum : int {
407  };
408  // optional string name = 5 [default = ""];
409  bool has_name() const;
410  private:
411  bool _internal_has_name() const;
412  public:
413  void clear_name();
414  const std::string& name() const;
415  template <typename ArgT0 = const std::string&, typename... ArgT>
416  void set_name(ArgT0&& arg0, ArgT... args);
417  std::string* mutable_name();
418  PROTOBUF_NODISCARD std::string* release_name();
419  void set_allocated_name(std::string* name);
420  private:
421  const std::string& _internal_name() const;
422  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
423  std::string* _internal_mutable_name();
424  public:
425 
426  // optional double objective_coefficient = 3 [default = 0];
427  bool has_objective_coefficient() const;
428  private:
429  bool _internal_has_objective_coefficient() const;
430  public:
432  double objective_coefficient() const;
433  void set_objective_coefficient(double value);
434  private:
435  double _internal_objective_coefficient() const;
436  void _internal_set_objective_coefficient(double value);
437  public:
438 
439  // optional bool is_integer = 4 [default = false];
440  bool has_is_integer() const;
441  private:
442  bool _internal_has_is_integer() const;
443  public:
444  void clear_is_integer();
445  bool is_integer() const;
446  void set_is_integer(bool value);
447  private:
448  bool _internal_is_integer() const;
449  void _internal_set_is_integer(bool value);
450  public:
451 
452  // optional int32 branching_priority = 6 [default = 0];
453  bool has_branching_priority() const;
454  private:
455  bool _internal_has_branching_priority() const;
456  public:
458  int32_t branching_priority() const;
459  void set_branching_priority(int32_t value);
460  private:
461  int32_t _internal_branching_priority() const;
462  void _internal_set_branching_priority(int32_t value);
463  public:
464 
465  // optional double lower_bound = 1 [default = -inf];
466  bool has_lower_bound() const;
467  private:
468  bool _internal_has_lower_bound() const;
469  public:
470  void clear_lower_bound();
471  double lower_bound() const;
472  void set_lower_bound(double value);
473  private:
474  double _internal_lower_bound() const;
475  void _internal_set_lower_bound(double value);
476  public:
477 
478  // optional double upper_bound = 2 [default = inf];
479  bool has_upper_bound() const;
480  private:
481  bool _internal_has_upper_bound() const;
482  public:
483  void clear_upper_bound();
484  double upper_bound() const;
485  void set_upper_bound(double value);
486  private:
487  double _internal_upper_bound() const;
488  void _internal_set_upper_bound(double value);
489  public:
490 
491  // @@protoc_insertion_point(class_scope:operations_research.MPVariableProto)
492  private:
493  class _Internal;
494 
495  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
496  typedef void InternalArenaConstructable_;
497  typedef void DestructorSkippable_;
498  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
499  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
500  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
501  double objective_coefficient_;
502  bool is_integer_;
503  int32_t branching_priority_;
504  double lower_bound_;
505  double upper_bound_;
506  friend struct ::TableStruct_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
507 };
508 // -------------------------------------------------------------------
509 
510 class MPConstraintProto final :
511  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.MPConstraintProto) */ {
512  public:
513  inline MPConstraintProto() : MPConstraintProto(nullptr) {}
514  ~MPConstraintProto() override;
515  explicit constexpr MPConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
516 
519  : MPConstraintProto() {
520  *this = ::std::move(from);
521  }
522 
524  CopyFrom(from);
525  return *this;
526  }
527  inline MPConstraintProto& operator=(MPConstraintProto&& from) noexcept {
528  if (this == &from) return *this;
529  if (GetOwningArena() == from.GetOwningArena()
530  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
531  && GetOwningArena() != nullptr
532  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
533  ) {
534  InternalSwap(&from);
535  } else {
536  CopyFrom(from);
537  }
538  return *this;
539  }
540 
541  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
542  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
543  }
544  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
545  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
546  }
547 
548  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
549  return GetDescriptor();
550  }
551  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
552  return default_instance().GetMetadata().descriptor;
553  }
554  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
555  return default_instance().GetMetadata().reflection;
556  }
558  return *internal_default_instance();
559  }
561  return reinterpret_cast<const MPConstraintProto*>(
563  }
564  static constexpr int kIndexInFileMessages =
565  1;
566 
568  a.Swap(&b);
569  }
570  inline void Swap(MPConstraintProto* other) {
571  if (other == this) return;
572  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
573  if (GetOwningArena() != nullptr &&
574  GetOwningArena() == other->GetOwningArena()) {
575  #else // PROTOBUF_FORCE_COPY_IN_SWAP
576  if (GetOwningArena() == other->GetOwningArena()) {
577  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
578  InternalSwap(other);
579  } else {
580  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
581  }
582  }
584  if (other == this) return;
585  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
586  InternalSwap(other);
587  }
588 
589  // implements Message ----------------------------------------------
590 
591  MPConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
592  return CreateMaybeMessage<MPConstraintProto>(arena);
593  }
594  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
595  void CopyFrom(const MPConstraintProto& from);
596  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
597  void MergeFrom(const MPConstraintProto& from);
598  private:
599  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
600  public:
601  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
602  bool IsInitialized() const final;
603 
604  size_t ByteSizeLong() const final;
605  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
606  uint8_t* _InternalSerialize(
607  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
608  int GetCachedSize() const final { return _cached_size_.Get(); }
609 
610  private:
611  void SharedCtor();
612  void SharedDtor();
613  void SetCachedSize(int size) const final;
614  void InternalSwap(MPConstraintProto* other);
615 
616  private:
617  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
618  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
619  return "operations_research.MPConstraintProto";
620  }
621  protected:
622  explicit MPConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
623  bool is_message_owned = false);
624  private:
625  static void ArenaDtor(void* object);
626  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
627  public:
628 
629  static const ClassData _class_data_;
630  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
631 
632  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
633 
634  // nested types ----------------------------------------------------
635 
636  // accessors -------------------------------------------------------
637 
638  enum : int {
639  kVarIndexFieldNumber = 6,
640  kCoefficientFieldNumber = 7,
642  kIsLazyFieldNumber = 5,
645  };
646  // repeated int32 var_index = 6 [packed = true];
647  int var_index_size() const;
648  private:
649  int _internal_var_index_size() const;
650  public:
651  void clear_var_index();
652  private:
653  int32_t _internal_var_index(int index) const;
654  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
655  _internal_var_index() const;
656  void _internal_add_var_index(int32_t value);
657  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
658  _internal_mutable_var_index();
659  public:
660  int32_t var_index(int index) const;
661  void set_var_index(int index, int32_t value);
662  void add_var_index(int32_t value);
663  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
664  var_index() const;
665  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
666  mutable_var_index();
667 
668  // repeated double coefficient = 7 [packed = true];
669  int coefficient_size() const;
670  private:
671  int _internal_coefficient_size() const;
672  public:
673  void clear_coefficient();
674  private:
675  double _internal_coefficient(int index) const;
676  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
677  _internal_coefficient() const;
678  void _internal_add_coefficient(double value);
679  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
680  _internal_mutable_coefficient();
681  public:
682  double coefficient(int index) const;
683  void set_coefficient(int index, double value);
684  void add_coefficient(double value);
685  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
686  coefficient() const;
687  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
688  mutable_coefficient();
689 
690  // optional string name = 4 [default = ""];
691  bool has_name() const;
692  private:
693  bool _internal_has_name() const;
694  public:
695  void clear_name();
696  const std::string& name() const;
697  template <typename ArgT0 = const std::string&, typename... ArgT>
698  void set_name(ArgT0&& arg0, ArgT... args);
699  std::string* mutable_name();
700  PROTOBUF_NODISCARD std::string* release_name();
701  void set_allocated_name(std::string* name);
702  private:
703  const std::string& _internal_name() const;
704  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
705  std::string* _internal_mutable_name();
706  public:
707 
708  // optional bool is_lazy = 5 [default = false];
709  bool has_is_lazy() const;
710  private:
711  bool _internal_has_is_lazy() const;
712  public:
713  void clear_is_lazy();
714  bool is_lazy() const;
715  void set_is_lazy(bool value);
716  private:
717  bool _internal_is_lazy() const;
718  void _internal_set_is_lazy(bool value);
719  public:
720 
721  // optional double lower_bound = 2 [default = -inf];
722  bool has_lower_bound() const;
723  private:
724  bool _internal_has_lower_bound() const;
725  public:
726  void clear_lower_bound();
727  double lower_bound() const;
728  void set_lower_bound(double value);
729  private:
730  double _internal_lower_bound() const;
731  void _internal_set_lower_bound(double value);
732  public:
733 
734  // optional double upper_bound = 3 [default = inf];
735  bool has_upper_bound() const;
736  private:
737  bool _internal_has_upper_bound() const;
738  public:
739  void clear_upper_bound();
740  double upper_bound() const;
741  void set_upper_bound(double value);
742  private:
743  double _internal_upper_bound() const;
744  void _internal_set_upper_bound(double value);
745  public:
746 
747  // @@protoc_insertion_point(class_scope:operations_research.MPConstraintProto)
748  private:
749  class _Internal;
750 
751  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
752  typedef void InternalArenaConstructable_;
753  typedef void DestructorSkippable_;
754  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
755  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
756  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > var_index_;
757  mutable std::atomic<int> _var_index_cached_byte_size_;
758  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > coefficient_;
759  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
760  bool is_lazy_;
761  double lower_bound_;
762  double upper_bound_;
763  friend struct ::TableStruct_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
764 };
765 // -------------------------------------------------------------------
766 
768  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.MPGeneralConstraintProto) */ {
769  public:
771  ~MPGeneralConstraintProto() override;
772  explicit constexpr MPGeneralConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
773 
777  *this = ::std::move(from);
778  }
779 
781  CopyFrom(from);
782  return *this;
783  }
785  if (this == &from) return *this;
786  if (GetOwningArena() == from.GetOwningArena()
787  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
788  && GetOwningArena() != nullptr
789  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
790  ) {
791  InternalSwap(&from);
792  } else {
793  CopyFrom(from);
794  }
795  return *this;
796  }
797 
798  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
799  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
800  }
801  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
802  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
803  }
804 
805  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
806  return GetDescriptor();
807  }
808  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
809  return default_instance().GetMetadata().descriptor;
810  }
811  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
812  return default_instance().GetMetadata().reflection;
813  }
815  return *internal_default_instance();
816  }
818  kIndicatorConstraint = 2,
819  kSosConstraint = 3,
820  kQuadraticConstraint = 4,
821  kAbsConstraint = 5,
822  kAndConstraint = 6,
823  kOrConstraint = 7,
824  kMinConstraint = 8,
825  kMaxConstraint = 9,
826  GENERAL_CONSTRAINT_NOT_SET = 0,
827  };
828 
830  return reinterpret_cast<const MPGeneralConstraintProto*>(
832  }
833  static constexpr int kIndexInFileMessages =
834  2;
835 
837  a.Swap(&b);
838  }
839  inline void Swap(MPGeneralConstraintProto* other) {
840  if (other == this) return;
841  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
842  if (GetOwningArena() != nullptr &&
843  GetOwningArena() == other->GetOwningArena()) {
844  #else // PROTOBUF_FORCE_COPY_IN_SWAP
845  if (GetOwningArena() == other->GetOwningArena()) {
846  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
847  InternalSwap(other);
848  } else {
849  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
850  }
851  }
853  if (other == this) return;
854  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
855  InternalSwap(other);
856  }
857 
858  // implements Message ----------------------------------------------
859 
860  MPGeneralConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
861  return CreateMaybeMessage<MPGeneralConstraintProto>(arena);
862  }
863  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
864  void CopyFrom(const MPGeneralConstraintProto& from);
865  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
866  void MergeFrom(const MPGeneralConstraintProto& from);
867  private:
868  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
869  public:
870  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
871  bool IsInitialized() const final;
872 
873  size_t ByteSizeLong() const final;
874  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
875  uint8_t* _InternalSerialize(
876  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
877  int GetCachedSize() const final { return _cached_size_.Get(); }
878 
879  private:
880  void SharedCtor();
881  void SharedDtor();
882  void SetCachedSize(int size) const final;
883  void InternalSwap(MPGeneralConstraintProto* other);
884 
885  private:
886  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
887  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
888  return "operations_research.MPGeneralConstraintProto";
889  }
890  protected:
891  explicit MPGeneralConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
892  bool is_message_owned = false);
893  private:
894  static void ArenaDtor(void* object);
895  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
896  public:
897 
898  static const ClassData _class_data_;
899  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
900 
901  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
902 
903  // nested types ----------------------------------------------------
904 
905  // accessors -------------------------------------------------------
906 
907  enum : int {
909  kIndicatorConstraintFieldNumber = 2,
910  kSosConstraintFieldNumber = 3,
911  kQuadraticConstraintFieldNumber = 4,
912  kAbsConstraintFieldNumber = 5,
913  kAndConstraintFieldNumber = 6,
914  kOrConstraintFieldNumber = 7,
915  kMinConstraintFieldNumber = 8,
916  kMaxConstraintFieldNumber = 9,
917  };
918  // optional string name = 1 [default = ""];
919  bool has_name() const;
920  private:
921  bool _internal_has_name() const;
922  public:
923  void clear_name();
924  const std::string& name() const;
925  template <typename ArgT0 = const std::string&, typename... ArgT>
926  void set_name(ArgT0&& arg0, ArgT... args);
927  std::string* mutable_name();
928  PROTOBUF_NODISCARD std::string* release_name();
929  void set_allocated_name(std::string* name);
930  private:
931  const std::string& _internal_name() const;
932  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
933  std::string* _internal_mutable_name();
934  public:
935 
936  // .operations_research.MPIndicatorConstraint indicator_constraint = 2;
937  bool has_indicator_constraint() const;
938  private:
939  bool _internal_has_indicator_constraint() const;
940  public:
941  void clear_indicator_constraint();
942  const ::operations_research::MPIndicatorConstraint& indicator_constraint() const;
943  PROTOBUF_NODISCARD ::operations_research::MPIndicatorConstraint* release_indicator_constraint();
944  ::operations_research::MPIndicatorConstraint* mutable_indicator_constraint();
945  void set_allocated_indicator_constraint(::operations_research::MPIndicatorConstraint* indicator_constraint);
946  private:
947  const ::operations_research::MPIndicatorConstraint& _internal_indicator_constraint() const;
948  ::operations_research::MPIndicatorConstraint* _internal_mutable_indicator_constraint();
949  public:
950  void unsafe_arena_set_allocated_indicator_constraint(
951  ::operations_research::MPIndicatorConstraint* indicator_constraint);
952  ::operations_research::MPIndicatorConstraint* unsafe_arena_release_indicator_constraint();
953 
954  // .operations_research.MPSosConstraint sos_constraint = 3;
955  bool has_sos_constraint() const;
956  private:
957  bool _internal_has_sos_constraint() const;
958  public:
959  void clear_sos_constraint();
960  const ::operations_research::MPSosConstraint& sos_constraint() const;
961  PROTOBUF_NODISCARD ::operations_research::MPSosConstraint* release_sos_constraint();
962  ::operations_research::MPSosConstraint* mutable_sos_constraint();
963  void set_allocated_sos_constraint(::operations_research::MPSosConstraint* sos_constraint);
964  private:
965  const ::operations_research::MPSosConstraint& _internal_sos_constraint() const;
966  ::operations_research::MPSosConstraint* _internal_mutable_sos_constraint();
967  public:
968  void unsafe_arena_set_allocated_sos_constraint(
969  ::operations_research::MPSosConstraint* sos_constraint);
970  ::operations_research::MPSosConstraint* unsafe_arena_release_sos_constraint();
971 
972  // .operations_research.MPQuadraticConstraint quadratic_constraint = 4;
973  bool has_quadratic_constraint() const;
974  private:
975  bool _internal_has_quadratic_constraint() const;
976  public:
977  void clear_quadratic_constraint();
978  const ::operations_research::MPQuadraticConstraint& quadratic_constraint() const;
979  PROTOBUF_NODISCARD ::operations_research::MPQuadraticConstraint* release_quadratic_constraint();
980  ::operations_research::MPQuadraticConstraint* mutable_quadratic_constraint();
981  void set_allocated_quadratic_constraint(::operations_research::MPQuadraticConstraint* quadratic_constraint);
982  private:
983  const ::operations_research::MPQuadraticConstraint& _internal_quadratic_constraint() const;
984  ::operations_research::MPQuadraticConstraint* _internal_mutable_quadratic_constraint();
985  public:
986  void unsafe_arena_set_allocated_quadratic_constraint(
987  ::operations_research::MPQuadraticConstraint* quadratic_constraint);
988  ::operations_research::MPQuadraticConstraint* unsafe_arena_release_quadratic_constraint();
989 
990  // .operations_research.MPAbsConstraint abs_constraint = 5;
991  bool has_abs_constraint() const;
992  private:
993  bool _internal_has_abs_constraint() const;
994  public:
995  void clear_abs_constraint();
996  const ::operations_research::MPAbsConstraint& abs_constraint() const;
997  PROTOBUF_NODISCARD ::operations_research::MPAbsConstraint* release_abs_constraint();
998  ::operations_research::MPAbsConstraint* mutable_abs_constraint();
999  void set_allocated_abs_constraint(::operations_research::MPAbsConstraint* abs_constraint);
1000  private:
1001  const ::operations_research::MPAbsConstraint& _internal_abs_constraint() const;
1002  ::operations_research::MPAbsConstraint* _internal_mutable_abs_constraint();
1003  public:
1004  void unsafe_arena_set_allocated_abs_constraint(
1005  ::operations_research::MPAbsConstraint* abs_constraint);
1006  ::operations_research::MPAbsConstraint* unsafe_arena_release_abs_constraint();
1007 
1008  // .operations_research.MPArrayConstraint and_constraint = 6;
1009  bool has_and_constraint() const;
1010  private:
1011  bool _internal_has_and_constraint() const;
1012  public:
1013  void clear_and_constraint();
1014  const ::operations_research::MPArrayConstraint& and_constraint() const;
1015  PROTOBUF_NODISCARD ::operations_research::MPArrayConstraint* release_and_constraint();
1016  ::operations_research::MPArrayConstraint* mutable_and_constraint();
1017  void set_allocated_and_constraint(::operations_research::MPArrayConstraint* and_constraint);
1018  private:
1019  const ::operations_research::MPArrayConstraint& _internal_and_constraint() const;
1020  ::operations_research::MPArrayConstraint* _internal_mutable_and_constraint();
1021  public:
1022  void unsafe_arena_set_allocated_and_constraint(
1023  ::operations_research::MPArrayConstraint* and_constraint);
1024  ::operations_research::MPArrayConstraint* unsafe_arena_release_and_constraint();
1025 
1026  // .operations_research.MPArrayConstraint or_constraint = 7;
1027  bool has_or_constraint() const;
1028  private:
1029  bool _internal_has_or_constraint() const;
1030  public:
1031  void clear_or_constraint();
1032  const ::operations_research::MPArrayConstraint& or_constraint() const;
1033  PROTOBUF_NODISCARD ::operations_research::MPArrayConstraint* release_or_constraint();
1034  ::operations_research::MPArrayConstraint* mutable_or_constraint();
1035  void set_allocated_or_constraint(::operations_research::MPArrayConstraint* or_constraint);
1036  private:
1037  const ::operations_research::MPArrayConstraint& _internal_or_constraint() const;
1038  ::operations_research::MPArrayConstraint* _internal_mutable_or_constraint();
1039  public:
1040  void unsafe_arena_set_allocated_or_constraint(
1041  ::operations_research::MPArrayConstraint* or_constraint);
1042  ::operations_research::MPArrayConstraint* unsafe_arena_release_or_constraint();
1043 
1044  // .operations_research.MPArrayWithConstantConstraint min_constraint = 8;
1045  bool has_min_constraint() const;
1046  private:
1047  bool _internal_has_min_constraint() const;
1048  public:
1049  void clear_min_constraint();
1050  const ::operations_research::MPArrayWithConstantConstraint& min_constraint() const;
1051  PROTOBUF_NODISCARD ::operations_research::MPArrayWithConstantConstraint* release_min_constraint();
1052  ::operations_research::MPArrayWithConstantConstraint* mutable_min_constraint();
1053  void set_allocated_min_constraint(::operations_research::MPArrayWithConstantConstraint* min_constraint);
1054  private:
1055  const ::operations_research::MPArrayWithConstantConstraint& _internal_min_constraint() const;
1056  ::operations_research::MPArrayWithConstantConstraint* _internal_mutable_min_constraint();
1057  public:
1058  void unsafe_arena_set_allocated_min_constraint(
1060  ::operations_research::MPArrayWithConstantConstraint* unsafe_arena_release_min_constraint();
1061 
1062  // .operations_research.MPArrayWithConstantConstraint max_constraint = 9;
1063  bool has_max_constraint() const;
1064  private:
1065  bool _internal_has_max_constraint() const;
1066  public:
1067  void clear_max_constraint();
1068  const ::operations_research::MPArrayWithConstantConstraint& max_constraint() const;
1069  PROTOBUF_NODISCARD ::operations_research::MPArrayWithConstantConstraint* release_max_constraint();
1070  ::operations_research::MPArrayWithConstantConstraint* mutable_max_constraint();
1071  void set_allocated_max_constraint(::operations_research::MPArrayWithConstantConstraint* max_constraint);
1072  private:
1073  const ::operations_research::MPArrayWithConstantConstraint& _internal_max_constraint() const;
1074  ::operations_research::MPArrayWithConstantConstraint* _internal_mutable_max_constraint();
1075  public:
1076  void unsafe_arena_set_allocated_max_constraint(
1078  ::operations_research::MPArrayWithConstantConstraint* unsafe_arena_release_max_constraint();
1079 
1080  void clear_general_constraint();
1081  GeneralConstraintCase general_constraint_case() const;
1082  // @@protoc_insertion_point(class_scope:operations_research.MPGeneralConstraintProto)
1083  private:
1084  class _Internal;
1085  void set_has_indicator_constraint();
1086  void set_has_sos_constraint();
1087  void set_has_quadratic_constraint();
1088  void set_has_abs_constraint();
1089  void set_has_and_constraint();
1090  void set_has_or_constraint();
1091  void set_has_min_constraint();
1092  void set_has_max_constraint();
1093 
1094  inline bool has_general_constraint() const;
1095  inline void clear_has_general_constraint();
1096 
1097  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1098  typedef void InternalArenaConstructable_;
1099  typedef void DestructorSkippable_;
1100  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
1101  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1102  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
1103  union GeneralConstraintUnion {
1104  constexpr GeneralConstraintUnion() : _constinit_{} {}
1105  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
1106  ::operations_research::MPIndicatorConstraint* indicator_constraint_;
1107  ::operations_research::MPSosConstraint* sos_constraint_;
1108  ::operations_research::MPQuadraticConstraint* quadratic_constraint_;
1109  ::operations_research::MPAbsConstraint* abs_constraint_;
1114  } general_constraint_;
1115  uint32_t _oneof_case_[1];
1116 
1117  friend struct ::TableStruct_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
1118 };
1119 // -------------------------------------------------------------------
1120 
1122  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.MPIndicatorConstraint) */ {
1123  public:
1125  ~MPIndicatorConstraint() override;
1126  explicit constexpr MPIndicatorConstraint(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
1127 
1130  : MPIndicatorConstraint() {
1131  *this = ::std::move(from);
1132  }
1133 
1135  CopyFrom(from);
1136  return *this;
1137  }
1139  if (this == &from) return *this;
1140  if (GetOwningArena() == from.GetOwningArena()
1141  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
1142  && GetOwningArena() != nullptr
1143  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
1144  ) {
1145  InternalSwap(&from);
1146  } else {
1147  CopyFrom(from);
1148  }
1149  return *this;
1150  }
1151 
1152  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
1153  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
1154  }
1155  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
1156  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1157  }
1158 
1159  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1160  return GetDescriptor();
1161  }
1162  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1163  return default_instance().GetMetadata().descriptor;
1164  }
1165  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1166  return default_instance().GetMetadata().reflection;
1167  }
1169  return *internal_default_instance();
1170  }
1172  return reinterpret_cast<const MPIndicatorConstraint*>(
1174  }
1175  static constexpr int kIndexInFileMessages =
1176  3;
1177 
1179  a.Swap(&b);
1180  }
1181  inline void Swap(MPIndicatorConstraint* other) {
1182  if (other == this) return;
1183  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
1184  if (GetOwningArena() != nullptr &&
1185  GetOwningArena() == other->GetOwningArena()) {
1186  #else // PROTOBUF_FORCE_COPY_IN_SWAP
1187  if (GetOwningArena() == other->GetOwningArena()) {
1188  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
1189  InternalSwap(other);
1190  } else {
1191  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1192  }
1193  }
1195  if (other == this) return;
1196  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
1197  InternalSwap(other);
1198  }
1199 
1200  // implements Message ----------------------------------------------
1201 
1202  MPIndicatorConstraint* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
1203  return CreateMaybeMessage<MPIndicatorConstraint>(arena);
1204  }
1205  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
1206  void CopyFrom(const MPIndicatorConstraint& from);
1207  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
1208  void MergeFrom(const MPIndicatorConstraint& from);
1209  private:
1210  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
1211  public:
1212  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1213  bool IsInitialized() const final;
1214 
1215  size_t ByteSizeLong() const final;
1216  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1217  uint8_t* _InternalSerialize(
1218  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1219  int GetCachedSize() const final { return _cached_size_.Get(); }
1220 
1221  private:
1222  void SharedCtor();
1223  void SharedDtor();
1224  void SetCachedSize(int size) const final;
1225  void InternalSwap(MPIndicatorConstraint* other);
1226 
1227  private:
1228  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1229  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1230  return "operations_research.MPIndicatorConstraint";
1231  }
1232  protected:
1233  explicit MPIndicatorConstraint(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1234  bool is_message_owned = false);
1235  private:
1236  static void ArenaDtor(void* object);
1237  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1238  public:
1239 
1240  static const ClassData _class_data_;
1241  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
1242 
1243  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1244 
1245  // nested types ----------------------------------------------------
1246 
1247  // accessors -------------------------------------------------------
1248 
1249  enum : int {
1250  kConstraintFieldNumber = 3,
1251  kVarIndexFieldNumber = 1,
1252  kVarValueFieldNumber = 2,
1253  };
1254  // optional .operations_research.MPConstraintProto constraint = 3;
1255  bool has_constraint() const;
1256  private:
1257  bool _internal_has_constraint() const;
1258  public:
1259  void clear_constraint();
1260  const ::operations_research::MPConstraintProto& constraint() const;
1261  PROTOBUF_NODISCARD ::operations_research::MPConstraintProto* release_constraint();
1262  ::operations_research::MPConstraintProto* mutable_constraint();
1263  void set_allocated_constraint(::operations_research::MPConstraintProto* constraint);
1264  private:
1265  const ::operations_research::MPConstraintProto& _internal_constraint() const;
1266  ::operations_research::MPConstraintProto* _internal_mutable_constraint();
1267  public:
1268  void unsafe_arena_set_allocated_constraint(
1270  ::operations_research::MPConstraintProto* unsafe_arena_release_constraint();
1271 
1272  // optional int32 var_index = 1;
1273  bool has_var_index() const;
1274  private:
1275  bool _internal_has_var_index() const;
1276  public:
1277  void clear_var_index();
1278  int32_t var_index() const;
1279  void set_var_index(int32_t value);
1280  private:
1281  int32_t _internal_var_index() const;
1282  void _internal_set_var_index(int32_t value);
1283  public:
1284 
1285  // optional int32 var_value = 2;
1286  bool has_var_value() const;
1287  private:
1288  bool _internal_has_var_value() const;
1289  public:
1290  void clear_var_value();
1291  int32_t var_value() const;
1292  void set_var_value(int32_t value);
1293  private:
1294  int32_t _internal_var_value() const;
1295  void _internal_set_var_value(int32_t value);
1296  public:
1297 
1298  // @@protoc_insertion_point(class_scope:operations_research.MPIndicatorConstraint)
1299  private:
1300  class _Internal;
1301 
1302  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1303  typedef void InternalArenaConstructable_;
1304  typedef void DestructorSkippable_;
1305  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
1306  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1308  int32_t var_index_;
1309  int32_t var_value_;
1310  friend struct ::TableStruct_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
1311 };
1312 // -------------------------------------------------------------------
1313 
1314 class MPSosConstraint final :
1315  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.MPSosConstraint) */ {
1316  public:
1317  inline MPSosConstraint() : MPSosConstraint(nullptr) {}
1318  ~MPSosConstraint() override;
1319  explicit constexpr MPSosConstraint(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
1320 
1321  MPSosConstraint(const MPSosConstraint& from);
1323  : MPSosConstraint() {
1324  *this = ::std::move(from);
1325  }
1326 
1328  CopyFrom(from);
1329  return *this;
1330  }
1331  inline MPSosConstraint& operator=(MPSosConstraint&& from) noexcept {
1332  if (this == &from) return *this;
1333  if (GetOwningArena() == from.GetOwningArena()
1334  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
1335  && GetOwningArena() != nullptr
1336  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
1337  ) {
1338  InternalSwap(&from);
1339  } else {
1340  CopyFrom(from);
1341  }
1342  return *this;
1343  }
1344 
1345  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
1346  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
1347  }
1348  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
1349  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1350  }
1351 
1352  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1353  return GetDescriptor();
1354  }
1355  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1356  return default_instance().GetMetadata().descriptor;
1357  }
1358  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1359  return default_instance().GetMetadata().reflection;
1360  }
1362  return *internal_default_instance();
1363  }
1365  return reinterpret_cast<const MPSosConstraint*>(
1367  }
1368  static constexpr int kIndexInFileMessages =
1369  4;
1370 
1371  friend void swap(MPSosConstraint& a, MPSosConstraint& b) {
1372  a.Swap(&b);
1373  }
1374  inline void Swap(MPSosConstraint* other) {
1375  if (other == this) return;
1376  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
1377  if (GetOwningArena() != nullptr &&
1378  GetOwningArena() == other->GetOwningArena()) {
1379  #else // PROTOBUF_FORCE_COPY_IN_SWAP
1380  if (GetOwningArena() == other->GetOwningArena()) {
1381  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
1382  InternalSwap(other);
1383  } else {
1384  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1385  }
1386  }
1388  if (other == this) return;
1389  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
1390  InternalSwap(other);
1391  }
1392 
1393  // implements Message ----------------------------------------------
1394 
1395  MPSosConstraint* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
1396  return CreateMaybeMessage<MPSosConstraint>(arena);
1397  }
1398  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
1399  void CopyFrom(const MPSosConstraint& from);
1400  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
1401  void MergeFrom(const MPSosConstraint& from);
1402  private:
1403  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
1404  public:
1405  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1406  bool IsInitialized() const final;
1407 
1408  size_t ByteSizeLong() const final;
1409  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1410  uint8_t* _InternalSerialize(
1411  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1412  int GetCachedSize() const final { return _cached_size_.Get(); }
1413 
1414  private:
1415  void SharedCtor();
1416  void SharedDtor();
1417  void SetCachedSize(int size) const final;
1418  void InternalSwap(MPSosConstraint* other);
1419 
1420  private:
1421  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1422  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1423  return "operations_research.MPSosConstraint";
1424  }
1425  protected:
1426  explicit MPSosConstraint(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1427  bool is_message_owned = false);
1428  private:
1429  static void ArenaDtor(void* object);
1430  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1431  public:
1432 
1433  static const ClassData _class_data_;
1434  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
1435 
1436  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1437 
1438  // nested types ----------------------------------------------------
1439 
1441  static constexpr Type SOS1_DEFAULT =
1443  static constexpr Type SOS2 =
1445  static inline bool Type_IsValid(int value) {
1446  return MPSosConstraint_Type_IsValid(value);
1447  }
1448  static constexpr Type Type_MIN =
1450  static constexpr Type Type_MAX =
1452  static constexpr int Type_ARRAYSIZE =
1454  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
1457  }
1458  template<typename T>
1459  static inline const std::string& Type_Name(T enum_t_value) {
1460  static_assert(::std::is_same<T, Type>::value ||
1461  ::std::is_integral<T>::value,
1462  "Incorrect type passed to function Type_Name.");
1463  return MPSosConstraint_Type_Name(enum_t_value);
1464  }
1465  static inline bool Type_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
1466  Type* value) {
1467  return MPSosConstraint_Type_Parse(name, value);
1468  }
1469 
1470  // accessors -------------------------------------------------------
1471 
1472  enum : int {
1473  kVarIndexFieldNumber = 2,
1474  kWeightFieldNumber = 3,
1475  kTypeFieldNumber = 1,
1476  };
1477  // repeated int32 var_index = 2;
1478  int var_index_size() const;
1479  private:
1480  int _internal_var_index_size() const;
1481  public:
1482  void clear_var_index();
1483  private:
1484  int32_t _internal_var_index(int index) const;
1485  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
1486  _internal_var_index() const;
1487  void _internal_add_var_index(int32_t value);
1488  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
1489  _internal_mutable_var_index();
1490  public:
1491  int32_t var_index(int index) const;
1492  void set_var_index(int index, int32_t value);
1493  void add_var_index(int32_t value);
1494  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
1495  var_index() const;
1496  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
1497  mutable_var_index();
1498 
1499  // repeated double weight = 3;
1500  int weight_size() const;
1501  private:
1502  int _internal_weight_size() const;
1503  public:
1504  void clear_weight();
1505  private:
1506  double _internal_weight(int index) const;
1507  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
1508  _internal_weight() const;
1509  void _internal_add_weight(double value);
1510  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
1511  _internal_mutable_weight();
1512  public:
1513  double weight(int index) const;
1514  void set_weight(int index, double value);
1515  void add_weight(double value);
1516  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
1517  weight() const;
1518  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
1519  mutable_weight();
1520 
1521  // optional .operations_research.MPSosConstraint.Type type = 1 [default = SOS1_DEFAULT];
1522  bool has_type() const;
1523  private:
1524  bool _internal_has_type() const;
1525  public:
1526  void clear_type();
1528  void set_type(::operations_research::MPSosConstraint_Type value);
1529  private:
1530  ::operations_research::MPSosConstraint_Type _internal_type() const;
1531  void _internal_set_type(::operations_research::MPSosConstraint_Type value);
1532  public:
1533 
1534  // @@protoc_insertion_point(class_scope:operations_research.MPSosConstraint)
1535  private:
1536  class _Internal;
1537 
1538  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1539  typedef void InternalArenaConstructable_;
1540  typedef void DestructorSkippable_;
1541  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
1542  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1543  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > var_index_;
1544  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > weight_;
1545  int type_;
1546  friend struct ::TableStruct_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
1547 };
1548 // -------------------------------------------------------------------
1549 
1551  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.MPQuadraticConstraint) */ {
1552  public:
1554  ~MPQuadraticConstraint() override;
1555  explicit constexpr MPQuadraticConstraint(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
1556 
1559  : MPQuadraticConstraint() {
1560  *this = ::std::move(from);
1561  }
1562 
1564  CopyFrom(from);
1565  return *this;
1566  }
1568  if (this == &from) return *this;
1569  if (GetOwningArena() == from.GetOwningArena()
1570  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
1571  && GetOwningArena() != nullptr
1572  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
1573  ) {
1574  InternalSwap(&from);
1575  } else {
1576  CopyFrom(from);
1577  }
1578  return *this;
1579  }
1580 
1581  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
1582  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
1583  }
1584  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
1585  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1586  }
1587 
1588  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1589  return GetDescriptor();
1590  }
1591  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1592  return default_instance().GetMetadata().descriptor;
1593  }
1594  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1595  return default_instance().GetMetadata().reflection;
1596  }
1598  return *internal_default_instance();
1599  }
1601  return reinterpret_cast<const MPQuadraticConstraint*>(
1603  }
1604  static constexpr int kIndexInFileMessages =
1605  5;
1606 
1608  a.Swap(&b);
1609  }
1610  inline void Swap(MPQuadraticConstraint* other) {
1611  if (other == this) return;
1612  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
1613  if (GetOwningArena() != nullptr &&
1614  GetOwningArena() == other->GetOwningArena()) {
1615  #else // PROTOBUF_FORCE_COPY_IN_SWAP
1616  if (GetOwningArena() == other->GetOwningArena()) {
1617  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
1618  InternalSwap(other);
1619  } else {
1620  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1621  }
1622  }
1624  if (other == this) return;
1625  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
1626  InternalSwap(other);
1627  }
1628 
1629  // implements Message ----------------------------------------------
1630 
1631  MPQuadraticConstraint* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
1632  return CreateMaybeMessage<MPQuadraticConstraint>(arena);
1633  }
1634  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
1635  void CopyFrom(const MPQuadraticConstraint& from);
1636  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
1637  void MergeFrom(const MPQuadraticConstraint& from);
1638  private:
1639  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
1640  public:
1641  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1642  bool IsInitialized() const final;
1643 
1644  size_t ByteSizeLong() const final;
1645  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1646  uint8_t* _InternalSerialize(
1647  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1648  int GetCachedSize() const final { return _cached_size_.Get(); }
1649 
1650  private:
1651  void SharedCtor();
1652  void SharedDtor();
1653  void SetCachedSize(int size) const final;
1654  void InternalSwap(MPQuadraticConstraint* other);
1655 
1656  private:
1657  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1658  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1659  return "operations_research.MPQuadraticConstraint";
1660  }
1661  protected:
1662  explicit MPQuadraticConstraint(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1663  bool is_message_owned = false);
1664  private:
1665  static void ArenaDtor(void* object);
1666  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1667  public:
1668 
1669  static const ClassData _class_data_;
1670  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
1671 
1672  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1673 
1674  // nested types ----------------------------------------------------
1675 
1676  // accessors -------------------------------------------------------
1677 
1678  enum : int {
1679  kVarIndexFieldNumber = 1,
1680  kCoefficientFieldNumber = 2,
1681  kQvar1IndexFieldNumber = 3,
1682  kQvar2IndexFieldNumber = 4,
1683  kQcoefficientFieldNumber = 5,
1686  };
1687  // repeated int32 var_index = 1;
1688  int var_index_size() const;
1689  private:
1690  int _internal_var_index_size() const;
1691  public:
1692  void clear_var_index();
1693  private:
1694  int32_t _internal_var_index(int index) const;
1695  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
1696  _internal_var_index() const;
1697  void _internal_add_var_index(int32_t value);
1698  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
1699  _internal_mutable_var_index();
1700  public:
1701  int32_t var_index(int index) const;
1702  void set_var_index(int index, int32_t value);
1703  void add_var_index(int32_t value);
1704  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
1705  var_index() const;
1706  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
1707  mutable_var_index();
1708 
1709  // repeated double coefficient = 2;
1710  int coefficient_size() const;
1711  private:
1712  int _internal_coefficient_size() const;
1713  public:
1714  void clear_coefficient();
1715  private:
1716  double _internal_coefficient(int index) const;
1717  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
1718  _internal_coefficient() const;
1719  void _internal_add_coefficient(double value);
1720  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
1721  _internal_mutable_coefficient();
1722  public:
1723  double coefficient(int index) const;
1724  void set_coefficient(int index, double value);
1725  void add_coefficient(double value);
1726  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
1727  coefficient() const;
1728  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
1729  mutable_coefficient();
1730 
1731  // repeated int32 qvar1_index = 3;
1732  int qvar1_index_size() const;
1733  private:
1734  int _internal_qvar1_index_size() const;
1735  public:
1736  void clear_qvar1_index();
1737  private:
1738  int32_t _internal_qvar1_index(int index) const;
1739  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
1740  _internal_qvar1_index() const;
1741  void _internal_add_qvar1_index(int32_t value);
1742  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
1743  _internal_mutable_qvar1_index();
1744  public:
1745  int32_t qvar1_index(int index) const;
1746  void set_qvar1_index(int index, int32_t value);
1747  void add_qvar1_index(int32_t value);
1748  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
1749  qvar1_index() const;
1750  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
1751  mutable_qvar1_index();
1752 
1753  // repeated int32 qvar2_index = 4;
1754  int qvar2_index_size() const;
1755  private:
1756  int _internal_qvar2_index_size() const;
1757  public:
1758  void clear_qvar2_index();
1759  private:
1760  int32_t _internal_qvar2_index(int index) const;
1761  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
1762  _internal_qvar2_index() const;
1763  void _internal_add_qvar2_index(int32_t value);
1764  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
1765  _internal_mutable_qvar2_index();
1766  public:
1767  int32_t qvar2_index(int index) const;
1768  void set_qvar2_index(int index, int32_t value);
1769  void add_qvar2_index(int32_t value);
1770  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
1771  qvar2_index() const;
1772  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
1773  mutable_qvar2_index();
1774 
1775  // repeated double qcoefficient = 5;
1776  int qcoefficient_size() const;
1777  private:
1778  int _internal_qcoefficient_size() const;
1779  public:
1780  void clear_qcoefficient();
1781  private:
1782  double _internal_qcoefficient(int index) const;
1783  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
1784  _internal_qcoefficient() const;
1785  void _internal_add_qcoefficient(double value);
1786  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
1787  _internal_mutable_qcoefficient();
1788  public:
1789  double qcoefficient(int index) const;
1790  void set_qcoefficient(int index, double value);
1791  void add_qcoefficient(double value);
1792  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
1793  qcoefficient() const;
1794  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
1795  mutable_qcoefficient();
1796 
1797  // optional double lower_bound = 6 [default = -inf];
1798  bool has_lower_bound() const;
1799  private:
1800  bool _internal_has_lower_bound() const;
1801  public:
1802  void clear_lower_bound();
1803  double lower_bound() const;
1804  void set_lower_bound(double value);
1805  private:
1806  double _internal_lower_bound() const;
1807  void _internal_set_lower_bound(double value);
1808  public:
1809 
1810  // optional double upper_bound = 7 [default = inf];
1811  bool has_upper_bound() const;
1812  private:
1813  bool _internal_has_upper_bound() const;
1814  public:
1815  void clear_upper_bound();
1816  double upper_bound() const;
1817  void set_upper_bound(double value);
1818  private:
1819  double _internal_upper_bound() const;
1820  void _internal_set_upper_bound(double value);
1821  public:
1822 
1823  // @@protoc_insertion_point(class_scope:operations_research.MPQuadraticConstraint)
1824  private:
1825  class _Internal;
1826 
1827  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1828  typedef void InternalArenaConstructable_;
1829  typedef void DestructorSkippable_;
1830  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
1831  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1832  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > var_index_;
1833  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > coefficient_;
1834  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > qvar1_index_;
1835  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > qvar2_index_;
1836  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > qcoefficient_;
1837  double lower_bound_;
1838  double upper_bound_;
1839  friend struct ::TableStruct_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
1840 };
1841 // -------------------------------------------------------------------
1842 
1843 class MPAbsConstraint final :
1844  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.MPAbsConstraint) */ {
1845  public:
1846  inline MPAbsConstraint() : MPAbsConstraint(nullptr) {}
1847  ~MPAbsConstraint() override;
1848  explicit constexpr MPAbsConstraint(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
1849 
1850  MPAbsConstraint(const MPAbsConstraint& from);
1852  : MPAbsConstraint() {
1853  *this = ::std::move(from);
1854  }
1855 
1857  CopyFrom(from);
1858  return *this;
1859  }
1860  inline MPAbsConstraint& operator=(MPAbsConstraint&& from) noexcept {
1861  if (this == &from) return *this;
1862  if (GetOwningArena() == from.GetOwningArena()
1863  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
1864  && GetOwningArena() != nullptr
1865  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
1866  ) {
1867  InternalSwap(&from);
1868  } else {
1869  CopyFrom(from);
1870  }
1871  return *this;
1872  }
1873 
1874  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
1875  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
1876  }
1877  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
1878  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1879  }
1880 
1881  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1882  return GetDescriptor();
1883  }
1884  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1885  return default_instance().GetMetadata().descriptor;
1886  }
1887  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1888  return default_instance().GetMetadata().reflection;
1889  }
1891  return *internal_default_instance();
1892  }
1894  return reinterpret_cast<const MPAbsConstraint*>(
1896  }
1897  static constexpr int kIndexInFileMessages =
1898  6;
1899 
1900  friend void swap(MPAbsConstraint& a, MPAbsConstraint& b) {
1901  a.Swap(&b);
1902  }
1903  inline void Swap(MPAbsConstraint* other) {
1904  if (other == this) return;
1905  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
1906  if (GetOwningArena() != nullptr &&
1907  GetOwningArena() == other->GetOwningArena()) {
1908  #else // PROTOBUF_FORCE_COPY_IN_SWAP
1909  if (GetOwningArena() == other->GetOwningArena()) {
1910  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
1911  InternalSwap(other);
1912  } else {
1913  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1914  }
1915  }
1917  if (other == this) return;
1918  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
1919  InternalSwap(other);
1920  }
1921 
1922  // implements Message ----------------------------------------------
1923 
1924  MPAbsConstraint* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
1925  return CreateMaybeMessage<MPAbsConstraint>(arena);
1926  }
1927  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
1928  void CopyFrom(const MPAbsConstraint& from);
1929  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
1930  void MergeFrom(const MPAbsConstraint& from);
1931  private:
1932  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
1933  public:
1934  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1935  bool IsInitialized() const final;
1936 
1937  size_t ByteSizeLong() const final;
1938  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1939  uint8_t* _InternalSerialize(
1940  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1941  int GetCachedSize() const final { return _cached_size_.Get(); }
1942 
1943  private:
1944  void SharedCtor();
1945  void SharedDtor();
1946  void SetCachedSize(int size) const final;
1947  void InternalSwap(MPAbsConstraint* other);
1948 
1949  private:
1950  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1951  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1952  return "operations_research.MPAbsConstraint";
1953  }
1954  protected:
1955  explicit MPAbsConstraint(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1956  bool is_message_owned = false);
1957  private:
1958  static void ArenaDtor(void* object);
1959  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1960  public:
1961 
1962  static const ClassData _class_data_;
1963  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
1964 
1965  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1966 
1967  // nested types ----------------------------------------------------
1968 
1969  // accessors -------------------------------------------------------
1970 
1971  enum : int {
1972  kVarIndexFieldNumber = 1,
1973  kResultantVarIndexFieldNumber = 2,
1974  };
1975  // optional int32 var_index = 1;
1976  bool has_var_index() const;
1977  private:
1978  bool _internal_has_var_index() const;
1979  public:
1980  void clear_var_index();
1981  int32_t var_index() const;
1982  void set_var_index(int32_t value);
1983  private:
1984  int32_t _internal_var_index() const;
1985  void _internal_set_var_index(int32_t value);
1986  public:
1987 
1988  // optional int32 resultant_var_index = 2;
1989  bool has_resultant_var_index() const;
1990  private:
1991  bool _internal_has_resultant_var_index() const;
1992  public:
1993  void clear_resultant_var_index();
1994  int32_t resultant_var_index() const;
1995  void set_resultant_var_index(int32_t value);
1996  private:
1997  int32_t _internal_resultant_var_index() const;
1998  void _internal_set_resultant_var_index(int32_t value);
1999  public:
2000 
2001  // @@protoc_insertion_point(class_scope:operations_research.MPAbsConstraint)
2002  private:
2003  class _Internal;
2004 
2005  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2006  typedef void InternalArenaConstructable_;
2007  typedef void DestructorSkippable_;
2008  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
2009  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2010  int32_t var_index_;
2011  int32_t resultant_var_index_;
2012  friend struct ::TableStruct_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
2013 };
2014 // -------------------------------------------------------------------
2015 
2016 class MPArrayConstraint final :
2017  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.MPArrayConstraint) */ {
2018  public:
2019  inline MPArrayConstraint() : MPArrayConstraint(nullptr) {}
2020  ~MPArrayConstraint() override;
2021  explicit constexpr MPArrayConstraint(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
2022 
2023  MPArrayConstraint(const MPArrayConstraint& from);
2025  : MPArrayConstraint() {
2026  *this = ::std::move(from);
2027  }
2028 
2030  CopyFrom(from);
2031  return *this;
2032  }
2033  inline MPArrayConstraint& operator=(MPArrayConstraint&& from) noexcept {
2034  if (this == &from) return *this;
2035  if (GetOwningArena() == from.GetOwningArena()
2036  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
2037  && GetOwningArena() != nullptr
2038  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
2039  ) {
2040  InternalSwap(&from);
2041  } else {
2042  CopyFrom(from);
2043  }
2044  return *this;
2045  }
2046 
2047  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
2048  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
2049  }
2050  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
2051  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2052  }
2053 
2054  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2055  return GetDescriptor();
2056  }
2057  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2058  return default_instance().GetMetadata().descriptor;
2059  }
2060  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2061  return default_instance().GetMetadata().reflection;
2062  }
2064  return *internal_default_instance();
2065  }
2067  return reinterpret_cast<const MPArrayConstraint*>(
2069  }
2070  static constexpr int kIndexInFileMessages =
2071  7;
2072 
2074  a.Swap(&b);
2075  }
2076  inline void Swap(MPArrayConstraint* other) {
2077  if (other == this) return;
2078  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
2079  if (GetOwningArena() != nullptr &&
2080  GetOwningArena() == other->GetOwningArena()) {
2081  #else // PROTOBUF_FORCE_COPY_IN_SWAP
2082  if (GetOwningArena() == other->GetOwningArena()) {
2083  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
2084  InternalSwap(other);
2085  } else {
2086  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2087  }
2088  }
2090  if (other == this) return;
2091  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
2092  InternalSwap(other);
2093  }
2094 
2095  // implements Message ----------------------------------------------
2096 
2097  MPArrayConstraint* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
2098  return CreateMaybeMessage<MPArrayConstraint>(arena);
2099  }
2100  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
2101  void CopyFrom(const MPArrayConstraint& from);
2102  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
2103  void MergeFrom(const MPArrayConstraint& from);
2104  private:
2105  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
2106  public:
2107  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2108  bool IsInitialized() const final;
2109 
2110  size_t ByteSizeLong() const final;
2111  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2112  uint8_t* _InternalSerialize(
2113  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2114  int GetCachedSize() const final { return _cached_size_.Get(); }
2115 
2116  private:
2117  void SharedCtor();
2118  void SharedDtor();
2119  void SetCachedSize(int size) const final;
2120  void InternalSwap(MPArrayConstraint* other);
2121 
2122  private:
2123  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2124  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2125  return "operations_research.MPArrayConstraint";
2126  }
2127  protected:
2128  explicit MPArrayConstraint(::PROTOBUF_NAMESPACE_ID::Arena* arena,
2129  bool is_message_owned = false);
2130  private:
2131  static void ArenaDtor(void* object);
2132  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2133  public:
2134 
2135  static const ClassData _class_data_;
2136  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
2137 
2138  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2139 
2140  // nested types ----------------------------------------------------
2141 
2142  // accessors -------------------------------------------------------
2143 
2144  enum : int {
2145  kVarIndexFieldNumber = 1,
2146  kResultantVarIndexFieldNumber = 2,
2147  };
2148  // repeated int32 var_index = 1;
2149  int var_index_size() const;
2150  private:
2151  int _internal_var_index_size() const;
2152  public:
2153  void clear_var_index();
2154  private:
2155  int32_t _internal_var_index(int index) const;
2156  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2157  _internal_var_index() const;
2158  void _internal_add_var_index(int32_t value);
2159  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2160  _internal_mutable_var_index();
2161  public:
2162  int32_t var_index(int index) const;
2163  void set_var_index(int index, int32_t value);
2164  void add_var_index(int32_t value);
2165  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2166  var_index() const;
2167  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2168  mutable_var_index();
2169 
2170  // optional int32 resultant_var_index = 2;
2171  bool has_resultant_var_index() const;
2172  private:
2173  bool _internal_has_resultant_var_index() const;
2174  public:
2175  void clear_resultant_var_index();
2176  int32_t resultant_var_index() const;
2177  void set_resultant_var_index(int32_t value);
2178  private:
2179  int32_t _internal_resultant_var_index() const;
2180  void _internal_set_resultant_var_index(int32_t value);
2181  public:
2182 
2183  // @@protoc_insertion_point(class_scope:operations_research.MPArrayConstraint)
2184  private:
2185  class _Internal;
2186 
2187  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2188  typedef void InternalArenaConstructable_;
2189  typedef void DestructorSkippable_;
2190  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
2191  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2192  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > var_index_;
2193  int32_t resultant_var_index_;
2194  friend struct ::TableStruct_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
2195 };
2196 // -------------------------------------------------------------------
2197 
2199  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.MPArrayWithConstantConstraint) */ {
2200  public:
2202  ~MPArrayWithConstantConstraint() override;
2203  explicit constexpr MPArrayWithConstantConstraint(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
2204 
2208  *this = ::std::move(from);
2209  }
2210 
2212  CopyFrom(from);
2213  return *this;
2214  }
2216  if (this == &from) return *this;
2217  if (GetOwningArena() == from.GetOwningArena()
2218  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
2219  && GetOwningArena() != nullptr
2220  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
2221  ) {
2222  InternalSwap(&from);
2223  } else {
2224  CopyFrom(from);
2225  }
2226  return *this;
2227  }
2228 
2229  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
2230  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
2231  }
2232  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
2233  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2234  }
2235 
2236  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2237  return GetDescriptor();
2238  }
2239  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2240  return default_instance().GetMetadata().descriptor;
2241  }
2242  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2243  return default_instance().GetMetadata().reflection;
2244  }
2246  return *internal_default_instance();
2247  }
2249  return reinterpret_cast<const MPArrayWithConstantConstraint*>(
2251  }
2252  static constexpr int kIndexInFileMessages =
2253  8;
2254 
2256  a.Swap(&b);
2257  }
2258  inline void Swap(MPArrayWithConstantConstraint* other) {
2259  if (other == this) return;
2260  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
2261  if (GetOwningArena() != nullptr &&
2262  GetOwningArena() == other->GetOwningArena()) {
2263  #else // PROTOBUF_FORCE_COPY_IN_SWAP
2264  if (GetOwningArena() == other->GetOwningArena()) {
2265  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
2266  InternalSwap(other);
2267  } else {
2268  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2269  }
2270  }
2272  if (other == this) return;
2273  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
2274  InternalSwap(other);
2275  }
2276 
2277  // implements Message ----------------------------------------------
2278 
2279  MPArrayWithConstantConstraint* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
2280  return CreateMaybeMessage<MPArrayWithConstantConstraint>(arena);
2281  }
2282  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
2283  void CopyFrom(const MPArrayWithConstantConstraint& from);
2284  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
2285  void MergeFrom(const MPArrayWithConstantConstraint& from);
2286  private:
2287  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
2288  public:
2289  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2290  bool IsInitialized() const final;
2291 
2292  size_t ByteSizeLong() const final;
2293  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2294  uint8_t* _InternalSerialize(
2295  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2296  int GetCachedSize() const final { return _cached_size_.Get(); }
2297 
2298  private:
2299  void SharedCtor();
2300  void SharedDtor();
2301  void SetCachedSize(int size) const final;
2302  void InternalSwap(MPArrayWithConstantConstraint* other);
2303 
2304  private:
2305  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2306  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2307  return "operations_research.MPArrayWithConstantConstraint";
2308  }
2309  protected:
2310  explicit MPArrayWithConstantConstraint(::PROTOBUF_NAMESPACE_ID::Arena* arena,
2311  bool is_message_owned = false);
2312  private:
2313  static void ArenaDtor(void* object);
2314  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2315  public:
2316 
2317  static const ClassData _class_data_;
2318  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
2319 
2320  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2321 
2322  // nested types ----------------------------------------------------
2323 
2324  // accessors -------------------------------------------------------
2325 
2326  enum : int {
2327  kVarIndexFieldNumber = 1,
2328  kConstantFieldNumber = 2,
2329  kResultantVarIndexFieldNumber = 3,
2330  };
2331  // repeated int32 var_index = 1;
2332  int var_index_size() const;
2333  private:
2334  int _internal_var_index_size() const;
2335  public:
2336  void clear_var_index();
2337  private:
2338  int32_t _internal_var_index(int index) const;
2339  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2340  _internal_var_index() const;
2341  void _internal_add_var_index(int32_t value);
2342  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2343  _internal_mutable_var_index();
2344  public:
2345  int32_t var_index(int index) const;
2346  void set_var_index(int index, int32_t value);
2347  void add_var_index(int32_t value);
2348  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2349  var_index() const;
2350  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2351  mutable_var_index();
2352 
2353  // optional double constant = 2;
2354  bool has_constant() const;
2355  private:
2356  bool _internal_has_constant() const;
2357  public:
2358  void clear_constant();
2359  double constant() const;
2360  void set_constant(double value);
2361  private:
2362  double _internal_constant() const;
2363  void _internal_set_constant(double value);
2364  public:
2365 
2366  // optional int32 resultant_var_index = 3;
2367  bool has_resultant_var_index() const;
2368  private:
2369  bool _internal_has_resultant_var_index() const;
2370  public:
2371  void clear_resultant_var_index();
2372  int32_t resultant_var_index() const;
2373  void set_resultant_var_index(int32_t value);
2374  private:
2375  int32_t _internal_resultant_var_index() const;
2376  void _internal_set_resultant_var_index(int32_t value);
2377  public:
2378 
2379  // @@protoc_insertion_point(class_scope:operations_research.MPArrayWithConstantConstraint)
2380  private:
2381  class _Internal;
2382 
2383  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2384  typedef void InternalArenaConstructable_;
2385  typedef void DestructorSkippable_;
2386  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
2387  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2388  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > var_index_;
2389  double constant_;
2390  int32_t resultant_var_index_;
2391  friend struct ::TableStruct_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
2392 };
2393 // -------------------------------------------------------------------
2394 
2396  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.MPQuadraticObjective) */ {
2397  public:
2399  ~MPQuadraticObjective() override;
2400  explicit constexpr MPQuadraticObjective(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
2401 
2404  : MPQuadraticObjective() {
2405  *this = ::std::move(from);
2406  }
2407 
2409  CopyFrom(from);
2410  return *this;
2411  }
2413  if (this == &from) return *this;
2414  if (GetOwningArena() == from.GetOwningArena()
2415  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
2416  && GetOwningArena() != nullptr
2417  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
2418  ) {
2419  InternalSwap(&from);
2420  } else {
2421  CopyFrom(from);
2422  }
2423  return *this;
2424  }
2425 
2426  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
2427  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
2428  }
2429  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
2430  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2431  }
2432 
2433  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2434  return GetDescriptor();
2435  }
2436  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2437  return default_instance().GetMetadata().descriptor;
2438  }
2439  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2440  return default_instance().GetMetadata().reflection;
2441  }
2443  return *internal_default_instance();
2444  }
2446  return reinterpret_cast<const MPQuadraticObjective*>(
2448  }
2449  static constexpr int kIndexInFileMessages =
2450  9;
2451 
2453  a.Swap(&b);
2454  }
2455  inline void Swap(MPQuadraticObjective* other) {
2456  if (other == this) return;
2457  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
2458  if (GetOwningArena() != nullptr &&
2459  GetOwningArena() == other->GetOwningArena()) {
2460  #else // PROTOBUF_FORCE_COPY_IN_SWAP
2461  if (GetOwningArena() == other->GetOwningArena()) {
2462  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
2463  InternalSwap(other);
2464  } else {
2465  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2466  }
2467  }
2469  if (other == this) return;
2470  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
2471  InternalSwap(other);
2472  }
2473 
2474  // implements Message ----------------------------------------------
2475 
2476  MPQuadraticObjective* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
2477  return CreateMaybeMessage<MPQuadraticObjective>(arena);
2478  }
2479  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
2480  void CopyFrom(const MPQuadraticObjective& from);
2481  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
2482  void MergeFrom(const MPQuadraticObjective& from);
2483  private:
2484  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
2485  public:
2486  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2487  bool IsInitialized() const final;
2488 
2489  size_t ByteSizeLong() const final;
2490  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2491  uint8_t* _InternalSerialize(
2492  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2493  int GetCachedSize() const final { return _cached_size_.Get(); }
2494 
2495  private:
2496  void SharedCtor();
2497  void SharedDtor();
2498  void SetCachedSize(int size) const final;
2499  void InternalSwap(MPQuadraticObjective* other);
2500 
2501  private:
2502  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2503  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2504  return "operations_research.MPQuadraticObjective";
2505  }
2506  protected:
2507  explicit MPQuadraticObjective(::PROTOBUF_NAMESPACE_ID::Arena* arena,
2508  bool is_message_owned = false);
2509  private:
2510  static void ArenaDtor(void* object);
2511  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2512  public:
2513 
2514  static const ClassData _class_data_;
2515  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
2516 
2517  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2518 
2519  // nested types ----------------------------------------------------
2520 
2521  // accessors -------------------------------------------------------
2522 
2523  enum : int {
2524  kQvar1IndexFieldNumber = 1,
2525  kQvar2IndexFieldNumber = 2,
2526  kCoefficientFieldNumber = 3,
2527  };
2528  // repeated int32 qvar1_index = 1;
2529  int qvar1_index_size() const;
2530  private:
2531  int _internal_qvar1_index_size() const;
2532  public:
2533  void clear_qvar1_index();
2534  private:
2535  int32_t _internal_qvar1_index(int index) const;
2536  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2537  _internal_qvar1_index() const;
2538  void _internal_add_qvar1_index(int32_t value);
2539  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2540  _internal_mutable_qvar1_index();
2541  public:
2542  int32_t qvar1_index(int index) const;
2543  void set_qvar1_index(int index, int32_t value);
2544  void add_qvar1_index(int32_t value);
2545  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2546  qvar1_index() const;
2547  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2548  mutable_qvar1_index();
2549 
2550  // repeated int32 qvar2_index = 2;
2551  int qvar2_index_size() const;
2552  private:
2553  int _internal_qvar2_index_size() const;
2554  public:
2555  void clear_qvar2_index();
2556  private:
2557  int32_t _internal_qvar2_index(int index) const;
2558  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2559  _internal_qvar2_index() const;
2560  void _internal_add_qvar2_index(int32_t value);
2561  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2562  _internal_mutable_qvar2_index();
2563  public:
2564  int32_t qvar2_index(int index) const;
2565  void set_qvar2_index(int index, int32_t value);
2566  void add_qvar2_index(int32_t value);
2567  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2568  qvar2_index() const;
2569  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2570  mutable_qvar2_index();
2571 
2572  // repeated double coefficient = 3;
2573  int coefficient_size() const;
2574  private:
2575  int _internal_coefficient_size() const;
2576  public:
2577  void clear_coefficient();
2578  private:
2579  double _internal_coefficient(int index) const;
2580  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
2581  _internal_coefficient() const;
2582  void _internal_add_coefficient(double value);
2583  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
2584  _internal_mutable_coefficient();
2585  public:
2586  double coefficient(int index) const;
2587  void set_coefficient(int index, double value);
2588  void add_coefficient(double value);
2589  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
2590  coefficient() const;
2591  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
2592  mutable_coefficient();
2593 
2594  // @@protoc_insertion_point(class_scope:operations_research.MPQuadraticObjective)
2595  private:
2596  class _Internal;
2597 
2598  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2599  typedef void InternalArenaConstructable_;
2600  typedef void DestructorSkippable_;
2601  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > qvar1_index_;
2602  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > qvar2_index_;
2603  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > coefficient_;
2604  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2605  friend struct ::TableStruct_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
2606 };
2607 // -------------------------------------------------------------------
2608 
2610  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.PartialVariableAssignment) */ {
2611  public:
2613  ~PartialVariableAssignment() override;
2614  explicit constexpr PartialVariableAssignment(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
2615 
2619  *this = ::std::move(from);
2620  }
2621 
2623  CopyFrom(from);
2624  return *this;
2625  }
2627  if (this == &from) return *this;
2628  if (GetOwningArena() == from.GetOwningArena()
2629  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
2630  && GetOwningArena() != nullptr
2631  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
2632  ) {
2633  InternalSwap(&from);
2634  } else {
2635  CopyFrom(from);
2636  }
2637  return *this;
2638  }
2639 
2640  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
2641  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
2642  }
2643  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
2644  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2645  }
2646 
2647  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2648  return GetDescriptor();
2649  }
2650  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2651  return default_instance().GetMetadata().descriptor;
2652  }
2653  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2654  return default_instance().GetMetadata().reflection;
2655  }
2657  return *internal_default_instance();
2658  }
2660  return reinterpret_cast<const PartialVariableAssignment*>(
2662  }
2663  static constexpr int kIndexInFileMessages =
2664  10;
2665 
2667  a.Swap(&b);
2668  }
2669  inline void Swap(PartialVariableAssignment* other) {
2670  if (other == this) return;
2671  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
2672  if (GetOwningArena() != nullptr &&
2673  GetOwningArena() == other->GetOwningArena()) {
2674  #else // PROTOBUF_FORCE_COPY_IN_SWAP
2675  if (GetOwningArena() == other->GetOwningArena()) {
2676  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
2677  InternalSwap(other);
2678  } else {
2679  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2680  }
2681  }
2683  if (other == this) return;
2684  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
2685  InternalSwap(other);
2686  }
2687 
2688  // implements Message ----------------------------------------------
2689 
2690  PartialVariableAssignment* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
2691  return CreateMaybeMessage<PartialVariableAssignment>(arena);
2692  }
2693  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
2694  void CopyFrom(const PartialVariableAssignment& from);
2695  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
2696  void MergeFrom(const PartialVariableAssignment& from);
2697  private:
2698  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
2699  public:
2700  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2701  bool IsInitialized() const final;
2702 
2703  size_t ByteSizeLong() const final;
2704  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2705  uint8_t* _InternalSerialize(
2706  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2707  int GetCachedSize() const final { return _cached_size_.Get(); }
2708 
2709  private:
2710  void SharedCtor();
2711  void SharedDtor();
2712  void SetCachedSize(int size) const final;
2713  void InternalSwap(PartialVariableAssignment* other);
2714 
2715  private:
2716  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2717  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2718  return "operations_research.PartialVariableAssignment";
2719  }
2720  protected:
2721  explicit PartialVariableAssignment(::PROTOBUF_NAMESPACE_ID::Arena* arena,
2722  bool is_message_owned = false);
2723  private:
2724  static void ArenaDtor(void* object);
2725  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2726  public:
2727 
2728  static const ClassData _class_data_;
2729  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
2730 
2731  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2732 
2733  // nested types ----------------------------------------------------
2734 
2735  // accessors -------------------------------------------------------
2736 
2737  enum : int {
2738  kVarIndexFieldNumber = 1,
2739  kVarValueFieldNumber = 2,
2740  };
2741  // repeated int32 var_index = 1 [packed = true];
2742  int var_index_size() const;
2743  private:
2744  int _internal_var_index_size() const;
2745  public:
2746  void clear_var_index();
2747  private:
2748  int32_t _internal_var_index(int index) const;
2749  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2750  _internal_var_index() const;
2751  void _internal_add_var_index(int32_t value);
2752  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2753  _internal_mutable_var_index();
2754  public:
2755  int32_t var_index(int index) const;
2756  void set_var_index(int index, int32_t value);
2757  void add_var_index(int32_t value);
2758  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
2759  var_index() const;
2760  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
2761  mutable_var_index();
2762 
2763  // repeated double var_value = 2 [packed = true];
2764  int var_value_size() const;
2765  private:
2766  int _internal_var_value_size() const;
2767  public:
2768  void clear_var_value();
2769  private:
2770  double _internal_var_value(int index) const;
2771  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
2772  _internal_var_value() const;
2773  void _internal_add_var_value(double value);
2774  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
2775  _internal_mutable_var_value();
2776  public:
2777  double var_value(int index) const;
2778  void set_var_value(int index, double value);
2779  void add_var_value(double value);
2780  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
2781  var_value() const;
2782  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
2783  mutable_var_value();
2784 
2785  // @@protoc_insertion_point(class_scope:operations_research.PartialVariableAssignment)
2786  private:
2787  class _Internal;
2788 
2789  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2790  typedef void InternalArenaConstructable_;
2791  typedef void DestructorSkippable_;
2792  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > var_index_;
2793  mutable std::atomic<int> _var_index_cached_byte_size_;
2794  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > var_value_;
2795  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2796  friend struct ::TableStruct_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
2797 };
2798 // -------------------------------------------------------------------
2799 
2800 class MPModelProto final :
2801  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.MPModelProto) */ {
2802  public:
2803  inline MPModelProto() : MPModelProto(nullptr) {}
2804  ~MPModelProto() override;
2805  explicit constexpr MPModelProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
2806 
2807  MPModelProto(const MPModelProto& from);
2808  MPModelProto(MPModelProto&& from) noexcept
2809  : MPModelProto() {
2810  *this = ::std::move(from);
2811  }
2812 
2813  inline MPModelProto& operator=(const MPModelProto& from) {
2814  CopyFrom(from);
2815  return *this;
2816  }
2817  inline MPModelProto& operator=(MPModelProto&& from) noexcept {
2818  if (this == &from) return *this;
2819  if (GetOwningArena() == from.GetOwningArena()
2820  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
2821  && GetOwningArena() != nullptr
2822  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
2823  ) {
2824  InternalSwap(&from);
2825  } else {
2826  CopyFrom(from);
2827  }
2828  return *this;
2829  }
2830 
2831  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
2832  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
2833  }
2834  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
2835  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2836  }
2837 
2838  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2839  return GetDescriptor();
2840  }
2841  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2842  return default_instance().GetMetadata().descriptor;
2843  }
2844  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2845  return default_instance().GetMetadata().reflection;
2846  }
2847  static const MPModelProto& default_instance() {
2848  return *internal_default_instance();
2849  }
2850  static inline const MPModelProto* internal_default_instance() {
2851  return reinterpret_cast<const MPModelProto*>(
2853  }
2854  static constexpr int kIndexInFileMessages =
2855  11;
2856 
2857  friend void swap(MPModelProto& a, MPModelProto& b) {
2858  a.Swap(&b);
2859  }
2860  inline void Swap(MPModelProto* other) {
2861  if (other == this) return;
2862  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
2863  if (GetOwningArena() != nullptr &&
2864  GetOwningArena() == other->GetOwningArena()) {
2865  #else // PROTOBUF_FORCE_COPY_IN_SWAP
2866  if (GetOwningArena() == other->GetOwningArena()) {
2867  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
2868  InternalSwap(other);
2869  } else {
2870  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2871  }
2872  }
2874  if (other == this) return;
2875  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
2876  InternalSwap(other);
2877  }
2878 
2879  // implements Message ----------------------------------------------
2880 
2881  MPModelProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
2882  return CreateMaybeMessage<MPModelProto>(arena);
2883  }
2884  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
2885  void CopyFrom(const MPModelProto& from);
2886  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
2887  void MergeFrom(const MPModelProto& from);
2888  private:
2889  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
2890  public:
2891  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2892  bool IsInitialized() const final;
2893 
2894  size_t ByteSizeLong() const final;
2895  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2896  uint8_t* _InternalSerialize(
2897  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2898  int GetCachedSize() const final { return _cached_size_.Get(); }
2899 
2900  private:
2901  void SharedCtor();
2902  void SharedDtor();
2903  void SetCachedSize(int size) const final;
2904  void InternalSwap(MPModelProto* other);
2905 
2906  private:
2907  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2908  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2909  return "operations_research.MPModelProto";
2910  }
2911  protected:
2912  explicit MPModelProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
2913  bool is_message_owned = false);
2914  private:
2915  static void ArenaDtor(void* object);
2916  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2917  public:
2918 
2919  static const ClassData _class_data_;
2920  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
2921 
2922  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2923 
2924  // nested types ----------------------------------------------------
2925 
2926  // accessors -------------------------------------------------------
2927 
2928  enum : int {
2929  kVariableFieldNumber = 3,
2930  kConstraintFieldNumber = 4,
2931  kGeneralConstraintFieldNumber = 7,
2933  kSolutionHintFieldNumber = 6,
2934  kQuadraticObjectiveFieldNumber = 8,
2935  kObjectiveOffsetFieldNumber = 2,
2936  kMaximizeFieldNumber = 1,
2937  };
2938  // repeated .operations_research.MPVariableProto variable = 3;
2939  int variable_size() const;
2940  private:
2941  int _internal_variable_size() const;
2942  public:
2943  void clear_variable();
2944  ::operations_research::MPVariableProto* mutable_variable(int index);
2945  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::MPVariableProto >*
2946  mutable_variable();
2947  private:
2948  const ::operations_research::MPVariableProto& _internal_variable(int index) const;
2949  ::operations_research::MPVariableProto* _internal_add_variable();
2950  public:
2951  const ::operations_research::MPVariableProto& variable(int index) const;
2953  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::MPVariableProto >&
2954  variable() const;
2955 
2956  // repeated .operations_research.MPConstraintProto constraint = 4;
2957  int constraint_size() const;
2958  private:
2959  int _internal_constraint_size() const;
2960  public:
2961  void clear_constraint();
2962  ::operations_research::MPConstraintProto* mutable_constraint(int index);
2963  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::MPConstraintProto >*
2964  mutable_constraint();
2965  private:
2966  const ::operations_research::MPConstraintProto& _internal_constraint(int index) const;
2967  ::operations_research::MPConstraintProto* _internal_add_constraint();
2968  public:
2969  const ::operations_research::MPConstraintProto& constraint(int index) const;
2970  ::operations_research::MPConstraintProto* add_constraint();
2971  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::MPConstraintProto >&
2972  constraint() const;
2973 
2974  // repeated .operations_research.MPGeneralConstraintProto general_constraint = 7;
2975  int general_constraint_size() const;
2976  private:
2977  int _internal_general_constraint_size() const;
2978  public:
2979  void clear_general_constraint();
2980  ::operations_research::MPGeneralConstraintProto* mutable_general_constraint(int index);
2981  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::MPGeneralConstraintProto >*
2982  mutable_general_constraint();
2983  private:
2984  const ::operations_research::MPGeneralConstraintProto& _internal_general_constraint(int index) const;
2985  ::operations_research::MPGeneralConstraintProto* _internal_add_general_constraint();
2986  public:
2987  const ::operations_research::MPGeneralConstraintProto& general_constraint(int index) const;
2988  ::operations_research::MPGeneralConstraintProto* add_general_constraint();
2989  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::MPGeneralConstraintProto >&
2990  general_constraint() const;
2991 
2992  // optional string name = 5 [default = ""];
2993  bool has_name() const;
2994  private:
2995  bool _internal_has_name() const;
2996  public:
2997  void clear_name();
2998  const std::string& name() const;
2999  template <typename ArgT0 = const std::string&, typename... ArgT>
3000  void set_name(ArgT0&& arg0, ArgT... args);
3001  std::string* mutable_name();
3002  PROTOBUF_NODISCARD std::string* release_name();
3003  void set_allocated_name(std::string* name);
3004  private:
3005  const std::string& _internal_name() const;
3006  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
3007  std::string* _internal_mutable_name();
3008  public:
3009 
3010  // optional .operations_research.PartialVariableAssignment solution_hint = 6;
3011  bool has_solution_hint() const;
3012  private:
3013  bool _internal_has_solution_hint() const;
3014  public:
3015  void clear_solution_hint();
3016  const ::operations_research::PartialVariableAssignment& solution_hint() const;
3017  PROTOBUF_NODISCARD ::operations_research::PartialVariableAssignment* release_solution_hint();
3018  ::operations_research::PartialVariableAssignment* mutable_solution_hint();
3019  void set_allocated_solution_hint(::operations_research::PartialVariableAssignment* solution_hint);
3020  private:
3021  const ::operations_research::PartialVariableAssignment& _internal_solution_hint() const;
3022  ::operations_research::PartialVariableAssignment* _internal_mutable_solution_hint();
3023  public:
3024  void unsafe_arena_set_allocated_solution_hint(
3026  ::operations_research::PartialVariableAssignment* unsafe_arena_release_solution_hint();
3027 
3028  // optional .operations_research.MPQuadraticObjective quadratic_objective = 8;
3029  bool has_quadratic_objective() const;
3030  private:
3031  bool _internal_has_quadratic_objective() const;
3032  public:
3033  void clear_quadratic_objective();
3034  const ::operations_research::MPQuadraticObjective& quadratic_objective() const;
3035  PROTOBUF_NODISCARD ::operations_research::MPQuadraticObjective* release_quadratic_objective();
3036  ::operations_research::MPQuadraticObjective* mutable_quadratic_objective();
3037  void set_allocated_quadratic_objective(::operations_research::MPQuadraticObjective* quadratic_objective);
3038  private:
3039  const ::operations_research::MPQuadraticObjective& _internal_quadratic_objective() const;
3040  ::operations_research::MPQuadraticObjective* _internal_mutable_quadratic_objective();
3041  public:
3042  void unsafe_arena_set_allocated_quadratic_objective(
3043  ::operations_research::MPQuadraticObjective* quadratic_objective);
3044  ::operations_research::MPQuadraticObjective* unsafe_arena_release_quadratic_objective();
3045 
3046  // optional double objective_offset = 2 [default = 0];
3047  bool has_objective_offset() const;
3048  private:
3049  bool _internal_has_objective_offset() const;
3050  public:
3051  void clear_objective_offset();
3052  double objective_offset() const;
3053  void set_objective_offset(double value);
3054  private:
3055  double _internal_objective_offset() const;
3056  void _internal_set_objective_offset(double value);
3057  public:
3058 
3059  // optional bool maximize = 1 [default = false];
3060  bool has_maximize() const;
3061  private:
3062  bool _internal_has_maximize() const;
3063  public:
3064  void clear_maximize();
3065  bool maximize() const;
3066  void set_maximize(bool value);
3067  private:
3068  bool _internal_maximize() const;
3069  void _internal_set_maximize(bool value);
3070  public:
3071 
3072  // @@protoc_insertion_point(class_scope:operations_research.MPModelProto)
3073  private:
3074  class _Internal;
3075 
3076  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3077  typedef void InternalArenaConstructable_;
3078  typedef void DestructorSkippable_;
3079  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
3080  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3081  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::MPVariableProto > variable_;
3082  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::MPConstraintProto > constraint_;
3083  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::MPGeneralConstraintProto > general_constraint_;
3084  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
3086  ::operations_research::MPQuadraticObjective* quadratic_objective_;
3087  double objective_offset_;
3088  bool maximize_;
3089  friend struct ::TableStruct_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
3090 };
3091 // -------------------------------------------------------------------
3092 
3093 class OptionalDouble final :
3094  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.OptionalDouble) */ {
3095  public:
3096  inline OptionalDouble() : OptionalDouble(nullptr) {}
3097  ~OptionalDouble() override;
3098  explicit constexpr OptionalDouble(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
3099 
3100  OptionalDouble(const OptionalDouble& from);
3102  : OptionalDouble() {
3103  *this = ::std::move(from);
3104  }
3105 
3106  inline OptionalDouble& operator=(const OptionalDouble& from) {
3107  CopyFrom(from);
3108  return *this;
3109  }
3110  inline OptionalDouble& operator=(OptionalDouble&& from) noexcept {
3111  if (this == &from) return *this;
3112  if (GetOwningArena() == from.GetOwningArena()
3113  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
3114  && GetOwningArena() != nullptr
3115  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
3116  ) {
3117  InternalSwap(&from);
3118  } else {
3119  CopyFrom(from);
3120  }
3121  return *this;
3122  }
3123 
3124  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
3125  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
3126  }
3127  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
3128  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3129  }
3130 
3131  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3132  return GetDescriptor();
3133  }
3134  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3135  return default_instance().GetMetadata().descriptor;
3136  }
3137  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3138  return default_instance().GetMetadata().reflection;
3139  }
3141  return *internal_default_instance();
3142  }
3144  return reinterpret_cast<const OptionalDouble*>(
3146  }
3147  static constexpr int kIndexInFileMessages =
3148  12;
3149 
3150  friend void swap(OptionalDouble& a, OptionalDouble& b) {
3151  a.Swap(&b);
3152  }
3153  inline void Swap(OptionalDouble* other) {
3154  if (other == this) return;
3155  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
3156  if (GetOwningArena() != nullptr &&
3157  GetOwningArena() == other->GetOwningArena()) {
3158  #else // PROTOBUF_FORCE_COPY_IN_SWAP
3159  if (GetOwningArena() == other->GetOwningArena()) {
3160  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
3161  InternalSwap(other);
3162  } else {
3163  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3164  }
3165  }
3167  if (other == this) return;
3168  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
3169  InternalSwap(other);
3170  }
3171 
3172  // implements Message ----------------------------------------------
3173 
3174  OptionalDouble* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
3175  return CreateMaybeMessage<OptionalDouble>(arena);
3176  }
3177  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
3178  void CopyFrom(const OptionalDouble& from);
3179  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
3180  void MergeFrom(const OptionalDouble& from);
3181  private:
3182  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
3183  public:
3184  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3185  bool IsInitialized() const final;
3186 
3187  size_t ByteSizeLong() const final;
3188  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3189  uint8_t* _InternalSerialize(
3190  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3191  int GetCachedSize() const final { return _cached_size_.Get(); }
3192 
3193  private:
3194  void SharedCtor();
3195  void SharedDtor();
3196  void SetCachedSize(int size) const final;
3197  void InternalSwap(OptionalDouble* other);
3198 
3199  private:
3200  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3201  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3202  return "operations_research.OptionalDouble";
3203  }
3204  protected:
3205  explicit OptionalDouble(::PROTOBUF_NAMESPACE_ID::Arena* arena,
3206  bool is_message_owned = false);
3207  private:
3208  static void ArenaDtor(void* object);
3209  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3210  public:
3211 
3212  static const ClassData _class_data_;
3213  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
3214 
3215  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3216 
3217  // nested types ----------------------------------------------------
3218 
3219  // accessors -------------------------------------------------------
3220 
3221  enum : int {
3222  kValueFieldNumber = 1,
3223  };
3224  // optional double value = 1;
3225  bool has_value() const;
3226  private:
3227  bool _internal_has_value() const;
3228  public:
3229  void clear_value();
3230  double value() const;
3231  void set_value(double value);
3232  private:
3233  double _internal_value() const;
3234  void _internal_set_value(double value);
3235  public:
3236 
3237  // @@protoc_insertion_point(class_scope:operations_research.OptionalDouble)
3238  private:
3239  class _Internal;
3240 
3241  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3242  typedef void InternalArenaConstructable_;
3243  typedef void DestructorSkippable_;
3244  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
3245  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3246  double value_;
3247  friend struct ::TableStruct_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
3248 };
3249 // -------------------------------------------------------------------
3250 
3252  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.MPSolverCommonParameters) */ {
3253  public:
3255  ~MPSolverCommonParameters() override;
3256  explicit constexpr MPSolverCommonParameters(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
3257 
3261  *this = ::std::move(from);
3262  }
3263 
3265  CopyFrom(from);
3266  return *this;
3267  }
3269  if (this == &from) return *this;
3270  if (GetOwningArena() == from.GetOwningArena()
3271  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
3272  && GetOwningArena() != nullptr
3273  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
3274  ) {
3275  InternalSwap(&from);
3276  } else {
3277  CopyFrom(from);
3278  }
3279  return *this;
3280  }
3281 
3282  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
3283  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
3284  }
3285  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
3286  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3287  }
3288 
3289  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3290  return GetDescriptor();
3291  }
3292  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3293  return default_instance().GetMetadata().descriptor;
3294  }
3295  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3296  return default_instance().GetMetadata().reflection;
3297  }
3299  return *internal_default_instance();
3300  }
3302  return reinterpret_cast<const MPSolverCommonParameters*>(
3304  }
3305  static constexpr int kIndexInFileMessages =
3306  13;
3307 
3309  a.Swap(&b);
3310  }
3311  inline void Swap(MPSolverCommonParameters* other) {
3312  if (other == this) return;
3313  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
3314  if (GetOwningArena() != nullptr &&
3315  GetOwningArena() == other->GetOwningArena()) {
3316  #else // PROTOBUF_FORCE_COPY_IN_SWAP
3317  if (GetOwningArena() == other->GetOwningArena()) {
3318  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
3319  InternalSwap(other);
3320  } else {
3321  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3322  }
3323  }
3325  if (other == this) return;
3326  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
3327  InternalSwap(other);
3328  }
3329 
3330  // implements Message ----------------------------------------------
3331 
3332  MPSolverCommonParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
3333  return CreateMaybeMessage<MPSolverCommonParameters>(arena);
3334  }
3335  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
3336  void CopyFrom(const MPSolverCommonParameters& from);
3337  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
3338  void MergeFrom(const MPSolverCommonParameters& from);
3339  private:
3340  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
3341  public:
3342  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3343  bool IsInitialized() const final;
3344 
3345  size_t ByteSizeLong() const final;
3346  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3347  uint8_t* _InternalSerialize(
3348  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3349  int GetCachedSize() const final { return _cached_size_.Get(); }
3350 
3351  private:
3352  void SharedCtor();
3353  void SharedDtor();
3354  void SetCachedSize(int size) const final;
3355  void InternalSwap(MPSolverCommonParameters* other);
3356 
3357  private:
3358  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3359  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3360  return "operations_research.MPSolverCommonParameters";
3361  }
3362  protected:
3363  explicit MPSolverCommonParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena,
3364  bool is_message_owned = false);
3365  private:
3366  static void ArenaDtor(void* object);
3367  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3368  public:
3369 
3370  static const ClassData _class_data_;
3371  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
3372 
3373  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3374 
3375  // nested types ----------------------------------------------------
3376 
3378  static constexpr LPAlgorithmValues LP_ALGO_UNSPECIFIED =
3380  static constexpr LPAlgorithmValues LP_ALGO_DUAL =
3382  static constexpr LPAlgorithmValues LP_ALGO_PRIMAL =
3384  static constexpr LPAlgorithmValues LP_ALGO_BARRIER =
3386  static inline bool LPAlgorithmValues_IsValid(int value) {
3388  }
3389  static constexpr LPAlgorithmValues LPAlgorithmValues_MIN =
3391  static constexpr LPAlgorithmValues LPAlgorithmValues_MAX =
3393  static constexpr int LPAlgorithmValues_ARRAYSIZE =
3395  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
3398  }
3399  template<typename T>
3400  static inline const std::string& LPAlgorithmValues_Name(T enum_t_value) {
3401  static_assert(::std::is_same<T, LPAlgorithmValues>::value ||
3402  ::std::is_integral<T>::value,
3403  "Incorrect type passed to function LPAlgorithmValues_Name.");
3405  }
3406  static inline bool LPAlgorithmValues_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
3407  LPAlgorithmValues* value) {
3409  }
3410 
3411  // accessors -------------------------------------------------------
3412 
3413  enum : int {
3414  kRelativeMipGapFieldNumber = 1,
3415  kPrimalToleranceFieldNumber = 2,
3416  kDualToleranceFieldNumber = 3,
3417  kLpAlgorithmFieldNumber = 4,
3418  kPresolveFieldNumber = 5,
3419  kScalingFieldNumber = 7,
3420  };
3421  // optional .operations_research.OptionalDouble relative_mip_gap = 1;
3422  bool has_relative_mip_gap() const;
3423  private:
3424  bool _internal_has_relative_mip_gap() const;
3425  public:
3426  void clear_relative_mip_gap();
3427  const ::operations_research::OptionalDouble& relative_mip_gap() const;
3428  PROTOBUF_NODISCARD ::operations_research::OptionalDouble* release_relative_mip_gap();
3429  ::operations_research::OptionalDouble* mutable_relative_mip_gap();
3430  void set_allocated_relative_mip_gap(::operations_research::OptionalDouble* relative_mip_gap);
3431  private:
3432  const ::operations_research::OptionalDouble& _internal_relative_mip_gap() const;
3433  ::operations_research::OptionalDouble* _internal_mutable_relative_mip_gap();
3434  public:
3435  void unsafe_arena_set_allocated_relative_mip_gap(
3436  ::operations_research::OptionalDouble* relative_mip_gap);
3437  ::operations_research::OptionalDouble* unsafe_arena_release_relative_mip_gap();
3438 
3439  // optional .operations_research.OptionalDouble primal_tolerance = 2;
3440  bool has_primal_tolerance() const;
3441  private:
3442  bool _internal_has_primal_tolerance() const;
3443  public:
3444  void clear_primal_tolerance();
3445  const ::operations_research::OptionalDouble& primal_tolerance() const;
3446  PROTOBUF_NODISCARD ::operations_research::OptionalDouble* release_primal_tolerance();
3447  ::operations_research::OptionalDouble* mutable_primal_tolerance();
3448  void set_allocated_primal_tolerance(::operations_research::OptionalDouble* primal_tolerance);
3449  private:
3450  const ::operations_research::OptionalDouble& _internal_primal_tolerance() const;
3451  ::operations_research::OptionalDouble* _internal_mutable_primal_tolerance();
3452  public:
3453  void unsafe_arena_set_allocated_primal_tolerance(
3454  ::operations_research::OptionalDouble* primal_tolerance);
3455  ::operations_research::OptionalDouble* unsafe_arena_release_primal_tolerance();
3456 
3457  // optional .operations_research.OptionalDouble dual_tolerance = 3;
3458  bool has_dual_tolerance() const;
3459  private:
3460  bool _internal_has_dual_tolerance() const;
3461  public:
3462  void clear_dual_tolerance();
3463  const ::operations_research::OptionalDouble& dual_tolerance() const;
3464  PROTOBUF_NODISCARD ::operations_research::OptionalDouble* release_dual_tolerance();
3465  ::operations_research::OptionalDouble* mutable_dual_tolerance();
3466  void set_allocated_dual_tolerance(::operations_research::OptionalDouble* dual_tolerance);
3467  private:
3468  const ::operations_research::OptionalDouble& _internal_dual_tolerance() const;
3469  ::operations_research::OptionalDouble* _internal_mutable_dual_tolerance();
3470  public:
3471  void unsafe_arena_set_allocated_dual_tolerance(
3472  ::operations_research::OptionalDouble* dual_tolerance);
3473  ::operations_research::OptionalDouble* unsafe_arena_release_dual_tolerance();
3474 
3475  // optional .operations_research.MPSolverCommonParameters.LPAlgorithmValues lp_algorithm = 4 [default = LP_ALGO_UNSPECIFIED];
3476  bool has_lp_algorithm() const;
3477  private:
3478  bool _internal_has_lp_algorithm() const;
3479  public:
3480  void clear_lp_algorithm();
3483  private:
3485  void _internal_set_lp_algorithm(::operations_research::MPSolverCommonParameters_LPAlgorithmValues value);
3486  public:
3487 
3488  // optional .operations_research.OptionalBoolean presolve = 5 [default = BOOL_UNSPECIFIED];
3489  bool has_presolve() const;
3490  private:
3491  bool _internal_has_presolve() const;
3492  public:
3493  void clear_presolve();
3494  ::operations_research::OptionalBoolean presolve() const;
3495  void set_presolve(::operations_research::OptionalBoolean value);
3496  private:
3497  ::operations_research::OptionalBoolean _internal_presolve() const;
3498  void _internal_set_presolve(::operations_research::OptionalBoolean value);
3499  public:
3500 
3501  // optional .operations_research.OptionalBoolean scaling = 7 [default = BOOL_UNSPECIFIED];
3502  bool has_scaling() const;
3503  private:
3504  bool _internal_has_scaling() const;
3505  public:
3506  void clear_scaling();
3507  ::operations_research::OptionalBoolean scaling() const;
3508  void set_scaling(::operations_research::OptionalBoolean value);
3509  private:
3510  ::operations_research::OptionalBoolean _internal_scaling() const;
3511  void _internal_set_scaling(::operations_research::OptionalBoolean value);
3512  public:
3513 
3514  // @@protoc_insertion_point(class_scope:operations_research.MPSolverCommonParameters)
3515  private:
3516  class _Internal;
3517 
3518  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3519  typedef void InternalArenaConstructable_;
3520  typedef void DestructorSkippable_;
3521  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
3522  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3523  ::operations_research::OptionalDouble* relative_mip_gap_;
3524  ::operations_research::OptionalDouble* primal_tolerance_;
3525  ::operations_research::OptionalDouble* dual_tolerance_;
3526  int lp_algorithm_;
3527  int presolve_;
3528  int scaling_;
3529  friend struct ::TableStruct_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
3530 };
3531 // -------------------------------------------------------------------
3532 
3533 class MPModelDeltaProto_VariableOverridesEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<MPModelDeltaProto_VariableOverridesEntry_DoNotUse,
3534  int32_t, ::operations_research::MPVariableProto,
3535  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT32,
3536  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> {
3537 public:
3538  typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<MPModelDeltaProto_VariableOverridesEntry_DoNotUse,
3540  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT32,
3541  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> SuperType;
3544  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
3545  explicit MPModelDeltaProto_VariableOverridesEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3547  static const MPModelDeltaProto_VariableOverridesEntry_DoNotUse* internal_default_instance() { return reinterpret_cast<const MPModelDeltaProto_VariableOverridesEntry_DoNotUse*>(&_MPModelDeltaProto_VariableOverridesEntry_DoNotUse_default_instance_); }
3548  static bool ValidateKey(void*) { return true; }
3549  static bool ValidateValue(void*) { return true; }
3550  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
3551  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3552 };
3553 
3554 // -------------------------------------------------------------------
3555 
3558  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT32,
3559  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> {
3560 public:
3561  typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse,
3563  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT32,
3564  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> SuperType;
3567  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
3568  explicit MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3570  static const MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse* internal_default_instance() { return reinterpret_cast<const MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse*>(&_MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse_default_instance_); }
3571  static bool ValidateKey(void*) { return true; }
3572  static bool ValidateValue(void*) { return true; }
3573  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
3574  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3575 };
3576 
3577 // -------------------------------------------------------------------
3578 
3579 class MPModelDeltaProto final :
3580  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.MPModelDeltaProto) */ {
3581  public:
3582  inline MPModelDeltaProto() : MPModelDeltaProto(nullptr) {}
3583  ~MPModelDeltaProto() override;
3584  explicit constexpr MPModelDeltaProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
3585 
3586  MPModelDeltaProto(const MPModelDeltaProto& from);
3588  : MPModelDeltaProto() {
3589  *this = ::std::move(from);
3590  }
3591 
3593  CopyFrom(from);
3594  return *this;
3595  }
3596  inline MPModelDeltaProto& operator=(MPModelDeltaProto&& from) noexcept {
3597  if (this == &from) return *this;
3598  if (GetOwningArena() == from.GetOwningArena()
3599  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
3600  && GetOwningArena() != nullptr
3601  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
3602  ) {
3603  InternalSwap(&from);
3604  } else {
3605  CopyFrom(from);
3606  }
3607  return *this;
3608  }
3609 
3610  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
3611  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
3612  }
3613  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
3614  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3615  }
3616 
3617  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3618  return GetDescriptor();
3619  }
3620  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3621  return default_instance().GetMetadata().descriptor;
3622  }
3623  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3624  return default_instance().GetMetadata().reflection;
3625  }
3627  return *internal_default_instance();
3628  }
3630  return reinterpret_cast<const MPModelDeltaProto*>(
3632  }
3633  static constexpr int kIndexInFileMessages =
3634  16;
3635 
3637  a.Swap(&b);
3638  }
3639  inline void Swap(MPModelDeltaProto* other) {
3640  if (other == this) return;
3641  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
3642  if (GetOwningArena() != nullptr &&
3643  GetOwningArena() == other->GetOwningArena()) {
3644  #else // PROTOBUF_FORCE_COPY_IN_SWAP
3645  if (GetOwningArena() == other->GetOwningArena()) {
3646  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
3647  InternalSwap(other);
3648  } else {
3649  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3650  }
3651  }
3653  if (other == this) return;
3654  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
3655  InternalSwap(other);
3656  }
3657 
3658  // implements Message ----------------------------------------------
3659 
3660  MPModelDeltaProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
3661  return CreateMaybeMessage<MPModelDeltaProto>(arena);
3662  }
3663  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
3664  void CopyFrom(const MPModelDeltaProto& from);
3665  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
3666  void MergeFrom(const MPModelDeltaProto& from);
3667  private:
3668  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
3669  public:
3670  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3671  bool IsInitialized() const final;
3672 
3673  size_t ByteSizeLong() const final;
3674  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3675  uint8_t* _InternalSerialize(
3676  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3677  int GetCachedSize() const final { return _cached_size_.Get(); }
3678 
3679  private:
3680  void SharedCtor();
3681  void SharedDtor();
3682  void SetCachedSize(int size) const final;
3683  void InternalSwap(MPModelDeltaProto* other);
3684 
3685  private:
3686  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3687  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3688  return "operations_research.MPModelDeltaProto";
3689  }
3690  protected:
3691  explicit MPModelDeltaProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
3692  bool is_message_owned = false);
3693  private:
3694  static void ArenaDtor(void* object);
3695  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3696  public:
3697 
3698  static const ClassData _class_data_;
3699  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
3700 
3701  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3702 
3703  // nested types ----------------------------------------------------
3704 
3705 
3706  // accessors -------------------------------------------------------
3707 
3708  enum : int {
3709  kVariableOverridesFieldNumber = 2,
3710  kConstraintOverridesFieldNumber = 3,
3711  kBaselineModelFilePathFieldNumber = 1,
3712  };
3713  // map<int32, .operations_research.MPVariableProto> variable_overrides = 2;
3714  int variable_overrides_size() const;
3715  private:
3716  int _internal_variable_overrides_size() const;
3717  public:
3718  void clear_variable_overrides();
3719  private:
3720  const ::PROTOBUF_NAMESPACE_ID::Map< int32_t, ::operations_research::MPVariableProto >&
3721  _internal_variable_overrides() const;
3722  ::PROTOBUF_NAMESPACE_ID::Map< int32_t, ::operations_research::MPVariableProto >*
3723  _internal_mutable_variable_overrides();
3724  public:
3725  const ::PROTOBUF_NAMESPACE_ID::Map< int32_t, ::operations_research::MPVariableProto >&
3726  variable_overrides() const;
3727  ::PROTOBUF_NAMESPACE_ID::Map< int32_t, ::operations_research::MPVariableProto >*
3728  mutable_variable_overrides();
3729 
3730  // map<int32, .operations_research.MPConstraintProto> constraint_overrides = 3;
3731  int constraint_overrides_size() const;
3732  private:
3733  int _internal_constraint_overrides_size() const;
3734  public:
3735  void clear_constraint_overrides();
3736  private:
3737  const ::PROTOBUF_NAMESPACE_ID::Map< int32_t, ::operations_research::MPConstraintProto >&
3738  _internal_constraint_overrides() const;
3739  ::PROTOBUF_NAMESPACE_ID::Map< int32_t, ::operations_research::MPConstraintProto >*
3740  _internal_mutable_constraint_overrides();
3741  public:
3742  const ::PROTOBUF_NAMESPACE_ID::Map< int32_t, ::operations_research::MPConstraintProto >&
3743  constraint_overrides() const;
3744  ::PROTOBUF_NAMESPACE_ID::Map< int32_t, ::operations_research::MPConstraintProto >*
3745  mutable_constraint_overrides();
3746 
3747  // optional string baseline_model_file_path = 1;
3748  bool has_baseline_model_file_path() const;
3749  private:
3750  bool _internal_has_baseline_model_file_path() const;
3751  public:
3752  void clear_baseline_model_file_path();
3753  const std::string& baseline_model_file_path() const;
3754  template <typename ArgT0 = const std::string&, typename... ArgT>
3755  void set_baseline_model_file_path(ArgT0&& arg0, ArgT... args);
3756  std::string* mutable_baseline_model_file_path();
3757  PROTOBUF_NODISCARD std::string* release_baseline_model_file_path();
3758  void set_allocated_baseline_model_file_path(std::string* baseline_model_file_path);
3759  private:
3760  const std::string& _internal_baseline_model_file_path() const;
3761  inline PROTOBUF_ALWAYS_INLINE void _internal_set_baseline_model_file_path(const std::string& value);
3762  std::string* _internal_mutable_baseline_model_file_path();
3763  public:
3764 
3765  // @@protoc_insertion_point(class_scope:operations_research.MPModelDeltaProto)
3766  private:
3767  class _Internal;
3768 
3769  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3770  typedef void InternalArenaConstructable_;
3771  typedef void DestructorSkippable_;
3772  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
3773  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3774  ::PROTOBUF_NAMESPACE_ID::internal::MapField<
3777  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT32,
3778  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> variable_overrides_;
3779  ::PROTOBUF_NAMESPACE_ID::internal::MapField<
3782  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT32,
3783  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> constraint_overrides_;
3784  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr baseline_model_file_path_;
3785  friend struct ::TableStruct_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
3786 };
3787 // -------------------------------------------------------------------
3788 
3789 class MPModelRequest final :
3790  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.MPModelRequest) */ {
3791  public:
3792  inline MPModelRequest() : MPModelRequest(nullptr) {}
3793  ~MPModelRequest() override;
3794  explicit constexpr MPModelRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
3795 
3796  MPModelRequest(const MPModelRequest& from);
3798  : MPModelRequest() {
3799  *this = ::std::move(from);
3800  }
3801 
3802  inline MPModelRequest& operator=(const MPModelRequest& from) {
3803  CopyFrom(from);
3804  return *this;
3805  }
3806  inline MPModelRequest& operator=(MPModelRequest&& from) noexcept {
3807  if (this == &from) return *this;
3808  if (GetOwningArena() == from.GetOwningArena()
3809  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
3810  && GetOwningArena() != nullptr
3811  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
3812  ) {
3813  InternalSwap(&from);
3814  } else {
3815  CopyFrom(from);
3816  }
3817  return *this;
3818  }
3819 
3820  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
3821  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
3822  }
3823  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
3824  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3825  }
3826 
3827  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3828  return GetDescriptor();
3829  }
3830  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3831  return default_instance().GetMetadata().descriptor;
3832  }
3833  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3834  return default_instance().GetMetadata().reflection;
3835  }
3837  return *internal_default_instance();
3838  }
3840  return reinterpret_cast<const MPModelRequest*>(
3842  }
3843  static constexpr int kIndexInFileMessages =
3844  17;
3845 
3846  friend void swap(MPModelRequest& a, MPModelRequest& b) {
3847  a.Swap(&b);
3848  }
3849  inline void Swap(MPModelRequest* other) {
3850  if (other == this) return;
3851  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
3852  if (GetOwningArena() != nullptr &&
3853  GetOwningArena() == other->GetOwningArena()) {
3854  #else // PROTOBUF_FORCE_COPY_IN_SWAP
3855  if (GetOwningArena() == other->GetOwningArena()) {
3856  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
3857  InternalSwap(other);
3858  } else {
3859  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3860  }
3861  }
3863  if (other == this) return;
3864  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
3865  InternalSwap(other);
3866  }
3867 
3868  // implements Message ----------------------------------------------
3869 
3870  MPModelRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
3871  return CreateMaybeMessage<MPModelRequest>(arena);
3872  }
3873  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
3874  void CopyFrom(const MPModelRequest& from);
3875  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
3876  void MergeFrom(const MPModelRequest& from);
3877  private:
3878  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
3879  public:
3880  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3881  bool IsInitialized() const final;
3882 
3883  size_t ByteSizeLong() const final;
3884  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3885  uint8_t* _InternalSerialize(
3886  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3887  int GetCachedSize() const final { return _cached_size_.Get(); }
3888 
3889  private:
3890  void SharedCtor();
3891  void SharedDtor();
3892  void SetCachedSize(int size) const final;
3893  void InternalSwap(MPModelRequest* other);
3894 
3895  private:
3896  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3897  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3898  return "operations_research.MPModelRequest";
3899  }
3900  protected:
3901  explicit MPModelRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
3902  bool is_message_owned = false);
3903  private:
3904  static void ArenaDtor(void* object);
3905  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3906  public:
3907 
3908  static const ClassData _class_data_;
3909  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
3910 
3911  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3912 
3913  // nested types ----------------------------------------------------
3914 
3916  static constexpr SolverType GLOP_LINEAR_PROGRAMMING =
3918  static constexpr SolverType CLP_LINEAR_PROGRAMMING =
3920  static constexpr SolverType GLPK_LINEAR_PROGRAMMING =
3922  static constexpr SolverType GUROBI_LINEAR_PROGRAMMING =
3924  static constexpr SolverType XPRESS_LINEAR_PROGRAMMING =
3926  static constexpr SolverType CPLEX_LINEAR_PROGRAMMING =
3928  static constexpr SolverType SCIP_MIXED_INTEGER_PROGRAMMING =
3930  static constexpr SolverType GLPK_MIXED_INTEGER_PROGRAMMING =
3932  static constexpr SolverType CBC_MIXED_INTEGER_PROGRAMMING =
3934  static constexpr SolverType GUROBI_MIXED_INTEGER_PROGRAMMING =
3936  static constexpr SolverType XPRESS_MIXED_INTEGER_PROGRAMMING =
3938  static constexpr SolverType CPLEX_MIXED_INTEGER_PROGRAMMING =
3940  static constexpr SolverType BOP_INTEGER_PROGRAMMING =
3942  static constexpr SolverType SAT_INTEGER_PROGRAMMING =
3944  static constexpr SolverType KNAPSACK_MIXED_INTEGER_PROGRAMMING =
3946  static inline bool SolverType_IsValid(int value) {
3947  return MPModelRequest_SolverType_IsValid(value);
3948  }
3949  static constexpr SolverType SolverType_MIN =
3951  static constexpr SolverType SolverType_MAX =
3953  static constexpr int SolverType_ARRAYSIZE =
3955  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
3958  }
3959  template<typename T>
3960  static inline const std::string& SolverType_Name(T enum_t_value) {
3961  static_assert(::std::is_same<T, SolverType>::value ||
3962  ::std::is_integral<T>::value,
3963  "Incorrect type passed to function SolverType_Name.");
3964  return MPModelRequest_SolverType_Name(enum_t_value);
3965  }
3966  static inline bool SolverType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
3967  SolverType* value) {
3968  return MPModelRequest_SolverType_Parse(name, value);
3969  }
3970 
3971  // accessors -------------------------------------------------------
3972 
3973  enum : int {
3974  kSolverSpecificParametersFieldNumber = 5,
3975  kModelFieldNumber = 1,
3976  kModelDeltaFieldNumber = 8,
3977  kSolverTimeLimitSecondsFieldNumber = 3,
3978  kEnableInternalSolverOutputFieldNumber = 4,
3979  kIgnoreSolverSpecificParametersFailureFieldNumber = 9,
3980  kPopulateAdditionalSolutionsUpToFieldNumber = 11,
3981  kSolverTypeFieldNumber = 2,
3982  };
3983  // optional string solver_specific_parameters = 5;
3984  bool has_solver_specific_parameters() const;
3985  private:
3986  bool _internal_has_solver_specific_parameters() const;
3987  public:
3988  void clear_solver_specific_parameters();
3989  const std::string& solver_specific_parameters() const;
3990  template <typename ArgT0 = const std::string&, typename... ArgT>
3991  void set_solver_specific_parameters(ArgT0&& arg0, ArgT... args);
3992  std::string* mutable_solver_specific_parameters();
3993  PROTOBUF_NODISCARD std::string* release_solver_specific_parameters();
3994  void set_allocated_solver_specific_parameters(std::string* solver_specific_parameters);
3995  private:
3996  const std::string& _internal_solver_specific_parameters() const;
3997  inline PROTOBUF_ALWAYS_INLINE void _internal_set_solver_specific_parameters(const std::string& value);
3998  std::string* _internal_mutable_solver_specific_parameters();
3999  public:
4000 
4001  // optional .operations_research.MPModelProto model = 1;
4002  bool has_model() const;
4003  private:
4004  bool _internal_has_model() const;
4005  public:
4006  void clear_model();
4007  const ::operations_research::MPModelProto& model() const;
4008  PROTOBUF_NODISCARD ::operations_research::MPModelProto* release_model();
4009  ::operations_research::MPModelProto* mutable_model();
4010  void set_allocated_model(::operations_research::MPModelProto* model);
4011  private:
4012  const ::operations_research::MPModelProto& _internal_model() const;
4013  ::operations_research::MPModelProto* _internal_mutable_model();
4014  public:
4015  void unsafe_arena_set_allocated_model(
4017  ::operations_research::MPModelProto* unsafe_arena_release_model();
4018 
4019  // optional .operations_research.MPModelDeltaProto model_delta = 8;
4020  bool has_model_delta() const;
4021  private:
4022  bool _internal_has_model_delta() const;
4023  public:
4024  void clear_model_delta();
4025  const ::operations_research::MPModelDeltaProto& model_delta() const;
4026  PROTOBUF_NODISCARD ::operations_research::MPModelDeltaProto* release_model_delta();
4027  ::operations_research::MPModelDeltaProto* mutable_model_delta();
4028  void set_allocated_model_delta(::operations_research::MPModelDeltaProto* model_delta);
4029  private:
4030  const ::operations_research::MPModelDeltaProto& _internal_model_delta() const;
4031  ::operations_research::MPModelDeltaProto* _internal_mutable_model_delta();
4032  public:
4033  void unsafe_arena_set_allocated_model_delta(
4035  ::operations_research::MPModelDeltaProto* unsafe_arena_release_model_delta();
4036 
4037  // optional double solver_time_limit_seconds = 3;
4038  bool has_solver_time_limit_seconds() const;
4039  private:
4040  bool _internal_has_solver_time_limit_seconds() const;
4041  public:
4042  void clear_solver_time_limit_seconds();
4043  double solver_time_limit_seconds() const;
4044  void set_solver_time_limit_seconds(double value);
4045  private:
4046  double _internal_solver_time_limit_seconds() const;
4047  void _internal_set_solver_time_limit_seconds(double value);
4048  public:
4049 
4050  // optional bool enable_internal_solver_output = 4 [default = false];
4051  bool has_enable_internal_solver_output() const;
4052  private:
4053  bool _internal_has_enable_internal_solver_output() const;
4054  public:
4055  void clear_enable_internal_solver_output();
4056  bool enable_internal_solver_output() const;
4057  void set_enable_internal_solver_output(bool value);
4058  private:
4059  bool _internal_enable_internal_solver_output() const;
4060  void _internal_set_enable_internal_solver_output(bool value);
4061  public:
4062 
4063  // optional bool ignore_solver_specific_parameters_failure = 9 [default = false];
4064  bool has_ignore_solver_specific_parameters_failure() const;
4065  private:
4066  bool _internal_has_ignore_solver_specific_parameters_failure() const;
4067  public:
4068  void clear_ignore_solver_specific_parameters_failure();
4069  bool ignore_solver_specific_parameters_failure() const;
4070  void set_ignore_solver_specific_parameters_failure(bool value);
4071  private:
4072  bool _internal_ignore_solver_specific_parameters_failure() const;
4073  void _internal_set_ignore_solver_specific_parameters_failure(bool value);
4074  public:
4075 
4076  // optional int32 populate_additional_solutions_up_to = 11 [default = 0];
4077  bool has_populate_additional_solutions_up_to() const;
4078  private:
4079  bool _internal_has_populate_additional_solutions_up_to() const;
4080  public:
4081  void clear_populate_additional_solutions_up_to();
4082  int32_t populate_additional_solutions_up_to() const;
4083  void set_populate_additional_solutions_up_to(int32_t value);
4084  private:
4085  int32_t _internal_populate_additional_solutions_up_to() const;
4086  void _internal_set_populate_additional_solutions_up_to(int32_t value);
4087  public:
4088 
4089  // optional .operations_research.MPModelRequest.SolverType solver_type = 2;
4090  bool has_solver_type() const;
4091  private:
4092  bool _internal_has_solver_type() const;
4093  public:
4094  void clear_solver_type();
4096  void set_solver_type(::operations_research::MPModelRequest_SolverType value);
4097  private:
4098  ::operations_research::MPModelRequest_SolverType _internal_solver_type() const;
4099  void _internal_set_solver_type(::operations_research::MPModelRequest_SolverType value);
4100  public:
4101 
4102  // @@protoc_insertion_point(class_scope:operations_research.MPModelRequest)
4103  private:
4104  class _Internal;
4105 
4106  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
4107  typedef void InternalArenaConstructable_;
4108  typedef void DestructorSkippable_;
4109  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
4110  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4111  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr solver_specific_parameters_;
4114  double solver_time_limit_seconds_;
4115  bool enable_internal_solver_output_;
4116  bool ignore_solver_specific_parameters_failure_;
4117  int32_t populate_additional_solutions_up_to_;
4118  int solver_type_;
4119  friend struct ::TableStruct_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
4120 };
4121 // -------------------------------------------------------------------
4122 
4123 class MPSolution final :
4124  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.MPSolution) */ {
4125  public:
4126  inline MPSolution() : MPSolution(nullptr) {}
4127  ~MPSolution() override;
4128  explicit constexpr MPSolution(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
4129 
4130  MPSolution(const MPSolution& from);
4131  MPSolution(MPSolution&& from) noexcept
4132  : MPSolution() {
4133  *this = ::std::move(from);
4134  }
4135 
4136  inline MPSolution& operator=(const MPSolution& from) {
4137  CopyFrom(from);
4138  return *this;
4139  }
4140  inline MPSolution& operator=(MPSolution&& from) noexcept {
4141  if (this == &from) return *this;
4142  if (GetOwningArena() == from.GetOwningArena()
4143  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
4144  && GetOwningArena() != nullptr
4145  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
4146  ) {
4147  InternalSwap(&from);
4148  } else {
4149  CopyFrom(from);
4150  }
4151  return *this;
4152  }
4153 
4154  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
4155  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
4156  }
4157  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
4158  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4159  }
4160 
4161  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
4162  return GetDescriptor();
4163  }
4164  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
4165  return default_instance().GetMetadata().descriptor;
4166  }
4167  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
4168  return default_instance().GetMetadata().reflection;
4169  }
4170  static const MPSolution& default_instance() {
4171  return *internal_default_instance();
4172  }
4173  static inline const MPSolution* internal_default_instance() {
4174  return reinterpret_cast<const MPSolution*>(
4176  }
4177  static constexpr int kIndexInFileMessages =
4178  18;
4179 
4180  friend void swap(MPSolution& a, MPSolution& b) {
4181  a.Swap(&b);
4182  }
4183  inline void Swap(MPSolution* other) {
4184  if (other == this) return;
4185  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
4186  if (GetOwningArena() != nullptr &&
4187  GetOwningArena() == other->GetOwningArena()) {
4188  #else // PROTOBUF_FORCE_COPY_IN_SWAP
4189  if (GetOwningArena() == other->GetOwningArena()) {
4190  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
4191  InternalSwap(other);
4192  } else {
4193  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
4194  }
4195  }
4197  if (other == this) return;
4198  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
4199  InternalSwap(other);
4200  }
4201 
4202  // implements Message ----------------------------------------------
4203 
4204  MPSolution* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
4205  return CreateMaybeMessage<MPSolution>(arena);
4206  }
4207  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
4208  void CopyFrom(const MPSolution& from);
4209  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
4210  void MergeFrom(const MPSolution& from);
4211  private:
4212  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
4213  public:
4214  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
4215  bool IsInitialized() const final;
4216 
4217  size_t ByteSizeLong() const final;
4218  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
4219  uint8_t* _InternalSerialize(
4220  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
4221  int GetCachedSize() const final { return _cached_size_.Get(); }
4222 
4223  private:
4224  void SharedCtor();
4225  void SharedDtor();
4226  void SetCachedSize(int size) const final;
4227  void InternalSwap(MPSolution* other);
4228 
4229  private:
4230  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
4231  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
4232  return "operations_research.MPSolution";
4233  }
4234  protected:
4235  explicit MPSolution(::PROTOBUF_NAMESPACE_ID::Arena* arena,
4236  bool is_message_owned = false);
4237  private:
4238  static void ArenaDtor(void* object);
4239  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4240  public:
4241 
4242  static const ClassData _class_data_;
4243  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
4244 
4245  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
4246 
4247  // nested types ----------------------------------------------------
4248 
4249  // accessors -------------------------------------------------------
4250 
4251  enum : int {
4252  kVariableValueFieldNumber = 2,
4253  kObjectiveValueFieldNumber = 1,
4254  };
4255  // repeated double variable_value = 2 [packed = true];
4256  int variable_value_size() const;
4257  private:
4258  int _internal_variable_value_size() const;
4259  public:
4260  void clear_variable_value();
4261  private:
4262  double _internal_variable_value(int index) const;
4263  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
4264  _internal_variable_value() const;
4265  void _internal_add_variable_value(double value);
4266  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
4267  _internal_mutable_variable_value();
4268  public:
4269  double variable_value(int index) const;
4270  void set_variable_value(int index, double value);
4271  void add_variable_value(double value);
4272  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
4273  variable_value() const;
4274  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
4275  mutable_variable_value();
4276 
4277  // optional double objective_value = 1;
4278  bool has_objective_value() const;
4279  private:
4280  bool _internal_has_objective_value() const;
4281  public:
4282  void clear_objective_value();
4283  double objective_value() const;
4284  void set_objective_value(double value);
4285  private:
4286  double _internal_objective_value() const;
4287  void _internal_set_objective_value(double value);
4288  public:
4289 
4290  // @@protoc_insertion_point(class_scope:operations_research.MPSolution)
4291  private:
4292  class _Internal;
4293 
4294  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
4295  typedef void InternalArenaConstructable_;
4296  typedef void DestructorSkippable_;
4297  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
4298  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4299  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > variable_value_;
4300  double objective_value_;
4301  friend struct ::TableStruct_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
4302 };
4303 // -------------------------------------------------------------------
4304 
4305 class MPSolveInfo final :
4306  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.MPSolveInfo) */ {
4307  public:
4308  inline MPSolveInfo() : MPSolveInfo(nullptr) {}
4309  ~MPSolveInfo() override;
4310  explicit constexpr MPSolveInfo(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
4311 
4312  MPSolveInfo(const MPSolveInfo& from);
4313  MPSolveInfo(MPSolveInfo&& from) noexcept
4314  : MPSolveInfo() {
4315  *this = ::std::move(from);
4316  }
4317 
4318  inline MPSolveInfo& operator=(const MPSolveInfo& from) {
4319  CopyFrom(from);
4320  return *this;
4321  }
4322  inline MPSolveInfo& operator=(MPSolveInfo&& from) noexcept {
4323  if (this == &from) return *this;
4324  if (GetOwningArena() == from.GetOwningArena()
4325  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
4326  && GetOwningArena() != nullptr
4327  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
4328  ) {
4329  InternalSwap(&from);
4330  } else {
4331  CopyFrom(from);
4332  }
4333  return *this;
4334  }
4335 
4336  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
4337  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
4338  }
4339  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
4340  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4341  }
4342 
4343  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
4344  return GetDescriptor();
4345  }
4346  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
4347  return default_instance().GetMetadata().descriptor;
4348  }
4349  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
4350  return default_instance().GetMetadata().reflection;
4351  }
4352  static const MPSolveInfo& default_instance() {
4353  return *internal_default_instance();
4354  }
4355  static inline const MPSolveInfo* internal_default_instance() {
4356  return reinterpret_cast<const MPSolveInfo*>(
4358  }
4359  static constexpr int kIndexInFileMessages =
4360  19;
4361 
4362  friend void swap(MPSolveInfo& a, MPSolveInfo& b) {
4363  a.Swap(&b);
4364  }
4365  inline void Swap(MPSolveInfo* other) {
4366  if (other == this) return;
4367  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
4368  if (GetOwningArena() != nullptr &&
4369  GetOwningArena() == other->GetOwningArena()) {
4370  #else // PROTOBUF_FORCE_COPY_IN_SWAP
4371  if (GetOwningArena() == other->GetOwningArena()) {
4372  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
4373  InternalSwap(other);
4374  } else {
4375  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
4376  }
4377  }
4379  if (other == this) return;
4380  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
4381  InternalSwap(other);
4382  }
4383 
4384  // implements Message ----------------------------------------------
4385 
4386  MPSolveInfo* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
4387  return CreateMaybeMessage<MPSolveInfo>(arena);
4388  }
4389  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
4390  void CopyFrom(const MPSolveInfo& from);
4391  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
4392  void MergeFrom(const MPSolveInfo& from);
4393  private:
4394  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
4395  public:
4396  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
4397  bool IsInitialized() const final;
4398 
4399  size_t ByteSizeLong() const final;
4400  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
4401  uint8_t* _InternalSerialize(
4402  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
4403  int GetCachedSize() const final { return _cached_size_.Get(); }
4404 
4405  private:
4406  void SharedCtor();
4407  void SharedDtor();
4408  void SetCachedSize(int size) const final;
4409  void InternalSwap(MPSolveInfo* other);
4410 
4411  private:
4412  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
4413  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
4414  return "operations_research.MPSolveInfo";
4415  }
4416  protected:
4417  explicit MPSolveInfo(::PROTOBUF_NAMESPACE_ID::Arena* arena,
4418  bool is_message_owned = false);
4419  private:
4420  static void ArenaDtor(void* object);
4421  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4422  public:
4423 
4424  static const ClassData _class_data_;
4425  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
4426 
4427  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
4428 
4429  // nested types ----------------------------------------------------
4430 
4431  // accessors -------------------------------------------------------
4432 
4433  enum : int {
4434  kSolveWallTimeSecondsFieldNumber = 1,
4435  kSolveUserTimeSecondsFieldNumber = 2,
4436  };
4437  // optional double solve_wall_time_seconds = 1;
4438  bool has_solve_wall_time_seconds() const;
4439  private:
4440  bool _internal_has_solve_wall_time_seconds() const;
4441  public:
4442  void clear_solve_wall_time_seconds();
4443  double solve_wall_time_seconds() const;
4444  void set_solve_wall_time_seconds(double value);
4445  private:
4446  double _internal_solve_wall_time_seconds() const;
4447  void _internal_set_solve_wall_time_seconds(double value);
4448  public:
4449 
4450  // optional double solve_user_time_seconds = 2;
4451  bool has_solve_user_time_seconds() const;
4452  private:
4453  bool _internal_has_solve_user_time_seconds() const;
4454  public:
4455  void clear_solve_user_time_seconds();
4456  double solve_user_time_seconds() const;
4457  void set_solve_user_time_seconds(double value);
4458  private:
4459  double _internal_solve_user_time_seconds() const;
4460  void _internal_set_solve_user_time_seconds(double value);
4461  public:
4462 
4463  // @@protoc_insertion_point(class_scope:operations_research.MPSolveInfo)
4464  private:
4465  class _Internal;
4466 
4467  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
4468  typedef void InternalArenaConstructable_;
4469  typedef void DestructorSkippable_;
4470  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
4471  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4472  double solve_wall_time_seconds_;
4473  double solve_user_time_seconds_;
4474  friend struct ::TableStruct_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
4475 };
4476 // -------------------------------------------------------------------
4477 
4478 class MPSolutionResponse final :
4479  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.MPSolutionResponse) */ {
4480  public:
4482  ~MPSolutionResponse() override;
4483  explicit constexpr MPSolutionResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
4484 
4487  : MPSolutionResponse() {
4488  *this = ::std::move(from);
4489  }
4490 
4492  CopyFrom(from);
4493  return *this;
4494  }
4496  if (this == &from) return *this;
4497  if (GetOwningArena() == from.GetOwningArena()
4498  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
4499  && GetOwningArena() != nullptr
4500  #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
4501  ) {
4502  InternalSwap(&from);
4503  } else {
4504  CopyFrom(from);
4505  }
4506  return *this;
4507  }
4508 
4509  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
4510  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
4511  }
4512  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
4513  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4514  }
4515 
4516  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
4517  return GetDescriptor();
4518  }
4519  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
4520  return default_instance().GetMetadata().descriptor;
4521  }
4522  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
4523  return default_instance().GetMetadata().reflection;
4524  }
4526  return *internal_default_instance();
4527  }
4529  return reinterpret_cast<const MPSolutionResponse*>(
4531  }
4532  static constexpr int kIndexInFileMessages =
4533  20;
4534 
4536  a.Swap(&b);
4537  }
4538  inline void Swap(MPSolutionResponse* other) {
4539  if (other == this) return;
4540  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
4541  if (GetOwningArena() != nullptr &&
4542  GetOwningArena() == other->GetOwningArena()) {
4543  #else // PROTOBUF_FORCE_COPY_IN_SWAP
4544  if (GetOwningArena() == other->GetOwningArena()) {
4545  #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
4546  InternalSwap(other);
4547  } else {
4548  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
4549  }
4550  }
4552  if (other == this) return;
4553  GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
4554  InternalSwap(other);
4555  }
4556 
4557  // implements Message ----------------------------------------------
4558 
4559  MPSolutionResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
4560  return CreateMaybeMessage<MPSolutionResponse>(arena);
4561  }
4562  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
4563  void CopyFrom(const MPSolutionResponse& from);
4564  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
4565  void MergeFrom(const MPSolutionResponse& from);
4566  private:
4567  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
4568  public:
4569  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
4570  bool IsInitialized() const final;
4571 
4572  size_t ByteSizeLong() const final;
4573  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
4574  uint8_t* _InternalSerialize(
4575  uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
4576  int GetCachedSize() const final { return _cached_size_.Get(); }
4577 
4578  private:
4579  void SharedCtor();
4580  void SharedDtor();
4581  void SetCachedSize(int size) const final;
4582  void InternalSwap(MPSolutionResponse* other);
4583 
4584  private:
4585  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
4586  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
4587  return "operations_research.MPSolutionResponse";
4588  }
4589  protected:
4590  explicit MPSolutionResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
4591  bool is_message_owned = false);
4592  private:
4593  static void ArenaDtor(void* object);
4594  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4595  public:
4596 
4597  static const ClassData _class_data_;
4598  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
4599 
4600  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
4601 
4602  // nested types ----------------------------------------------------
4603 
4604  // accessors -------------------------------------------------------
4605 
4606  enum : int {
4607  kVariableValueFieldNumber = 3,
4608  kDualValueFieldNumber = 4,
4609  kReducedCostFieldNumber = 6,
4610  kAdditionalSolutionsFieldNumber = 8,
4611  kStatusStrFieldNumber = 7,
4612  kSolveInfoFieldNumber = 10,
4613  kObjectiveValueFieldNumber = 2,
4614  kBestObjectiveBoundFieldNumber = 5,
4615  kStatusFieldNumber = 1,
4616  };
4617  // repeated double variable_value = 3 [packed = true];
4618  int variable_value_size() const;
4619  private:
4620  int _internal_variable_value_size() const;
4621  public:
4622  void clear_variable_value();
4623  private:
4624  double _internal_variable_value(int index) const;
4625  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
4626  _internal_variable_value() const;
4627  void _internal_add_variable_value(double value);
4628  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
4629  _internal_mutable_variable_value();
4630  public:
4631  double variable_value(int index) const;
4632  void set_variable_value(int index, double value);
4633  void add_variable_value(double value);
4634  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
4635  variable_value() const;
4636  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
4637  mutable_variable_value();
4638 
4639  // repeated double dual_value = 4 [packed = true];
4640  int dual_value_size() const;
4641  private:
4642  int _internal_dual_value_size() const;
4643  public:
4644  void clear_dual_value();
4645  private:
4646  double _internal_dual_value(int index) const;
4647  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
4648  _internal_dual_value() const;
4649  void _internal_add_dual_value(double value);
4650  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
4651  _internal_mutable_dual_value();
4652  public:
4653  double dual_value(int index) const;
4654  void set_dual_value(int index, double value);
4655  void add_dual_value(double value);
4656  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
4657  dual_value() const;
4658  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
4659  mutable_dual_value();
4660 
4661  // repeated double reduced_cost = 6 [packed = true];
4662  int reduced_cost_size() const;
4663  private:
4664  int _internal_reduced_cost_size() const;
4665  public:
4666  void clear_reduced_cost();
4667  private:
4668  double _internal_reduced_cost(int index) const;
4669  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
4670  _internal_reduced_cost() const;
4671  void _internal_add_reduced_cost(double value);
4672  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
4673  _internal_mutable_reduced_cost();
4674  public:
4675  double reduced_cost(int index) const;
4676  void set_reduced_cost(int index, double value);
4677  void add_reduced_cost(double value);
4678  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
4679  reduced_cost() const;
4680  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
4681  mutable_reduced_cost();
4682 
4683  // repeated .operations_research.MPSolution additional_solutions = 8;
4684  int additional_solutions_size() const;
4685  private:
4686  int _internal_additional_solutions_size() const;
4687  public:
4688  void clear_additional_solutions();
4689  ::operations_research::MPSolution* mutable_additional_solutions(int index);
4690  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::MPSolution >*
4691  mutable_additional_solutions();
4692  private:
4693  const ::operations_research::MPSolution& _internal_additional_solutions(int index) const;
4694  ::operations_research::MPSolution* _internal_add_additional_solutions();
4695  public:
4696  const ::operations_research::MPSolution& additional_solutions(int index) const;
4697  ::operations_research::MPSolution* add_additional_solutions();
4698  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::MPSolution >&
4699  additional_solutions() const;
4700 
4701  // optional string status_str = 7;
4702  bool has_status_str() const;
4703  private:
4704  bool _internal_has_status_str() const;
4705  public:
4706  void clear_status_str();
4707  const std::string& status_str() const;
4708  template <typename ArgT0 = const std::string&, typename... ArgT>
4709  void set_status_str(ArgT0&& arg0, ArgT... args);
4710  std::string* mutable_status_str();
4711  PROTOBUF_NODISCARD std::string* release_status_str();
4712  void set_allocated_status_str(std::string* status_str);
4713  private:
4714  const std::string& _internal_status_str() const;
4715  inline PROTOBUF_ALWAYS_INLINE void _internal_set_status_str(const std::string& value);
4716  std::string* _internal_mutable_status_str();
4717  public:
4718 
4719  // optional .operations_research.MPSolveInfo solve_info = 10;
4720  bool has_solve_info() const;
4721  private:
4722  bool _internal_has_solve_info() const;
4723  public:
4724  void clear_solve_info();
4725  const ::operations_research::MPSolveInfo& solve_info() const;
4726  PROTOBUF_NODISCARD ::operations_research::MPSolveInfo* release_solve_info();
4727  ::operations_research::MPSolveInfo* mutable_solve_info();
4728  void set_allocated_solve_info(::operations_research::MPSolveInfo* solve_info);
4729  private:
4730  const ::operations_research::MPSolveInfo& _internal_solve_info() const;
4731  ::operations_research::MPSolveInfo* _internal_mutable_solve_info();
4732  public:
4733  void unsafe_arena_set_allocated_solve_info(
4734  ::operations_research::MPSolveInfo* solve_info);
4735  ::operations_research::MPSolveInfo* unsafe_arena_release_solve_info();
4736 
4737  // optional double objective_value = 2;
4738  bool has_objective_value() const;
4739  private:
4740  bool _internal_has_objective_value() const;
4741  public:
4742  void clear_objective_value();
4743  double objective_value() const;
4744  void set_objective_value(double value);
4745  private:
4746  double _internal_objective_value() const;
4747  void _internal_set_objective_value(double value);
4748  public:
4749 
4750  // optional double best_objective_bound = 5;
4751  bool has_best_objective_bound() const;
4752  private:
4753  bool _internal_has_best_objective_bound() const;
4754  public:
4755  void clear_best_objective_bound();
4756  double best_objective_bound() const;
4757  void set_best_objective_bound(double value);
4758  private:
4759  double _internal_best_objective_bound() const;
4760  void _internal_set_best_objective_bound(double value);
4761  public:
4762 
4763  // optional .operations_research.MPSolverResponseStatus status = 1 [default = MPSOLVER_UNKNOWN_STATUS];
4764  bool has_status() const;
4765  private:
4766  bool _internal_has_status() const;
4767  public:
4768  void clear_status();
4770  void set_status(::operations_research::MPSolverResponseStatus value);
4771  private:
4772  ::operations_research::MPSolverResponseStatus _internal_status() const;
4773  void _internal_set_status(::operations_research::MPSolverResponseStatus value);
4774  public:
4775 
4776  // @@protoc_insertion_point(class_scope:operations_research.MPSolutionResponse)
4777  private:
4778  class _Internal;
4779 
4780  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
4781  typedef void InternalArenaConstructable_;
4782  typedef void DestructorSkippable_;
4783  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
4784  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4785  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > variable_value_;
4786  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > dual_value_;
4787  ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > reduced_cost_;
4788  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::MPSolution > additional_solutions_;
4789  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr status_str_;
4791  double objective_value_;
4792  double best_objective_bound_;
4793  int status_;
4794  friend struct ::TableStruct_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
4795 };
4796 // ===================================================================
4797 
4798 
4799 // ===================================================================
4800 
4801 #ifdef __GNUC__
4802  #pragma GCC diagnostic push
4803  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
4804 #endif // __GNUC__
4805 // MPVariableProto
4806 
4807 // optional double lower_bound = 1 [default = -inf];
4808 inline bool MPVariableProto::_internal_has_lower_bound() const {
4809  bool value = (_has_bits_[0] & 0x00000010u) != 0;
4810  return value;
4811 }
4813  return _internal_has_lower_bound();
4814 }
4816  lower_bound_ = -std::numeric_limits<double>::infinity();
4817  _has_bits_[0] &= ~0x00000010u;
4818 }
4819 inline double MPVariableProto::_internal_lower_bound() const {
4820  return lower_bound_;
4821 }
4822 inline double MPVariableProto::lower_bound() const {
4823  // @@protoc_insertion_point(field_get:operations_research.MPVariableProto.lower_bound)
4824  return _internal_lower_bound();
4825 }
4826 inline void MPVariableProto::_internal_set_lower_bound(double value) {
4827  _has_bits_[0] |= 0x00000010u;
4828  lower_bound_ = value;
4829 }
4830 inline void MPVariableProto::set_lower_bound(double value) {
4831  _internal_set_lower_bound(value);
4832  // @@protoc_insertion_point(field_set:operations_research.MPVariableProto.lower_bound)
4833 }
4834 
4835 // optional double upper_bound = 2 [default = inf];
4836 inline bool MPVariableProto::_internal_has_upper_bound() const {
4837  bool value = (_has_bits_[0] & 0x00000020u) != 0;
4838  return value;
4839 }
4841  return _internal_has_upper_bound();
4842 }
4844  upper_bound_ = std::numeric_limits<double>::infinity();
4845  _has_bits_[0] &= ~0x00000020u;
4846 }
4847 inline double MPVariableProto::_internal_upper_bound() const {
4848  return upper_bound_;
4849 }
4850 inline double MPVariableProto::upper_bound() const {
4851  // @@protoc_insertion_point(field_get:operations_research.MPVariableProto.upper_bound)
4852  return _internal_upper_bound();
4853 }
4854 inline void MPVariableProto::_internal_set_upper_bound(double value) {
4855  _has_bits_[0] |= 0x00000020u;
4856  upper_bound_ = value;
4857 }
4858 inline void MPVariableProto::set_upper_bound(double value) {
4859  _internal_set_upper_bound(value);
4860  // @@protoc_insertion_point(field_set:operations_research.MPVariableProto.upper_bound)
4861 }
4862 
4863 // optional double objective_coefficient = 3 [default = 0];
4864 inline bool MPVariableProto::_internal_has_objective_coefficient() const {
4865  bool value = (_has_bits_[0] & 0x00000002u) != 0;
4866  return value;
4867 }
4869  return _internal_has_objective_coefficient();
4870 }
4872  objective_coefficient_ = 0;
4873  _has_bits_[0] &= ~0x00000002u;
4874 }
4875 inline double MPVariableProto::_internal_objective_coefficient() const {
4876  return objective_coefficient_;
4877 }
4879  // @@protoc_insertion_point(field_get:operations_research.MPVariableProto.objective_coefficient)
4880  return _internal_objective_coefficient();
4881 }
4882 inline void MPVariableProto::_internal_set_objective_coefficient(double value) {
4883  _has_bits_[0] |= 0x00000002u;
4884  objective_coefficient_ = value;
4885 }
4887  _internal_set_objective_coefficient(value);
4888  // @@protoc_insertion_point(field_set:operations_research.MPVariableProto.objective_coefficient)
4889 }
4890 
4891 // optional bool is_integer = 4 [default = false];
4892 inline bool MPVariableProto::_internal_has_is_integer() const {
4893  bool value = (_has_bits_[0] & 0x00000004u) != 0;
4894  return value;
4895 }
4896 inline bool MPVariableProto::has_is_integer() const {
4897  return _internal_has_is_integer();
4898 }
4900  is_integer_ = false;
4901  _has_bits_[0] &= ~0x00000004u;
4902 }
4903 inline bool MPVariableProto::_internal_is_integer() const {
4904  return is_integer_;
4905 }
4906 inline bool MPVariableProto::is_integer() const {
4907  // @@protoc_insertion_point(field_get:operations_research.MPVariableProto.is_integer)
4908  return _internal_is_integer();
4909 }
4910 inline void MPVariableProto::_internal_set_is_integer(bool value) {
4911  _has_bits_[0] |= 0x00000004u;
4912  is_integer_ = value;
4913 }
4914 inline void MPVariableProto::set_is_integer(bool value) {
4915  _internal_set_is_integer(value);
4916  // @@protoc_insertion_point(field_set:operations_research.MPVariableProto.is_integer)
4917 }
4918 
4919 // optional string name = 5 [default = ""];
4920 inline bool MPVariableProto::_internal_has_name() const {
4921  bool value = (_has_bits_[0] & 0x00000001u) != 0;
4922  return value;
4923 }
4924 inline bool MPVariableProto::has_name() const {
4925  return _internal_has_name();
4926 }
4928  name_.ClearToEmpty();
4929  _has_bits_[0] &= ~0x00000001u;
4930 }
4931 inline const std::string& MPVariableProto::name() const {
4932  // @@protoc_insertion_point(field_get:operations_research.MPVariableProto.name)
4933  return _internal_name();
4934 }
4935 template <typename ArgT0, typename... ArgT>
4936 inline PROTOBUF_ALWAYS_INLINE
4937 void MPVariableProto::set_name(ArgT0&& arg0, ArgT... args) {
4938  _has_bits_[0] |= 0x00000001u;
4939  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
4940  // @@protoc_insertion_point(field_set:operations_research.MPVariableProto.name)
4941 }
4942 inline std::string* MPVariableProto::mutable_name() {
4943  std::string* _s = _internal_mutable_name();
4944  // @@protoc_insertion_point(field_mutable:operations_research.MPVariableProto.name)
4945  return _s;
4946 }
4947 inline const std::string& MPVariableProto::_internal_name() const {
4948  return name_.Get();
4949 }
4950 inline void MPVariableProto::_internal_set_name(const std::string& value) {
4951  _has_bits_[0] |= 0x00000001u;
4952  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
4953 }
4954 inline std::string* MPVariableProto::_internal_mutable_name() {
4955  _has_bits_[0] |= 0x00000001u;
4956  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
4957 }
4958 inline std::string* MPVariableProto::release_name() {
4959  // @@protoc_insertion_point(field_release:operations_research.MPVariableProto.name)
4960  if (!_internal_has_name()) {
4961  return nullptr;
4962  }
4963  _has_bits_[0] &= ~0x00000001u;
4964  auto* p = name_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
4965 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
4966  if (name_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
4967  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
4968  }
4969 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
4970  return p;
4971 }
4972 inline void MPVariableProto::set_allocated_name(std::string* name) {
4973  if (name != nullptr) {
4974  _has_bits_[0] |= 0x00000001u;
4975  } else {
4976  _has_bits_[0] &= ~0x00000001u;
4977  }
4978  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
4979  GetArenaForAllocation());
4980 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
4981  if (name_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
4982  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
4983  }
4984 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
4985  // @@protoc_insertion_point(field_set_allocated:operations_research.MPVariableProto.name)
4986 }
4987 
4988 // optional int32 branching_priority = 6 [default = 0];
4989 inline bool MPVariableProto::_internal_has_branching_priority() const {
4990  bool value = (_has_bits_[0] & 0x00000008u) != 0;
4991  return value;
4992 }
4994  return _internal_has_branching_priority();
4995 }
4997  branching_priority_ = 0;
4998  _has_bits_[0] &= ~0x00000008u;
4999 }
5000 inline int32_t MPVariableProto::_internal_branching_priority() const {
5001  return branching_priority_;
5002 }
5003 inline int32_t MPVariableProto::branching_priority() const {
5004  // @@protoc_insertion_point(field_get:operations_research.MPVariableProto.branching_priority)
5005  return _internal_branching_priority();
5006 }
5007 inline void MPVariableProto::_internal_set_branching_priority(int32_t value) {
5008  _has_bits_[0] |= 0x00000008u;
5009  branching_priority_ = value;
5010 }
5011 inline void MPVariableProto::set_branching_priority(int32_t value) {
5012  _internal_set_branching_priority(value);
5013  // @@protoc_insertion_point(field_set:operations_research.MPVariableProto.branching_priority)
5014 }
5015 
5016 // -------------------------------------------------------------------
5017 
5018 // MPConstraintProto
5019 
5020 // repeated int32 var_index = 6 [packed = true];
5021 inline int MPConstraintProto::_internal_var_index_size() const {
5022  return var_index_.size();
5023 }
5025  return _internal_var_index_size();
5026 }
5028  var_index_.Clear();
5029 }
5030 inline int32_t MPConstraintProto::_internal_var_index(int index) const {
5031  return var_index_.Get(index);
5032 }
5033 inline int32_t MPConstraintProto::var_index(int index) const {
5034  // @@protoc_insertion_point(field_get:operations_research.MPConstraintProto.var_index)
5035  return _internal_var_index(index);
5036 }
5037 inline void MPConstraintProto::set_var_index(int index, int32_t value) {
5038  var_index_.Set(index, value);
5039  // @@protoc_insertion_point(field_set:operations_research.MPConstraintProto.var_index)
5040 }
5041 inline void MPConstraintProto::_internal_add_var_index(int32_t value) {
5042  var_index_.Add(value);
5043 }
5044 inline void MPConstraintProto::add_var_index(int32_t value) {
5045  _internal_add_var_index(value);
5046  // @@protoc_insertion_point(field_add:operations_research.MPConstraintProto.var_index)
5047 }
5048 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
5049 MPConstraintProto::_internal_var_index() const {
5050  return var_index_;
5051 }
5052 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
5054  // @@protoc_insertion_point(field_list:operations_research.MPConstraintProto.var_index)
5055  return _internal_var_index();
5056 }
5057 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
5058 MPConstraintProto::_internal_mutable_var_index() {
5059  return &var_index_;
5060 }
5061 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
5063  // @@protoc_insertion_point(field_mutable_list:operations_research.MPConstraintProto.var_index)
5064  return _internal_mutable_var_index();
5065 }
5066 
5067 // repeated double coefficient = 7 [packed = true];
5068 inline int MPConstraintProto::_internal_coefficient_size() const {
5069  return coefficient_.size();
5070 }
5072  return _internal_coefficient_size();
5073 }
5075  coefficient_.Clear();
5076 }
5077 inline double MPConstraintProto::_internal_coefficient(int index) const {
5078  return coefficient_.Get(index);
5079 }
5080 inline double MPConstraintProto::coefficient(int index) const {
5081  // @@protoc_insertion_point(field_get:operations_research.MPConstraintProto.coefficient)
5082  return _internal_coefficient(index);
5083 }
5084 inline void MPConstraintProto::set_coefficient(int index, double value) {
5085  coefficient_.Set(index, value);
5086  // @@protoc_insertion_point(field_set:operations_research.MPConstraintProto.coefficient)
5087 }
5088 inline void MPConstraintProto::_internal_add_coefficient(double value) {
5089  coefficient_.Add(value);
5090 }
5091 inline void MPConstraintProto::add_coefficient(double value) {
5092  _internal_add_coefficient(value);
5093  // @@protoc_insertion_point(field_add:operations_research.MPConstraintProto.coefficient)
5094 }
5095 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
5096 MPConstraintProto::_internal_coefficient() const {
5097  return coefficient_;
5098 }
5099 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
5101  // @@protoc_insertion_point(field_list:operations_research.MPConstraintProto.coefficient)
5102  return _internal_coefficient();
5103 }
5104 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
5105 MPConstraintProto::_internal_mutable_coefficient() {
5106  return &coefficient_;
5107 }
5108 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
5110  // @@protoc_insertion_point(field_mutable_list:operations_research.MPConstraintProto.coefficient)
5111  return _internal_mutable_coefficient();
5112 }
5113 
5114 // optional double lower_bound = 2 [default = -inf];
5115 inline bool MPConstraintProto::_internal_has_lower_bound() const {
5116  bool value = (_has_bits_[0] & 0x00000004u) != 0;
5117  return value;
5118 }
5120  return _internal_has_lower_bound();
5121 }
5123  lower_bound_ = -std::numeric_limits<double>::infinity();
5124  _has_bits_[0] &= ~0x00000004u;
5125 }
5126 inline double MPConstraintProto::_internal_lower_bound() const {
5127  return lower_bound_;
5128 }
5129 inline double MPConstraintProto::lower_bound() const {
5130  // @@protoc_insertion_point(field_get:operations_research.MPConstraintProto.lower_bound)
5131  return _internal_lower_bound();
5132 }
5133 inline void MPConstraintProto::_internal_set_lower_bound(double value) {
5134  _has_bits_[0] |= 0x00000004u;
5135  lower_bound_ = value;
5136 }
5137 inline void MPConstraintProto::set_lower_bound(double value) {
5138  _internal_set_lower_bound(value);
5139  // @@protoc_insertion_point(field_set:operations_research.MPConstraintProto.lower_bound)
5140 }
5141 
5142 // optional double upper_bound = 3 [default = inf];
5143 inline bool MPConstraintProto::_internal_has_upper_bound() const {
5144  bool value = (_has_bits_[0] & 0x00000008u) != 0;
5145  return value;
5146 }
5148  return _internal_has_upper_bound();
5149 }
5151  upper_bound_ = std::numeric_limits<double>::infinity();
5152  _has_bits_[0] &= ~0x00000008u;
5153 }
5154 inline double MPConstraintProto::_internal_upper_bound() const {
5155  return upper_bound_;
5156 }
5157 inline double MPConstraintProto::upper_bound() const {
5158  // @@protoc_insertion_point(field_get:operations_research.MPConstraintProto.upper_bound)
5159  return _internal_upper_bound();
5160 }
5161 inline void MPConstraintProto::_internal_set_upper_bound(double value) {
5162  _has_bits_[0] |= 0x00000008u;
5163  upper_bound_ = value;
5164 }
5165 inline void MPConstraintProto::set_upper_bound(double value) {
5166  _internal_set_upper_bound(value);
5167  // @@protoc_insertion_point(field_set:operations_research.MPConstraintProto.upper_bound)
5168 }
5169 
5170 // optional string name = 4 [default = ""];
5171 inline bool MPConstraintProto::_internal_has_name() const {
5172  bool value = (_has_bits_[0] & 0x00000001u) != 0;
5173  return value;
5174 }
5175 inline bool MPConstraintProto::has_name() const {
5176  return _internal_has_name();
5177 }
5179  name_.ClearToEmpty();
5180  _has_bits_[0] &= ~0x00000001u;
5181 }
5182 inline const std::string& MPConstraintProto::name() const {
5183  // @@protoc_insertion_point(field_get:operations_research.MPConstraintProto.name)
5184  return _internal_name();
5185 }
5186 template <typename ArgT0, typename... ArgT>
5187 inline PROTOBUF_ALWAYS_INLINE
5188 void MPConstraintProto::set_name(ArgT0&& arg0, ArgT... args) {
5189  _has_bits_[0] |= 0x00000001u;
5190  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
5191  // @@protoc_insertion_point(field_set:operations_research.MPConstraintProto.name)
5192 }
5193 inline std::string* MPConstraintProto::mutable_name() {
5194  std::string* _s = _internal_mutable_name();
5195  // @@protoc_insertion_point(field_mutable:operations_research.MPConstraintProto.name)
5196  return _s;
5197 }
5198 inline const std::string& MPConstraintProto::_internal_name() const {
5199  return name_.Get();
5200 }
5201 inline void MPConstraintProto::_internal_set_name(const std::string& value) {
5202  _has_bits_[0] |= 0x00000001u;
5203  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
5204 }
5205 inline std::string* MPConstraintProto::_internal_mutable_name() {
5206  _has_bits_[0] |= 0x00000001u;
5207  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
5208 }
5209 inline std::string* MPConstraintProto::release_name() {
5210  // @@protoc_insertion_point(field_release:operations_research.MPConstraintProto.name)
5211  if (!_internal_has_name()) {
5212  return nullptr;
5213  }
5214  _has_bits_[0] &= ~0x00000001u;
5215  auto* p = name_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
5216 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
5217  if (name_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
5218  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
5219  }
5220 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
5221  return p;
5222 }
5223 inline void MPConstraintProto::set_allocated_name(std::string* name) {
5224  if (name != nullptr) {
5225  _has_bits_[0] |= 0x00000001u;
5226  } else {
5227  _has_bits_[0] &= ~0x00000001u;
5228  }
5229  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
5230  GetArenaForAllocation());
5231 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
5232  if (name_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
5233  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
5234  }
5235 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
5236  // @@protoc_insertion_point(field_set_allocated:operations_research.MPConstraintProto.name)
5237 }
5238 
5239 // optional bool is_lazy = 5 [default = false];
5240 inline bool MPConstraintProto::_internal_has_is_lazy() const {
5241  bool value = (_has_bits_[0] & 0x00000002u) != 0;
5242  return value;
5243 }
5244 inline bool MPConstraintProto::has_is_lazy() const {
5245  return _internal_has_is_lazy();
5246 }
5248  is_lazy_ = false;
5249  _has_bits_[0] &= ~0x00000002u;
5250 }
5251 inline bool MPConstraintProto::_internal_is_lazy() const {
5252  return is_lazy_;
5253 }
5254 inline bool MPConstraintProto::is_lazy() const {
5255  // @@protoc_insertion_point(field_get:operations_research.MPConstraintProto.is_lazy)
5256  return _internal_is_lazy();
5257 }
5258 inline void MPConstraintProto::_internal_set_is_lazy(bool value) {
5259  _has_bits_[0] |= 0x00000002u;
5260  is_lazy_ = value;
5261 }
5262 inline void MPConstraintProto::set_is_lazy(bool value) {
5263  _internal_set_is_lazy(value);
5264  // @@protoc_insertion_point(field_set:operations_research.MPConstraintProto.is_lazy)
5265 }
5266 
5267 // -------------------------------------------------------------------
5268 
5269 // MPGeneralConstraintProto
5270 
5271 // optional string name = 1 [default = ""];
5272 inline bool MPGeneralConstraintProto::_internal_has_name() const {
5273  bool value = (_has_bits_[0] & 0x00000001u) != 0;
5274  return value;
5275 }
5277  return _internal_has_name();
5278 }
5280  name_.ClearToEmpty();
5281  _has_bits_[0] &= ~0x00000001u;
5282 }
5283 inline const std::string& MPGeneralConstraintProto::name() const {
5284  // @@protoc_insertion_point(field_get:operations_research.MPGeneralConstraintProto.name)
5285  return _internal_name();
5286 }
5287 template <typename ArgT0, typename... ArgT>
5288 inline PROTOBUF_ALWAYS_INLINE
5289 void MPGeneralConstraintProto::set_name(ArgT0&& arg0, ArgT... args) {
5290  _has_bits_[0] |= 0x00000001u;
5291  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
5292  // @@protoc_insertion_point(field_set:operations_research.MPGeneralConstraintProto.name)
5293 }
5295  std::string* _s = _internal_mutable_name();
5296  // @@protoc_insertion_point(field_mutable:operations_research.MPGeneralConstraintProto.name)
5297  return _s;
5298 }
5299 inline const std::string& MPGeneralConstraintProto::_internal_name() const {
5300  return name_.Get();
5301 }
5302 inline void MPGeneralConstraintProto::_internal_set_name(const std::string& value) {
5303  _has_bits_[0] |= 0x00000001u;
5304  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
5305 }
5306 inline std::string* MPGeneralConstraintProto::_internal_mutable_name() {
5307  _has_bits_[0] |= 0x00000001u;
5308  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
5309 }
5311  // @@protoc_insertion_point(field_release:operations_research.MPGeneralConstraintProto.name)
5312  if (!_internal_has_name()) {
5313  return nullptr;
5314  }
5315  _has_bits_[0] &= ~0x00000001u;
5316  auto* p = name_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
5317 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
5318  if (name_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
5319  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
5320  }
5321 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
5322  return p;
5323 }
5325  if (name != nullptr) {
5326  _has_bits_[0] |= 0x00000001u;
5327  } else {
5328  _has_bits_[0] &= ~0x00000001u;
5329  }
5330  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
5331  GetArenaForAllocation());
5332 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
5333  if (name_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
5334  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
5335  }
5336 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
5337  // @@protoc_insertion_point(field_set_allocated:operations_research.MPGeneralConstraintProto.name)
5338 }
5339 
5340 // .operations_research.MPIndicatorConstraint indicator_constraint = 2;
5341 inline bool MPGeneralConstraintProto::_internal_has_indicator_constraint() const {
5342  return general_constraint_case() == kIndicatorConstraint;
5343 }
5345  return _internal_has_indicator_constraint();
5346 }
5347 inline void MPGeneralConstraintProto::set_has_indicator_constraint() {
5348  _oneof_case_[0] = kIndicatorConstraint;
5349 }
5351  if (_internal_has_indicator_constraint()) {
5352  if (GetArenaForAllocation() == nullptr) {
5353  delete general_constraint_.indicator_constraint_;
5354  }
5355  clear_has_general_constraint();
5356  }
5357 }
5358 inline ::operations_research::MPIndicatorConstraint* MPGeneralConstraintProto::release_indicator_constraint() {
5359  // @@protoc_insertion_point(field_release:operations_research.MPGeneralConstraintProto.indicator_constraint)
5360  if (_internal_has_indicator_constraint()) {
5361  clear_has_general_constraint();
5362  ::operations_research::MPIndicatorConstraint* temp = general_constraint_.indicator_constraint_;
5363  if (GetArenaForAllocation() != nullptr) {
5364  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
5365  }
5366  general_constraint_.indicator_constraint_ = nullptr;
5367  return temp;
5368  } else {
5369  return nullptr;
5370  }
5371 }
5372 inline const ::operations_research::MPIndicatorConstraint& MPGeneralConstraintProto::_internal_indicator_constraint() const {
5373  return _internal_has_indicator_constraint()
5374  ? *general_constraint_.indicator_constraint_
5375  : reinterpret_cast< ::operations_research::MPIndicatorConstraint&>(::operations_research::_MPIndicatorConstraint_default_instance_);
5376 }
5377 inline const ::operations_research::MPIndicatorConstraint& MPGeneralConstraintProto::indicator_constraint() const {
5378  // @@protoc_insertion_point(field_get:operations_research.MPGeneralConstraintProto.indicator_constraint)
5379  return _internal_indicator_constraint();
5380 }
5381 inline ::operations_research::MPIndicatorConstraint* MPGeneralConstraintProto::unsafe_arena_release_indicator_constraint() {
5382  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.MPGeneralConstraintProto.indicator_constraint)
5383  if (_internal_has_indicator_constraint()) {
5384  clear_has_general_constraint();
5385  ::operations_research::MPIndicatorConstraint* temp = general_constraint_.indicator_constraint_;
5386  general_constraint_.indicator_constraint_ = nullptr;
5387  return temp;
5388  } else {
5389  return nullptr;
5390  }
5391 }
5393  clear_general_constraint();
5394  if (indicator_constraint) {
5395  set_has_indicator_constraint();
5396  general_constraint_.indicator_constraint_ = indicator_constraint;
5397  }
5398  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.MPGeneralConstraintProto.indicator_constraint)
5399 }
5400 inline ::operations_research::MPIndicatorConstraint* MPGeneralConstraintProto::_internal_mutable_indicator_constraint() {
5401  if (!_internal_has_indicator_constraint()) {
5402  clear_general_constraint();
5403  set_has_indicator_constraint();
5404  general_constraint_.indicator_constraint_ = CreateMaybeMessage< ::operations_research::MPIndicatorConstraint >(GetArenaForAllocation());
5405  }
5406  return general_constraint_.indicator_constraint_;
5407 }
5408 inline ::operations_research::MPIndicatorConstraint* MPGeneralConstraintProto::mutable_indicator_constraint() {
5409  ::operations_research::MPIndicatorConstraint* _msg = _internal_mutable_indicator_constraint();
5410  // @@protoc_insertion_point(field_mutable:operations_research.MPGeneralConstraintProto.indicator_constraint)
5411  return _msg;
5412 }
5413 
5414 // .operations_research.MPSosConstraint sos_constraint = 3;
5415 inline bool MPGeneralConstraintProto::_internal_has_sos_constraint() const {
5416  return general_constraint_case() == kSosConstraint;
5417 }
5419  return _internal_has_sos_constraint();
5420 }
5421 inline void MPGeneralConstraintProto::set_has_sos_constraint() {
5422  _oneof_case_[0] = kSosConstraint;
5423 }
5425  if (_internal_has_sos_constraint()) {
5426  if (GetArenaForAllocation() == nullptr) {
5427  delete general_constraint_.sos_constraint_;
5428  }
5429  clear_has_general_constraint();
5430  }
5431 }
5432 inline ::operations_research::MPSosConstraint* MPGeneralConstraintProto::release_sos_constraint() {
5433  // @@protoc_insertion_point(field_release:operations_research.MPGeneralConstraintProto.sos_constraint)
5434  if (_internal_has_sos_constraint()) {
5435  clear_has_general_constraint();
5436  ::operations_research::MPSosConstraint* temp = general_constraint_.sos_constraint_;
5437  if (GetArenaForAllocation() != nullptr) {
5438  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
5439  }
5440  general_constraint_.sos_constraint_ = nullptr;
5441  return temp;
5442  } else {
5443  return nullptr;
5444  }
5445 }
5446 inline const ::operations_research::MPSosConstraint& MPGeneralConstraintProto::_internal_sos_constraint() const {
5447  return _internal_has_sos_constraint()
5448  ? *general_constraint_.sos_constraint_
5449  : reinterpret_cast< ::operations_research::MPSosConstraint&>(::operations_research::_MPSosConstraint_default_instance_);
5450 }
5451 inline const ::operations_research::MPSosConstraint& MPGeneralConstraintProto::sos_constraint() const {
5452  // @@protoc_insertion_point(field_get:operations_research.MPGeneralConstraintProto.sos_constraint)
5453  return _internal_sos_constraint();
5454 }
5455 inline ::operations_research::MPSosConstraint* MPGeneralConstraintProto::unsafe_arena_release_sos_constraint() {
5456  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.MPGeneralConstraintProto.sos_constraint)
5457  if (_internal_has_sos_constraint()) {
5458  clear_has_general_constraint();
5459  ::operations_research::MPSosConstraint* temp = general_constraint_.sos_constraint_;
5460  general_constraint_.sos_constraint_ = nullptr;
5461  return temp;
5462  } else {
5463  return nullptr;
5464  }
5465 }
5467  clear_general_constraint();
5468  if (sos_constraint) {
5469  set_has_sos_constraint();
5470  general_constraint_.sos_constraint_ = sos_constraint;
5471  }
5472  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.MPGeneralConstraintProto.sos_constraint)
5473 }
5474 inline ::operations_research::MPSosConstraint* MPGeneralConstraintProto::_internal_mutable_sos_constraint() {
5475  if (!_internal_has_sos_constraint()) {
5476  clear_general_constraint();
5477  set_has_sos_constraint();
5478  general_constraint_.sos_constraint_ = CreateMaybeMessage< ::operations_research::MPSosConstraint >(GetArenaForAllocation());
5479  }
5480  return general_constraint_.sos_constraint_;
5481 }
5482 inline ::operations_research::MPSosConstraint* MPGeneralConstraintProto::mutable_sos_constraint() {
5483  ::operations_research::MPSosConstraint* _msg = _internal_mutable_sos_constraint();
5484  // @@protoc_insertion_point(field_mutable:operations_research.MPGeneralConstraintProto.sos_constraint)
5485  return _msg;
5486 }
5487 
5488 // .operations_research.MPQuadraticConstraint quadratic_constraint = 4;
5489 inline bool MPGeneralConstraintProto::_internal_has_quadratic_constraint() const {
5490  return general_constraint_case() == kQuadraticConstraint;
5491 }
5493  return _internal_has_quadratic_constraint();
5494 }
5495 inline void MPGeneralConstraintProto::set_has_quadratic_constraint() {
5496  _oneof_case_[0] = kQuadraticConstraint;
5497 }
5499  if (_internal_has_quadratic_constraint()) {
5500  if (GetArenaForAllocation() == nullptr) {
5501  delete general_constraint_.quadratic_constraint_;
5502  }
5503  clear_has_general_constraint();
5504  }
5505 }
5506 inline ::operations_research::MPQuadraticConstraint* MPGeneralConstraintProto::release_quadratic_constraint() {
5507  // @@protoc_insertion_point(field_release:operations_research.MPGeneralConstraintProto.quadratic_constraint)
5508  if (_internal_has_quadratic_constraint()) {
5509  clear_has_general_constraint();
5510  ::operations_research::MPQuadraticConstraint* temp = general_constraint_.quadratic_constraint_;
5511  if (GetArenaForAllocation() != nullptr) {
5512  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
5513  }
5514  general_constraint_.quadratic_constraint_ = nullptr;
5515  return temp;
5516  } else {
5517  return nullptr;
5518  }
5519 }
5520 inline const ::operations_research::MPQuadraticConstraint& MPGeneralConstraintProto::_internal_quadratic_constraint() const {
5521  return _internal_has_quadratic_constraint()
5522  ? *general_constraint_.quadratic_constraint_
5523  : reinterpret_cast< ::operations_research::MPQuadraticConstraint&>(::operations_research::_MPQuadraticConstraint_default_instance_);
5524 }
5525 inline const ::operations_research::MPQuadraticConstraint& MPGeneralConstraintProto::quadratic_constraint() const {
5526  // @@protoc_insertion_point(field_get:operations_research.MPGeneralConstraintProto.quadratic_constraint)
5527  return _internal_quadratic_constraint();
5528 }
5529 inline ::operations_research::MPQuadraticConstraint* MPGeneralConstraintProto::unsafe_arena_release_quadratic_constraint() {
5530  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.MPGeneralConstraintProto.quadratic_constraint)
5531  if (_internal_has_quadratic_constraint()) {
5532  clear_has_general_constraint();
5533  ::operations_research::MPQuadraticConstraint* temp = general_constraint_.quadratic_constraint_;
5534  general_constraint_.quadratic_constraint_ = nullptr;
5535  return temp;
5536  } else {
5537  return nullptr;
5538  }
5539 }
5541  clear_general_constraint();
5542  if (quadratic_constraint) {
5543  set_has_quadratic_constraint();
5544  general_constraint_.quadratic_constraint_ = quadratic_constraint;
5545  }
5546  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.MPGeneralConstraintProto.quadratic_constraint)
5547 }
5548 inline ::operations_research::MPQuadraticConstraint* MPGeneralConstraintProto::_internal_mutable_quadratic_constraint() {
5549  if (!_internal_has_quadratic_constraint()) {
5550  clear_general_constraint();
5551  set_has_quadratic_constraint();
5552  general_constraint_.quadratic_constraint_ = CreateMaybeMessage< ::operations_research::MPQuadraticConstraint >(GetArenaForAllocation());
5553  }
5554  return general_constraint_.quadratic_constraint_;
5555 }
5556 inline ::operations_research::MPQuadraticConstraint* MPGeneralConstraintProto::mutable_quadratic_constraint() {
5557  ::operations_research::MPQuadraticConstraint* _msg = _internal_mutable_quadratic_constraint();
5558  // @@protoc_insertion_point(field_mutable:operations_research.MPGeneralConstraintProto.quadratic_constraint)
5559  return _msg;
5560 }
5561 
5562 // .operations_research.MPAbsConstraint abs_constraint = 5;
5563 inline bool MPGeneralConstraintProto::_internal_has_abs_constraint() const {
5564  return general_constraint_case() == kAbsConstraint;
5565 }
5567  return _internal_has_abs_constraint();
5568 }
5569 inline void MPGeneralConstraintProto::set_has_abs_constraint() {
5570  _oneof_case_[0] = kAbsConstraint;
5571 }
5573  if (_internal_has_abs_constraint()) {
5574  if (GetArenaForAllocation() == nullptr) {
5575  delete general_constraint_.abs_constraint_;
5576  }
5577  clear_has_general_constraint();
5578  }
5579 }
5580 inline ::operations_research::MPAbsConstraint* MPGeneralConstraintProto::release_abs_constraint() {
5581  // @@protoc_insertion_point(field_release:operations_research.MPGeneralConstraintProto.abs_constraint)
5582  if (_internal_has_abs_constraint()) {
5583  clear_has_general_constraint();
5584  ::operations_research::MPAbsConstraint* temp = general_constraint_.abs_constraint_;
5585  if (GetArenaForAllocation() != nullptr) {
5586  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
5587  }
5588  general_constraint_.abs_constraint_ = nullptr;
5589  return temp;
5590  } else {
5591  return nullptr;
5592  }
5593 }
5594 inline const ::operations_research::MPAbsConstraint& MPGeneralConstraintProto::_internal_abs_constraint() const {
5595  return _internal_has_abs_constraint()
5596  ? *general_constraint_.abs_constraint_
5597  : reinterpret_cast< ::operations_research::MPAbsConstraint&>(::operations_research::_MPAbsConstraint_default_instance_);
5598 }
5599 inline const ::operations_research::MPAbsConstraint& MPGeneralConstraintProto::abs_constraint() const {
5600  // @@protoc_insertion_point(field_get:operations_research.MPGeneralConstraintProto.abs_constraint)
5601  return _internal_abs_constraint();
5602 }
5603 inline ::operations_research::MPAbsConstraint* MPGeneralConstraintProto::unsafe_arena_release_abs_constraint() {
5604  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.MPGeneralConstraintProto.abs_constraint)
5605  if (_internal_has_abs_constraint()) {
5606  clear_has_general_constraint();
5607  ::operations_research::MPAbsConstraint* temp = general_constraint_.abs_constraint_;
5608  general_constraint_.abs_constraint_ = nullptr;
5609  return temp;
5610  } else {
5611  return nullptr;
5612  }
5613 }
5615  clear_general_constraint();
5616  if (abs_constraint) {
5617  set_has_abs_constraint();
5618  general_constraint_.abs_constraint_ = abs_constraint;
5619  }
5620  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.MPGeneralConstraintProto.abs_constraint)
5621 }
5622 inline ::operations_research::MPAbsConstraint* MPGeneralConstraintProto::_internal_mutable_abs_constraint() {
5623  if (!_internal_has_abs_constraint()) {
5624  clear_general_constraint();
5625  set_has_abs_constraint();
5626  general_constraint_.abs_constraint_ = CreateMaybeMessage< ::operations_research::MPAbsConstraint >(GetArenaForAllocation());
5627  }
5628  return general_constraint_.abs_constraint_;
5629 }
5630 inline ::operations_research::MPAbsConstraint* MPGeneralConstraintProto::mutable_abs_constraint() {
5631  ::operations_research::MPAbsConstraint* _msg = _internal_mutable_abs_constraint();
5632  // @@protoc_insertion_point(field_mutable:operations_research.MPGeneralConstraintProto.abs_constraint)
5633  return _msg;
5634 }
5635 
5636 // .operations_research.MPArrayConstraint and_constraint = 6;
5637 inline bool MPGeneralConstraintProto::_internal_has_and_constraint() const {
5638  return general_constraint_case() == kAndConstraint;
5639 }
5641  return _internal_has_and_constraint();
5642 }
5643 inline void MPGeneralConstraintProto::set_has_and_constraint() {
5644  _oneof_case_[0] = kAndConstraint;
5645 }
5647  if (_internal_has_and_constraint()) {
5648  if (GetArenaForAllocation() == nullptr) {
5649  delete general_constraint_.and_constraint_;
5650  }
5651  clear_has_general_constraint();
5652  }
5653 }
5654 inline ::operations_research::MPArrayConstraint* MPGeneralConstraintProto::release_and_constraint() {
5655  // @@protoc_insertion_point(field_release:operations_research.MPGeneralConstraintProto.and_constraint)
5656  if (_internal_has_and_constraint()) {
5657  clear_has_general_constraint();
5658  ::operations_research::MPArrayConstraint* temp = general_constraint_.and_constraint_;
5659  if (GetArenaForAllocation() != nullptr) {
5660  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
5661  }
5662  general_constraint_.and_constraint_ = nullptr;
5663  return temp;
5664  } else {
5665  return nullptr;
5666  }
5667 }
5668 inline const ::operations_research::MPArrayConstraint& MPGeneralConstraintProto::_internal_and_constraint() const {
5669  return _internal_has_and_constraint()
5670  ? *general_constraint_.and_constraint_
5671  : reinterpret_cast< ::operations_research::MPArrayConstraint&>(::operations_research::_MPArrayConstraint_default_instance_);
5672 }
5673 inline const ::operations_research::MPArrayConstraint& MPGeneralConstraintProto::and_constraint() const {
5674  // @@protoc_insertion_point(field_get:operations_research.MPGeneralConstraintProto.and_constraint)
5675  return _internal_and_constraint();
5676 }
5677 inline ::operations_research::MPArrayConstraint* MPGeneralConstraintProto::unsafe_arena_release_and_constraint() {
5678  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.MPGeneralConstraintProto.and_constraint)
5679  if (_internal_has_and_constraint()) {
5680  clear_has_general_constraint();
5681  ::operations_research::MPArrayConstraint* temp = general_constraint_.and_constraint_;
5682  general_constraint_.and_constraint_ = nullptr;
5683  return temp;
5684  } else {
5685  return nullptr;
5686  }
5687 }
5689  clear_general_constraint();
5690  if (and_constraint) {
5691  set_has_and_constraint();
5692  general_constraint_.and_constraint_ = and_constraint;
5693  }
5694  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.MPGeneralConstraintProto.and_constraint)
5695 }
5696 inline ::operations_research::MPArrayConstraint* MPGeneralConstraintProto::_internal_mutable_and_constraint() {
5697  if (!_internal_has_and_constraint()) {
5698  clear_general_constraint();
5699  set_has_and_constraint();
5700  general_constraint_.and_constraint_ = CreateMaybeMessage< ::operations_research::MPArrayConstraint >(GetArenaForAllocation());
5701  }
5702  return general_constraint_.and_constraint_;
5703 }
5704 inline ::operations_research::MPArrayConstraint* MPGeneralConstraintProto::mutable_and_constraint() {
5705  ::operations_research::MPArrayConstraint* _msg = _internal_mutable_and_constraint();
5706  // @@protoc_insertion_point(field_mutable:operations_research.MPGeneralConstraintProto.and_constraint)
5707  return _msg;
5708 }
5709 
5710 // .operations_research.MPArrayConstraint or_constraint = 7;
5711 inline bool MPGeneralConstraintProto::_internal_has_or_constraint() const {
5712  return general_constraint_case() == kOrConstraint;
5713 }
5715  return _internal_has_or_constraint();
5716 }
5717 inline void MPGeneralConstraintProto::set_has_or_constraint() {
5718  _oneof_case_[0] = kOrConstraint;
5719 }
5721  if (_internal_has_or_constraint()) {
5722  if (GetArenaForAllocation() == nullptr) {
5723  delete general_constraint_.or_constraint_;
5724  }
5725  clear_has_general_constraint();
5726  }
5727 }
5728 inline ::operations_research::MPArrayConstraint* MPGeneralConstraintProto::release_or_constraint() {
5729  // @@protoc_insertion_point(field_release:operations_research.MPGeneralConstraintProto.or_constraint)
5730  if (_internal_has_or_constraint()) {
5731  clear_has_general_constraint();
5732  ::operations_research::MPArrayConstraint* temp = general_constraint_.or_constraint_;
5733  if (GetArenaForAllocation() != nullptr) {
5734  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
5735  }
5736  general_constraint_.or_constraint_ = nullptr;
5737  return temp;
5738  } else {
5739  return nullptr;
5740  }
5741 }
5742 inline const ::operations_research::MPArrayConstraint& MPGeneralConstraintProto::_internal_or_constraint() const {
5743  return _internal_has_or_constraint()
5744  ? *general_constraint_.or_constraint_
5745  : reinterpret_cast< ::operations_research::MPArrayConstraint&>(::operations_research::_MPArrayConstraint_default_instance_);
5746 }
5747 inline const ::operations_research::MPArrayConstraint& MPGeneralConstraintProto::or_constraint() const {
5748  // @@protoc_insertion_point(field_get:operations_research.MPGeneralConstraintProto.or_constraint)
5749  return _internal_or_constraint();
5750 }
5751 inline ::operations_research::MPArrayConstraint* MPGeneralConstraintProto::unsafe_arena_release_or_constraint() {
5752  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.MPGeneralConstraintProto.or_constraint)
5753  if (_internal_has_or_constraint()) {
5754  clear_has_general_constraint();
5755  ::operations_research::MPArrayConstraint* temp = general_constraint_.or_constraint_;
5756  general_constraint_.or_constraint_ = nullptr;
5757  return temp;
5758  } else {
5759  return nullptr;
5760  }
5761 }
5763  clear_general_constraint();
5764  if (or_constraint) {
5765  set_has_or_constraint();
5766  general_constraint_.or_constraint_ = or_constraint;
5767  }
5768  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.MPGeneralConstraintProto.or_constraint)
5769 }
5770 inline ::operations_research::MPArrayConstraint* MPGeneralConstraintProto::_internal_mutable_or_constraint() {
5771  if (!_internal_has_or_constraint()) {
5772  clear_general_constraint();
5773  set_has_or_constraint();
5774  general_constraint_.or_constraint_ = CreateMaybeMessage< ::operations_research::MPArrayConstraint >(GetArenaForAllocation());
5775  }
5776  return general_constraint_.or_constraint_;
5777 }
5778 inline ::operations_research::MPArrayConstraint* MPGeneralConstraintProto::mutable_or_constraint() {
5779  ::operations_research::MPArrayConstraint* _msg = _internal_mutable_or_constraint();
5780  // @@protoc_insertion_point(field_mutable:operations_research.MPGeneralConstraintProto.or_constraint)
5781  return _msg;
5782 }
5783 
5784 // .operations_research.MPArrayWithConstantConstraint min_constraint = 8;
5785 inline bool MPGeneralConstraintProto::_internal_has_min_constraint() const {
5786  return general_constraint_case() == kMinConstraint;
5787 }
5789  return _internal_has_min_constraint();
5790 }
5791 inline void MPGeneralConstraintProto::set_has_min_constraint() {
5792  _oneof_case_[0] = kMinConstraint;
5793 }
5795  if (_internal_has_min_constraint()) {
5796  if (GetArenaForAllocation() == nullptr) {
5797  delete general_constraint_.min_constraint_;
5798  }
5799  clear_has_general_constraint();
5800  }
5801 }
5802 inline ::operations_research::MPArrayWithConstantConstraint* MPGeneralConstraintProto::release_min_constraint() {
5803  // @@protoc_insertion_point(field_release:operations_research.MPGeneralConstraintProto.min_constraint)
5804  if (_internal_has_min_constraint()) {
5805  clear_has_general_constraint();
5806  ::operations_research::MPArrayWithConstantConstraint* temp = general_constraint_.min_constraint_;
5807  if (GetArenaForAllocation() != nullptr) {
5808  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
5809  }
5810  general_constraint_.min_constraint_ = nullptr;
5811  return temp;
5812  } else {
5813  return nullptr;
5814  }
5815 }
5816 inline const ::operations_research::MPArrayWithConstantConstraint& MPGeneralConstraintProto::_internal_min_constraint() const {
5817  return _internal_has_min_constraint()
5818  ? *general_constraint_.min_constraint_
5819  : reinterpret_cast< ::operations_research::MPArrayWithConstantConstraint&>(::operations_research::_MPArrayWithConstantConstraint_default_instance_);
5820 }
5821 inline const ::operations_research::MPArrayWithConstantConstraint& MPGeneralConstraintProto::min_constraint() const {
5822  // @@protoc_insertion_point(field_get:operations_research.MPGeneralConstraintProto.min_constraint)
5823  return _internal_min_constraint();
5824 }
5825 inline ::operations_research::MPArrayWithConstantConstraint* MPGeneralConstraintProto::unsafe_arena_release_min_constraint() {
5826  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.MPGeneralConstraintProto.min_constraint)
5827  if (_internal_has_min_constraint()) {
5828  clear_has_general_constraint();
5829  ::operations_research::MPArrayWithConstantConstraint* temp = general_constraint_.min_constraint_;
5830  general_constraint_.min_constraint_ = nullptr;
5831  return temp;
5832  } else {
5833  return nullptr;
5834  }
5835 }
5837  clear_general_constraint();
5838  if (min_constraint) {
5839  set_has_min_constraint();
5840  general_constraint_.min_constraint_ = min_constraint;
5841  }
5842  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.MPGeneralConstraintProto.min_constraint)
5843 }
5844 inline ::operations_research::MPArrayWithConstantConstraint* MPGeneralConstraintProto::_internal_mutable_min_constraint() {
5845  if (!_internal_has_min_constraint()) {
5846  clear_general_constraint();
5847  set_has_min_constraint();
5848  general_constraint_.min_constraint_ = CreateMaybeMessage< ::operations_research::MPArrayWithConstantConstraint >(GetArenaForAllocation());
5849  }
5850  return general_constraint_.min_constraint_;
5851 }
5852 inline ::operations_research::MPArrayWithConstantConstraint* MPGeneralConstraintProto::mutable_min_constraint() {
5853  ::operations_research::MPArrayWithConstantConstraint* _msg = _internal_mutable_min_constraint();
5854  // @@protoc_insertion_point(field_mutable:operations_research.MPGeneralConstraintProto.min_constraint)
5855  return _msg;
5856 }
5857 
5858 // .operations_research.MPArrayWithConstantConstraint max_constraint = 9;
5859 inline bool MPGeneralConstraintProto::_internal_has_max_constraint() const {
5860  return general_constraint_case() == kMaxConstraint;
5861 }
5863  return _internal_has_max_constraint();
5864 }
5865 inline void MPGeneralConstraintProto::set_has_max_constraint() {
5866  _oneof_case_[0] = kMaxConstraint;
5867 }
5869  if (_internal_has_max_constraint()) {
5870  if (GetArenaForAllocation() == nullptr) {
5871  delete general_constraint_.max_constraint_;
5872  }
5873  clear_has_general_constraint();
5874  }
5875 }
5876 inline ::operations_research::MPArrayWithConstantConstraint* MPGeneralConstraintProto::release_max_constraint() {
5877  // @@protoc_insertion_point(field_release:operations_research.MPGeneralConstraintProto.max_constraint)
5878  if (_internal_has_max_constraint()) {
5879  clear_has_general_constraint();
5880  ::operations_research::MPArrayWithConstantConstraint* temp = general_constraint_.max_constraint_;
5881  if (GetArenaForAllocation() != nullptr) {
5882  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
5883  }
5884  general_constraint_.max_constraint_ = nullptr;
5885  return temp;
5886  } else {
5887  return nullptr;
5888  }
5889 }
5890 inline const ::operations_research::MPArrayWithConstantConstraint& MPGeneralConstraintProto::_internal_max_constraint() const {
5891  return _internal_has_max_constraint()
5892  ? *general_constraint_.max_constraint_
5893  : reinterpret_cast< ::operations_research::MPArrayWithConstantConstraint&>(::operations_research::_MPArrayWithConstantConstraint_default_instance_);
5894 }
5895 inline const ::operations_research::MPArrayWithConstantConstraint& MPGeneralConstraintProto::max_constraint() const {
5896  // @@protoc_insertion_point(field_get:operations_research.MPGeneralConstraintProto.max_constraint)
5897  return _internal_max_constraint();
5898 }
5899 inline ::operations_research::MPArrayWithConstantConstraint* MPGeneralConstraintProto::unsafe_arena_release_max_constraint() {
5900  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.MPGeneralConstraintProto.max_constraint)
5901  if (_internal_has_max_constraint()) {
5902  clear_has_general_constraint();
5903  ::operations_research::MPArrayWithConstantConstraint* temp = general_constraint_.max_constraint_;
5904  general_constraint_.max_constraint_ = nullptr;
5905  return temp;
5906  } else {
5907  return nullptr;
5908  }
5909 }
5911  clear_general_constraint();
5912  if (max_constraint) {
5913  set_has_max_constraint();
5914  general_constraint_.max_constraint_ = max_constraint;
5915  }
5916  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.MPGeneralConstraintProto.max_constraint)
5917 }
5918 inline ::operations_research::MPArrayWithConstantConstraint* MPGeneralConstraintProto::_internal_mutable_max_constraint() {
5919  if (!_internal_has_max_constraint()) {
5920  clear_general_constraint();
5921  set_has_max_constraint();
5922  general_constraint_.max_constraint_ = CreateMaybeMessage< ::operations_research::MPArrayWithConstantConstraint >(GetArenaForAllocation());
5923  }
5924  return general_constraint_.max_constraint_;
5925 }
5926 inline ::operations_research::MPArrayWithConstantConstraint* MPGeneralConstraintProto::mutable_max_constraint() {
5927  ::operations_research::MPArrayWithConstantConstraint* _msg = _internal_mutable_max_constraint();
5928  // @@protoc_insertion_point(field_mutable:operations_research.MPGeneralConstraintProto.max_constraint)
5929  return _msg;
5930 }
5931 
5932 inline bool MPGeneralConstraintProto::has_general_constraint() const {
5933  return general_constraint_case() != GENERAL_CONSTRAINT_NOT_SET;
5934 }
5935 inline void MPGeneralConstraintProto::clear_has_general_constraint() {
5936  _oneof_case_[0] = GENERAL_CONSTRAINT_NOT_SET;
5937 }
5939  return MPGeneralConstraintProto::GeneralConstraintCase(_oneof_case_[0]);
5940 }
5941 // -------------------------------------------------------------------
5942 
5943 // MPIndicatorConstraint
5944 
5945 // optional int32 var_index = 1;
5946 inline bool MPIndicatorConstraint::_internal_has_var_index() const {
5947  bool value = (_has_bits_[0] & 0x00000002u) != 0;
5948  return value;
5949 }
5951  return _internal_has_var_index();
5952 }
5954  var_index_ = 0;
5955  _has_bits_[0] &= ~0x00000002u;
5956 }
5957 inline int32_t MPIndicatorConstraint::_internal_var_index() const {
5958  return var_index_;
5959 }
5960 inline int32_t MPIndicatorConstraint::var_index() const {
5961  // @@protoc_insertion_point(field_get:operations_research.MPIndicatorConstraint.var_index)
5962  return _internal_var_index();
5963 }
5964 inline void MPIndicatorConstraint::_internal_set_var_index(int32_t value) {
5965  _has_bits_[0] |= 0x00000002u;
5966  var_index_ = value;
5967 }
5968 inline void MPIndicatorConstraint::set_var_index(int32_t value) {
5969  _internal_set_var_index(value);
5970  // @@protoc_insertion_point(field_set:operations_research.MPIndicatorConstraint.var_index)
5971 }
5972 
5973 // optional int32 var_value = 2;
5974 inline bool MPIndicatorConstraint::_internal_has_var_value() const {
5975  bool value = (_has_bits_[0] & 0x00000004u) != 0;
5976  return value;
5977 }
5979  return _internal_has_var_value();
5980 }
5982  var_value_ = 0;
5983  _has_bits_[0] &= ~0x00000004u;
5984 }
5985 inline int32_t MPIndicatorConstraint::_internal_var_value() const {
5986  return var_value_;
5987 }
5988 inline int32_t MPIndicatorConstraint::var_value() const {
5989  // @@protoc_insertion_point(field_get:operations_research.MPIndicatorConstraint.var_value)
5990  return _internal_var_value();
5991 }
5992 inline void MPIndicatorConstraint::_internal_set_var_value(int32_t value) {
5993  _has_bits_[0] |= 0x00000004u;
5994  var_value_ = value;
5995 }
5996 inline void MPIndicatorConstraint::set_var_value(int32_t value) {
5997  _internal_set_var_value(value);
5998  // @@protoc_insertion_point(field_set:operations_research.MPIndicatorConstraint.var_value)
5999 }
6000 
6001 // optional .operations_research.MPConstraintProto constraint = 3;
6002 inline bool MPIndicatorConstraint::_internal_has_constraint() const {
6003  bool value = (_has_bits_[0] & 0x00000001u) != 0;
6004  PROTOBUF_ASSUME(!value || constraint_ != nullptr);
6005  return value;
6006 }
6008  return _internal_has_constraint();
6009 }
6011  if (constraint_ != nullptr) constraint_->Clear();
6012  _has_bits_[0] &= ~0x00000001u;
6013 }
6014 inline const ::operations_research::MPConstraintProto& MPIndicatorConstraint::_internal_constraint() const {
6015  const ::operations_research::MPConstraintProto* p = constraint_;
6016  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::MPConstraintProto&>(
6018 }
6019 inline const ::operations_research::MPConstraintProto& MPIndicatorConstraint::constraint() const {
6020  // @@protoc_insertion_point(field_get:operations_research.MPIndicatorConstraint.constraint)
6021  return _internal_constraint();
6022 }
6025  if (GetArenaForAllocation() == nullptr) {
6026  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(constraint_);
6027  }
6028  constraint_ = constraint;
6029  if (constraint) {
6030  _has_bits_[0] |= 0x00000001u;
6031  } else {
6032  _has_bits_[0] &= ~0x00000001u;
6033  }
6034  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.MPIndicatorConstraint.constraint)
6035 }
6036 inline ::operations_research::MPConstraintProto* MPIndicatorConstraint::release_constraint() {
6037  _has_bits_[0] &= ~0x00000001u;
6038  ::operations_research::MPConstraintProto* temp = constraint_;
6039  constraint_ = nullptr;
6040 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
6041  auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
6042  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
6043  if (GetArenaForAllocation() == nullptr) { delete old; }
6044 #else // PROTOBUF_FORCE_COPY_IN_RELEASE
6045  if (GetArenaForAllocation() != nullptr) {
6046  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
6047  }
6048 #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
6049  return temp;
6050 }
6051 inline ::operations_research::MPConstraintProto* MPIndicatorConstraint::unsafe_arena_release_constraint() {
6052  // @@protoc_insertion_point(field_release:operations_research.MPIndicatorConstraint.constraint)
6053  _has_bits_[0] &= ~0x00000001u;
6054  ::operations_research::MPConstraintProto* temp = constraint_;
6055  constraint_ = nullptr;
6056  return temp;
6057 }
6058 inline ::operations_research::MPConstraintProto* MPIndicatorConstraint::_internal_mutable_constraint() {
6059  _has_bits_[0] |= 0x00000001u;
6060  if (constraint_ == nullptr) {
6061  auto* p = CreateMaybeMessage<::operations_research::MPConstraintProto>(GetArenaForAllocation());
6062  constraint_ = p;
6063  }
6064  return constraint_;
6065 }
6066 inline ::operations_research::MPConstraintProto* MPIndicatorConstraint::mutable_constraint() {
6067  ::operations_research::MPConstraintProto* _msg = _internal_mutable_constraint();
6068  // @@protoc_insertion_point(field_mutable:operations_research.MPIndicatorConstraint.constraint)
6069  return _msg;
6070 }
6072  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6073  if (message_arena == nullptr) {
6074  delete constraint_;
6075  }
6076  if (constraint) {
6077  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6078  ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::MPConstraintProto>::GetOwningArena(constraint);
6079  if (message_arena != submessage_arena) {
6080  constraint = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6081  message_arena, constraint, submessage_arena);
6082  }
6083  _has_bits_[0] |= 0x00000001u;
6084  } else {
6085  _has_bits_[0] &= ~0x00000001u;
6086  }
6087  constraint_ = constraint;
6088  // @@protoc_insertion_point(field_set_allocated:operations_research.MPIndicatorConstraint.constraint)
6089 }
6090 
6091 // -------------------------------------------------------------------
6092 
6093 // MPSosConstraint
6094 
6095 // optional .operations_research.MPSosConstraint.Type type = 1 [default = SOS1_DEFAULT];
6096 inline bool MPSosConstraint::_internal_has_type() const {
6097  bool value = (_has_bits_[0] & 0x00000001u) != 0;
6098  return value;
6099 }
6100 inline bool MPSosConstraint::has_type() const {
6101  return _internal_has_type();
6102 }
6104  type_ = 0;
6105  _has_bits_[0] &= ~0x00000001u;
6106 }
6107 inline ::operations_research::MPSosConstraint_Type MPSosConstraint::_internal_type() const {
6108  return static_cast< ::operations_research::MPSosConstraint_Type >(type_);
6109 }
6111  // @@protoc_insertion_point(field_get:operations_research.MPSosConstraint.type)
6112  return _internal_type();
6113 }
6114 inline void MPSosConstraint::_internal_set_type(::operations_research::MPSosConstraint_Type value) {
6116  _has_bits_[0] |= 0x00000001u;
6117  type_ = value;
6118 }
6120  _internal_set_type(value);
6121  // @@protoc_insertion_point(field_set:operations_research.MPSosConstraint.type)
6122 }
6123 
6124 // repeated int32 var_index = 2;
6125 inline int MPSosConstraint::_internal_var_index_size() const {
6126  return var_index_.size();
6127 }
6129  return _internal_var_index_size();
6130 }
6132  var_index_.Clear();
6133 }
6134 inline int32_t MPSosConstraint::_internal_var_index(int index) const {
6135  return var_index_.Get(index);
6136 }
6137 inline int32_t MPSosConstraint::var_index(int index) const {
6138  // @@protoc_insertion_point(field_get:operations_research.MPSosConstraint.var_index)
6139  return _internal_var_index(index);
6140 }
6141 inline void MPSosConstraint::set_var_index(int index, int32_t value) {
6142  var_index_.Set(index, value);
6143  // @@protoc_insertion_point(field_set:operations_research.MPSosConstraint.var_index)
6144 }
6145 inline void MPSosConstraint::_internal_add_var_index(int32_t value) {
6146  var_index_.Add(value);
6147 }
6148 inline void MPSosConstraint::add_var_index(int32_t value) {
6149  _internal_add_var_index(value);
6150  // @@protoc_insertion_point(field_add:operations_research.MPSosConstraint.var_index)
6151 }
6152 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
6153 MPSosConstraint::_internal_var_index() const {
6154  return var_index_;
6155 }
6156 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
6158  // @@protoc_insertion_point(field_list:operations_research.MPSosConstraint.var_index)
6159  return _internal_var_index();
6160 }
6161 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
6162 MPSosConstraint::_internal_mutable_var_index() {
6163  return &var_index_;
6164 }
6165 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
6167  // @@protoc_insertion_point(field_mutable_list:operations_research.MPSosConstraint.var_index)
6168  return _internal_mutable_var_index();
6169 }
6170 
6171 // repeated double weight = 3;
6172 inline int MPSosConstraint::_internal_weight_size() const {
6173  return weight_.size();
6174 }
6175 inline int MPSosConstraint::weight_size() const {
6176  return _internal_weight_size();
6177 }
6179  weight_.Clear();
6180 }
6181 inline double MPSosConstraint::_internal_weight(int index) const {
6182  return weight_.Get(index);
6183 }
6184 inline double MPSosConstraint::weight(int index) const {
6185  // @@protoc_insertion_point(field_get:operations_research.MPSosConstraint.weight)
6186  return _internal_weight(index);
6187 }
6188 inline void MPSosConstraint::set_weight(int index, double value) {
6189  weight_.Set(index, value);
6190  // @@protoc_insertion_point(field_set:operations_research.MPSosConstraint.weight)
6191 }
6192 inline void MPSosConstraint::_internal_add_weight(double value) {
6193  weight_.Add(value);
6194 }
6195 inline void MPSosConstraint::add_weight(double value) {
6196  _internal_add_weight(value);
6197  // @@protoc_insertion_point(field_add:operations_research.MPSosConstraint.weight)
6198 }
6199 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
6200 MPSosConstraint::_internal_weight() const {
6201  return weight_;
6202 }
6203 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
6205  // @@protoc_insertion_point(field_list:operations_research.MPSosConstraint.weight)
6206  return _internal_weight();
6207 }
6208 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
6209 MPSosConstraint::_internal_mutable_weight() {
6210  return &weight_;
6211 }
6212 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
6214  // @@protoc_insertion_point(field_mutable_list:operations_research.MPSosConstraint.weight)
6215  return _internal_mutable_weight();
6216 }
6217 
6218 // -------------------------------------------------------------------
6219 
6220 // MPQuadraticConstraint
6221 
6222 // repeated int32 var_index = 1;
6223 inline int MPQuadraticConstraint::_internal_var_index_size() const {
6224  return var_index_.size();
6225 }
6227  return _internal_var_index_size();
6228 }
6230  var_index_.Clear();
6231 }
6232 inline int32_t MPQuadraticConstraint::_internal_var_index(int index) const {
6233  return var_index_.Get(index);
6234 }
6235 inline int32_t MPQuadraticConstraint::var_index(int index) const {
6236  // @@protoc_insertion_point(field_get:operations_research.MPQuadraticConstraint.var_index)
6237  return _internal_var_index(index);
6238 }
6239 inline void MPQuadraticConstraint::set_var_index(int index, int32_t value) {
6240  var_index_.Set(index, value);
6241  // @@protoc_insertion_point(field_set:operations_research.MPQuadraticConstraint.var_index)
6242 }
6243 inline void MPQuadraticConstraint::_internal_add_var_index(int32_t value) {
6244  var_index_.Add(value);
6245 }
6246 inline void MPQuadraticConstraint::add_var_index(int32_t value) {
6247  _internal_add_var_index(value);
6248  // @@protoc_insertion_point(field_add:operations_research.MPQuadraticConstraint.var_index)
6249 }
6250 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
6251 MPQuadraticConstraint::_internal_var_index() const {
6252  return var_index_;
6253 }
6254 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
6256  // @@protoc_insertion_point(field_list:operations_research.MPQuadraticConstraint.var_index)
6257  return _internal_var_index();
6258 }
6259 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
6260 MPQuadraticConstraint::_internal_mutable_var_index() {
6261  return &var_index_;
6262 }
6263 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
6265  // @@protoc_insertion_point(field_mutable_list:operations_research.MPQuadraticConstraint.var_index)
6266  return _internal_mutable_var_index();
6267 }
6268 
6269 // repeated double coefficient = 2;
6270 inline int MPQuadraticConstraint::_internal_coefficient_size() const {
6271  return coefficient_.size();
6272 }
6274  return _internal_coefficient_size();
6275 }
6277  coefficient_.Clear();
6278 }
6279 inline double MPQuadraticConstraint::_internal_coefficient(int index) const {
6280  return coefficient_.Get(index);
6281 }
6282 inline double MPQuadraticConstraint::coefficient(int index) const {
6283  // @@protoc_insertion_point(field_get:operations_research.MPQuadraticConstraint.coefficient)
6284  return _internal_coefficient(index);
6285 }
6286 inline void MPQuadraticConstraint::set_coefficient(int index, double value) {
6287  coefficient_.Set(index, value);
6288  // @@protoc_insertion_point(field_set:operations_research.MPQuadraticConstraint.coefficient)
6289 }
6290 inline void MPQuadraticConstraint::_internal_add_coefficient(double value) {
6291  coefficient_.Add(value);
6292 }
6293 inline void MPQuadraticConstraint::add_coefficient(double value) {
6294  _internal_add_coefficient(value);
6295  // @@protoc_insertion_point(field_add:operations_research.MPQuadraticConstraint.coefficient)
6296 }
6297 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
6298 MPQuadraticConstraint::_internal_coefficient() const {
6299  return coefficient_;
6300 }
6301 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
6303  // @@protoc_insertion_point(field_list:operations_research.MPQuadraticConstraint.coefficient)
6304  return _internal_coefficient();
6305 }
6306 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
6307 MPQuadraticConstraint::_internal_mutable_coefficient() {
6308  return &coefficient_;
6309 }
6310 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
6312  // @@protoc_insertion_point(field_mutable_list:operations_research.MPQuadraticConstraint.coefficient)
6313  return _internal_mutable_coefficient();
6314 }
6315 
6316 // repeated int32 qvar1_index = 3;
6317 inline int MPQuadraticConstraint::_internal_qvar1_index_size() const {
6318  return qvar1_index_.size();
6319 }
6321  return _internal_qvar1_index_size();
6322 }
6324  qvar1_index_.Clear();
6325 }
6326 inline int32_t MPQuadraticConstraint::_internal_qvar1_index(int index) const {
6327  return qvar1_index_.Get(index);
6328 }
6329 inline int32_t MPQuadraticConstraint::qvar1_index(int index) const {
6330  // @@protoc_insertion_point(field_get:operations_research.MPQuadraticConstraint.qvar1_index)
6331  return _internal_qvar1_index(index);
6332 }
6333 inline void MPQuadraticConstraint::set_qvar1_index(int index, int32_t value) {
6334  qvar1_index_.Set(index, value);
6335  // @@protoc_insertion_point(field_set:operations_research.MPQuadraticConstraint.qvar1_index)
6336 }
6337 inline void MPQuadraticConstraint::_internal_add_qvar1_index(int32_t value) {
6338  qvar1_index_.Add(value);
6339 }
6340 inline void MPQuadraticConstraint::add_qvar1_index(int32_t value) {
6341  _internal_add_qvar1_index(value);
6342  // @@protoc_insertion_point(field_add:operations_research.MPQuadraticConstraint.qvar1_index)
6343 }
6344 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
6345 MPQuadraticConstraint::_internal_qvar1_index() const {
6346  return qvar1_index_;
6347 }
6348 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
6350  // @@protoc_insertion_point(field_list:operations_research.MPQuadraticConstraint.qvar1_index)
6351  return _internal_qvar1_index();
6352 }
6353 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
6354 MPQuadraticConstraint::_internal_mutable_qvar1_index() {
6355  return &qvar1_index_;
6356 }
6357 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
6359  // @@protoc_insertion_point(field_mutable_list:operations_research.MPQuadraticConstraint.qvar1_index)
6360  return _internal_mutable_qvar1_index();
6361 }
6362 
6363 // repeated int32 qvar2_index = 4;
6364 inline int MPQuadraticConstraint::_internal_qvar2_index_size() const {
6365  return qvar2_index_.size();
6366 }
6368  return _internal_qvar2_index_size();
6369 }
6371  qvar2_index_.Clear();
6372 }
6373 inline int32_t MPQuadraticConstraint::_internal_qvar2_index(int index) const {
6374  return qvar2_index_.Get(index);
6375 }
6376 inline int32_t MPQuadraticConstraint::qvar2_index(int index) const {
6377  // @@protoc_insertion_point(field_get:operations_research.MPQuadraticConstraint.qvar2_index)
6378  return _internal_qvar2_index(index);
6379 }
6380 inline void MPQuadraticConstraint::set_qvar2_index(int index, int32_t value) {
6381  qvar2_index_.Set(index, value);
6382  // @@protoc_insertion_point(field_set:operations_research.MPQuadraticConstraint.qvar2_index)
6383 }
6384 inline void MPQuadraticConstraint::_internal_add_qvar2_index(int32_t value) {
6385  qvar2_index_.Add(value);
6386 }
6387 inline void MPQuadraticConstraint::add_qvar2_index(int32_t value) {
6388  _internal_add_qvar2_index(value);
6389  // @@protoc_insertion_point(field_add:operations_research.MPQuadraticConstraint.qvar2_index)
6390 }
6391 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
6392 MPQuadraticConstraint::_internal_qvar2_index() const {
6393  return qvar2_index_;
6394 }
6395 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
6397  // @@protoc_insertion_point(field_list:operations_research.MPQuadraticConstraint.qvar2_index)
6398  return _internal_qvar2_index();
6399 }
6400 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
6401 MPQuadraticConstraint::_internal_mutable_qvar2_index() {
6402  return &qvar2_index_;
6403 }
6404 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
6406  // @@protoc_insertion_point(field_mutable_list:operations_research.MPQuadraticConstraint.qvar2_index)
6407  return _internal_mutable_qvar2_index();
6408 }
6409 
6410 // repeated double qcoefficient = 5;
6411 inline int MPQuadraticConstraint::_internal_qcoefficient_size() const {
6412  return qcoefficient_.size();
6413 }
6415  return _internal_qcoefficient_size();
6416 }
6418  qcoefficient_.Clear();
6419 }
6420 inline double MPQuadraticConstraint::_internal_qcoefficient(int index) const {
6421  return qcoefficient_.Get(index);
6422 }
6423 inline double MPQuadraticConstraint::qcoefficient(int index) const {
6424  // @@protoc_insertion_point(field_get:operations_research.MPQuadraticConstraint.qcoefficient)
6425  return _internal_qcoefficient(index);
6426 }
6427 inline void MPQuadraticConstraint::set_qcoefficient(int index, double value) {
6428  qcoefficient_.Set(index, value);
6429  // @@protoc_insertion_point(field_set:operations_research.MPQuadraticConstraint.qcoefficient)
6430 }
6431 inline void MPQuadraticConstraint::_internal_add_qcoefficient(double value) {
6432  qcoefficient_.Add(value);
6433 }
6434 inline void MPQuadraticConstraint::add_qcoefficient(double value) {
6435  _internal_add_qcoefficient(value);
6436  // @@protoc_insertion_point(field_add:operations_research.MPQuadraticConstraint.qcoefficient)
6437 }
6438 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
6439 MPQuadraticConstraint::_internal_qcoefficient() const {
6440  return qcoefficient_;
6441 }
6442 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
6444  // @@protoc_insertion_point(field_list:operations_research.MPQuadraticConstraint.qcoefficient)
6445  return _internal_qcoefficient();
6446 }
6447 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
6448 MPQuadraticConstraint::_internal_mutable_qcoefficient() {
6449  return &qcoefficient_;
6450 }
6451 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
6453  // @@protoc_insertion_point(field_mutable_list:operations_research.MPQuadraticConstraint.qcoefficient)
6454  return _internal_mutable_qcoefficient();
6455 }
6456 
6457 // optional double lower_bound = 6 [default = -inf];
6458 inline bool MPQuadraticConstraint::_internal_has_lower_bound() const {
6459  bool value = (_has_bits_[0] & 0x00000001u) != 0;
6460  return value;
6461 }
6463  return _internal_has_lower_bound();
6464 }
6466  lower_bound_ = -std::numeric_limits<double>::infinity();
6467  _has_bits_[0] &= ~0x00000001u;
6468 }
6469 inline double MPQuadraticConstraint::_internal_lower_bound() const {
6470  return lower_bound_;
6471 }
6472 inline double MPQuadraticConstraint::lower_bound() const {
6473  // @@protoc_insertion_point(field_get:operations_research.MPQuadraticConstraint.lower_bound)
6474  return _internal_lower_bound();
6475 }
6476 inline void MPQuadraticConstraint::_internal_set_lower_bound(double value) {
6477  _has_bits_[0] |= 0x00000001u;
6478  lower_bound_ = value;
6479 }
6480 inline void MPQuadraticConstraint::set_lower_bound(double value) {
6481  _internal_set_lower_bound(value);
6482  // @@protoc_insertion_point(field_set:operations_research.MPQuadraticConstraint.lower_bound)
6483 }
6484 
6485 // optional double upper_bound = 7 [default = inf];
6486 inline bool MPQuadraticConstraint::_internal_has_upper_bound() const {
6487  bool value = (_has_bits_[0] & 0x00000002u) != 0;
6488  return value;
6489 }
6491  return _internal_has_upper_bound();
6492 }
6494  upper_bound_ = std::numeric_limits<double>::infinity();
6495  _has_bits_[0] &= ~0x00000002u;
6496 }
6497 inline double MPQuadraticConstraint::_internal_upper_bound() const {
6498  return upper_bound_;
6499 }
6500 inline double MPQuadraticConstraint::upper_bound() const {
6501  // @@protoc_insertion_point(field_get:operations_research.MPQuadraticConstraint.upper_bound)
6502  return _internal_upper_bound();
6503 }
6504 inline void MPQuadraticConstraint::_internal_set_upper_bound(double value) {
6505  _has_bits_[0] |= 0x00000002u;
6506  upper_bound_ = value;
6507 }
6508 inline void MPQuadraticConstraint::set_upper_bound(double value) {
6509  _internal_set_upper_bound(value);
6510  // @@protoc_insertion_point(field_set:operations_research.MPQuadraticConstraint.upper_bound)
6511 }
6512 
6513 // -------------------------------------------------------------------
6514 
6515 // MPAbsConstraint
6516 
6517 // optional int32 var_index = 1;
6518 inline bool MPAbsConstraint::_internal_has_var_index() const {
6519  bool value = (_has_bits_[0] & 0x00000001u) != 0;
6520  return value;
6521 }
6522 inline bool MPAbsConstraint::has_var_index() const {
6523  return _internal_has_var_index();
6524 }
6526  var_index_ = 0;
6527  _has_bits_[0] &= ~0x00000001u;
6528 }
6529 inline int32_t MPAbsConstraint::_internal_var_index() const {
6530  return var_index_;
6531 }
6532 inline int32_t MPAbsConstraint::var_index() const {
6533  // @@protoc_insertion_point(field_get:operations_research.MPAbsConstraint.var_index)
6534  return _internal_var_index();
6535 }
6536 inline void MPAbsConstraint::_internal_set_var_index(int32_t value) {
6537  _has_bits_[0] |= 0x00000001u;
6538  var_index_ = value;
6539 }
6540 inline void MPAbsConstraint::set_var_index(int32_t value) {
6541  _internal_set_var_index(value);
6542  // @@protoc_insertion_point(field_set:operations_research.MPAbsConstraint.var_index)
6543 }
6544 
6545 // optional int32 resultant_var_index = 2;
6546 inline bool MPAbsConstraint::_internal_has_resultant_var_index() const {
6547  bool value = (_has_bits_[0] & 0x00000002u) != 0;
6548  return value;
6549 }
6551  return _internal_has_resultant_var_index();
6552 }
6554  resultant_var_index_ = 0;
6555  _has_bits_[0] &= ~0x00000002u;
6556 }
6557 inline int32_t MPAbsConstraint::_internal_resultant_var_index() const {
6558  return resultant_var_index_;
6559 }
6561  // @@protoc_insertion_point(field_get:operations_research.MPAbsConstraint.resultant_var_index)
6562  return _internal_resultant_var_index();
6563 }
6564 inline void MPAbsConstraint::_internal_set_resultant_var_index(int32_t value) {
6565  _has_bits_[0] |= 0x00000002u;
6566  resultant_var_index_ = value;
6567 }
6568 inline void MPAbsConstraint::set_resultant_var_index(int32_t value) {
6569  _internal_set_resultant_var_index(value);
6570  // @@protoc_insertion_point(field_set:operations_research.MPAbsConstraint.resultant_var_index)
6571 }
6572 
6573 // -------------------------------------------------------------------
6574 
6575 // MPArrayConstraint
6576 
6577 // repeated int32 var_index = 1;
6578 inline int MPArrayConstraint::_internal_var_index_size() const {
6579  return var_index_.size();
6580 }
6582  return _internal_var_index_size();
6583 }
6585  var_index_.Clear();
6586 }
6587 inline int32_t MPArrayConstraint::_internal_var_index(int index) const {
6588  return var_index_.Get(index);
6589 }
6590 inline int32_t MPArrayConstraint::var_index(int index) const {
6591  // @@protoc_insertion_point(field_get:operations_research.MPArrayConstraint.var_index)
6592  return _internal_var_index(index);
6593 }
6594 inline void MPArrayConstraint::set_var_index(int index, int32_t value) {
6595  var_index_.Set(index, value);
6596  // @@protoc_insertion_point(field_set:operations_research.MPArrayConstraint.var_index)
6597 }
6598 inline void MPArrayConstraint::_internal_add_var_index(int32_t value) {
6599  var_index_.Add(value);
6600 }
6601 inline void MPArrayConstraint::add_var_index(int32_t value) {
6602  _internal_add_var_index(value);
6603  // @@protoc_insertion_point(field_add:operations_research.MPArrayConstraint.var_index)
6604 }
6605 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
6606 MPArrayConstraint::_internal_var_index() const {
6607  return var_index_;
6608 }
6609 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
6611  // @@protoc_insertion_point(field_list:operations_research.MPArrayConstraint.var_index)
6612  return _internal_var_index();
6613 }
6614 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
6615 MPArrayConstraint::_internal_mutable_var_index() {
6616  return &var_index_;
6617 }
6618 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
6620  // @@protoc_insertion_point(field_mutable_list:operations_research.MPArrayConstraint.var_index)
6621  return _internal_mutable_var_index();
6622 }
6623 
6624 // optional int32 resultant_var_index = 2;
6625 inline bool MPArrayConstraint::_internal_has_resultant_var_index() const {
6626  bool value = (_has_bits_[0] & 0x00000001u) != 0;
6627  return value;
6628 }
6630  return _internal_has_resultant_var_index();
6631 }
6633  resultant_var_index_ = 0;
6634  _has_bits_[0] &= ~0x00000001u;
6635 }
6636 inline int32_t MPArrayConstraint::_internal_resultant_var_index() const {
6637  return resultant_var_index_;
6638 }
6640  // @@protoc_insertion_point(field_get:operations_research.MPArrayConstraint.resultant_var_index)
6641  return _internal_resultant_var_index();
6642 }
6643 inline void MPArrayConstraint::_internal_set_resultant_var_index(int32_t value) {
6644  _has_bits_[0] |= 0x00000001u;
6645  resultant_var_index_ = value;
6646 }
6648  _internal_set_resultant_var_index(value);
6649  // @@protoc_insertion_point(field_set:operations_research.MPArrayConstraint.resultant_var_index)
6650 }
6651 
6652 // -------------------------------------------------------------------
6653 
6654 // MPArrayWithConstantConstraint
6655 
6656 // repeated int32 var_index = 1;
6657 inline int MPArrayWithConstantConstraint::_internal_var_index_size() const {
6658  return var_index_.size();
6659 }
6661  return _internal_var_index_size();
6662 }
6664  var_index_.Clear();
6665 }
6666 inline int32_t MPArrayWithConstantConstraint::_internal_var_index(int index) const {
6667  return var_index_.Get(index);
6668 }
6669 inline int32_t MPArrayWithConstantConstraint::var_index(int index) const {
6670  // @@protoc_insertion_point(field_get:operations_research.MPArrayWithConstantConstraint.var_index)
6671  return _internal_var_index(index);
6672 }
6673 inline void MPArrayWithConstantConstraint::set_var_index(int index, int32_t value) {
6674  var_index_.Set(index, value);
6675  // @@protoc_insertion_point(field_set:operations_research.MPArrayWithConstantConstraint.var_index)
6676 }
6677 inline void MPArrayWithConstantConstraint::_internal_add_var_index(int32_t value) {
6678  var_index_.Add(value);
6679 }
6681  _internal_add_var_index(value);
6682  // @@protoc_insertion_point(field_add:operations_research.MPArrayWithConstantConstraint.var_index)
6683 }
6684 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
6685 MPArrayWithConstantConstraint::_internal_var_index() const {
6686  return var_index_;
6687 }
6688 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
6690  // @@protoc_insertion_point(field_list:operations_research.MPArrayWithConstantConstraint.var_index)
6691  return _internal_var_index();
6692 }
6693 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
6694 MPArrayWithConstantConstraint::_internal_mutable_var_index() {
6695  return &var_index_;
6696 }
6697 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
6699  // @@protoc_insertion_point(field_mutable_list:operations_research.MPArrayWithConstantConstraint.var_index)
6700  return _internal_mutable_var_index();
6701 }
6702 
6703 // optional double constant = 2;
6704 inline bool MPArrayWithConstantConstraint::_internal_has_constant() const {
6705  bool value = (_has_bits_[0] & 0x00000001u) != 0;
6706  return value;
6707 }
6709  return _internal_has_constant();
6710 }
6712  constant_ = 0;
6713  _has_bits_[0] &= ~0x00000001u;
6714 }
6715 inline double MPArrayWithConstantConstraint::_internal_constant() const {
6716  return constant_;
6717 }
6719  // @@protoc_insertion_point(field_get:operations_research.MPArrayWithConstantConstraint.constant)
6720  return _internal_constant();
6721 }
6722 inline void MPArrayWithConstantConstraint::_internal_set_constant(double value) {
6723  _has_bits_[0] |= 0x00000001u;
6724  constant_ = value;
6725 }
6727  _internal_set_constant(value);
6728  // @@protoc_insertion_point(field_set:operations_research.MPArrayWithConstantConstraint.constant)
6729 }
6730 
6731 // optional int32 resultant_var_index = 3;
6732 inline bool MPArrayWithConstantConstraint::_internal_has_resultant_var_index() const {
6733  bool value = (_has_bits_[0] & 0x00000002u) != 0;
6734  return value;
6735 }
6737  return _internal_has_resultant_var_index();
6738 }
6740  resultant_var_index_ = 0;
6741  _has_bits_[0] &= ~0x00000002u;
6742 }
6743 inline int32_t MPArrayWithConstantConstraint::_internal_resultant_var_index() const {
6744  return resultant_var_index_;
6745 }
6747  // @@protoc_insertion_point(field_get:operations_research.MPArrayWithConstantConstraint.resultant_var_index)
6748  return _internal_resultant_var_index();
6749 }
6750 inline void MPArrayWithConstantConstraint::_internal_set_resultant_var_index(int32_t value) {
6751  _has_bits_[0] |= 0x00000002u;
6752  resultant_var_index_ = value;
6753 }
6755  _internal_set_resultant_var_index(value);
6756  // @@protoc_insertion_point(field_set:operations_research.MPArrayWithConstantConstraint.resultant_var_index)
6757 }
6758 
6759 // -------------------------------------------------------------------
6760 
6761 // MPQuadraticObjective
6762 
6763 // repeated int32 qvar1_index = 1;
6764 inline int MPQuadraticObjective::_internal_qvar1_index_size() const {
6765  return qvar1_index_.size();
6766 }
6768  return _internal_qvar1_index_size();
6769 }
6771  qvar1_index_.Clear();
6772 }
6773 inline int32_t MPQuadraticObjective::_internal_qvar1_index(int index) const {
6774  return qvar1_index_.Get(index);
6775 }
6776 inline int32_t MPQuadraticObjective::qvar1_index(int index) const {
6777  // @@protoc_insertion_point(field_get:operations_research.MPQuadraticObjective.qvar1_index)
6778  return _internal_qvar1_index(index);
6779 }
6780 inline void MPQuadraticObjective::set_qvar1_index(int index, int32_t value) {
6781  qvar1_index_.Set(index, value);
6782  // @@protoc_insertion_point(field_set:operations_research.MPQuadraticObjective.qvar1_index)
6783 }
6784 inline void MPQuadraticObjective::_internal_add_qvar1_index(int32_t value) {
6785  qvar1_index_.Add(value);
6786 }
6787 inline void MPQuadraticObjective::add_qvar1_index(int32_t value) {
6788  _internal_add_qvar1_index(value);
6789  // @@protoc_insertion_point(field_add:operations_research.MPQuadraticObjective.qvar1_index)
6790 }
6791 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
6792 MPQuadraticObjective::_internal_qvar1_index() const {
6793  return qvar1_index_;
6794 }
6795 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
6797  // @@protoc_insertion_point(field_list:operations_research.MPQuadraticObjective.qvar1_index)
6798  return _internal_qvar1_index();
6799 }
6800 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
6801 MPQuadraticObjective::_internal_mutable_qvar1_index() {
6802  return &qvar1_index_;
6803 }
6804 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
6806  // @@protoc_insertion_point(field_mutable_list:operations_research.MPQuadraticObjective.qvar1_index)
6807  return _internal_mutable_qvar1_index();
6808 }
6809 
6810 // repeated int32 qvar2_index = 2;
6811 inline int MPQuadraticObjective::_internal_qvar2_index_size() const {
6812  return qvar2_index_.size();
6813 }
6815  return _internal_qvar2_index_size();
6816 }
6818  qvar2_index_.Clear();
6819 }
6820 inline int32_t MPQuadraticObjective::_internal_qvar2_index(int index) const {
6821  return qvar2_index_.Get(index);
6822 }
6823 inline int32_t MPQuadraticObjective::qvar2_index(int index) const {
6824  // @@protoc_insertion_point(field_get:operations_research.MPQuadraticObjective.qvar2_index)
6825  return _internal_qvar2_index(index);
6826 }
6827 inline void MPQuadraticObjective::set_qvar2_index(int index, int32_t value) {
6828  qvar2_index_.Set(index, value);
6829  // @@protoc_insertion_point(field_set:operations_research.MPQuadraticObjective.qvar2_index)
6830 }
6831 inline void MPQuadraticObjective::_internal_add_qvar2_index(int32_t value) {
6832  qvar2_index_.Add(value);
6833 }
6834 inline void MPQuadraticObjective::add_qvar2_index(int32_t value) {
6835  _internal_add_qvar2_index(value);
6836  // @@protoc_insertion_point(field_add:operations_research.MPQuadraticObjective.qvar2_index)
6837 }
6838 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
6839 MPQuadraticObjective::_internal_qvar2_index() const {
6840  return qvar2_index_;
6841 }
6842 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
6844  // @@protoc_insertion_point(field_list:operations_research.MPQuadraticObjective.qvar2_index)
6845  return _internal_qvar2_index();
6846 }
6847 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
6848 MPQuadraticObjective::_internal_mutable_qvar2_index() {
6849  return &qvar2_index_;
6850 }
6851 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
6853  // @@protoc_insertion_point(field_mutable_list:operations_research.MPQuadraticObjective.qvar2_index)
6854  return _internal_mutable_qvar2_index();
6855 }
6856 
6857 // repeated double coefficient = 3;
6858 inline int MPQuadraticObjective::_internal_coefficient_size() const {
6859  return coefficient_.size();
6860 }
6862  return _internal_coefficient_size();
6863 }
6865  coefficient_.Clear();
6866 }
6867 inline double MPQuadraticObjective::_internal_coefficient(int index) const {
6868  return coefficient_.Get(index);
6869 }
6870 inline double MPQuadraticObjective::coefficient(int index) const {
6871  // @@protoc_insertion_point(field_get:operations_research.MPQuadraticObjective.coefficient)
6872  return _internal_coefficient(index);
6873 }
6874 inline void MPQuadraticObjective::set_coefficient(int index, double value) {
6875  coefficient_.Set(index, value);
6876  // @@protoc_insertion_point(field_set:operations_research.MPQuadraticObjective.coefficient)
6877 }
6878 inline void MPQuadraticObjective::_internal_add_coefficient(double value) {
6879  coefficient_.Add(value);
6880 }
6881 inline void MPQuadraticObjective::add_coefficient(double value) {
6882  _internal_add_coefficient(value);
6883  // @@protoc_insertion_point(field_add:operations_research.MPQuadraticObjective.coefficient)
6884 }
6885 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
6886 MPQuadraticObjective::_internal_coefficient() const {
6887  return coefficient_;
6888 }
6889 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
6891  // @@protoc_insertion_point(field_list:operations_research.MPQuadraticObjective.coefficient)
6892  return _internal_coefficient();
6893 }
6894 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
6895 MPQuadraticObjective::_internal_mutable_coefficient() {
6896  return &coefficient_;
6897 }
6898 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
6900  // @@protoc_insertion_point(field_mutable_list:operations_research.MPQuadraticObjective.coefficient)
6901  return _internal_mutable_coefficient();
6902 }
6903 
6904 // -------------------------------------------------------------------
6905 
6906 // PartialVariableAssignment
6907 
6908 // repeated int32 var_index = 1 [packed = true];
6909 inline int PartialVariableAssignment::_internal_var_index_size() const {
6910  return var_index_.size();
6911 }
6913  return _internal_var_index_size();
6914 }
6916  var_index_.Clear();
6917 }
6918 inline int32_t PartialVariableAssignment::_internal_var_index(int index) const {
6919  return var_index_.Get(index);
6920 }
6921 inline int32_t PartialVariableAssignment::var_index(int index) const {
6922  // @@protoc_insertion_point(field_get:operations_research.PartialVariableAssignment.var_index)
6923  return _internal_var_index(index);
6924 }
6925 inline void PartialVariableAssignment::set_var_index(int index, int32_t value) {
6926  var_index_.Set(index, value);
6927  // @@protoc_insertion_point(field_set:operations_research.PartialVariableAssignment.var_index)
6928 }
6929 inline void PartialVariableAssignment::_internal_add_var_index(int32_t value) {
6930  var_index_.Add(value);
6931 }
6932 inline void PartialVariableAssignment::add_var_index(int32_t value) {
6933  _internal_add_var_index(value);
6934  // @@protoc_insertion_point(field_add:operations_research.PartialVariableAssignment.var_index)
6935 }
6936 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
6937 PartialVariableAssignment::_internal_var_index() const {
6938  return var_index_;
6939 }
6940 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
6942  // @@protoc_insertion_point(field_list:operations_research.PartialVariableAssignment.var_index)
6943  return _internal_var_index();
6944 }
6945 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
6946 PartialVariableAssignment::_internal_mutable_var_index() {
6947  return &var_index_;
6948 }
6949 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
6951  // @@protoc_insertion_point(field_mutable_list:operations_research.PartialVariableAssignment.var_index)
6952  return _internal_mutable_var_index();
6953 }
6954 
6955 // repeated double var_value = 2 [packed = true];
6956 inline int PartialVariableAssignment::_internal_var_value_size() const {
6957  return var_value_.size();
6958 }
6960  return _internal_var_value_size();
6961 }
6963  var_value_.Clear();
6964 }
6965 inline double PartialVariableAssignment::_internal_var_value(int index) const {
6966  return var_value_.Get(index);
6967 }
6968 inline double PartialVariableAssignment::var_value(int index) const {
6969  // @@protoc_insertion_point(field_get:operations_research.PartialVariableAssignment.var_value)
6970  return _internal_var_value(index);
6971 }
6972 inline void PartialVariableAssignment::set_var_value(int index, double value) {
6973  var_value_.Set(index, value);
6974  // @@protoc_insertion_point(field_set:operations_research.PartialVariableAssignment.var_value)
6975 }
6976 inline void PartialVariableAssignment::_internal_add_var_value(double value) {
6977  var_value_.Add(value);
6978 }
6979 inline void PartialVariableAssignment::add_var_value(double value) {
6980  _internal_add_var_value(value);
6981  // @@protoc_insertion_point(field_add:operations_research.PartialVariableAssignment.var_value)
6982 }
6983 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
6984 PartialVariableAssignment::_internal_var_value() const {
6985  return var_value_;
6986 }
6987 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
6989  // @@protoc_insertion_point(field_list:operations_research.PartialVariableAssignment.var_value)
6990  return _internal_var_value();
6991 }
6992 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
6993 PartialVariableAssignment::_internal_mutable_var_value() {
6994  return &var_value_;
6995 }
6996 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
6998  // @@protoc_insertion_point(field_mutable_list:operations_research.PartialVariableAssignment.var_value)
6999  return _internal_mutable_var_value();
7000 }
7001 
7002 // -------------------------------------------------------------------
7003 
7004 // MPModelProto
7005 
7006 // repeated .operations_research.MPVariableProto variable = 3;
7007 inline int MPModelProto::_internal_variable_size() const {
7008  return variable_.size();
7009 }
7010 inline int MPModelProto::variable_size() const {
7011  return _internal_variable_size();
7012 }
7014  variable_.Clear();
7015 }
7016 inline ::operations_research::MPVariableProto* MPModelProto::mutable_variable(int index) {
7017  // @@protoc_insertion_point(field_mutable:operations_research.MPModelProto.variable)
7018  return variable_.Mutable(index);
7019 }
7020 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::MPVariableProto >*
7022  // @@protoc_insertion_point(field_mutable_list:operations_research.MPModelProto.variable)
7023  return &variable_;
7024 }
7025 inline const ::operations_research::MPVariableProto& MPModelProto::_internal_variable(int index) const {
7026  return variable_.Get(index);
7027 }
7028 inline const ::operations_research::MPVariableProto& MPModelProto::variable(int index) const {
7029  // @@protoc_insertion_point(field_get:operations_research.MPModelProto.variable)
7030  return _internal_variable(index);
7031 }
7032 inline ::operations_research::MPVariableProto* MPModelProto::_internal_add_variable() {
7033  return variable_.Add();
7034 }
7035 inline ::operations_research::MPVariableProto* MPModelProto::add_variable() {
7036  ::operations_research::MPVariableProto* _add = _internal_add_variable();
7037  // @@protoc_insertion_point(field_add:operations_research.MPModelProto.variable)
7038  return _add;
7039 }
7040 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::MPVariableProto >&
7042  // @@protoc_insertion_point(field_list:operations_research.MPModelProto.variable)
7043  return variable_;
7044 }
7045 
7046 // repeated .operations_research.MPConstraintProto constraint = 4;
7047 inline int MPModelProto::_internal_constraint_size() const {
7048  return constraint_.size();
7049 }
7050 inline int MPModelProto::constraint_size() const {
7051  return _internal_constraint_size();
7052 }
7054  constraint_.Clear();
7055 }
7056 inline ::operations_research::MPConstraintProto* MPModelProto::mutable_constraint(int index) {
7057  // @@protoc_insertion_point(field_mutable:operations_research.MPModelProto.constraint)
7058  return constraint_.Mutable(index);
7059 }
7060 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::MPConstraintProto >*
7062  // @@protoc_insertion_point(field_mutable_list:operations_research.MPModelProto.constraint)
7063  return &constraint_;
7064 }
7065 inline const ::operations_research::MPConstraintProto& MPModelProto::_internal_constraint(int index) const {
7066  return constraint_.Get(index);
7067 }
7068 inline const ::operations_research::MPConstraintProto& MPModelProto::constraint(int index) const {
7069  // @@protoc_insertion_point(field_get:operations_research.MPModelProto.constraint)
7070  return _internal_constraint(index);
7071 }
7072 inline ::operations_research::MPConstraintProto* MPModelProto::_internal_add_constraint() {
7073  return constraint_.Add();
7074 }
7075 inline ::operations_research::MPConstraintProto* MPModelProto::add_constraint() {
7076  ::operations_research::MPConstraintProto* _add = _internal_add_constraint();
7077  // @@protoc_insertion_point(field_add:operations_research.MPModelProto.constraint)
7078  return _add;
7079 }
7080 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::MPConstraintProto >&
7082  // @@protoc_insertion_point(field_list:operations_research.MPModelProto.constraint)
7083  return constraint_;
7084 }
7085 
7086 // repeated .operations_research.MPGeneralConstraintProto general_constraint = 7;
7087 inline int MPModelProto::_internal_general_constraint_size() const {
7088  return general_constraint_.size();
7089 }
7091  return _internal_general_constraint_size();
7092 }
7094  general_constraint_.Clear();
7095 }
7096 inline ::operations_research::MPGeneralConstraintProto* MPModelProto::mutable_general_constraint(int index) {
7097  // @@protoc_insertion_point(field_mutable:operations_research.MPModelProto.general_constraint)
7098  return general_constraint_.Mutable(index);
7099 }
7100 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::MPGeneralConstraintProto >*
7102  // @@protoc_insertion_point(field_mutable_list:operations_research.MPModelProto.general_constraint)
7103  return &general_constraint_;
7104 }
7105 inline const ::operations_research::MPGeneralConstraintProto& MPModelProto::_internal_general_constraint(int index) const {
7106  return general_constraint_.Get(index);
7107 }
7108 inline const ::operations_research::MPGeneralConstraintProto& MPModelProto::general_constraint(int index) const {
7109  // @@protoc_insertion_point(field_get:operations_research.MPModelProto.general_constraint)
7110  return _internal_general_constraint(index);
7111 }
7112 inline ::operations_research::MPGeneralConstraintProto* MPModelProto::_internal_add_general_constraint() {
7113  return general_constraint_.Add();
7114 }
7115 inline ::operations_research::MPGeneralConstraintProto* MPModelProto::add_general_constraint() {
7116  ::operations_research::MPGeneralConstraintProto* _add = _internal_add_general_constraint();
7117  // @@protoc_insertion_point(field_add:operations_research.MPModelProto.general_constraint)
7118  return _add;
7119 }
7120 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::MPGeneralConstraintProto >&
7122  // @@protoc_insertion_point(field_list:operations_research.MPModelProto.general_constraint)
7123  return general_constraint_;
7124 }
7125 
7126 // optional bool maximize = 1 [default = false];
7127 inline bool MPModelProto::_internal_has_maximize() const {
7128  bool value = (_has_bits_[0] & 0x00000010u) != 0;
7129  return value;
7130 }
7131 inline bool MPModelProto::has_maximize() const {
7132  return _internal_has_maximize();
7133 }
7135  maximize_ = false;
7136  _has_bits_[0] &= ~0x00000010u;
7137 }
7138 inline bool MPModelProto::_internal_maximize() const {
7139  return maximize_;
7140 }
7141 inline bool MPModelProto::maximize() const {
7142  // @@protoc_insertion_point(field_get:operations_research.MPModelProto.maximize)
7143  return _internal_maximize();
7144 }
7145 inline void MPModelProto::_internal_set_maximize(bool value) {
7146  _has_bits_[0] |= 0x00000010u;
7147  maximize_ = value;
7148 }
7149 inline void MPModelProto::set_maximize(bool value) {
7150  _internal_set_maximize(value);
7151  // @@protoc_insertion_point(field_set:operations_research.MPModelProto.maximize)
7152 }
7153 
7154 // optional double objective_offset = 2 [default = 0];
7155 inline bool MPModelProto::_internal_has_objective_offset() const {
7156  bool value = (_has_bits_[0] & 0x00000008u) != 0;
7157  return value;
7158 }
7160  return _internal_has_objective_offset();
7161 }
7163  objective_offset_ = 0;
7164  _has_bits_[0] &= ~0x00000008u;
7165 }
7166 inline double MPModelProto::_internal_objective_offset() const {
7167  return objective_offset_;
7168 }
7169 inline double MPModelProto::objective_offset() const {
7170  // @@protoc_insertion_point(field_get:operations_research.MPModelProto.objective_offset)
7171  return _internal_objective_offset();
7172 }
7173 inline void MPModelProto::_internal_set_objective_offset(double value) {
7174  _has_bits_[0] |= 0x00000008u;
7175  objective_offset_ = value;
7176 }
7177 inline void MPModelProto::set_objective_offset(double value) {
7178  _internal_set_objective_offset(value);
7179  // @@protoc_insertion_point(field_set:operations_research.MPModelProto.objective_offset)
7180 }
7181 
7182 // optional .operations_research.MPQuadraticObjective quadratic_objective = 8;
7183 inline bool MPModelProto::_internal_has_quadratic_objective() const {
7184  bool value = (_has_bits_[0] & 0x00000004u) != 0;
7185  PROTOBUF_ASSUME(!value || quadratic_objective_ != nullptr);
7186  return value;
7187 }
7189  return _internal_has_quadratic_objective();
7190 }
7192  if (quadratic_objective_ != nullptr) quadratic_objective_->Clear();
7193  _has_bits_[0] &= ~0x00000004u;
7194 }
7195 inline const ::operations_research::MPQuadraticObjective& MPModelProto::_internal_quadratic_objective() const {
7196  const ::operations_research::MPQuadraticObjective* p = quadratic_objective_;
7197  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::MPQuadraticObjective&>(
7199 }
7200 inline const ::operations_research::MPQuadraticObjective& MPModelProto::quadratic_objective() const {
7201  // @@protoc_insertion_point(field_get:operations_research.MPModelProto.quadratic_objective)
7202  return _internal_quadratic_objective();
7203 }
7205  ::operations_research::MPQuadraticObjective* quadratic_objective) {
7206  if (GetArenaForAllocation() == nullptr) {
7207  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(quadratic_objective_);
7208  }
7209  quadratic_objective_ = quadratic_objective;
7210  if (quadratic_objective) {
7211  _has_bits_[0] |= 0x00000004u;
7212  } else {
7213  _has_bits_[0] &= ~0x00000004u;
7214  }
7215  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.MPModelProto.quadratic_objective)
7216 }
7217 inline ::operations_research::MPQuadraticObjective* MPModelProto::release_quadratic_objective() {
7218  _has_bits_[0] &= ~0x00000004u;
7219  ::operations_research::MPQuadraticObjective* temp = quadratic_objective_;
7220  quadratic_objective_ = nullptr;
7221 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
7222  auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
7223  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7224  if (GetArenaForAllocation() == nullptr) { delete old; }
7225 #else // PROTOBUF_FORCE_COPY_IN_RELEASE
7226  if (GetArenaForAllocation() != nullptr) {
7227  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7228  }
7229 #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
7230  return temp;
7231 }
7232 inline ::operations_research::MPQuadraticObjective* MPModelProto::unsafe_arena_release_quadratic_objective() {
7233  // @@protoc_insertion_point(field_release:operations_research.MPModelProto.quadratic_objective)
7234  _has_bits_[0] &= ~0x00000004u;
7235  ::operations_research::MPQuadraticObjective* temp = quadratic_objective_;
7236  quadratic_objective_ = nullptr;
7237  return temp;
7238 }
7239 inline ::operations_research::MPQuadraticObjective* MPModelProto::_internal_mutable_quadratic_objective() {
7240  _has_bits_[0] |= 0x00000004u;
7241  if (quadratic_objective_ == nullptr) {
7242  auto* p = CreateMaybeMessage<::operations_research::MPQuadraticObjective>(GetArenaForAllocation());
7243  quadratic_objective_ = p;
7244  }
7245  return quadratic_objective_;
7246 }
7247 inline ::operations_research::MPQuadraticObjective* MPModelProto::mutable_quadratic_objective() {
7248  ::operations_research::MPQuadraticObjective* _msg = _internal_mutable_quadratic_objective();
7249  // @@protoc_insertion_point(field_mutable:operations_research.MPModelProto.quadratic_objective)
7250  return _msg;
7251 }
7253  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
7254  if (message_arena == nullptr) {
7255  delete quadratic_objective_;
7256  }
7257  if (quadratic_objective) {
7258  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
7259  ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::MPQuadraticObjective>::GetOwningArena(quadratic_objective);
7260  if (message_arena != submessage_arena) {
7261  quadratic_objective = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
7262  message_arena, quadratic_objective, submessage_arena);
7263  }
7264  _has_bits_[0] |= 0x00000004u;
7265  } else {
7266  _has_bits_[0] &= ~0x00000004u;
7267  }
7268  quadratic_objective_ = quadratic_objective;
7269  // @@protoc_insertion_point(field_set_allocated:operations_research.MPModelProto.quadratic_objective)
7270 }
7271 
7272 // optional string name = 5 [default = ""];
7273 inline bool MPModelProto::_internal_has_name() const {
7274  bool value = (_has_bits_[0] & 0x00000001u) != 0;
7275  return value;
7276 }
7277 inline bool MPModelProto::has_name() const {
7278  return _internal_has_name();
7279 }
7281  name_.ClearToEmpty();
7282  _has_bits_[0] &= ~0x00000001u;
7283 }
7284 inline const std::string& MPModelProto::name() const {
7285  // @@protoc_insertion_point(field_get:operations_research.MPModelProto.name)
7286  return _internal_name();
7287 }
7288 template <typename ArgT0, typename... ArgT>
7289 inline PROTOBUF_ALWAYS_INLINE
7290 void MPModelProto::set_name(ArgT0&& arg0, ArgT... args) {
7291  _has_bits_[0] |= 0x00000001u;
7292  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
7293  // @@protoc_insertion_point(field_set:operations_research.MPModelProto.name)
7294 }
7295 inline std::string* MPModelProto::mutable_name() {
7296  std::string* _s = _internal_mutable_name();
7297  // @@protoc_insertion_point(field_mutable:operations_research.MPModelProto.name)
7298  return _s;
7299 }
7300 inline const std::string& MPModelProto::_internal_name() const {
7301  return name_.Get();
7302 }
7303 inline void MPModelProto::_internal_set_name(const std::string& value) {
7304  _has_bits_[0] |= 0x00000001u;
7305  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
7306 }
7307 inline std::string* MPModelProto::_internal_mutable_name() {
7308  _has_bits_[0] |= 0x00000001u;
7309  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
7310 }
7311 inline std::string* MPModelProto::release_name() {
7312  // @@protoc_insertion_point(field_release:operations_research.MPModelProto.name)
7313  if (!_internal_has_name()) {
7314  return nullptr;
7315  }
7316  _has_bits_[0] &= ~0x00000001u;
7317  auto* p = name_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
7318 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
7319  if (name_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
7320  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
7321  }
7322 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
7323  return p;
7324 }
7325 inline void MPModelProto::set_allocated_name(std::string* name) {
7326  if (name != nullptr) {
7327  _has_bits_[0] |= 0x00000001u;
7328  } else {
7329  _has_bits_[0] &= ~0x00000001u;
7330  }
7331  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
7332  GetArenaForAllocation());
7333 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
7334  if (name_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
7335  name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
7336  }
7337 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
7338  // @@protoc_insertion_point(field_set_allocated:operations_research.MPModelProto.name)
7339 }
7340 
7341 // optional .operations_research.PartialVariableAssignment solution_hint = 6;
7342 inline bool MPModelProto::_internal_has_solution_hint() const {
7343  bool value = (_has_bits_[0] & 0x00000002u) != 0;
7344  PROTOBUF_ASSUME(!value || solution_hint_ != nullptr);
7345  return value;
7346 }
7347 inline bool MPModelProto::has_solution_hint() const {
7348  return _internal_has_solution_hint();
7349 }
7351  if (solution_hint_ != nullptr) solution_hint_->Clear();
7352  _has_bits_[0] &= ~0x00000002u;
7353 }
7354 inline const ::operations_research::PartialVariableAssignment& MPModelProto::_internal_solution_hint() const {
7355  const ::operations_research::PartialVariableAssignment* p = solution_hint_;
7356  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::PartialVariableAssignment&>(
7358 }
7359 inline const ::operations_research::PartialVariableAssignment& MPModelProto::solution_hint() const {
7360  // @@protoc_insertion_point(field_get:operations_research.MPModelProto.solution_hint)
7361  return _internal_solution_hint();
7362 }
7365  if (GetArenaForAllocation() == nullptr) {
7366  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(solution_hint_);
7367  }
7368  solution_hint_ = solution_hint;
7369  if (solution_hint) {
7370  _has_bits_[0] |= 0x00000002u;
7371  } else {
7372  _has_bits_[0] &= ~0x00000002u;
7373  }
7374  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.MPModelProto.solution_hint)
7375 }
7376 inline ::operations_research::PartialVariableAssignment* MPModelProto::release_solution_hint() {
7377  _has_bits_[0] &= ~0x00000002u;
7378  ::operations_research::PartialVariableAssignment* temp = solution_hint_;
7379  solution_hint_ = nullptr;
7380 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
7381  auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
7382  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7383  if (GetArenaForAllocation() == nullptr) { delete old; }
7384 #else // PROTOBUF_FORCE_COPY_IN_RELEASE
7385  if (GetArenaForAllocation() != nullptr) {
7386  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7387  }
7388 #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
7389  return temp;
7390 }
7391 inline ::operations_research::PartialVariableAssignment* MPModelProto::unsafe_arena_release_solution_hint() {
7392  // @@protoc_insertion_point(field_release:operations_research.MPModelProto.solution_hint)
7393  _has_bits_[0] &= ~0x00000002u;
7394  ::operations_research::PartialVariableAssignment* temp = solution_hint_;
7395  solution_hint_ = nullptr;
7396  return temp;
7397 }
7398 inline ::operations_research::PartialVariableAssignment* MPModelProto::_internal_mutable_solution_hint() {
7399  _has_bits_[0] |= 0x00000002u;
7400  if (solution_hint_ == nullptr) {
7401  auto* p = CreateMaybeMessage<::operations_research::PartialVariableAssignment>(GetArenaForAllocation());
7402  solution_hint_ = p;
7403  }
7404  return solution_hint_;
7405 }
7406 inline ::operations_research::PartialVariableAssignment* MPModelProto::mutable_solution_hint() {
7407  ::operations_research::PartialVariableAssignment* _msg = _internal_mutable_solution_hint();
7408  // @@protoc_insertion_point(field_mutable:operations_research.MPModelProto.solution_hint)
7409  return _msg;
7410 }
7412  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
7413  if (message_arena == nullptr) {
7414  delete solution_hint_;
7415  }
7416  if (solution_hint) {
7417  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
7418  ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::PartialVariableAssignment>::GetOwningArena(solution_hint);
7419  if (message_arena != submessage_arena) {
7420  solution_hint = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
7421  message_arena, solution_hint, submessage_arena);
7422  }
7423  _has_bits_[0] |= 0x00000002u;
7424  } else {
7425  _has_bits_[0] &= ~0x00000002u;
7426  }
7427  solution_hint_ = solution_hint;
7428  // @@protoc_insertion_point(field_set_allocated:operations_research.MPModelProto.solution_hint)
7429 }
7430 
7431 // -------------------------------------------------------------------
7432 
7433 // OptionalDouble
7434 
7435 // optional double value = 1;
7436 inline bool OptionalDouble::_internal_has_value() const {
7437  bool value = (_has_bits_[0] & 0x00000001u) != 0;
7438  return value;
7439 }
7440 inline bool OptionalDouble::has_value() const {
7441  return _internal_has_value();
7442 }
7444  value_ = 0;
7445  _has_bits_[0] &= ~0x00000001u;
7446 }
7447 inline double OptionalDouble::_internal_value() const {
7448  return value_;
7449 }
7450 inline double OptionalDouble::value() const {
7451  // @@protoc_insertion_point(field_get:operations_research.OptionalDouble.value)
7452  return _internal_value();
7453 }
7454 inline void OptionalDouble::_internal_set_value(double value) {
7455  _has_bits_[0] |= 0x00000001u;
7456  value_ = value;
7457 }
7458 inline void OptionalDouble::set_value(double value) {
7459  _internal_set_value(value);
7460  // @@protoc_insertion_point(field_set:operations_research.OptionalDouble.value)
7461 }
7462 
7463 // -------------------------------------------------------------------
7464 
7465 // MPSolverCommonParameters
7466 
7467 // optional .operations_research.OptionalDouble relative_mip_gap = 1;
7468 inline bool MPSolverCommonParameters::_internal_has_relative_mip_gap() const {
7469  bool value = (_has_bits_[0] & 0x00000001u) != 0;
7470  PROTOBUF_ASSUME(!value || relative_mip_gap_ != nullptr);
7471  return value;
7472 }
7474  return _internal_has_relative_mip_gap();
7475 }
7477  if (relative_mip_gap_ != nullptr) relative_mip_gap_->Clear();
7478  _has_bits_[0] &= ~0x00000001u;
7479 }
7480 inline const ::operations_research::OptionalDouble& MPSolverCommonParameters::_internal_relative_mip_gap() const {
7481  const ::operations_research::OptionalDouble* p = relative_mip_gap_;
7482  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::OptionalDouble&>(
7484 }
7485 inline const ::operations_research::OptionalDouble& MPSolverCommonParameters::relative_mip_gap() const {
7486  // @@protoc_insertion_point(field_get:operations_research.MPSolverCommonParameters.relative_mip_gap)
7487  return _internal_relative_mip_gap();
7488 }
7490  ::operations_research::OptionalDouble* relative_mip_gap) {
7491  if (GetArenaForAllocation() == nullptr) {
7492  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(relative_mip_gap_);
7493  }
7494  relative_mip_gap_ = relative_mip_gap;
7495  if (relative_mip_gap) {
7496  _has_bits_[0] |= 0x00000001u;
7497  } else {
7498  _has_bits_[0] &= ~0x00000001u;
7499  }
7500  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.MPSolverCommonParameters.relative_mip_gap)
7501 }
7502 inline ::operations_research::OptionalDouble* MPSolverCommonParameters::release_relative_mip_gap() {
7503  _has_bits_[0] &= ~0x00000001u;
7504  ::operations_research::OptionalDouble* temp = relative_mip_gap_;
7505  relative_mip_gap_ = nullptr;
7506 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
7507  auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
7508  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7509  if (GetArenaForAllocation() == nullptr) { delete old; }
7510 #else // PROTOBUF_FORCE_COPY_IN_RELEASE
7511  if (GetArenaForAllocation() != nullptr) {
7512  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7513  }
7514 #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
7515  return temp;
7516 }
7517 inline ::operations_research::OptionalDouble* MPSolverCommonParameters::unsafe_arena_release_relative_mip_gap() {
7518  // @@protoc_insertion_point(field_release:operations_research.MPSolverCommonParameters.relative_mip_gap)
7519  _has_bits_[0] &= ~0x00000001u;
7520  ::operations_research::OptionalDouble* temp = relative_mip_gap_;
7521  relative_mip_gap_ = nullptr;
7522  return temp;
7523 }
7524 inline ::operations_research::OptionalDouble* MPSolverCommonParameters::_internal_mutable_relative_mip_gap() {
7525  _has_bits_[0] |= 0x00000001u;
7526  if (relative_mip_gap_ == nullptr) {
7527  auto* p = CreateMaybeMessage<::operations_research::OptionalDouble>(GetArenaForAllocation());
7528  relative_mip_gap_ = p;
7529  }
7530  return relative_mip_gap_;
7531 }
7532 inline ::operations_research::OptionalDouble* MPSolverCommonParameters::mutable_relative_mip_gap() {
7533  ::operations_research::OptionalDouble* _msg = _internal_mutable_relative_mip_gap();
7534  // @@protoc_insertion_point(field_mutable:operations_research.MPSolverCommonParameters.relative_mip_gap)
7535  return _msg;
7536 }
7538  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
7539  if (message_arena == nullptr) {
7540  delete relative_mip_gap_;
7541  }
7542  if (relative_mip_gap) {
7543  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
7544  ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::OptionalDouble>::GetOwningArena(relative_mip_gap);
7545  if (message_arena != submessage_arena) {
7546  relative_mip_gap = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
7547  message_arena, relative_mip_gap, submessage_arena);
7548  }
7549  _has_bits_[0] |= 0x00000001u;
7550  } else {
7551  _has_bits_[0] &= ~0x00000001u;
7552  }
7553  relative_mip_gap_ = relative_mip_gap;
7554  // @@protoc_insertion_point(field_set_allocated:operations_research.MPSolverCommonParameters.relative_mip_gap)
7555 }
7556 
7557 // optional .operations_research.OptionalDouble primal_tolerance = 2;
7558 inline bool MPSolverCommonParameters::_internal_has_primal_tolerance() const {
7559  bool value = (_has_bits_[0] & 0x00000002u) != 0;
7560  PROTOBUF_ASSUME(!value || primal_tolerance_ != nullptr);
7561  return value;
7562 }
7564  return _internal_has_primal_tolerance();
7565 }
7567  if (primal_tolerance_ != nullptr) primal_tolerance_->Clear();
7568  _has_bits_[0] &= ~0x00000002u;
7569 }
7570 inline const ::operations_research::OptionalDouble& MPSolverCommonParameters::_internal_primal_tolerance() const {
7571  const ::operations_research::OptionalDouble* p = primal_tolerance_;
7572  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::OptionalDouble&>(
7574 }
7575 inline const ::operations_research::OptionalDouble& MPSolverCommonParameters::primal_tolerance() const {
7576  // @@protoc_insertion_point(field_get:operations_research.MPSolverCommonParameters.primal_tolerance)
7577  return _internal_primal_tolerance();
7578 }
7580  ::operations_research::OptionalDouble* primal_tolerance) {
7581  if (GetArenaForAllocation() == nullptr) {
7582  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(primal_tolerance_);
7583  }
7584  primal_tolerance_ = primal_tolerance;
7585  if (primal_tolerance) {
7586  _has_bits_[0] |= 0x00000002u;
7587  } else {
7588  _has_bits_[0] &= ~0x00000002u;
7589  }
7590  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.MPSolverCommonParameters.primal_tolerance)
7591 }
7592 inline ::operations_research::OptionalDouble* MPSolverCommonParameters::release_primal_tolerance() {
7593  _has_bits_[0] &= ~0x00000002u;
7594  ::operations_research::OptionalDouble* temp = primal_tolerance_;
7595  primal_tolerance_ = nullptr;
7596 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
7597  auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
7598  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7599  if (GetArenaForAllocation() == nullptr) { delete old; }
7600 #else // PROTOBUF_FORCE_COPY_IN_RELEASE
7601  if (GetArenaForAllocation() != nullptr) {
7602  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7603  }
7604 #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
7605  return temp;
7606 }
7607 inline ::operations_research::OptionalDouble* MPSolverCommonParameters::unsafe_arena_release_primal_tolerance() {
7608  // @@protoc_insertion_point(field_release:operations_research.MPSolverCommonParameters.primal_tolerance)
7609  _has_bits_[0] &= ~0x00000002u;
7610  ::operations_research::OptionalDouble* temp = primal_tolerance_;
7611  primal_tolerance_ = nullptr;
7612  return temp;
7613 }
7614 inline ::operations_research::OptionalDouble* MPSolverCommonParameters::_internal_mutable_primal_tolerance() {
7615  _has_bits_[0] |= 0x00000002u;
7616  if (primal_tolerance_ == nullptr) {
7617  auto* p = CreateMaybeMessage<::operations_research::OptionalDouble>(GetArenaForAllocation());
7618  primal_tolerance_ = p;
7619  }
7620  return primal_tolerance_;
7621 }
7622 inline ::operations_research::OptionalDouble* MPSolverCommonParameters::mutable_primal_tolerance() {
7623  ::operations_research::OptionalDouble* _msg = _internal_mutable_primal_tolerance();
7624  // @@protoc_insertion_point(field_mutable:operations_research.MPSolverCommonParameters.primal_tolerance)
7625  return _msg;
7626 }
7628  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
7629  if (message_arena == nullptr) {
7630  delete primal_tolerance_;
7631  }
7632  if (primal_tolerance) {
7633  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
7634  ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::OptionalDouble>::GetOwningArena(primal_tolerance);
7635  if (message_arena != submessage_arena) {
7636  primal_tolerance = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
7637  message_arena, primal_tolerance, submessage_arena);
7638  }
7639  _has_bits_[0] |= 0x00000002u;
7640  } else {
7641  _has_bits_[0] &= ~0x00000002u;
7642  }
7643  primal_tolerance_ = primal_tolerance;
7644  // @@protoc_insertion_point(field_set_allocated:operations_research.MPSolverCommonParameters.primal_tolerance)
7645 }
7646 
7647 // optional .operations_research.OptionalDouble dual_tolerance = 3;
7648 inline bool MPSolverCommonParameters::_internal_has_dual_tolerance() const {
7649  bool value = (_has_bits_[0] & 0x00000004u) != 0;
7650  PROTOBUF_ASSUME(!value || dual_tolerance_ != nullptr);
7651  return value;
7652 }
7654  return _internal_has_dual_tolerance();
7655 }
7657  if (dual_tolerance_ != nullptr) dual_tolerance_->Clear();
7658  _has_bits_[0] &= ~0x00000004u;
7659 }
7660 inline const ::operations_research::OptionalDouble& MPSolverCommonParameters::_internal_dual_tolerance() const {
7661  const ::operations_research::OptionalDouble* p = dual_tolerance_;
7662  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::OptionalDouble&>(
7664 }
7665 inline const ::operations_research::OptionalDouble& MPSolverCommonParameters::dual_tolerance() const {
7666  // @@protoc_insertion_point(field_get:operations_research.MPSolverCommonParameters.dual_tolerance)
7667  return _internal_dual_tolerance();
7668 }
7670  ::operations_research::OptionalDouble* dual_tolerance) {
7671  if (GetArenaForAllocation() == nullptr) {
7672  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(dual_tolerance_);
7673  }
7674  dual_tolerance_ = dual_tolerance;
7675  if (dual_tolerance) {
7676  _has_bits_[0] |= 0x00000004u;
7677  } else {
7678  _has_bits_[0] &= ~0x00000004u;
7679  }
7680  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.MPSolverCommonParameters.dual_tolerance)
7681 }
7682 inline ::operations_research::OptionalDouble* MPSolverCommonParameters::release_dual_tolerance() {
7683  _has_bits_[0] &= ~0x00000004u;
7684  ::operations_research::OptionalDouble* temp = dual_tolerance_;
7685  dual_tolerance_ = nullptr;
7686 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
7687  auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
7688  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7689  if (GetArenaForAllocation() == nullptr) { delete old; }
7690 #else // PROTOBUF_FORCE_COPY_IN_RELEASE
7691  if (GetArenaForAllocation() != nullptr) {
7692  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7693  }
7694 #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
7695  return temp;
7696 }
7697 inline ::operations_research::OptionalDouble* MPSolverCommonParameters::unsafe_arena_release_dual_tolerance() {
7698  // @@protoc_insertion_point(field_release:operations_research.MPSolverCommonParameters.dual_tolerance)
7699  _has_bits_[0] &= ~0x00000004u;
7700  ::operations_research::OptionalDouble* temp = dual_tolerance_;
7701  dual_tolerance_ = nullptr;
7702  return temp;
7703 }
7704 inline ::operations_research::OptionalDouble* MPSolverCommonParameters::_internal_mutable_dual_tolerance() {
7705  _has_bits_[0] |= 0x00000004u;
7706  if (dual_tolerance_ == nullptr) {
7707  auto* p = CreateMaybeMessage<::operations_research::OptionalDouble>(GetArenaForAllocation());
7708  dual_tolerance_ = p;
7709  }
7710  return dual_tolerance_;
7711 }
7712 inline ::operations_research::OptionalDouble* MPSolverCommonParameters::mutable_dual_tolerance() {
7713  ::operations_research::OptionalDouble* _msg = _internal_mutable_dual_tolerance();
7714  // @@protoc_insertion_point(field_mutable:operations_research.MPSolverCommonParameters.dual_tolerance)
7715  return _msg;
7716 }
7718  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
7719  if (message_arena == nullptr) {
7720  delete dual_tolerance_;
7721  }
7722  if (dual_tolerance) {
7723  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
7724  ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::OptionalDouble>::GetOwningArena(dual_tolerance);
7725  if (message_arena != submessage_arena) {
7726  dual_tolerance = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
7727  message_arena, dual_tolerance, submessage_arena);
7728  }
7729  _has_bits_[0] |= 0x00000004u;
7730  } else {
7731  _has_bits_[0] &= ~0x00000004u;
7732  }
7733  dual_tolerance_ = dual_tolerance;
7734  // @@protoc_insertion_point(field_set_allocated:operations_research.MPSolverCommonParameters.dual_tolerance)
7735 }
7736 
7737 // optional .operations_research.MPSolverCommonParameters.LPAlgorithmValues lp_algorithm = 4 [default = LP_ALGO_UNSPECIFIED];
7738 inline bool MPSolverCommonParameters::_internal_has_lp_algorithm() const {
7739  bool value = (_has_bits_[0] & 0x00000008u) != 0;
7740  return value;
7741 }
7743  return _internal_has_lp_algorithm();
7744 }
7746  lp_algorithm_ = 0;
7747  _has_bits_[0] &= ~0x00000008u;
7748 }
7749 inline ::operations_research::MPSolverCommonParameters_LPAlgorithmValues MPSolverCommonParameters::_internal_lp_algorithm() const {
7750  return static_cast< ::operations_research::MPSolverCommonParameters_LPAlgorithmValues >(lp_algorithm_);
7751 }
7753  // @@protoc_insertion_point(field_get:operations_research.MPSolverCommonParameters.lp_algorithm)
7754  return _internal_lp_algorithm();
7755 }
7756 inline void MPSolverCommonParameters::_internal_set_lp_algorithm(::operations_research::MPSolverCommonParameters_LPAlgorithmValues value) {
7758  _has_bits_[0] |= 0x00000008u;
7759  lp_algorithm_ = value;
7760 }
7762  _internal_set_lp_algorithm(value);
7763  // @@protoc_insertion_point(field_set:operations_research.MPSolverCommonParameters.lp_algorithm)
7764 }
7765 
7766 // optional .operations_research.OptionalBoolean presolve = 5 [default = BOOL_UNSPECIFIED];
7767 inline bool MPSolverCommonParameters::_internal_has_presolve() const {
7768  bool value = (_has_bits_[0] & 0x00000010u) != 0;
7769  return value;
7770 }
7772  return _internal_has_presolve();
7773 }
7775  presolve_ = 0;
7776  _has_bits_[0] &= ~0x00000010u;
7777 }
7778 inline ::operations_research::OptionalBoolean MPSolverCommonParameters::_internal_presolve() const {
7779  return static_cast< ::operations_research::OptionalBoolean >(presolve_);
7780 }
7781 inline ::operations_research::OptionalBoolean MPSolverCommonParameters::presolve() const {
7782  // @@protoc_insertion_point(field_get:operations_research.MPSolverCommonParameters.presolve)
7783  return _internal_presolve();
7784 }
7785 inline void MPSolverCommonParameters::_internal_set_presolve(::operations_research::OptionalBoolean value) {
7786  assert(::operations_research::OptionalBoolean_IsValid(value));
7787  _has_bits_[0] |= 0x00000010u;
7788  presolve_ = value;
7789 }
7790 inline void MPSolverCommonParameters::set_presolve(::operations_research::OptionalBoolean value) {
7791  _internal_set_presolve(value);
7792  // @@protoc_insertion_point(field_set:operations_research.MPSolverCommonParameters.presolve)
7793 }
7794 
7795 // optional .operations_research.OptionalBoolean scaling = 7 [default = BOOL_UNSPECIFIED];
7796 inline bool MPSolverCommonParameters::_internal_has_scaling() const {
7797  bool value = (_has_bits_[0] & 0x00000020u) != 0;
7798  return value;
7799 }
7801  return _internal_has_scaling();
7802 }
7804  scaling_ = 0;
7805  _has_bits_[0] &= ~0x00000020u;
7806 }
7807 inline ::operations_research::OptionalBoolean MPSolverCommonParameters::_internal_scaling() const {
7808  return static_cast< ::operations_research::OptionalBoolean >(scaling_);
7809 }
7810 inline ::operations_research::OptionalBoolean MPSolverCommonParameters::scaling() const {
7811  // @@protoc_insertion_point(field_get:operations_research.MPSolverCommonParameters.scaling)
7812  return _internal_scaling();
7813 }
7814 inline void MPSolverCommonParameters::_internal_set_scaling(::operations_research::OptionalBoolean value) {
7815  assert(::operations_research::OptionalBoolean_IsValid(value));
7816  _has_bits_[0] |= 0x00000020u;
7817  scaling_ = value;
7818 }
7819 inline void MPSolverCommonParameters::set_scaling(::operations_research::OptionalBoolean value) {
7820  _internal_set_scaling(value);
7821  // @@protoc_insertion_point(field_set:operations_research.MPSolverCommonParameters.scaling)
7822 }
7823 
7824 // -------------------------------------------------------------------
7825 
7826 // -------------------------------------------------------------------
7827 
7828 // -------------------------------------------------------------------
7829 
7830 // MPModelDeltaProto
7831 
7832 // optional string baseline_model_file_path = 1;
7833 inline bool MPModelDeltaProto::_internal_has_baseline_model_file_path() const {
7834  bool value = (_has_bits_[0] & 0x00000001u) != 0;
7835  return value;
7836 }
7838  return _internal_has_baseline_model_file_path();
7839 }
7841  baseline_model_file_path_.ClearToEmpty();
7842  _has_bits_[0] &= ~0x00000001u;
7843 }
7844 inline const std::string& MPModelDeltaProto::baseline_model_file_path() const {
7845  // @@protoc_insertion_point(field_get:operations_research.MPModelDeltaProto.baseline_model_file_path)
7846  return _internal_baseline_model_file_path();
7847 }
7848 template <typename ArgT0, typename... ArgT>
7849 inline PROTOBUF_ALWAYS_INLINE
7850 void MPModelDeltaProto::set_baseline_model_file_path(ArgT0&& arg0, ArgT... args) {
7851  _has_bits_[0] |= 0x00000001u;
7852  baseline_model_file_path_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
7853  // @@protoc_insertion_point(field_set:operations_research.MPModelDeltaProto.baseline_model_file_path)
7854 }
7856  std::string* _s = _internal_mutable_baseline_model_file_path();
7857  // @@protoc_insertion_point(field_mutable:operations_research.MPModelDeltaProto.baseline_model_file_path)
7858  return _s;
7859 }
7860 inline const std::string& MPModelDeltaProto::_internal_baseline_model_file_path() const {
7861  return baseline_model_file_path_.Get();
7862 }
7863 inline void MPModelDeltaProto::_internal_set_baseline_model_file_path(const std::string& value) {
7864  _has_bits_[0] |= 0x00000001u;
7865  baseline_model_file_path_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
7866 }
7867 inline std::string* MPModelDeltaProto::_internal_mutable_baseline_model_file_path() {
7868  _has_bits_[0] |= 0x00000001u;
7869  return baseline_model_file_path_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
7870 }
7872  // @@protoc_insertion_point(field_release:operations_research.MPModelDeltaProto.baseline_model_file_path)
7873  if (!_internal_has_baseline_model_file_path()) {
7874  return nullptr;
7875  }
7876  _has_bits_[0] &= ~0x00000001u;
7877  auto* p = baseline_model_file_path_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
7878 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
7879  if (baseline_model_file_path_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
7880  baseline_model_file_path_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
7881  }
7882 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
7883  return p;
7884 }
7885 inline void MPModelDeltaProto::set_allocated_baseline_model_file_path(std::string* baseline_model_file_path) {
7886  if (baseline_model_file_path != nullptr) {
7887  _has_bits_[0] |= 0x00000001u;
7888  } else {
7889  _has_bits_[0] &= ~0x00000001u;
7890  }
7891  baseline_model_file_path_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), baseline_model_file_path,
7892  GetArenaForAllocation());
7893 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
7894  if (baseline_model_file_path_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
7895  baseline_model_file_path_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
7896  }
7897 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
7898  // @@protoc_insertion_point(field_set_allocated:operations_research.MPModelDeltaProto.baseline_model_file_path)
7899 }
7900 
7901 // map<int32, .operations_research.MPVariableProto> variable_overrides = 2;
7902 inline int MPModelDeltaProto::_internal_variable_overrides_size() const {
7903  return variable_overrides_.size();
7904 }
7906  return _internal_variable_overrides_size();
7907 }
7909  variable_overrides_.Clear();
7910 }
7911 inline const ::PROTOBUF_NAMESPACE_ID::Map< int32_t, ::operations_research::MPVariableProto >&
7912 MPModelDeltaProto::_internal_variable_overrides() const {
7913  return variable_overrides_.GetMap();
7914 }
7915 inline const ::PROTOBUF_NAMESPACE_ID::Map< int32_t, ::operations_research::MPVariableProto >&
7917  // @@protoc_insertion_point(field_map:operations_research.MPModelDeltaProto.variable_overrides)
7918  return _internal_variable_overrides();
7919 }
7920 inline ::PROTOBUF_NAMESPACE_ID::Map< int32_t, ::operations_research::MPVariableProto >*
7921 MPModelDeltaProto::_internal_mutable_variable_overrides() {
7922  return variable_overrides_.MutableMap();
7923 }
7924 inline ::PROTOBUF_NAMESPACE_ID::Map< int32_t, ::operations_research::MPVariableProto >*
7926  // @@protoc_insertion_point(field_mutable_map:operations_research.MPModelDeltaProto.variable_overrides)
7927  return _internal_mutable_variable_overrides();
7928 }
7929 
7930 // map<int32, .operations_research.MPConstraintProto> constraint_overrides = 3;
7931 inline int MPModelDeltaProto::_internal_constraint_overrides_size() const {
7932  return constraint_overrides_.size();
7933 }
7935  return _internal_constraint_overrides_size();
7936 }
7938  constraint_overrides_.Clear();
7939 }
7940 inline const ::PROTOBUF_NAMESPACE_ID::Map< int32_t, ::operations_research::MPConstraintProto >&
7941 MPModelDeltaProto::_internal_constraint_overrides() const {
7942  return constraint_overrides_.GetMap();
7943 }
7944 inline const ::PROTOBUF_NAMESPACE_ID::Map< int32_t, ::operations_research::MPConstraintProto >&
7946  // @@protoc_insertion_point(field_map:operations_research.MPModelDeltaProto.constraint_overrides)
7947  return _internal_constraint_overrides();
7948 }
7949 inline ::PROTOBUF_NAMESPACE_ID::Map< int32_t, ::operations_research::MPConstraintProto >*
7950 MPModelDeltaProto::_internal_mutable_constraint_overrides() {
7951  return constraint_overrides_.MutableMap();
7952 }
7953 inline ::PROTOBUF_NAMESPACE_ID::Map< int32_t, ::operations_research::MPConstraintProto >*
7955  // @@protoc_insertion_point(field_mutable_map:operations_research.MPModelDeltaProto.constraint_overrides)
7956  return _internal_mutable_constraint_overrides();
7957 }
7958 
7959 // -------------------------------------------------------------------
7960 
7961 // MPModelRequest
7962 
7963 // optional .operations_research.MPModelProto model = 1;
7964 inline bool MPModelRequest::_internal_has_model() const {
7965  bool value = (_has_bits_[0] & 0x00000002u) != 0;
7966  PROTOBUF_ASSUME(!value || model_ != nullptr);
7967  return value;
7968 }
7969 inline bool MPModelRequest::has_model() const {
7970  return _internal_has_model();
7971 }
7973  if (model_ != nullptr) model_->Clear();
7974  _has_bits_[0] &= ~0x00000002u;
7975 }
7976 inline const ::operations_research::MPModelProto& MPModelRequest::_internal_model() const {
7977  const ::operations_research::MPModelProto* p = model_;
7978  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::MPModelProto&>(
7980 }
7981 inline const ::operations_research::MPModelProto& MPModelRequest::model() const {
7982  // @@protoc_insertion_point(field_get:operations_research.MPModelRequest.model)
7983  return _internal_model();
7984 }
7987  if (GetArenaForAllocation() == nullptr) {
7988  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(model_);
7989  }
7990  model_ = model;
7991  if (model) {
7992  _has_bits_[0] |= 0x00000002u;
7993  } else {
7994  _has_bits_[0] &= ~0x00000002u;
7995  }
7996  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.MPModelRequest.model)
7997 }
7998 inline ::operations_research::MPModelProto* MPModelRequest::release_model() {
7999  _has_bits_[0] &= ~0x00000002u;
8000  ::operations_research::MPModelProto* temp = model_;
8001  model_ = nullptr;
8002 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
8003  auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
8004  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8005  if (GetArenaForAllocation() == nullptr) { delete old; }
8006 #else // PROTOBUF_FORCE_COPY_IN_RELEASE
8007  if (GetArenaForAllocation() != nullptr) {
8008  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8009  }
8010 #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
8011  return temp;
8012 }
8013 inline ::operations_research::MPModelProto* MPModelRequest::unsafe_arena_release_model() {
8014  // @@protoc_insertion_point(field_release:operations_research.MPModelRequest.model)
8015  _has_bits_[0] &= ~0x00000002u;
8016  ::operations_research::MPModelProto* temp = model_;
8017  model_ = nullptr;
8018  return temp;
8019 }
8020 inline ::operations_research::MPModelProto* MPModelRequest::_internal_mutable_model() {
8021  _has_bits_[0] |= 0x00000002u;
8022  if (model_ == nullptr) {
8023  auto* p = CreateMaybeMessage<::operations_research::MPModelProto>(GetArenaForAllocation());
8024  model_ = p;
8025  }
8026  return model_;
8027 }
8028 inline ::operations_research::MPModelProto* MPModelRequest::mutable_model() {
8029  ::operations_research::MPModelProto* _msg = _internal_mutable_model();
8030  // @@protoc_insertion_point(field_mutable:operations_research.MPModelRequest.model)
8031  return _msg;
8032 }
8034  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
8035  if (message_arena == nullptr) {
8036  delete model_;
8037  }
8038  if (model) {
8039  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
8040  ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::MPModelProto>::GetOwningArena(model);
8041  if (message_arena != submessage_arena) {
8042  model = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
8043  message_arena, model, submessage_arena);
8044  }
8045  _has_bits_[0] |= 0x00000002u;
8046  } else {
8047  _has_bits_[0] &= ~0x00000002u;
8048  }
8049  model_ = model;
8050  // @@protoc_insertion_point(field_set_allocated:operations_research.MPModelRequest.model)
8051 }
8052 
8053 // optional .operations_research.MPModelRequest.SolverType solver_type = 2;
8054 inline bool MPModelRequest::_internal_has_solver_type() const {
8055  bool value = (_has_bits_[0] & 0x00000080u) != 0;
8056  return value;
8057 }
8058 inline bool MPModelRequest::has_solver_type() const {
8059  return _internal_has_solver_type();
8060 }
8062  solver_type_ = 2;
8063  _has_bits_[0] &= ~0x00000080u;
8064 }
8065 inline ::operations_research::MPModelRequest_SolverType MPModelRequest::_internal_solver_type() const {
8066  return static_cast< ::operations_research::MPModelRequest_SolverType >(solver_type_);
8067 }
8069  // @@protoc_insertion_point(field_get:operations_research.MPModelRequest.solver_type)
8070  return _internal_solver_type();
8071 }
8072 inline void MPModelRequest::_internal_set_solver_type(::operations_research::MPModelRequest_SolverType value) {
8074  _has_bits_[0] |= 0x00000080u;
8075  solver_type_ = value;
8076 }
8078  _internal_set_solver_type(value);
8079  // @@protoc_insertion_point(field_set:operations_research.MPModelRequest.solver_type)
8080 }
8081 
8082 // optional double solver_time_limit_seconds = 3;
8083 inline bool MPModelRequest::_internal_has_solver_time_limit_seconds() const {
8084  bool value = (_has_bits_[0] & 0x00000008u) != 0;
8085  return value;
8086 }
8088  return _internal_has_solver_time_limit_seconds();
8089 }
8091  solver_time_limit_seconds_ = 0;
8092  _has_bits_[0] &= ~0x00000008u;
8093 }
8094 inline double MPModelRequest::_internal_solver_time_limit_seconds() const {
8095  return solver_time_limit_seconds_;
8096 }
8098  // @@protoc_insertion_point(field_get:operations_research.MPModelRequest.solver_time_limit_seconds)
8099  return _internal_solver_time_limit_seconds();
8100 }
8101 inline void MPModelRequest::_internal_set_solver_time_limit_seconds(double value) {
8102  _has_bits_[0] |= 0x00000008u;
8103  solver_time_limit_seconds_ = value;
8104 }
8106  _internal_set_solver_time_limit_seconds(value);
8107  // @@protoc_insertion_point(field_set:operations_research.MPModelRequest.solver_time_limit_seconds)
8108 }
8109 
8110 // optional bool enable_internal_solver_output = 4 [default = false];
8111 inline bool MPModelRequest::_internal_has_enable_internal_solver_output() const {
8112  bool value = (_has_bits_[0] & 0x00000010u) != 0;
8113  return value;
8114 }
8116  return _internal_has_enable_internal_solver_output();
8117 }
8119  enable_internal_solver_output_ = false;
8120  _has_bits_[0] &= ~0x00000010u;
8121 }
8122 inline bool MPModelRequest::_internal_enable_internal_solver_output() const {
8123  return enable_internal_solver_output_;
8124 }
8126  // @@protoc_insertion_point(field_get:operations_research.MPModelRequest.enable_internal_solver_output)
8127  return _internal_enable_internal_solver_output();
8128 }
8129 inline void MPModelRequest::_internal_set_enable_internal_solver_output(bool value) {
8130  _has_bits_[0] |= 0x00000010u;
8131  enable_internal_solver_output_ = value;
8132 }
8134  _internal_set_enable_internal_solver_output(value);
8135  // @@protoc_insertion_point(field_set:operations_research.MPModelRequest.enable_internal_solver_output)
8136 }
8137 
8138 // optional string solver_specific_parameters = 5;
8139 inline bool MPModelRequest::_internal_has_solver_specific_parameters() const {
8140  bool value = (_has_bits_[0] & 0x00000001u) != 0;
8141  return value;
8142 }
8144  return _internal_has_solver_specific_parameters();
8145 }
8147  solver_specific_parameters_.ClearToEmpty();
8148  _has_bits_[0] &= ~0x00000001u;
8149 }
8150 inline const std::string& MPModelRequest::solver_specific_parameters() const {
8151  // @@protoc_insertion_point(field_get:operations_research.MPModelRequest.solver_specific_parameters)
8152  return _internal_solver_specific_parameters();
8153 }
8154 template <typename ArgT0, typename... ArgT>
8155 inline PROTOBUF_ALWAYS_INLINE
8156 void MPModelRequest::set_solver_specific_parameters(ArgT0&& arg0, ArgT... args) {
8157  _has_bits_[0] |= 0x00000001u;
8158  solver_specific_parameters_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
8159  // @@protoc_insertion_point(field_set:operations_research.MPModelRequest.solver_specific_parameters)
8160 }
8162  std::string* _s = _internal_mutable_solver_specific_parameters();
8163  // @@protoc_insertion_point(field_mutable:operations_research.MPModelRequest.solver_specific_parameters)
8164  return _s;
8165 }
8166 inline const std::string& MPModelRequest::_internal_solver_specific_parameters() const {
8167  return solver_specific_parameters_.Get();
8168 }
8169 inline void MPModelRequest::_internal_set_solver_specific_parameters(const std::string& value) {
8170  _has_bits_[0] |= 0x00000001u;
8171  solver_specific_parameters_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
8172 }
8173 inline std::string* MPModelRequest::_internal_mutable_solver_specific_parameters() {
8174  _has_bits_[0] |= 0x00000001u;
8175  return solver_specific_parameters_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
8176 }
8178  // @@protoc_insertion_point(field_release:operations_research.MPModelRequest.solver_specific_parameters)
8179  if (!_internal_has_solver_specific_parameters()) {
8180  return nullptr;
8181  }
8182  _has_bits_[0] &= ~0x00000001u;
8183  auto* p = solver_specific_parameters_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
8184 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
8185  if (solver_specific_parameters_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
8186  solver_specific_parameters_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
8187  }
8188 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
8189  return p;
8190 }
8191 inline void MPModelRequest::set_allocated_solver_specific_parameters(std::string* solver_specific_parameters) {
8192  if (solver_specific_parameters != nullptr) {
8193  _has_bits_[0] |= 0x00000001u;
8194  } else {
8195  _has_bits_[0] &= ~0x00000001u;
8196  }
8197  solver_specific_parameters_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), solver_specific_parameters,
8198  GetArenaForAllocation());
8199 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
8200  if (solver_specific_parameters_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
8201  solver_specific_parameters_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
8202  }
8203 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
8204  // @@protoc_insertion_point(field_set_allocated:operations_research.MPModelRequest.solver_specific_parameters)
8205 }
8206 
8207 // optional bool ignore_solver_specific_parameters_failure = 9 [default = false];
8208 inline bool MPModelRequest::_internal_has_ignore_solver_specific_parameters_failure() const {
8209  bool value = (_has_bits_[0] & 0x00000020u) != 0;
8210  return value;
8211 }
8213  return _internal_has_ignore_solver_specific_parameters_failure();
8214 }
8216  ignore_solver_specific_parameters_failure_ = false;
8217  _has_bits_[0] &= ~0x00000020u;
8218 }
8219 inline bool MPModelRequest::_internal_ignore_solver_specific_parameters_failure() const {
8220  return ignore_solver_specific_parameters_failure_;
8221 }
8223  // @@protoc_insertion_point(field_get:operations_research.MPModelRequest.ignore_solver_specific_parameters_failure)
8224  return _internal_ignore_solver_specific_parameters_failure();
8225 }
8226 inline void MPModelRequest::_internal_set_ignore_solver_specific_parameters_failure(bool value) {
8227  _has_bits_[0] |= 0x00000020u;
8228  ignore_solver_specific_parameters_failure_ = value;
8229 }
8231  _internal_set_ignore_solver_specific_parameters_failure(value);
8232  // @@protoc_insertion_point(field_set:operations_research.MPModelRequest.ignore_solver_specific_parameters_failure)
8233 }
8234 
8235 // optional .operations_research.MPModelDeltaProto model_delta = 8;
8236 inline bool MPModelRequest::_internal_has_model_delta() const {
8237  bool value = (_has_bits_[0] & 0x00000004u) != 0;
8238  PROTOBUF_ASSUME(!value || model_delta_ != nullptr);
8239  return value;
8240 }
8241 inline bool MPModelRequest::has_model_delta() const {
8242  return _internal_has_model_delta();
8243 }
8245  if (model_delta_ != nullptr) model_delta_->Clear();
8246  _has_bits_[0] &= ~0x00000004u;
8247 }
8248 inline const ::operations_research::MPModelDeltaProto& MPModelRequest::_internal_model_delta() const {
8249  const ::operations_research::MPModelDeltaProto* p = model_delta_;
8250  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::MPModelDeltaProto&>(
8252 }
8253 inline const ::operations_research::MPModelDeltaProto& MPModelRequest::model_delta() const {
8254  // @@protoc_insertion_point(field_get:operations_research.MPModelRequest.model_delta)
8255  return _internal_model_delta();
8256 }
8258  ::operations_research::MPModelDeltaProto* model_delta) {
8259  if (GetArenaForAllocation() == nullptr) {
8260  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(model_delta_);
8261  }
8262  model_delta_ = model_delta;
8263  if (model_delta) {
8264  _has_bits_[0] |= 0x00000004u;
8265  } else {
8266  _has_bits_[0] &= ~0x00000004u;
8267  }
8268  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.MPModelRequest.model_delta)
8269 }
8270 inline ::operations_research::MPModelDeltaProto* MPModelRequest::release_model_delta() {
8271  _has_bits_[0] &= ~0x00000004u;
8272  ::operations_research::MPModelDeltaProto* temp = model_delta_;
8273  model_delta_ = nullptr;
8274 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
8275  auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
8276  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8277  if (GetArenaForAllocation() == nullptr) { delete old; }
8278 #else // PROTOBUF_FORCE_COPY_IN_RELEASE
8279  if (GetArenaForAllocation() != nullptr) {
8280  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8281  }
8282 #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
8283  return temp;
8284 }
8285 inline ::operations_research::MPModelDeltaProto* MPModelRequest::unsafe_arena_release_model_delta() {
8286  // @@protoc_insertion_point(field_release:operations_research.MPModelRequest.model_delta)
8287  _has_bits_[0] &= ~0x00000004u;
8288  ::operations_research::MPModelDeltaProto* temp = model_delta_;
8289  model_delta_ = nullptr;
8290  return temp;
8291 }
8292 inline ::operations_research::MPModelDeltaProto* MPModelRequest::_internal_mutable_model_delta() {
8293  _has_bits_[0] |= 0x00000004u;
8294  if (model_delta_ == nullptr) {
8295  auto* p = CreateMaybeMessage<::operations_research::MPModelDeltaProto>(GetArenaForAllocation());
8296  model_delta_ = p;
8297  }
8298  return model_delta_;
8299 }
8300 inline ::operations_research::MPModelDeltaProto* MPModelRequest::mutable_model_delta() {
8301  ::operations_research::MPModelDeltaProto* _msg = _internal_mutable_model_delta();
8302  // @@protoc_insertion_point(field_mutable:operations_research.MPModelRequest.model_delta)
8303  return _msg;
8304 }
8306  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
8307  if (message_arena == nullptr) {
8308  delete model_delta_;
8309  }
8310  if (model_delta) {
8311  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
8312  ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::MPModelDeltaProto>::GetOwningArena(model_delta);
8313  if (message_arena != submessage_arena) {
8314  model_delta = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
8315  message_arena, model_delta, submessage_arena);
8316  }
8317  _has_bits_[0] |= 0x00000004u;
8318  } else {
8319  _has_bits_[0] &= ~0x00000004u;
8320  }
8321  model_delta_ = model_delta;
8322  // @@protoc_insertion_point(field_set_allocated:operations_research.MPModelRequest.model_delta)
8323 }
8324 
8325 // optional int32 populate_additional_solutions_up_to = 11 [default = 0];
8326 inline bool MPModelRequest::_internal_has_populate_additional_solutions_up_to() const {
8327  bool value = (_has_bits_[0] & 0x00000040u) != 0;
8328  return value;
8329 }
8331  return _internal_has_populate_additional_solutions_up_to();
8332 }
8334  populate_additional_solutions_up_to_ = 0;
8335  _has_bits_[0] &= ~0x00000040u;
8336 }
8337 inline int32_t MPModelRequest::_internal_populate_additional_solutions_up_to() const {
8338  return populate_additional_solutions_up_to_;
8339 }
8341  // @@protoc_insertion_point(field_get:operations_research.MPModelRequest.populate_additional_solutions_up_to)
8342  return _internal_populate_additional_solutions_up_to();
8343 }
8344 inline void MPModelRequest::_internal_set_populate_additional_solutions_up_to(int32_t value) {
8345  _has_bits_[0] |= 0x00000040u;
8346  populate_additional_solutions_up_to_ = value;
8347 }
8349  _internal_set_populate_additional_solutions_up_to(value);
8350  // @@protoc_insertion_point(field_set:operations_research.MPModelRequest.populate_additional_solutions_up_to)
8351 }
8352 
8353 // -------------------------------------------------------------------
8354 
8355 // MPSolution
8356 
8357 // optional double objective_value = 1;
8358 inline bool MPSolution::_internal_has_objective_value() const {
8359  bool value = (_has_bits_[0] & 0x00000001u) != 0;
8360  return value;
8361 }
8362 inline bool MPSolution::has_objective_value() const {
8363  return _internal_has_objective_value();
8364 }
8366  objective_value_ = 0;
8367  _has_bits_[0] &= ~0x00000001u;
8368 }
8369 inline double MPSolution::_internal_objective_value() const {
8370  return objective_value_;
8371 }
8372 inline double MPSolution::objective_value() const {
8373  // @@protoc_insertion_point(field_get:operations_research.MPSolution.objective_value)
8374  return _internal_objective_value();
8375 }
8376 inline void MPSolution::_internal_set_objective_value(double value) {
8377  _has_bits_[0] |= 0x00000001u;
8378  objective_value_ = value;
8379 }
8380 inline void MPSolution::set_objective_value(double value) {
8381  _internal_set_objective_value(value);
8382  // @@protoc_insertion_point(field_set:operations_research.MPSolution.objective_value)
8383 }
8384 
8385 // repeated double variable_value = 2 [packed = true];
8386 inline int MPSolution::_internal_variable_value_size() const {
8387  return variable_value_.size();
8388 }
8390  return _internal_variable_value_size();
8391 }
8393  variable_value_.Clear();
8394 }
8395 inline double MPSolution::_internal_variable_value(int index) const {
8396  return variable_value_.Get(index);
8397 }
8398 inline double MPSolution::variable_value(int index) const {
8399  // @@protoc_insertion_point(field_get:operations_research.MPSolution.variable_value)
8400  return _internal_variable_value(index);
8401 }
8402 inline void MPSolution::set_variable_value(int index, double value) {
8403  variable_value_.Set(index, value);
8404  // @@protoc_insertion_point(field_set:operations_research.MPSolution.variable_value)
8405 }
8406 inline void MPSolution::_internal_add_variable_value(double value) {
8407  variable_value_.Add(value);
8408 }
8409 inline void MPSolution::add_variable_value(double value) {
8410  _internal_add_variable_value(value);
8411  // @@protoc_insertion_point(field_add:operations_research.MPSolution.variable_value)
8412 }
8413 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
8414 MPSolution::_internal_variable_value() const {
8415  return variable_value_;
8416 }
8417 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
8419  // @@protoc_insertion_point(field_list:operations_research.MPSolution.variable_value)
8420  return _internal_variable_value();
8421 }
8422 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
8423 MPSolution::_internal_mutable_variable_value() {
8424  return &variable_value_;
8425 }
8426 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
8428  // @@protoc_insertion_point(field_mutable_list:operations_research.MPSolution.variable_value)
8429  return _internal_mutable_variable_value();
8430 }
8431 
8432 // -------------------------------------------------------------------
8433 
8434 // MPSolveInfo
8435 
8436 // optional double solve_wall_time_seconds = 1;
8437 inline bool MPSolveInfo::_internal_has_solve_wall_time_seconds() const {
8438  bool value = (_has_bits_[0] & 0x00000001u) != 0;
8439  return value;
8440 }
8442  return _internal_has_solve_wall_time_seconds();
8443 }
8445  solve_wall_time_seconds_ = 0;
8446  _has_bits_[0] &= ~0x00000001u;
8447 }
8448 inline double MPSolveInfo::_internal_solve_wall_time_seconds() const {
8449  return solve_wall_time_seconds_;
8450 }
8452  // @@protoc_insertion_point(field_get:operations_research.MPSolveInfo.solve_wall_time_seconds)
8453  return _internal_solve_wall_time_seconds();
8454 }
8455 inline void MPSolveInfo::_internal_set_solve_wall_time_seconds(double value) {
8456  _has_bits_[0] |= 0x00000001u;
8457  solve_wall_time_seconds_ = value;
8458 }
8459 inline void MPSolveInfo::set_solve_wall_time_seconds(double value) {
8460  _internal_set_solve_wall_time_seconds(value);
8461  // @@protoc_insertion_point(field_set:operations_research.MPSolveInfo.solve_wall_time_seconds)
8462 }
8463 
8464 // optional double solve_user_time_seconds = 2;
8465 inline bool MPSolveInfo::_internal_has_solve_user_time_seconds() const {
8466  bool value = (_has_bits_[0] & 0x00000002u) != 0;
8467  return value;
8468 }
8470  return _internal_has_solve_user_time_seconds();
8471 }
8473  solve_user_time_seconds_ = 0;
8474  _has_bits_[0] &= ~0x00000002u;
8475 }
8476 inline double MPSolveInfo::_internal_solve_user_time_seconds() const {
8477  return solve_user_time_seconds_;
8478 }
8480  // @@protoc_insertion_point(field_get:operations_research.MPSolveInfo.solve_user_time_seconds)
8481  return _internal_solve_user_time_seconds();
8482 }
8483 inline void MPSolveInfo::_internal_set_solve_user_time_seconds(double value) {
8484  _has_bits_[0] |= 0x00000002u;
8485  solve_user_time_seconds_ = value;
8486 }
8487 inline void MPSolveInfo::set_solve_user_time_seconds(double value) {
8488  _internal_set_solve_user_time_seconds(value);
8489  // @@protoc_insertion_point(field_set:operations_research.MPSolveInfo.solve_user_time_seconds)
8490 }
8491 
8492 // -------------------------------------------------------------------
8493 
8494 // MPSolutionResponse
8495 
8496 // optional .operations_research.MPSolverResponseStatus status = 1 [default = MPSOLVER_UNKNOWN_STATUS];
8497 inline bool MPSolutionResponse::_internal_has_status() const {
8498  bool value = (_has_bits_[0] & 0x00000010u) != 0;
8499  return value;
8500 }
8501 inline bool MPSolutionResponse::has_status() const {
8502  return _internal_has_status();
8503 }
8505  status_ = 99;
8506  _has_bits_[0] &= ~0x00000010u;
8507 }
8508 inline ::operations_research::MPSolverResponseStatus MPSolutionResponse::_internal_status() const {
8509  return static_cast< ::operations_research::MPSolverResponseStatus >(status_);
8510 }
8512  // @@protoc_insertion_point(field_get:operations_research.MPSolutionResponse.status)
8513  return _internal_status();
8514 }
8515 inline void MPSolutionResponse::_internal_set_status(::operations_research::MPSolverResponseStatus value) {
8517  _has_bits_[0] |= 0x00000010u;
8518  status_ = value;
8519 }
8521  _internal_set_status(value);
8522  // @@protoc_insertion_point(field_set:operations_research.MPSolutionResponse.status)
8523 }
8524 
8525 // optional string status_str = 7;
8526 inline bool MPSolutionResponse::_internal_has_status_str() const {
8527  bool value = (_has_bits_[0] & 0x00000001u) != 0;
8528  return value;
8529 }
8531  return _internal_has_status_str();
8532 }
8534  status_str_.ClearToEmpty();
8535  _has_bits_[0] &= ~0x00000001u;
8536 }
8537 inline const std::string& MPSolutionResponse::status_str() const {
8538  // @@protoc_insertion_point(field_get:operations_research.MPSolutionResponse.status_str)
8539  return _internal_status_str();
8540 }
8541 template <typename ArgT0, typename... ArgT>
8542 inline PROTOBUF_ALWAYS_INLINE
8543 void MPSolutionResponse::set_status_str(ArgT0&& arg0, ArgT... args) {
8544  _has_bits_[0] |= 0x00000001u;
8545  status_str_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
8546  // @@protoc_insertion_point(field_set:operations_research.MPSolutionResponse.status_str)
8547 }
8549  std::string* _s = _internal_mutable_status_str();
8550  // @@protoc_insertion_point(field_mutable:operations_research.MPSolutionResponse.status_str)
8551  return _s;
8552 }
8553 inline const std::string& MPSolutionResponse::_internal_status_str() const {
8554  return status_str_.Get();
8555 }
8556 inline void MPSolutionResponse::_internal_set_status_str(const std::string& value) {
8557  _has_bits_[0] |= 0x00000001u;
8558  status_str_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
8559 }
8560 inline std::string* MPSolutionResponse::_internal_mutable_status_str() {
8561  _has_bits_[0] |= 0x00000001u;
8562  return status_str_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
8563 }
8565  // @@protoc_insertion_point(field_release:operations_research.MPSolutionResponse.status_str)
8566  if (!_internal_has_status_str()) {
8567  return nullptr;
8568  }
8569  _has_bits_[0] &= ~0x00000001u;
8570  auto* p = status_str_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
8571 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
8572  if (status_str_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
8573  status_str_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
8574  }
8575 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
8576  return p;
8577 }
8578 inline void MPSolutionResponse::set_allocated_status_str(std::string* status_str) {
8579  if (status_str != nullptr) {
8580  _has_bits_[0] |= 0x00000001u;
8581  } else {
8582  _has_bits_[0] &= ~0x00000001u;
8583  }
8584  status_str_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), status_str,
8585  GetArenaForAllocation());
8586 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
8587  if (status_str_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
8588  status_str_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
8589  }
8590 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
8591  // @@protoc_insertion_point(field_set_allocated:operations_research.MPSolutionResponse.status_str)
8592 }
8593 
8594 // optional double objective_value = 2;
8595 inline bool MPSolutionResponse::_internal_has_objective_value() const {
8596  bool value = (_has_bits_[0] & 0x00000004u) != 0;
8597  return value;
8598 }
8600  return _internal_has_objective_value();
8601 }
8603  objective_value_ = 0;
8604  _has_bits_[0] &= ~0x00000004u;
8605 }
8606 inline double MPSolutionResponse::_internal_objective_value() const {
8607  return objective_value_;
8608 }
8610  // @@protoc_insertion_point(field_get:operations_research.MPSolutionResponse.objective_value)
8611  return _internal_objective_value();
8612 }
8613 inline void MPSolutionResponse::_internal_set_objective_value(double value) {
8614  _has_bits_[0] |= 0x00000004u;
8615  objective_value_ = value;
8616 }
8617 inline void MPSolutionResponse::set_objective_value(double value) {
8618  _internal_set_objective_value(value);
8619  // @@protoc_insertion_point(field_set:operations_research.MPSolutionResponse.objective_value)
8620 }
8621 
8622 // optional double best_objective_bound = 5;
8623 inline bool MPSolutionResponse::_internal_has_best_objective_bound() const {
8624  bool value = (_has_bits_[0] & 0x00000008u) != 0;
8625  return value;
8626 }
8628  return _internal_has_best_objective_bound();
8629 }
8631  best_objective_bound_ = 0;
8632  _has_bits_[0] &= ~0x00000008u;
8633 }
8634 inline double MPSolutionResponse::_internal_best_objective_bound() const {
8635  return best_objective_bound_;
8636 }
8638  // @@protoc_insertion_point(field_get:operations_research.MPSolutionResponse.best_objective_bound)
8639  return _internal_best_objective_bound();
8640 }
8641 inline void MPSolutionResponse::_internal_set_best_objective_bound(double value) {
8642  _has_bits_[0] |= 0x00000008u;
8643  best_objective_bound_ = value;
8644 }
8646  _internal_set_best_objective_bound(value);
8647  // @@protoc_insertion_point(field_set:operations_research.MPSolutionResponse.best_objective_bound)
8648 }
8649 
8650 // repeated double variable_value = 3 [packed = true];
8651 inline int MPSolutionResponse::_internal_variable_value_size() const {
8652  return variable_value_.size();
8653 }
8655  return _internal_variable_value_size();
8656 }
8658  variable_value_.Clear();
8659 }
8660 inline double MPSolutionResponse::_internal_variable_value(int index) const {
8661  return variable_value_.Get(index);
8662 }
8663 inline double MPSolutionResponse::variable_value(int index) const {
8664  // @@protoc_insertion_point(field_get:operations_research.MPSolutionResponse.variable_value)
8665  return _internal_variable_value(index);
8666 }
8667 inline void MPSolutionResponse::set_variable_value(int index, double value) {
8668  variable_value_.Set(index, value);
8669  // @@protoc_insertion_point(field_set:operations_research.MPSolutionResponse.variable_value)
8670 }
8671 inline void MPSolutionResponse::_internal_add_variable_value(double value) {
8672  variable_value_.Add(value);
8673 }
8674 inline void MPSolutionResponse::add_variable_value(double value) {
8675  _internal_add_variable_value(value);
8676  // @@protoc_insertion_point(field_add:operations_research.MPSolutionResponse.variable_value)
8677 }
8678 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
8679 MPSolutionResponse::_internal_variable_value() const {
8680  return variable_value_;
8681 }
8682 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
8684  // @@protoc_insertion_point(field_list:operations_research.MPSolutionResponse.variable_value)
8685  return _internal_variable_value();
8686 }
8687 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
8688 MPSolutionResponse::_internal_mutable_variable_value() {
8689  return &variable_value_;
8690 }
8691 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
8693  // @@protoc_insertion_point(field_mutable_list:operations_research.MPSolutionResponse.variable_value)
8694  return _internal_mutable_variable_value();
8695 }
8696 
8697 // optional .operations_research.MPSolveInfo solve_info = 10;
8698 inline bool MPSolutionResponse::_internal_has_solve_info() const {
8699  bool value = (_has_bits_[0] & 0x00000002u) != 0;
8700  PROTOBUF_ASSUME(!value || solve_info_ != nullptr);
8701  return value;
8702 }
8704  return _internal_has_solve_info();
8705 }
8707  if (solve_info_ != nullptr) solve_info_->Clear();
8708  _has_bits_[0] &= ~0x00000002u;
8709 }
8710 inline const ::operations_research::MPSolveInfo& MPSolutionResponse::_internal_solve_info() const {
8711  const ::operations_research::MPSolveInfo* p = solve_info_;
8712  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::MPSolveInfo&>(
8714 }
8715 inline const ::operations_research::MPSolveInfo& MPSolutionResponse::solve_info() const {
8716  // @@protoc_insertion_point(field_get:operations_research.MPSolutionResponse.solve_info)
8717  return _internal_solve_info();
8718 }
8720  ::operations_research::MPSolveInfo* solve_info) {
8721  if (GetArenaForAllocation() == nullptr) {
8722  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(solve_info_);
8723  }
8724  solve_info_ = solve_info;
8725  if (solve_info) {
8726  _has_bits_[0] |= 0x00000002u;
8727  } else {
8728  _has_bits_[0] &= ~0x00000002u;
8729  }
8730  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.MPSolutionResponse.solve_info)
8731 }
8732 inline ::operations_research::MPSolveInfo* MPSolutionResponse::release_solve_info() {
8733  _has_bits_[0] &= ~0x00000002u;
8734  ::operations_research::MPSolveInfo* temp = solve_info_;
8735  solve_info_ = nullptr;
8736 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
8737  auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
8738  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8739  if (GetArenaForAllocation() == nullptr) { delete old; }
8740 #else // PROTOBUF_FORCE_COPY_IN_RELEASE
8741  if (GetArenaForAllocation() != nullptr) {
8742  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8743  }
8744 #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
8745  return temp;
8746 }
8747 inline ::operations_research::MPSolveInfo* MPSolutionResponse::unsafe_arena_release_solve_info() {
8748  // @@protoc_insertion_point(field_release:operations_research.MPSolutionResponse.solve_info)
8749  _has_bits_[0] &= ~0x00000002u;
8750  ::operations_research::MPSolveInfo* temp = solve_info_;
8751  solve_info_ = nullptr;
8752  return temp;
8753 }
8754 inline ::operations_research::MPSolveInfo* MPSolutionResponse::_internal_mutable_solve_info() {
8755  _has_bits_[0] |= 0x00000002u;
8756  if (solve_info_ == nullptr) {
8757  auto* p = CreateMaybeMessage<::operations_research::MPSolveInfo>(GetArenaForAllocation());
8758  solve_info_ = p;
8759  }
8760  return solve_info_;
8761 }
8762 inline ::operations_research::MPSolveInfo* MPSolutionResponse::mutable_solve_info() {
8763  ::operations_research::MPSolveInfo* _msg = _internal_mutable_solve_info();
8764  // @@protoc_insertion_point(field_mutable:operations_research.MPSolutionResponse.solve_info)
8765  return _msg;
8766 }
8768  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
8769  if (message_arena == nullptr) {
8770  delete solve_info_;
8771  }
8772  if (solve_info) {
8773  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
8774  ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::MPSolveInfo>::GetOwningArena(solve_info);
8775  if (message_arena != submessage_arena) {
8776  solve_info = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
8777  message_arena, solve_info, submessage_arena);
8778  }
8779  _has_bits_[0] |= 0x00000002u;
8780  } else {
8781  _has_bits_[0] &= ~0x00000002u;
8782  }
8783  solve_info_ = solve_info;
8784  // @@protoc_insertion_point(field_set_allocated:operations_research.MPSolutionResponse.solve_info)
8785 }
8786 
8787 // repeated double dual_value = 4 [packed = true];
8788 inline int MPSolutionResponse::_internal_dual_value_size() const {
8789  return dual_value_.size();
8790 }
8792  return _internal_dual_value_size();
8793 }
8795  dual_value_.Clear();
8796 }
8797 inline double MPSolutionResponse::_internal_dual_value(int index) const {
8798  return dual_value_.Get(index);
8799 }
8800 inline double MPSolutionResponse::dual_value(int index) const {
8801  // @@protoc_insertion_point(field_get:operations_research.MPSolutionResponse.dual_value)
8802  return _internal_dual_value(index);
8803 }
8804 inline void MPSolutionResponse::set_dual_value(int index, double value) {
8805  dual_value_.Set(index, value);
8806  // @@protoc_insertion_point(field_set:operations_research.MPSolutionResponse.dual_value)
8807 }
8808 inline void MPSolutionResponse::_internal_add_dual_value(double value) {
8809  dual_value_.Add(value);
8810 }
8811 inline void MPSolutionResponse::add_dual_value(double value) {
8812  _internal_add_dual_value(value);
8813  // @@protoc_insertion_point(field_add:operations_research.MPSolutionResponse.dual_value)
8814 }
8815 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
8816 MPSolutionResponse::_internal_dual_value() const {
8817  return dual_value_;
8818 }
8819 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
8821  // @@protoc_insertion_point(field_list:operations_research.MPSolutionResponse.dual_value)
8822  return _internal_dual_value();
8823 }
8824 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
8825 MPSolutionResponse::_internal_mutable_dual_value() {
8826  return &dual_value_;
8827 }
8828 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
8830  // @@protoc_insertion_point(field_mutable_list:operations_research.MPSolutionResponse.dual_value)
8831  return _internal_mutable_dual_value();
8832 }
8833 
8834 // repeated double reduced_cost = 6 [packed = true];
8835 inline int MPSolutionResponse::_internal_reduced_cost_size() const {
8836  return reduced_cost_.size();
8837 }
8839  return _internal_reduced_cost_size();
8840 }
8842  reduced_cost_.Clear();
8843 }
8844 inline double MPSolutionResponse::_internal_reduced_cost(int index) const {
8845  return reduced_cost_.Get(index);
8846 }
8847 inline double MPSolutionResponse::reduced_cost(int index) const {
8848  // @@protoc_insertion_point(field_get:operations_research.MPSolutionResponse.reduced_cost)
8849  return _internal_reduced_cost(index);
8850 }
8851 inline void MPSolutionResponse::set_reduced_cost(int index, double value) {
8852  reduced_cost_.Set(index, value);
8853  // @@protoc_insertion_point(field_set:operations_research.MPSolutionResponse.reduced_cost)
8854 }
8855 inline void MPSolutionResponse::_internal_add_reduced_cost(double value) {
8856  reduced_cost_.Add(value);
8857 }
8858 inline void MPSolutionResponse::add_reduced_cost(double value) {
8859  _internal_add_reduced_cost(value);
8860  // @@protoc_insertion_point(field_add:operations_research.MPSolutionResponse.reduced_cost)
8861 }
8862 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
8863 MPSolutionResponse::_internal_reduced_cost() const {
8864  return reduced_cost_;
8865 }
8866 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >&
8868  // @@protoc_insertion_point(field_list:operations_research.MPSolutionResponse.reduced_cost)
8869  return _internal_reduced_cost();
8870 }
8871 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
8872 MPSolutionResponse::_internal_mutable_reduced_cost() {
8873  return &reduced_cost_;
8874 }
8875 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >*
8877  // @@protoc_insertion_point(field_mutable_list:operations_research.MPSolutionResponse.reduced_cost)
8878  return _internal_mutable_reduced_cost();
8879 }
8880 
8881 // repeated .operations_research.MPSolution additional_solutions = 8;
8882 inline int MPSolutionResponse::_internal_additional_solutions_size() const {
8883  return additional_solutions_.size();
8884 }
8886  return _internal_additional_solutions_size();
8887 }
8889  additional_solutions_.Clear();
8890 }
8891 inline ::operations_research::MPSolution* MPSolutionResponse::mutable_additional_solutions(int index) {
8892  // @@protoc_insertion_point(field_mutable:operations_research.MPSolutionResponse.additional_solutions)
8893  return additional_solutions_.Mutable(index);
8894 }
8895 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::MPSolution >*
8897  // @@protoc_insertion_point(field_mutable_list:operations_research.MPSolutionResponse.additional_solutions)
8898  return &additional_solutions_;
8899 }
8900 inline const ::operations_research::MPSolution& MPSolutionResponse::_internal_additional_solutions(int index) const {
8901  return additional_solutions_.Get(index);
8902 }
8903 inline const ::operations_research::MPSolution& MPSolutionResponse::additional_solutions(int index) const {
8904  // @@protoc_insertion_point(field_get:operations_research.MPSolutionResponse.additional_solutions)
8905  return _internal_additional_solutions(index);
8906 }
8907 inline ::operations_research::MPSolution* MPSolutionResponse::_internal_add_additional_solutions() {
8908  return additional_solutions_.Add();
8909 }
8910 inline ::operations_research::MPSolution* MPSolutionResponse::add_additional_solutions() {
8911  ::operations_research::MPSolution* _add = _internal_add_additional_solutions();
8912  // @@protoc_insertion_point(field_add:operations_research.MPSolutionResponse.additional_solutions)
8913  return _add;
8914 }
8915 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::MPSolution >&
8917  // @@protoc_insertion_point(field_list:operations_research.MPSolutionResponse.additional_solutions)
8918  return additional_solutions_;
8919 }
8920 
8921 #ifdef __GNUC__
8922  #pragma GCC diagnostic pop
8923 #endif // __GNUC__
8924 // -------------------------------------------------------------------
8925 
8926 // -------------------------------------------------------------------
8927 
8928 // -------------------------------------------------------------------
8929 
8930 // -------------------------------------------------------------------
8931 
8932 // -------------------------------------------------------------------
8933 
8934 // -------------------------------------------------------------------
8935 
8936 // -------------------------------------------------------------------
8937 
8938 // -------------------------------------------------------------------
8939 
8940 // -------------------------------------------------------------------
8941 
8942 // -------------------------------------------------------------------
8943 
8944 // -------------------------------------------------------------------
8945 
8946 // -------------------------------------------------------------------
8947 
8948 // -------------------------------------------------------------------
8949 
8950 // -------------------------------------------------------------------
8951 
8952 // -------------------------------------------------------------------
8953 
8954 // -------------------------------------------------------------------
8955 
8956 // -------------------------------------------------------------------
8957 
8958 // -------------------------------------------------------------------
8959 
8960 // -------------------------------------------------------------------
8961 
8962 // -------------------------------------------------------------------
8963 
8964 
8965 // @@protoc_insertion_point(namespace_scope)
8966 
8967 } // namespace operations_research
8968 
8969 PROTOBUF_NAMESPACE_OPEN
8970 
8971 template <> struct is_proto_enum< ::operations_research::MPSosConstraint_Type> : ::std::true_type {};
8972 template <>
8973 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::MPSosConstraint_Type>() {
8975 }
8976 template <> struct is_proto_enum< ::operations_research::MPSolverCommonParameters_LPAlgorithmValues> : ::std::true_type {};
8977 template <>
8978 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::MPSolverCommonParameters_LPAlgorithmValues>() {
8980 }
8981 template <> struct is_proto_enum< ::operations_research::MPModelRequest_SolverType> : ::std::true_type {};
8982 template <>
8983 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::MPModelRequest_SolverType>() {
8985 }
8986 template <> struct is_proto_enum< ::operations_research::MPSolverResponseStatus> : ::std::true_type {};
8987 template <>
8988 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::MPSolverResponseStatus>() {
8990 }
8991 
8992 PROTOBUF_NAMESPACE_CLOSE
8993 
8994 // @@protoc_insertion_point(global_scope)
8995 
8996 #include <google/protobuf/port_undef.inc>
8997 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
void set_allocated_baseline_model_file_path(std::string *baseline_model_file_path)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
static const MPArrayWithConstantConstraint * internal_default_instance()
::operations_research::MPIndicatorConstraint * mutable_indicator_constraint()
::operations_research::MPConstraintProto * mutable_constraint()
PROTOBUF_NODISCARD ::operations_research::OptionalDouble * release_dual_tolerance()
static const MPQuadraticObjective & default_instance()
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
const ::operations_research::OptionalDouble & primal_tolerance() const
MPSolutionDefaultTypeInternal _MPSolution_default_instance_
::operations_research::OptionalBoolean scaling() const
::operations_research::MPQuadraticConstraint * unsafe_arena_release_quadratic_constraint()
::operations_research::MPArrayWithConstantConstraint * unsafe_arena_release_min_constraint()
void Swap(MPQuadraticConstraint *other)
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
void Swap(MPSolutionResponse *other)
void set_lp_algorithm(::operations_research::MPSolverCommonParameters_LPAlgorithmValues value)
friend void swap(MPModelRequest &a, MPModelRequest &b)
GeneralConstraintCase general_constraint_case() const
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::MPGeneralConstraintProto > & general_constraint() const
PROTOBUF_NODISCARD ::operations_research::MPArrayConstraint * release_and_constraint()
static const std::string & LPAlgorithmValues_Name(T enum_t_value)
void unsafe_arena_set_allocated_model_delta(::operations_research::MPModelDeltaProto *model_delta)
void UnsafeArenaSwap(MPModelRequest *other)
MPIndicatorConstraint * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
static const MPModelDeltaProto * internal_default_instance()
static const ClassData _class_data_
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
friend void swap(MPModelDeltaProto &a, MPModelDeltaProto &b)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * MPSolverResponseStatus_descriptor()
::PROTOBUF_NAMESPACE_ID::RepeatedField< double > * mutable_variable_value()
MPSolution & operator=(const MPSolution &from)
static bool ValidateKey(void *)
MPModelRequest & operator=(MPModelRequest &&from) noexcept
void set_var_index(int index, int32_t value)
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
friend void swap(MPQuadraticObjective &a, MPQuadraticObjective &b)
PROTOBUF_NODISCARD ::operations_research::MPSosConstraint * release_sos_constraint()
void unsafe_arena_set_allocated_and_constraint(::operations_research::MPArrayConstraint *and_constraint)
constexpr MPSolverCommonParameters_LPAlgorithmValues MPSolverCommonParameters_LPAlgorithmValues_LPAlgorithmValues_MIN
void set_variable_value(int index, double value)
static const OptionalDouble & default_instance()
const ::PROTOBUF_NAMESPACE_ID::Map< int32_t, ::operations_research::MPVariableProto > & variable_overrides() const
MPSolverCommonParametersDefaultTypeInternal _MPSolverCommonParameters_default_instance_
::PROTOBUF_NAMESPACE_ID::RepeatedField< double > * mutable_qcoefficient()
void UnsafeArenaSwap(MPQuadraticObjective *other)
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
bool MPSolverResponseStatus_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, MPSolverResponseStatus *value)
MPSolverCommonParameters & operator=(const MPSolverCommonParameters &from)
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & var_index() const
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_qvar1_index()
const ::operations_research::MPSolveInfo & solve_info() const
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
MPQuadraticConstraint & operator=(MPQuadraticConstraint &&from) noexcept
bool MPModelRequest_SolverType_IsValid(int value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::MPVariableProto > & variable() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
void Swap(MPModelDeltaProto *other)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
friend void swap(MPConstraintProto &a, MPConstraintProto &b)
::operations_research::OptionalDouble * unsafe_arena_release_dual_tolerance()
static const MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse * internal_default_instance()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
::operations_research::MPArrayConstraint * unsafe_arena_release_or_constraint()
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & qvar2_index() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
MPSolution & operator=(MPSolution &&from) noexcept
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
PROTOBUF_NODISCARD ::operations_research::MPArrayConstraint * release_or_constraint()
void set_allocated_solver_specific_parameters(std::string *solver_specific_parameters)
MPSolution * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::MPGeneralConstraintProto > * mutable_general_constraint()
const std::string & MPModelRequest_SolverType_Name(T enum_t_value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > & dual_value() const
void set_allocated_status_str(std::string *status_str)
bool MPSolverResponseStatus_IsValid(int value)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
MPAbsConstraintDefaultTypeInternal _MPAbsConstraint_default_instance_
PROTOBUF_NODISCARD ::operations_research::OptionalDouble * release_primal_tolerance()
friend void swap(MPVariableProto &a, MPVariableProto &b)
::PROTOBUF_NAMESPACE_ID::RepeatedField< double > * mutable_coefficient()
::operations_research::MPIndicatorConstraint * unsafe_arena_release_indicator_constraint()
MPQuadraticConstraint(MPQuadraticConstraint &&from) noexcept
static bool ValidateKey(void *)
PROTOBUF_NODISCARD ::operations_research::PartialVariableAssignment * release_solution_hint()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
::operations_research::MPArrayWithConstantConstraint * mutable_max_constraint()
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
MPQuadraticObjective * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > & coefficient() const
MPIndicatorConstraint & operator=(MPIndicatorConstraint &&from) noexcept
MPArrayWithConstantConstraint * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
void CopyFrom(const MPVariableProto &from)
PROTOBUF_NODISCARD std::string * release_name()
void set_ignore_solver_specific_parameters_failure(bool value)
static bool SolverType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SolverType *value)
void set_solve_user_time_seconds(double value)
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
constexpr MPModelRequest_SolverType MPModelRequest_SolverType_SolverType_MIN
const std::string & name() const
bool MPModelRequest_SolverType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, MPModelRequest_SolverType *value)
::operations_research::MPQuadraticObjective * unsafe_arena_release_quadratic_objective()
::operations_research::MPArrayConstraint * mutable_or_constraint()
::operations_research::PartialVariableAssignment * unsafe_arena_release_solution_hint()
MPVariableProto & operator=(MPVariableProto &&from) noexcept
bool MPSolverCommonParameters_LPAlgorithmValues_IsValid(int value)
void set_solver_time_limit_seconds(double value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > & reduced_cost() const
void set_name(ArgT0 &&arg0, ArgT... args)
static bool Type_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Type *value)
void unsafe_arena_set_allocated_solution_hint(::operations_research::PartialVariableAssignment *solution_hint)
void set_qvar2_index(int index, int32_t value)
::operations_research::MPSolveInfo * unsafe_arena_release_solve_info()
static const MPSolutionResponse * internal_default_instance()
::operations_research::OptionalBoolean presolve() const
MPConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & var_index() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
static bool LPAlgorithmValues_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, LPAlgorithmValues *value)
MPArrayWithConstantConstraintDefaultTypeInternal _MPArrayWithConstantConstraint_default_instance_
void Swap(OptionalDouble *other)
friend void swap(MPIndicatorConstraint &a, MPIndicatorConstraint &b)
void set_allocated_primal_tolerance(::operations_research::OptionalDouble *primal_tolerance)
void set_allocated_model_delta(::operations_research::MPModelDeltaProto *model_delta)
static const MPArrayConstraint * internal_default_instance()
PROTOBUF_NODISCARD ::operations_research::MPSolveInfo * release_solve_info()
void Swap(MPConstraintProto *other)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * MPModelRequest_SolverType_descriptor()
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
friend void swap(MPSolutionResponse &a, MPSolutionResponse &b)
MPModelDeltaProtoDefaultTypeInternal _MPModelDeltaProto_default_instance_
void Swap(MPSolution *other)
void unsafe_arena_set_allocated_indicator_constraint(::operations_research::MPIndicatorConstraint *indicator_constraint)
void set_solver_specific_parameters(ArgT0 &&arg0, ArgT... args)
static const MPSolverCommonParameters * internal_default_instance()
static const MPArrayWithConstantConstraint & default_instance()
PROTOBUF_NODISCARD ::operations_research::MPArrayWithConstantConstraint * release_max_constraint()
MPModelDeltaProto(MPModelDeltaProto &&from) noexcept
::operations_research::MPModelDeltaProto * mutable_model_delta()
OptionalDouble & operator=(const OptionalDouble &from)
constexpr MPSosConstraint_Type MPSosConstraint_Type_Type_MAX
::operations_research::MPSolution * add_additional_solutions()
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
void Swap(MPModelProto *other)
friend void swap(MPArrayWithConstantConstraint &a, MPArrayWithConstantConstraint &b)
constexpr int MPSolverCommonParameters_LPAlgorithmValues_LPAlgorithmValues_ARRAYSIZE
PROTOBUF_NODISCARD ::operations_research::MPModelProto * release_model()
MPArrayWithConstantConstraint(MPArrayWithConstantConstraint &&from) noexcept
MPSosConstraint(MPSosConstraint &&from) noexcept
PROTOBUF_NODISCARD ::operations_research::MPConstraintProto * release_constraint()
static const MPSosConstraint * internal_default_instance()
::operations_research::MPSosConstraint * unsafe_arena_release_sos_constraint()
void set_coefficient(int index, double value)
MPSolverCommonParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
static const std::string & Type_Name(T enum_t_value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & var_index() const
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
void UnsafeArenaSwap(MPModelProto *other)
void UnsafeArenaSwap(MPGeneralConstraintProto *other)
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
static const PartialVariableAssignment * internal_default_instance()
PROTOBUF_NODISCARD ::operations_research::MPArrayWithConstantConstraint * release_min_constraint()
::operations_research::OptionalDouble * unsafe_arena_release_primal_tolerance()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
::operations_research::MPConstraintProto * unsafe_arena_release_constraint()
::operations_research::MPModelProto * unsafe_arena_release_model()
PartialVariableAssignmentDefaultTypeInternal _PartialVariableAssignment_default_instance_
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries [] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
static const MPModelProto * internal_default_instance()
MPArrayConstraint * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
void UnsafeArenaSwap(MPArrayWithConstantConstraint *other)
::PROTOBUF_NAMESPACE_ID::RepeatedField< double > * mutable_coefficient()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
MPModelDeltaProto & operator=(const MPModelDeltaProto &from)
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
const ::operations_research::MPIndicatorConstraint & indicator_constraint() const
const ::operations_research::MPModelDeltaProto & model_delta() const
void UnsafeArenaSwap(MPModelDeltaProto *other)
PROTOBUF_NODISCARD std::string * release_name()
static const MPIndicatorConstraint & default_instance()
MPVariableProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
MPSolutionResponse(MPSolutionResponse &&from) noexcept
friend void swap(MPGeneralConstraintProto &a, MPGeneralConstraintProto &b)
void set_allocated_solution_hint(::operations_research::PartialVariableAssignment *solution_hint)
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::MPConstraintProto > * mutable_constraint()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
constexpr int MPSolverResponseStatus_ARRAYSIZE
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_var_index()
static const ClassData _class_data_
void set_coefficient(int index, double value)
static const MPConstraintProto & default_instance()
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > & variable_value() const
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
void set_var_index(int index, int32_t value)
::PROTOBUF_NAMESPACE_ID::Map< int32_t, ::operations_research::MPVariableProto > * mutable_variable_overrides()
void Swap(MPIndicatorConstraint *other)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
bool MPSolverCommonParameters_LPAlgorithmValues_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, MPSolverCommonParameters_LPAlgorithmValues *value)
MPModelProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
const std::string & status_str() const
::operations_research::MPConstraintProto * add_constraint()
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void UnsafeArenaSwap(MPArrayConstraint *other)
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::MPVariableProto > * mutable_variable()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
constexpr MPSolverResponseStatus MPSolverResponseStatus_MIN
void UnsafeArenaSwap(MPIndicatorConstraint *other)
static const OptionalDouble * internal_default_instance()
void set_scaling(::operations_research::OptionalBoolean value)
MPQuadraticObjective & operator=(MPQuadraticObjective &&from) noexcept
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * Type_descriptor()
MPModelProto & operator=(MPModelProto &&from) noexcept
MPGeneralConstraintProto(MPGeneralConstraintProto &&from) noexcept
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
OptionalDoubleDefaultTypeInternal _OptionalDouble_default_instance_
PROTOBUF_NODISCARD std::string * release_baseline_model_file_path()
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
::operations_research::MPQuadraticObjective * mutable_quadratic_objective()
static const MPArrayConstraint & default_instance()
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * MPSosConstraint_Type_descriptor()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
MPIndicatorConstraintDefaultTypeInternal _MPIndicatorConstraint_default_instance_
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
::operations_research::MPArrayWithConstantConstraint * unsafe_arena_release_max_constraint()
bool has_ignore_solver_specific_parameters_failure() const
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SolverType_descriptor()
const std::string & baseline_model_file_path() const
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
PROTOBUF_NODISCARD ::operations_research::OptionalDouble * release_relative_mip_gap()
void set_allocated_constraint(::operations_research::MPConstraintProto *constraint)
MPArrayConstraintDefaultTypeInternal _MPArrayConstraint_default_instance_
void unsafe_arena_set_allocated_dual_tolerance(::operations_research::OptionalDouble *dual_tolerance)
::operations_research::MPSolverCommonParameters_LPAlgorithmValues lp_algorithm() const
::operations_research::MPGeneralConstraintProto * add_general_constraint()
static const PartialVariableAssignment & default_instance()
const ::operations_research::MPModelProto & model() const
friend void swap(MPQuadraticConstraint &a, MPQuadraticConstraint &b)
static const MPSosConstraint & default_instance()
MPQuadraticObjective & operator=(const MPQuadraticObjective &from)
static bool ValidateValue(void *)
void Swap(MPSolverCommonParameters *other)
const ::PROTOBUF_NAMESPACE_ID::Map< int32_t, ::operations_research::MPConstraintProto > & constraint_overrides() const
void unsafe_arena_set_allocated_sos_constraint(::operations_research::MPSosConstraint *sos_constraint)
MPSolveInfo * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
static const MPIndicatorConstraint * internal_default_instance()
MPModelDeltaProto_VariableOverridesEntry_DoNotUseDefaultTypeInternal _MPModelDeltaProto_VariableOverridesEntry_DoNotUse_default_instance_
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
::operations_research::OptionalDouble * unsafe_arena_release_relative_mip_gap()
const ::operations_research::MPQuadraticObjective & quadratic_objective() const
PartialVariableAssignment * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > & coefficient() const
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > & coefficient() const
const ::operations_research::MPConstraintProto & constraint() const
void unsafe_arena_set_allocated_abs_constraint(::operations_research::MPAbsConstraint *abs_constraint)
MPArrayWithConstantConstraint & operator=(MPArrayWithConstantConstraint &&from) noexcept
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
MPSolveInfo(MPSolveInfo &&from) noexcept
MPArrayConstraint(MPArrayConstraint &&from) noexcept
const ::operations_research::MPArrayWithConstantConstraint & min_constraint() const
MPModelDeltaProto & operator=(MPModelDeltaProto &&from) noexcept
void set_type(::operations_research::MPSosConstraint_Type value)
MPModelRequest(MPModelRequest &&from) noexcept
::PROTOBUF_NAMESPACE_ID::internal::MapEntry< MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse, int32_t, ::operations_research::MPConstraintProto, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT32, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE > SuperType
void set_var_index(int index, int32_t value)
::operations_research::MPSosConstraint * mutable_sos_constraint()
static const MPVariableProto * internal_default_instance()
PROTOBUF_NODISCARD ::operations_research::MPQuadraticObjective * release_quadratic_objective()
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > & variable_value() const
MPConstraintProtoDefaultTypeInternal _MPConstraintProto_default_instance_
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_qvar1_index()
static const MPSolveInfo * internal_default_instance()
static const MPGeneralConstraintProto * internal_default_instance()
PROTOBUF_NODISCARD ::operations_research::MPIndicatorConstraint * release_indicator_constraint()
MPModelProto & operator=(const MPModelProto &from)
MPSosConstraint & operator=(MPSosConstraint &&from) noexcept
::operations_research::MPArrayConstraint * mutable_and_constraint()
static const MPModelRequest * internal_default_instance()
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
::operations_research::OptionalDouble * mutable_relative_mip_gap()
void set_baseline_model_file_path(ArgT0 &&arg0, ArgT... args)
void unsafe_arena_set_allocated_constraint(::operations_research::MPConstraintProto *constraint)
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
MPArrayWithConstantConstraint & operator=(const MPArrayWithConstantConstraint &from)
MPGeneralConstraintProto & operator=(MPGeneralConstraintProto &&from) noexcept
MPModelRequest & operator=(const MPModelRequest &from)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
void set_status(::operations_research::MPSolverResponseStatus value)
::PROTOBUF_NAMESPACE_ID::RepeatedField< double > * mutable_reduced_cost()
MPConstraintProto & operator=(const MPConstraintProto &from)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
OptionalDouble & operator=(OptionalDouble &&from) noexcept
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & var_index() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
void unsafe_arena_set_allocated_max_constraint(::operations_research::MPArrayWithConstantConstraint *max_constraint)
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_qvar2_index()
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & qvar2_index() const
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
OptionalDouble * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
static const MPModelRequest & default_instance()
void set_reduced_cost(int index, double value)
void UnsafeArenaSwap(MPSolutionResponse *other)
constexpr int MPModelRequest_SolverType_SolverType_ARRAYSIZE
const std::string & name() const
const std::string & solver_specific_parameters() const
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::MPSolution > & additional_solutions() const
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * LPAlgorithmValues_descriptor()
void unsafe_arena_set_allocated_primal_tolerance(::operations_research::OptionalDouble *primal_tolerance)
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
MPSosConstraint * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
void unsafe_arena_set_allocated_solve_info(::operations_research::MPSolveInfo *solve_info)
friend void swap(MPSosConstraint &a, MPSosConstraint &b)
void set_populate_additional_solutions_up_to(int32_t value)
void Swap(MPArrayConstraint *other)
MPModelDeltaProto_ConstraintOverridesEntry_DoNotUseDefaultTypeInternal _MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse_default_instance_
constexpr MPSolverCommonParameters_LPAlgorithmValues MPSolverCommonParameters_LPAlgorithmValues_LPAlgorithmValues_MAX
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
PartialVariableAssignment(PartialVariableAssignment &&from) noexcept
MPAbsConstraint & operator=(const MPAbsConstraint &from)
MPSolutionResponse & operator=(MPSolutionResponse &&from) noexcept
MPGeneralConstraintProto & operator=(const MPGeneralConstraintProto &from)
void set_qvar2_index(int index, int32_t value)
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
MPModelProtoDefaultTypeInternal _MPModelProto_default_instance_
::operations_research::MPAbsConstraint * unsafe_arena_release_abs_constraint()
MPModelProto(MPModelProto &&from) noexcept
void Swap(MPArrayWithConstantConstraint *other)
friend void swap(OptionalDouble &a, OptionalDouble &b)
::operations_research::MPModelProto * mutable_model()
const ::operations_research::OptionalDouble & dual_tolerance() const
constexpr MPSosConstraint_Type MPSosConstraint_Type_Type_MIN
friend void swap(MPSolverCommonParameters &a, MPSolverCommonParameters &b)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
static const std::string & SolverType_Name(T enum_t_value)
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_var_index()
void Swap(PartialVariableAssignment *other)
void set_qcoefficient(int index, double value)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
static const MPVariableProto & default_instance()
MPSolveInfoDefaultTypeInternal _MPSolveInfo_default_instance_
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_var_index()
void unsafe_arena_set_allocated_model(::operations_research::MPModelProto *model)
MPQuadraticConstraintDefaultTypeInternal _MPQuadraticConstraint_default_instance_
void set_allocated_quadratic_objective(::operations_research::MPQuadraticObjective *quadratic_objective)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > & weight() const
void UnsafeArenaSwap(PartialVariableAssignment *other)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
::operations_research::OptionalDouble * mutable_dual_tolerance()
MPIndicatorConstraint & operator=(const MPIndicatorConstraint &from)
void set_name(ArgT0 &&arg0, ArgT... args)
PartialVariableAssignment & operator=(PartialVariableAssignment &&from) noexcept
MPVariableProto(MPVariableProto &&from) noexcept
void set_allocated_name(std::string *name)
::operations_research::MPModelDeltaProto * unsafe_arena_release_model_delta()
MPModelRequestDefaultTypeInternal _MPModelRequest_default_instance_
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
static const MPSolutionResponse & default_instance()
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
MPQuadraticObjectiveDefaultTypeInternal _MPQuadraticObjective_default_instance_
MPArrayConstraint & operator=(const MPArrayConstraint &from)
bool MPSosConstraint_Type_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, MPSosConstraint_Type *value)
void set_var_index(int index, int32_t value)
MPGeneralConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
const ::operations_research::MPArrayConstraint & and_constraint() const
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
void set_enable_internal_solver_output(bool value)
const ::operations_research::PartialVariableAssignment & solution_hint() const
MPVariableProto & operator=(const MPVariableProto &from)
MPAbsConstraint * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
::operations_research::MPQuadraticConstraint * mutable_quadratic_constraint()
void UnsafeArenaSwap(OptionalDouble *other)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
MPQuadraticConstraint * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
::PROTOBUF_NAMESPACE_ID::RepeatedField< double > * mutable_variable_value()
const std::string & MPSolverResponseStatus_Name(T enum_t_value)
MPSolutionResponse & operator=(const MPSolutionResponse &from)
friend void swap(MPAbsConstraint &a, MPAbsConstraint &b)
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
::operations_research::MPVariableProto * add_variable()
PartialVariableAssignment & operator=(const PartialVariableAssignment &from)
static const MPAbsConstraint & default_instance()
static const MPGeneralConstraintProto & default_instance()
void unsafe_arena_set_allocated_min_constraint(::operations_research::MPArrayWithConstantConstraint *min_constraint)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
::operations_research::PartialVariableAssignment * mutable_solution_hint()
MPSolverCommonParameters(MPSolverCommonParameters &&from) noexcept
void Swap(MPSolveInfo *other)
void set_qvar1_index(int index, int32_t value)
friend void swap(MPModelProto &a, MPModelProto &b)
MPSolutionResponse * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
static const MPSolveInfo & default_instance()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
const std::string & MPSosConstraint_Type_Name(T enum_t_value)
PROTOBUF_NODISCARD ::operations_research::MPAbsConstraint * release_abs_constraint()
PROTOBUF_NODISCARD ::operations_research::MPQuadraticConstraint * release_quadratic_constraint()
MPSolveInfo & operator=(const MPSolveInfo &from)
MPIndicatorConstraint(MPIndicatorConstraint &&from) noexcept
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::MPConstraintProto > & constraint() const
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
MPSolution(MPSolution &&from) noexcept
MPQuadraticObjective(MPQuadraticObjective &&from) noexcept
PROTOBUF_NODISCARD std::string * release_name()
void UnsafeArenaSwap(MPSolution *other)
PROTOBUF_NODISCARD std::string * release_name()
void UnsafeArenaSwap(MPQuadraticConstraint *other)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
PROTOBUF_NODISCARD std::string * release_status_str()
static const MPQuadraticConstraint * internal_default_instance()
void set_name(ArgT0 &&arg0, ArgT... args)
MPModelRequest * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
void Swap(MPQuadraticObjective *other)
const std::string & MPSolverCommonParameters_LPAlgorithmValues_Name(T enum_t_value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * MPSolverCommonParameters_LPAlgorithmValues_descriptor()
void Swap(MPSosConstraint *other)
MPModelDeltaProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
::operations_research::MPSolverResponseStatus status() const
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]
void set_dual_value(int index, double value)
void UnsafeArenaSwap(MPConstraintProto *other)
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & var_index() const
MPVariableProtoDefaultTypeInternal _MPVariableProto_default_instance_
const ::operations_research::MPArrayWithConstantConstraint & max_constraint() const
MPSosConstraintDefaultTypeInternal _MPSosConstraint_default_instance_
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
MPAbsConstraint(MPAbsConstraint &&from) noexcept
void set_allocated_name(std::string *name)
void set_allocated_relative_mip_gap(::operations_research::OptionalDouble *relative_mip_gap)
static const MPConstraintProto * internal_default_instance()
constexpr int MPSosConstraint_Type_Type_ARRAYSIZE
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_var_index()
constexpr MPModelRequest_SolverType MPModelRequest_SolverType_SolverType_MAX
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & var_index() const
void unsafe_arena_set_allocated_relative_mip_gap(::operations_research::OptionalDouble *relative_mip_gap)
void set_allocated_name(std::string *name)
::PROTOBUF_NAMESPACE_ID::RepeatedField< double > * mutable_weight()
friend void swap(MPSolveInfo &a, MPSolveInfo &b)
void set_objective_value(double value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & qvar1_index() const
void MergeFrom(const MPVariableProto &from)
const ::operations_research::OptionalDouble & relative_mip_gap() const
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > & var_value() const
MPSolverCommonParameters & operator=(MPSolverCommonParameters &&from) noexcept
::operations_research::OptionalDouble * mutable_primal_tolerance()
void unsafe_arena_set_allocated_quadratic_objective(::operations_research::MPQuadraticObjective *quadratic_objective)
const ::operations_research::MPArrayConstraint & or_constraint() const
static const MPModelDeltaProto_VariableOverridesEntry_DoNotUse * internal_default_instance()
MPSolutionResponseDefaultTypeInternal _MPSolutionResponse_default_instance_
friend void swap(MPArrayConstraint &a, MPArrayConstraint &b)
friend void swap(MPSolution &a, MPSolution &b)
void UnsafeArenaSwap(MPAbsConstraint *other)
::operations_research::MPSolveInfo * mutable_solve_info()
void set_allocated_dual_tolerance(::operations_research::OptionalDouble *dual_tolerance)
MPArrayConstraint & operator=(MPArrayConstraint &&from) noexcept
MPQuadraticConstraint & operator=(const MPQuadraticConstraint &from)
PROTOBUF_NODISCARD std::string * release_solver_specific_parameters()
bool MPSosConstraint_Type_IsValid(int value)
MPConstraintProto(MPConstraintProto &&from) noexcept
constexpr MPSolverResponseStatus MPSolverResponseStatus_MAX
static const MPQuadraticConstraint & default_instance()
void unsafe_arena_set_allocated_quadratic_constraint(::operations_research::MPQuadraticConstraint *quadratic_constraint)
static const MPSolution * internal_default_instance()
void UnsafeArenaSwap(MPSosConstraint *other)
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
MPConstraintProto & operator=(MPConstraintProto &&from) noexcept
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > & qvar1_index() const
PROTOBUF_NODISCARD ::operations_research::MPModelDeltaProto * release_model_delta()
void set_allocated_solve_info(::operations_research::MPSolveInfo *solve_info)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
static bool ValidateValue(void *)
MPSosConstraint & operator=(const MPSosConstraint &from)
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_var_index()
::PROTOBUF_NAMESPACE_ID::RepeatedField< double > * mutable_dual_value()
::PROTOBUF_NAMESPACE_ID::internal::MapEntry< MPModelDeltaProto_VariableOverridesEntry_DoNotUse, int32_t, ::operations_research::MPVariableProto, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT32, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE > SuperType
void set_solver_type(::operations_research::MPModelRequest_SolverType value)
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::MPSolution > * mutable_additional_solutions()
::operations_research::MPSosConstraint_Type type() const
static const ClassData _class_data_
friend void swap(PartialVariableAssignment &a, PartialVariableAssignment &b)
::operations_research::MPAbsConstraint * mutable_abs_constraint()
::PROTOBUF_NAMESPACE_ID::RepeatedField< double > * mutable_coefficient()
const ::operations_research::MPAbsConstraint & abs_constraint() const
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_qvar2_index()
::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > * mutable_var_index()
void set_allocated_model(::operations_research::MPModelProto *model)
const ::operations_research::MPSosConstraint & sos_constraint() const
static const MPModelDeltaProto & default_instance()
void Swap(MPModelRequest *other)
void set_coefficient(int index, double value)
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
OptionalDouble(OptionalDouble &&from) noexcept
void set_variable_value(int index, double value)
::operations_research::MPArrayConstraint * unsafe_arena_release_and_constraint()
void set_solve_wall_time_seconds(double value)
void set_name(ArgT0 &&arg0, ArgT... args)
void Swap(MPAbsConstraint *other)
MPAbsConstraint & operator=(MPAbsConstraint &&from) noexcept
::PROTOBUF_NAMESPACE_ID::RepeatedField< double > * mutable_var_value()
::PROTOBUF_NAMESPACE_ID::Map< int32_t, ::operations_research::MPConstraintProto > * mutable_constraint_overrides()
static const MPSolverCommonParameters & default_instance()
static const MPModelProto & default_instance()
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
static const MPQuadraticObjective * internal_default_instance()
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
static const MPSolution & default_instance()
const ::operations_research::MPQuadraticConstraint & quadratic_constraint() const
void Swap(MPGeneralConstraintProto *other)
void UnsafeArenaSwap(MPSolverCommonParameters *other)
MPGeneralConstraintProtoDefaultTypeInternal _MPGeneralConstraintProto_default_instance_
void set_status_str(ArgT0 &&arg0, ArgT... args)
::operations_research::MPModelRequest_SolverType solver_type() const
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > & qcoefficient() const
void set_weight(int index, double value)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
void set_var_index(int index, int32_t value)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
void set_qvar1_index(int index, int32_t value)
void set_presolve(::operations_research::OptionalBoolean value)
void UnsafeArenaSwap(MPVariableProto *other)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
MPSolveInfo & operator=(MPSolveInfo &&from) noexcept
void UnsafeArenaSwap(MPSolveInfo *other)
::operations_research::MPArrayWithConstantConstraint * mutable_min_constraint()
void Swap(MPVariableProto *other)
void unsafe_arena_set_allocated_or_constraint(::operations_research::MPArrayConstraint *or_constraint)
static const MPAbsConstraint * internal_default_instance()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()