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