C++ Reference

C++ Reference: Linear solver

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