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