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