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