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 PROTOBUF_INCLUDED_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
5 #define 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 < 3007000
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 3007001 < PROTOBUF_MIN_PROTOC_VERSION
17 #error This file was generated by an older version of protoc which is
18 #error incompatible with your Protocol Buffer headers. Please
19 #error regenerate this file with a newer version of protoc.
20 #endif
21 
22 #include <google/protobuf/port_undef.inc>
23 #include <google/protobuf/io/coded_stream.h>
24 #include <google/protobuf/arena.h>
25 #include <google/protobuf/arenastring.h>
26 #include <google/protobuf/generated_message_table_driven.h>
27 #include <google/protobuf/generated_message_util.h>
28 #include <google/protobuf/inlined_string_field.h>
29 #include <google/protobuf/metadata.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/generated_enum_reflection.h>
34 #include <google/protobuf/unknown_field_set.h>
35 #include "ortools/util/optional_boolean.pb.h"
36 // @@protoc_insertion_point(includes)
37 #include <google/protobuf/port_def.inc>
38 #define PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
39 
40 // Internal implementation detail -- do not use these members.
42  static const ::google::protobuf::internal::ParseTableField entries[]
43  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
44  static const ::google::protobuf::internal::AuxillaryParseTableField aux[]
45  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
46  static const ::google::protobuf::internal::ParseTable schema[10]
47  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
48  static const ::google::protobuf::internal::FieldMetadata field_metadata[];
49  static const ::google::protobuf::internal::SerializationTable serialization_table[];
50  static const ::google::protobuf::uint32 offsets[];
51 };
53 namespace operations_research {
54 class MPConstraintProto;
55 class MPConstraintProtoDefaultTypeInternal;
56 extern MPConstraintProtoDefaultTypeInternal _MPConstraintProto_default_instance_;
57 class MPGeneralConstraintProto;
58 class MPGeneralConstraintProtoDefaultTypeInternal;
59 extern MPGeneralConstraintProtoDefaultTypeInternal _MPGeneralConstraintProto_default_instance_;
60 class MPIndicatorConstraint;
61 class MPIndicatorConstraintDefaultTypeInternal;
62 extern MPIndicatorConstraintDefaultTypeInternal _MPIndicatorConstraint_default_instance_;
63 class MPModelProto;
64 class MPModelProtoDefaultTypeInternal;
65 extern MPModelProtoDefaultTypeInternal _MPModelProto_default_instance_;
66 class MPModelRequest;
67 class MPModelRequestDefaultTypeInternal;
68 extern MPModelRequestDefaultTypeInternal _MPModelRequest_default_instance_;
69 class MPSolutionResponse;
70 class MPSolutionResponseDefaultTypeInternal;
71 extern MPSolutionResponseDefaultTypeInternal _MPSolutionResponse_default_instance_;
72 class MPSolverCommonParameters;
73 class MPSolverCommonParametersDefaultTypeInternal;
74 extern MPSolverCommonParametersDefaultTypeInternal _MPSolverCommonParameters_default_instance_;
75 class MPVariableProto;
76 class MPVariableProtoDefaultTypeInternal;
77 extern MPVariableProtoDefaultTypeInternal _MPVariableProto_default_instance_;
78 class OptionalDouble;
79 class OptionalDoubleDefaultTypeInternal;
80 extern OptionalDoubleDefaultTypeInternal _OptionalDouble_default_instance_;
81 class PartialVariableAssignment;
82 class PartialVariableAssignmentDefaultTypeInternal;
83 extern PartialVariableAssignmentDefaultTypeInternal _PartialVariableAssignment_default_instance_;
84 } // namespace operations_research
85 namespace google {
86 namespace protobuf {
87 template<> ::operations_research::MPConstraintProto* Arena::CreateMaybeMessage<::operations_research::MPConstraintProto>(Arena*);
88 template<> ::operations_research::MPGeneralConstraintProto* Arena::CreateMaybeMessage<::operations_research::MPGeneralConstraintProto>(Arena*);
89 template<> ::operations_research::MPIndicatorConstraint* Arena::CreateMaybeMessage<::operations_research::MPIndicatorConstraint>(Arena*);
90 template<> ::operations_research::MPModelProto* Arena::CreateMaybeMessage<::operations_research::MPModelProto>(Arena*);
91 template<> ::operations_research::MPModelRequest* Arena::CreateMaybeMessage<::operations_research::MPModelRequest>(Arena*);
92 template<> ::operations_research::MPSolutionResponse* Arena::CreateMaybeMessage<::operations_research::MPSolutionResponse>(Arena*);
93 template<> ::operations_research::MPSolverCommonParameters* Arena::CreateMaybeMessage<::operations_research::MPSolverCommonParameters>(Arena*);
94 template<> ::operations_research::MPVariableProto* Arena::CreateMaybeMessage<::operations_research::MPVariableProto>(Arena*);
95 template<> ::operations_research::OptionalDouble* Arena::CreateMaybeMessage<::operations_research::OptionalDouble>(Arena*);
96 template<> ::operations_research::PartialVariableAssignment* Arena::CreateMaybeMessage<::operations_research::PartialVariableAssignment>(Arena*);
97 } // namespace protobuf
98 } // namespace google
99 namespace operations_research {
100 
106 };
111 
112 const ::google::protobuf::EnumDescriptor* MPSolverCommonParameters_LPAlgorithmValues_descriptor();
114  return ::google::protobuf::internal::NameOfEnum(
116 }
118  const ::std::string& name, MPSolverCommonParameters_LPAlgorithmValues* value) {
119  return ::google::protobuf::internal::ParseNamedEnum<MPSolverCommonParameters_LPAlgorithmValues>(
121 }
136 };
137 bool MPModelRequest_SolverType_IsValid(int value);
141 
142 const ::google::protobuf::EnumDescriptor* MPModelRequest_SolverType_descriptor();
143 inline const ::std::string& MPModelRequest_SolverType_Name(MPModelRequest_SolverType value) {
144  return ::google::protobuf::internal::NameOfEnum(
146 }
148  const ::std::string& name, MPModelRequest_SolverType* value) {
149  return ::google::protobuf::internal::ParseNamedEnum<MPModelRequest_SolverType>(
150  MPModelRequest_SolverType_descriptor(), name, value);
151 }
165 };
166 bool MPSolverResponseStatus_IsValid(int value);
170 
171 const ::google::protobuf::EnumDescriptor* MPSolverResponseStatus_descriptor();
172 inline const ::std::string& MPSolverResponseStatus_Name(MPSolverResponseStatus value) {
173  return ::google::protobuf::internal::NameOfEnum(
175 }
177  const ::std::string& name, MPSolverResponseStatus* value) {
178  return ::google::protobuf::internal::ParseNamedEnum<MPSolverResponseStatus>(
179  MPSolverResponseStatus_descriptor(), name, value);
180 }
181 // ===================================================================
182 
183 class MPVariableProto :
184  public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:operations_research.MPVariableProto) */ {
185  public:
186  MPVariableProto();
187  virtual ~MPVariableProto();
188 
189  MPVariableProto(const MPVariableProto& from);
190 
191  inline MPVariableProto& operator=(const MPVariableProto& from) {
192  CopyFrom(from);
193  return *this;
194  }
195  #if LANG_CXX11
196  MPVariableProto(MPVariableProto&& from) noexcept
197  : MPVariableProto() {
198  *this = ::std::move(from);
199  }
200 
201  inline MPVariableProto& operator=(MPVariableProto&& from) noexcept {
202  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
203  if (this != &from) InternalSwap(&from);
204  } else {
205  CopyFrom(from);
206  }
207  return *this;
208  }
209  #endif
210  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
211  return _internal_metadata_.unknown_fields();
212  }
213  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
214  return _internal_metadata_.mutable_unknown_fields();
215  }
216 
217  static const ::google::protobuf::Descriptor* descriptor() {
218  return default_instance().GetDescriptor();
219  }
220  static const MPVariableProto& default_instance();
221 
222  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
223  static inline const MPVariableProto* internal_default_instance() {
224  return reinterpret_cast<const MPVariableProto*>(
226  }
227  static constexpr int kIndexInFileMessages =
228  0;
229 
230  void Swap(MPVariableProto* other);
231  friend void swap(MPVariableProto& a, MPVariableProto& b) {
232  a.Swap(&b);
233  }
234 
235  // implements Message ----------------------------------------------
236 
237  inline MPVariableProto* New() const final {
238  return CreateMaybeMessage<MPVariableProto>(nullptr);
239  }
240 
241  MPVariableProto* New(::google::protobuf::Arena* arena) const final {
242  return CreateMaybeMessage<MPVariableProto>(arena);
243  }
244  void CopyFrom(const ::google::protobuf::Message& from) final;
245  void MergeFrom(const ::google::protobuf::Message& from) final;
246  void CopyFrom(const MPVariableProto& from);
247  void MergeFrom(const MPVariableProto& from);
248  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
249  bool IsInitialized() const final;
250 
251  size_t ByteSizeLong() const final;
252  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
253  static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
254  ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
255  #else
257  ::google::protobuf::io::CodedInputStream* input) final;
258  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
260  ::google::protobuf::io::CodedOutputStream* output) const final;
261  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
262  ::google::protobuf::uint8* target) const final;
263  int GetCachedSize() const final { return _cached_size_.Get(); }
265  private:
266  void SharedCtor();
267  void SharedDtor();
268  void SetCachedSize(int size) const final;
269  void InternalSwap(MPVariableProto* other);
270  private:
271  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
272  return nullptr;
273  }
274  inline void* MaybeArenaPtr() const {
275  return nullptr;
276  }
277  public:
278 
279  ::google::protobuf::Metadata GetMetadata() const final;
280 
281  // nested types ----------------------------------------------------
282 
283  // accessors -------------------------------------------------------
284 
285  // optional string name = 5 [default = ""];
286  bool has_name() const;
287  void clear_name();
288  static const int kNameFieldNumber = 5;
289  const ::std::string& name() const;
290  void set_name(const ::std::string& value);
291  #if LANG_CXX11
292  void set_name(::std::string&& value);
293  #endif
294  void set_name(const char* value);
295  void set_name(const char* value, size_t size);
296  ::std::string* mutable_name();
297  ::std::string* release_name();
298  void set_allocated_name(::std::string* name);
299 
300  // optional double objective_coefficient = 3 [default = 0];
301  bool has_objective_coefficient() const;
303  static const int kObjectiveCoefficientFieldNumber = 3;
304  double objective_coefficient() const;
305  void set_objective_coefficient(double value);
306 
307  // optional bool is_integer = 4 [default = false];
308  bool has_is_integer() const;
309  void clear_is_integer();
310  static const int kIsIntegerFieldNumber = 4;
311  bool is_integer() const;
312  void set_is_integer(bool value);
313 
314  // optional double lower_bound = 1 [default = -inf];
315  bool has_lower_bound() const;
316  void clear_lower_bound();
317  static const int kLowerBoundFieldNumber = 1;
318  double lower_bound() const;
319  void set_lower_bound(double value);
320 
321  // optional double upper_bound = 2 [default = inf];
322  bool has_upper_bound() const;
323  void clear_upper_bound();
324  static const int kUpperBoundFieldNumber = 2;
325  double upper_bound() const;
326  void set_upper_bound(double value);
327 
328  // @@protoc_insertion_point(class_scope:operations_research.MPVariableProto)
329  private:
330  class HasBitSetters;
331 
332  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
333  ::google::protobuf::internal::HasBits<1> _has_bits_;
334  mutable ::google::protobuf::internal::CachedSize _cached_size_;
335  ::google::protobuf::internal::ArenaStringPtr name_;
336  double objective_coefficient_;
337  bool is_integer_;
338  double lower_bound_;
339  double upper_bound_;
340  friend struct ::TableStruct_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
341 };
342 // -------------------------------------------------------------------
343 
344 class MPConstraintProto :
345  public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:operations_research.MPConstraintProto) */ {
346  public:
348  virtual ~MPConstraintProto();
349 
351 
352  inline MPConstraintProto& operator=(const MPConstraintProto& from) {
353  CopyFrom(from);
354  return *this;
355  }
356  #if LANG_CXX11
357  MPConstraintProto(MPConstraintProto&& from) noexcept
358  : MPConstraintProto() {
359  *this = ::std::move(from);
360  }
361 
362  inline MPConstraintProto& operator=(MPConstraintProto&& from) noexcept {
363  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
364  if (this != &from) InternalSwap(&from);
365  } else {
366  CopyFrom(from);
367  }
368  return *this;
369  }
370  #endif
371  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
372  return _internal_metadata_.unknown_fields();
373  }
374  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
375  return _internal_metadata_.mutable_unknown_fields();
376  }
377 
378  static const ::google::protobuf::Descriptor* descriptor() {
379  return default_instance().GetDescriptor();
380  }
381  static const MPConstraintProto& default_instance();
382 
383  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
384  static inline const MPConstraintProto* internal_default_instance() {
385  return reinterpret_cast<const MPConstraintProto*>(
387  }
388  static constexpr int kIndexInFileMessages =
389  1;
391  void Swap(MPConstraintProto* other);
392  friend void swap(MPConstraintProto& a, MPConstraintProto& b) {
393  a.Swap(&b);
394  }
395 
396  // implements Message ----------------------------------------------
397 
398  inline MPConstraintProto* New() const final {
399  return CreateMaybeMessage<MPConstraintProto>(nullptr);
400  }
401 
402  MPConstraintProto* New(::google::protobuf::Arena* arena) const final {
403  return CreateMaybeMessage<MPConstraintProto>(arena);
404  }
405  void CopyFrom(const ::google::protobuf::Message& from) final;
406  void MergeFrom(const ::google::protobuf::Message& from) final;
407  void CopyFrom(const MPConstraintProto& from);
408  void MergeFrom(const MPConstraintProto& from);
409  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
410  bool IsInitialized() const final;
411 
412  size_t ByteSizeLong() const final;
413  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
414  static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
415  ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
416  #else
418  ::google::protobuf::io::CodedInputStream* input) final;
419  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
421  ::google::protobuf::io::CodedOutputStream* output) const final;
422  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
423  ::google::protobuf::uint8* target) const final;
424  int GetCachedSize() const final { return _cached_size_.Get(); }
425 
426  private:
427  void SharedCtor();
428  void SharedDtor();
429  void SetCachedSize(int size) const final;
430  void InternalSwap(MPConstraintProto* other);
431  private:
432  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
433  return nullptr;
434  }
435  inline void* MaybeArenaPtr() const {
436  return nullptr;
437  }
438  public:
439 
440  ::google::protobuf::Metadata GetMetadata() const final;
441 
442  // nested types ----------------------------------------------------
443 
444  // accessors -------------------------------------------------------
445 
446  // repeated int32 var_index = 6 [packed = true];
447  int var_index_size() const;
448  void clear_var_index();
449  static const int kVarIndexFieldNumber = 6;
450  ::google::protobuf::int32 var_index(int index) const;
451  void set_var_index(int index, ::google::protobuf::int32 value);
452  void add_var_index(::google::protobuf::int32 value);
453  const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
454  var_index() const;
455  ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
457 
458  // repeated double coefficient = 7 [packed = true];
459  int coefficient_size() const;
460  void clear_coefficient();
461  static const int kCoefficientFieldNumber = 7;
462  double coefficient(int index) const;
463  void set_coefficient(int index, double value);
464  void add_coefficient(double value);
465  const ::google::protobuf::RepeatedField< double >&
466  coefficient() const;
467  ::google::protobuf::RepeatedField< double >*
469 
470  // optional string name = 4 [default = ""];
471  bool has_name() const;
472  void clear_name();
473  static const int kNameFieldNumber = 4;
474  const ::std::string& name() const;
475  void set_name(const ::std::string& value);
476  #if LANG_CXX11
477  void set_name(::std::string&& value);
478  #endif
479  void set_name(const char* value);
480  void set_name(const char* value, size_t size);
481  ::std::string* mutable_name();
482  ::std::string* release_name();
483  void set_allocated_name(::std::string* name);
484 
485  // optional bool is_lazy = 5 [default = false];
486  bool has_is_lazy() const;
487  void clear_is_lazy();
488  static const int kIsLazyFieldNumber = 5;
489  bool is_lazy() const;
490  void set_is_lazy(bool value);
491 
492  // optional double lower_bound = 2 [default = -inf];
493  bool has_lower_bound() const;
494  void clear_lower_bound();
495  static const int kLowerBoundFieldNumber = 2;
496  double lower_bound() const;
497  void set_lower_bound(double value);
498 
499  // optional double upper_bound = 3 [default = inf];
500  bool has_upper_bound() const;
501  void clear_upper_bound();
502  static const int kUpperBoundFieldNumber = 3;
503  double upper_bound() const;
504  void set_upper_bound(double value);
505 
506  // @@protoc_insertion_point(class_scope:operations_research.MPConstraintProto)
507  private:
508  class HasBitSetters;
509 
510  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
511  ::google::protobuf::internal::HasBits<1> _has_bits_;
512  mutable ::google::protobuf::internal::CachedSize _cached_size_;
513  ::google::protobuf::RepeatedField< ::google::protobuf::int32 > var_index_;
514  mutable std::atomic<int> _var_index_cached_byte_size_;
515  ::google::protobuf::RepeatedField< double > coefficient_;
516  mutable std::atomic<int> _coefficient_cached_byte_size_;
517  ::google::protobuf::internal::ArenaStringPtr name_;
518  bool is_lazy_;
519  double lower_bound_;
520  double upper_bound_;
521  friend struct ::TableStruct_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
522 };
523 // -------------------------------------------------------------------
524 
526  public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:operations_research.MPGeneralConstraintProto) */ {
527  public:
529  virtual ~MPGeneralConstraintProto();
530 
532 
534  CopyFrom(from);
535  return *this;
536  }
537  #if LANG_CXX11
540  *this = ::std::move(from);
541  }
542 
544  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
545  if (this != &from) InternalSwap(&from);
546  } else {
547  CopyFrom(from);
548  }
549  return *this;
550  }
551  #endif
552  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
553  return _internal_metadata_.unknown_fields();
554  }
555  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
556  return _internal_metadata_.mutable_unknown_fields();
557  }
559  static const ::google::protobuf::Descriptor* descriptor() {
560  return default_instance().GetDescriptor();
561  }
563 
564  enum GeneralConstraintCase {
567  };
569  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
570  static inline const MPGeneralConstraintProto* internal_default_instance() {
571  return reinterpret_cast<const MPGeneralConstraintProto*>(
573  }
574  static constexpr int kIndexInFileMessages =
575  2;
576 
579  a.Swap(&b);
580  }
582  // implements Message ----------------------------------------------
583 
584  inline MPGeneralConstraintProto* New() const final {
585  return CreateMaybeMessage<MPGeneralConstraintProto>(nullptr);
586  }
588  MPGeneralConstraintProto* New(::google::protobuf::Arena* arena) const final {
589  return CreateMaybeMessage<MPGeneralConstraintProto>(arena);
590  }
591  void CopyFrom(const ::google::protobuf::Message& from) final;
592  void MergeFrom(const ::google::protobuf::Message& from) final;
593  void CopyFrom(const MPGeneralConstraintProto& from);
594  void MergeFrom(const MPGeneralConstraintProto& from);
595  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
596  bool IsInitialized() const final;
597 
598  size_t ByteSizeLong() const final;
599  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
600  static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
601  ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
602  #else
604  ::google::protobuf::io::CodedInputStream* input) final;
605  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
607  ::google::protobuf::io::CodedOutputStream* output) const final;
608  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
609  ::google::protobuf::uint8* target) const final;
610  int GetCachedSize() const final { return _cached_size_.Get(); }
611 
612  private:
613  void SharedCtor();
614  void SharedDtor();
615  void SetCachedSize(int size) const final;
616  void InternalSwap(MPGeneralConstraintProto* other);
617  private:
618  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
619  return nullptr;
620  }
621  inline void* MaybeArenaPtr() const {
622  return nullptr;
623  }
624  public:
625 
626  ::google::protobuf::Metadata GetMetadata() const final;
627 
628  // nested types ----------------------------------------------------
629 
630  // accessors -------------------------------------------------------
631 
632  // optional string name = 1 [default = ""];
633  bool has_name() const;
634  void clear_name();
635  static const int kNameFieldNumber = 1;
636  const ::std::string& name() const;
637  void set_name(const ::std::string& value);
638  #if LANG_CXX11
639  void set_name(::std::string&& value);
640  #endif
641  void set_name(const char* value);
642  void set_name(const char* value, size_t size);
643  ::std::string* mutable_name();
644  ::std::string* release_name();
645  void set_allocated_name(::std::string* name);
646 
647  // optional .operations_research.MPIndicatorConstraint indicator_constraint = 2;
648  bool has_indicator_constraint() const;
650  static const int kIndicatorConstraintFieldNumber = 2;
651  const ::operations_research::MPIndicatorConstraint& indicator_constraint() const;
655 
658  // @@protoc_insertion_point(class_scope:operations_research.MPGeneralConstraintProto)
659  private:
660  class HasBitSetters;
661  void set_has_indicator_constraint();
662 
663  inline bool has_general_constraint() const;
664  inline void clear_has_general_constraint();
665 
666  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
667  ::google::protobuf::internal::HasBits<1> _has_bits_;
668  mutable ::google::protobuf::internal::CachedSize _cached_size_;
669  ::google::protobuf::internal::ArenaStringPtr name_;
670  union GeneralConstraintUnion {
671  GeneralConstraintUnion() {}
672  ::operations_research::MPIndicatorConstraint* indicator_constraint_;
673  } general_constraint_;
674  ::google::protobuf::uint32 _oneof_case_[1];
675 
676  friend struct ::TableStruct_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
677 };
678 // -------------------------------------------------------------------
680 class MPIndicatorConstraint :
681  public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:operations_research.MPIndicatorConstraint) */ {
682  public:
685 
687 
689  CopyFrom(from);
690  return *this;
691  }
692  #if LANG_CXX11
695  *this = ::std::move(from);
696  }
697 
698  inline MPIndicatorConstraint& operator=(MPIndicatorConstraint&& from) noexcept {
699  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
700  if (this != &from) InternalSwap(&from);
701  } else {
702  CopyFrom(from);
703  }
704  return *this;
705  }
706  #endif
707  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
708  return _internal_metadata_.unknown_fields();
709  }
710  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
711  return _internal_metadata_.mutable_unknown_fields();
712  }
713 
714  static const ::google::protobuf::Descriptor* descriptor() {
715  return default_instance().GetDescriptor();
716  }
717  static const MPIndicatorConstraint& default_instance();
719  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
720  static inline const MPIndicatorConstraint* internal_default_instance() {
721  return reinterpret_cast<const MPIndicatorConstraint*>(
723  }
724  static constexpr int kIndexInFileMessages =
725  3;
726 
727  void Swap(MPIndicatorConstraint* other);
729  a.Swap(&b);
730  }
731 
732  // implements Message ----------------------------------------------
733 
734  inline MPIndicatorConstraint* New() const final {
735  return CreateMaybeMessage<MPIndicatorConstraint>(nullptr);
736  }
737 
738  MPIndicatorConstraint* New(::google::protobuf::Arena* arena) const final {
739  return CreateMaybeMessage<MPIndicatorConstraint>(arena);
740  }
741  void CopyFrom(const ::google::protobuf::Message& from) final;
742  void MergeFrom(const ::google::protobuf::Message& from) final;
743  void CopyFrom(const MPIndicatorConstraint& from);
744  void MergeFrom(const MPIndicatorConstraint& from);
745  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
746  bool IsInitialized() const final;
747 
748  size_t ByteSizeLong() const final;
749  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
750  static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
751  ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
752  #else
754  ::google::protobuf::io::CodedInputStream* input) final;
755  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
757  ::google::protobuf::io::CodedOutputStream* output) const final;
758  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
759  ::google::protobuf::uint8* target) const final;
760  int GetCachedSize() const final { return _cached_size_.Get(); }
761 
762  private:
763  void SharedCtor();
764  void SharedDtor();
765  void SetCachedSize(int size) const final;
766  void InternalSwap(MPIndicatorConstraint* other);
767  private:
768  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
769  return nullptr;
770  }
771  inline void* MaybeArenaPtr() const {
772  return nullptr;
773  }
774  public:
775 
776  ::google::protobuf::Metadata GetMetadata() const final;
777 
778  // nested types ----------------------------------------------------
779 
780  // accessors -------------------------------------------------------
781 
782  // optional .operations_research.MPConstraintProto constraint = 3;
783  bool has_constraint() const;
784  void clear_constraint();
785  static const int kConstraintFieldNumber = 3;
786  const ::operations_research::MPConstraintProto& constraint() const;
787  ::operations_research::MPConstraintProto* release_constraint();
788  ::operations_research::MPConstraintProto* mutable_constraint();
790 
791  // optional int32 var_index = 1;
792  bool has_var_index() const;
793  void clear_var_index();
794  static const int kVarIndexFieldNumber = 1;
795  ::google::protobuf::int32 var_index() const;
796  void set_var_index(::google::protobuf::int32 value);
797 
798  // optional int32 var_value = 2;
799  bool has_var_value() const;
800  void clear_var_value();
801  static const int kVarValueFieldNumber = 2;
802  ::google::protobuf::int32 var_value() const;
803  void set_var_value(::google::protobuf::int32 value);
804 
805  // @@protoc_insertion_point(class_scope:operations_research.MPIndicatorConstraint)
806  private:
807  class HasBitSetters;
808 
809  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
810  ::google::protobuf::internal::HasBits<1> _has_bits_;
811  mutable ::google::protobuf::internal::CachedSize _cached_size_;
812  ::operations_research::MPConstraintProto* constraint_;
813  ::google::protobuf::int32 var_index_;
814  ::google::protobuf::int32 var_value_;
816 };
817 // -------------------------------------------------------------------
818 
820  public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:operations_research.PartialVariableAssignment) */ {
821  public:
823  virtual ~PartialVariableAssignment();
826 
828  CopyFrom(from);
829  return *this;
830  }
831  #if LANG_CXX11
834  *this = ::std::move(from);
835  }
836 
838  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
839  if (this != &from) InternalSwap(&from);
840  } else {
841  CopyFrom(from);
842  }
843  return *this;
844  }
845  #endif
846  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
847  return _internal_metadata_.unknown_fields();
848  }
849  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
850  return _internal_metadata_.mutable_unknown_fields();
851  }
852 
853  static const ::google::protobuf::Descriptor* descriptor() {
854  return default_instance().GetDescriptor();
855  }
857 
858  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
860  return reinterpret_cast<const PartialVariableAssignment*>(
862  }
863  static constexpr int kIndexInFileMessages =
864  4;
865 
866  void Swap(PartialVariableAssignment* other);
868  a.Swap(&b);
869  }
870 
871  // implements Message ----------------------------------------------
873  inline PartialVariableAssignment* New() const final {
874  return CreateMaybeMessage<PartialVariableAssignment>(nullptr);
875  }
876 
877  PartialVariableAssignment* New(::google::protobuf::Arena* arena) const final {
878  return CreateMaybeMessage<PartialVariableAssignment>(arena);
879  }
880  void CopyFrom(const ::google::protobuf::Message& from) final;
881  void MergeFrom(const ::google::protobuf::Message& from) final;
883  void MergeFrom(const PartialVariableAssignment& from);
884  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
885  bool IsInitialized() const final;
886 
887  size_t ByteSizeLong() const final;
888  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
889  static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
890  ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
891  #else
893  ::google::protobuf::io::CodedInputStream* input) final;
894  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
896  ::google::protobuf::io::CodedOutputStream* output) const final;
897  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
898  ::google::protobuf::uint8* target) const final;
899  int GetCachedSize() const final { return _cached_size_.Get(); }
900 
901  private:
902  void SharedCtor();
903  void SharedDtor();
904  void SetCachedSize(int size) const final;
905  void InternalSwap(PartialVariableAssignment* other);
906  private:
907  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
908  return nullptr;
909  }
910  inline void* MaybeArenaPtr() const {
911  return nullptr;
912  }
913  public:
914 
915  ::google::protobuf::Metadata GetMetadata() const final;
916 
917  // nested types ----------------------------------------------------
918 
919  // accessors -------------------------------------------------------
920 
921  // repeated int32 var_index = 1 [packed = true];
922  int var_index_size() const;
923  void clear_var_index();
924  static const int kVarIndexFieldNumber = 1;
925  ::google::protobuf::int32 var_index(int index) const;
926  void set_var_index(int index, ::google::protobuf::int32 value);
927  void add_var_index(::google::protobuf::int32 value);
928  const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
929  var_index() const;
930  ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
931  mutable_var_index();
932 
933  // repeated double var_value = 2 [packed = true];
934  int var_value_size() const;
935  void clear_var_value();
936  static const int kVarValueFieldNumber = 2;
937  double var_value(int index) const;
938  void set_var_value(int index, double value);
939  void add_var_value(double value);
940  const ::google::protobuf::RepeatedField< double >&
941  var_value() const;
942  ::google::protobuf::RepeatedField< double >*
943  mutable_var_value();
944 
945  // @@protoc_insertion_point(class_scope:operations_research.PartialVariableAssignment)
946  private:
947  class HasBitSetters;
948 
949  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
950  ::google::protobuf::internal::HasBits<1> _has_bits_;
951  mutable ::google::protobuf::internal::CachedSize _cached_size_;
952  ::google::protobuf::RepeatedField< ::google::protobuf::int32 > var_index_;
953  mutable std::atomic<int> _var_index_cached_byte_size_;
954  ::google::protobuf::RepeatedField< double > var_value_;
955  mutable std::atomic<int> _var_value_cached_byte_size_;
957 };
958 // -------------------------------------------------------------------
959 
960 class MPModelProto :
961  public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:operations_research.MPModelProto) */ {
962  public:
963  MPModelProto();
964  virtual ~MPModelProto();
965 
967 
968  inline MPModelProto& operator=(const MPModelProto& from) {
969  CopyFrom(from);
970  return *this;
971  }
972  #if LANG_CXX11
973  MPModelProto(MPModelProto&& from) noexcept
975  *this = ::std::move(from);
976  }
977 
978  inline MPModelProto& operator=(MPModelProto&& from) noexcept {
979  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
980  if (this != &from) InternalSwap(&from);
981  } else {
982  CopyFrom(from);
983  }
984  return *this;
985  }
986  #endif
987  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
988  return _internal_metadata_.unknown_fields();
989  }
990  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
991  return _internal_metadata_.mutable_unknown_fields();
992  }
994  static const ::google::protobuf::Descriptor* descriptor() {
995  return default_instance().GetDescriptor();
996  }
997  static const MPModelProto& default_instance();
998 
999  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1000  static inline const MPModelProto* internal_default_instance() {
1001  return reinterpret_cast<const MPModelProto*>(
1003  }
1004  static constexpr int kIndexInFileMessages =
1005  5;
1007  void Swap(MPModelProto* other);
1008  friend void swap(MPModelProto& a, MPModelProto& b) {
1009  a.Swap(&b);
1010  }
1011 
1012  // implements Message ----------------------------------------------
1013 
1014  inline MPModelProto* New() const final {
1015  return CreateMaybeMessage<MPModelProto>(nullptr);
1016  }
1017 
1018  MPModelProto* New(::google::protobuf::Arena* arena) const final {
1019  return CreateMaybeMessage<MPModelProto>(arena);
1020  }
1021  void CopyFrom(const ::google::protobuf::Message& from) final;
1022  void MergeFrom(const ::google::protobuf::Message& from) final;
1023  void CopyFrom(const MPModelProto& from);
1024  void MergeFrom(const MPModelProto& from);
1025  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1026  bool IsInitialized() const final;
1027 
1028  size_t ByteSizeLong() const final;
1029  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
1030  static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
1031  ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
1032  #else
1034  ::google::protobuf::io::CodedInputStream* input) final;
1035  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
1037  ::google::protobuf::io::CodedOutputStream* output) const final;
1038  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
1039  ::google::protobuf::uint8* target) const final;
1040  int GetCachedSize() const final { return _cached_size_.Get(); }
1041 
1042  private:
1043  void SharedCtor();
1044  void SharedDtor();
1045  void SetCachedSize(int size) const final;
1046  void InternalSwap(MPModelProto* other);
1047  private:
1048  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
1049  return nullptr;
1050  }
1051  inline void* MaybeArenaPtr() const {
1052  return nullptr;
1053  }
1054  public:
1055 
1056  ::google::protobuf::Metadata GetMetadata() const final;
1057 
1058  // nested types ----------------------------------------------------
1059 
1060  // accessors -------------------------------------------------------
1061 
1062  // repeated .operations_research.MPVariableProto variable = 3;
1063  int variable_size() const;
1064  void clear_variable();
1065  static const int kVariableFieldNumber = 3;
1066  ::operations_research::MPVariableProto* mutable_variable(int index);
1067  ::google::protobuf::RepeatedPtrField< ::operations_research::MPVariableProto >*
1068  mutable_variable();
1069  const ::operations_research::MPVariableProto& variable(int index) const;
1070  ::operations_research::MPVariableProto* add_variable();
1071  const ::google::protobuf::RepeatedPtrField< ::operations_research::MPVariableProto >&
1072  variable() const;
1073 
1074  // repeated .operations_research.MPConstraintProto constraint = 4;
1075  int constraint_size() const;
1076  void clear_constraint();
1077  static const int kConstraintFieldNumber = 4;
1079  ::google::protobuf::RepeatedPtrField< ::operations_research::MPConstraintProto >*
1081  const ::operations_research::MPConstraintProto& constraint(int index) const;
1082  ::operations_research::MPConstraintProto* add_constraint();
1083  const ::google::protobuf::RepeatedPtrField< ::operations_research::MPConstraintProto >&
1084  constraint() const;
1085 
1086  // repeated .operations_research.MPGeneralConstraintProto general_constraint = 7;
1087  int general_constraint_size() const;
1088  void clear_general_constraint();
1089  static const int kGeneralConstraintFieldNumber = 7;
1090  ::operations_research::MPGeneralConstraintProto* mutable_general_constraint(int index);
1091  ::google::protobuf::RepeatedPtrField< ::operations_research::MPGeneralConstraintProto >*
1092  mutable_general_constraint();
1093  const ::operations_research::MPGeneralConstraintProto& general_constraint(int index) const;
1094  ::operations_research::MPGeneralConstraintProto* add_general_constraint();
1095  const ::google::protobuf::RepeatedPtrField< ::operations_research::MPGeneralConstraintProto >&
1096  general_constraint() const;
1097 
1098  // optional string name = 5 [default = ""];
1099  bool has_name() const;
1100  void clear_name();
1101  static const int kNameFieldNumber = 5;
1102  const ::std::string& name() const;
1103  void set_name(const ::std::string& value);
1104  #if LANG_CXX11
1105  void set_name(::std::string&& value);
1106  #endif
1107  void set_name(const char* value);
1108  void set_name(const char* value, size_t size);
1109  ::std::string* mutable_name();
1110  ::std::string* release_name();
1111  void set_allocated_name(::std::string* name);
1112 
1113  // optional .operations_research.PartialVariableAssignment solution_hint = 6;
1114  bool has_solution_hint() const;
1115  void clear_solution_hint();
1116  static const int kSolutionHintFieldNumber = 6;
1117  const ::operations_research::PartialVariableAssignment& solution_hint() const;
1118  ::operations_research::PartialVariableAssignment* release_solution_hint();
1119  ::operations_research::PartialVariableAssignment* mutable_solution_hint();
1120  void set_allocated_solution_hint(::operations_research::PartialVariableAssignment* solution_hint);
1121 
1122  // optional double objective_offset = 2 [default = 0];
1123  bool has_objective_offset() const;
1124  void clear_objective_offset();
1125  static const int kObjectiveOffsetFieldNumber = 2;
1126  double objective_offset() const;
1127  void set_objective_offset(double value);
1128 
1129  // optional bool maximize = 1 [default = false];
1130  bool has_maximize() const;
1131  void clear_maximize();
1132  static const int kMaximizeFieldNumber = 1;
1133  bool maximize() const;
1134  void set_maximize(bool value);
1135 
1136  // @@protoc_insertion_point(class_scope:operations_research.MPModelProto)
1137  private:
1138  class HasBitSetters;
1139 
1140  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
1141  ::google::protobuf::internal::HasBits<1> _has_bits_;
1142  mutable ::google::protobuf::internal::CachedSize _cached_size_;
1143  ::google::protobuf::RepeatedPtrField< ::operations_research::MPVariableProto > variable_;
1144  ::google::protobuf::RepeatedPtrField< ::operations_research::MPConstraintProto > constraint_;
1145  ::google::protobuf::RepeatedPtrField< ::operations_research::MPGeneralConstraintProto > general_constraint_;
1146  ::google::protobuf::internal::ArenaStringPtr name_;
1148  double objective_offset_;
1149  bool maximize_;
1150  friend struct ::TableStruct_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
1151 };
1152 // -------------------------------------------------------------------
1153 
1154 class OptionalDouble :
1155  public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:operations_research.OptionalDouble) */ {
1156  public:
1157  OptionalDouble();
1158  virtual ~OptionalDouble();
1159 
1160  OptionalDouble(const OptionalDouble& from);
1162  inline OptionalDouble& operator=(const OptionalDouble& from) {
1163  CopyFrom(from);
1164  return *this;
1165  }
1166  #if LANG_CXX11
1167  OptionalDouble(OptionalDouble&& from) noexcept
1168  : OptionalDouble() {
1169  *this = ::std::move(from);
1170  }
1171 
1172  inline OptionalDouble& operator=(OptionalDouble&& from) noexcept {
1173  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
1174  if (this != &from) InternalSwap(&from);
1175  } else {
1176  CopyFrom(from);
1177  }
1178  return *this;
1179  }
1180  #endif
1181  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
1182  return _internal_metadata_.unknown_fields();
1183  }
1184  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
1185  return _internal_metadata_.mutable_unknown_fields();
1186  }
1187 
1188  static const ::google::protobuf::Descriptor* descriptor() {
1189  return default_instance().GetDescriptor();
1190  }
1192 
1193  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1194  static inline const OptionalDouble* internal_default_instance() {
1195  return reinterpret_cast<const OptionalDouble*>(
1197  }
1198  static constexpr int kIndexInFileMessages =
1199  6;
1200 
1201  void Swap(OptionalDouble* other);
1202  friend void swap(OptionalDouble& a, OptionalDouble& b) {
1203  a.Swap(&b);
1204  }
1206  // implements Message ----------------------------------------------
1207 
1208  inline OptionalDouble* New() const final {
1209  return CreateMaybeMessage<OptionalDouble>(nullptr);
1210  }
1211 
1212  OptionalDouble* New(::google::protobuf::Arena* arena) const final {
1213  return CreateMaybeMessage<OptionalDouble>(arena);
1214  }
1215  void CopyFrom(const ::google::protobuf::Message& from) final;
1216  void MergeFrom(const ::google::protobuf::Message& from) final;
1217  void CopyFrom(const OptionalDouble& from);
1218  void MergeFrom(const OptionalDouble& from);
1219  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1220  bool IsInitialized() const final;
1221 
1222  size_t ByteSizeLong() const final;
1223  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
1224  static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
1225  ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
1226  #else
1228  ::google::protobuf::io::CodedInputStream* input) final;
1229  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
1231  ::google::protobuf::io::CodedOutputStream* output) const final;
1232  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
1233  ::google::protobuf::uint8* target) const final;
1234  int GetCachedSize() const final { return _cached_size_.Get(); }
1235 
1236  private:
1237  void SharedCtor();
1238  void SharedDtor();
1239  void SetCachedSize(int size) const final;
1240  void InternalSwap(OptionalDouble* other);
1241  private:
1242  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
1243  return nullptr;
1244  }
1245  inline void* MaybeArenaPtr() const {
1246  return nullptr;
1247  }
1248  public:
1249 
1250  ::google::protobuf::Metadata GetMetadata() const final;
1251 
1252  // nested types ----------------------------------------------------
1253 
1254  // accessors -------------------------------------------------------
1255 
1256  // optional double value = 1;
1257  bool has_value() const;
1258  void clear_value();
1259  static const int kValueFieldNumber = 1;
1260  double value() const;
1261  void set_value(double value);
1262 
1263  // @@protoc_insertion_point(class_scope:operations_research.OptionalDouble)
1264  private:
1265  class HasBitSetters;
1267  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
1268  ::google::protobuf::internal::HasBits<1> _has_bits_;
1269  mutable ::google::protobuf::internal::CachedSize _cached_size_;
1270  double value_;
1272 };
1273 // -------------------------------------------------------------------
1274 
1276  public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:operations_research.MPSolverCommonParameters) */ {
1277  public:
1279  virtual ~MPSolverCommonParameters();
1280 
1282 
1284  CopyFrom(from);
1285  return *this;
1286  }
1287  #if LANG_CXX11
1290  *this = ::std::move(from);
1291  }
1292 
1294  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
1295  if (this != &from) InternalSwap(&from);
1296  } else {
1297  CopyFrom(from);
1298  }
1299  return *this;
1300  }
1301  #endif
1302  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
1303  return _internal_metadata_.unknown_fields();
1304  }
1305  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
1306  return _internal_metadata_.mutable_unknown_fields();
1307  }
1308 
1309  static const ::google::protobuf::Descriptor* descriptor() {
1310  return default_instance().GetDescriptor();
1311  }
1314  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1315  static inline const MPSolverCommonParameters* internal_default_instance() {
1316  return reinterpret_cast<const MPSolverCommonParameters*>(
1318  }
1319  static constexpr int kIndexInFileMessages =
1320  7;
1321 
1322  void Swap(MPSolverCommonParameters* other);
1324  a.Swap(&b);
1325  }
1326 
1327  // implements Message ----------------------------------------------
1328 
1329  inline MPSolverCommonParameters* New() const final {
1330  return CreateMaybeMessage<MPSolverCommonParameters>(nullptr);
1331  }
1332 
1333  MPSolverCommonParameters* New(::google::protobuf::Arena* arena) const final {
1334  return CreateMaybeMessage<MPSolverCommonParameters>(arena);
1335  }
1336  void CopyFrom(const ::google::protobuf::Message& from) final;
1337  void MergeFrom(const ::google::protobuf::Message& from) final;
1338  void CopyFrom(const MPSolverCommonParameters& from);
1339  void MergeFrom(const MPSolverCommonParameters& from);
1340  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1341  bool IsInitialized() const final;
1342 
1343  size_t ByteSizeLong() const final;
1344  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
1345  static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
1346  ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
1347  #else
1349  ::google::protobuf::io::CodedInputStream* input) final;
1350  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
1352  ::google::protobuf::io::CodedOutputStream* output) const final;
1353  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
1354  ::google::protobuf::uint8* target) const final;
1355  int GetCachedSize() const final { return _cached_size_.Get(); }
1356 
1357  private:
1358  void SharedCtor();
1359  void SharedDtor();
1360  void SetCachedSize(int size) const final;
1361  void InternalSwap(MPSolverCommonParameters* other);
1362  private:
1363  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
1364  return nullptr;
1365  }
1366  inline void* MaybeArenaPtr() const {
1367  return nullptr;
1368  }
1369  public:
1370 
1371  ::google::protobuf::Metadata GetMetadata() const final;
1372 
1373  // nested types ----------------------------------------------------
1374 
1375  typedef MPSolverCommonParameters_LPAlgorithmValues LPAlgorithmValues;
1376  static const LPAlgorithmValues LP_ALGO_UNSPECIFIED =
1378  static const LPAlgorithmValues LP_ALGO_DUAL =
1380  static const LPAlgorithmValues LP_ALGO_PRIMAL =
1382  static const LPAlgorithmValues LP_ALGO_BARRIER =
1384  static inline bool LPAlgorithmValues_IsValid(int value) {
1386  }
1387  static const LPAlgorithmValues LPAlgorithmValues_MIN =
1389  static const LPAlgorithmValues LPAlgorithmValues_MAX =
1391  static const int LPAlgorithmValues_ARRAYSIZE =
1393  static inline const ::google::protobuf::EnumDescriptor*
1394  LPAlgorithmValues_descriptor() {
1396  }
1397  static inline const ::std::string& LPAlgorithmValues_Name(LPAlgorithmValues value) {
1399  }
1400  static inline bool LPAlgorithmValues_Parse(const ::std::string& name,
1401  LPAlgorithmValues* value) {
1403  }
1404 
1405  // accessors -------------------------------------------------------
1406 
1407  // optional .operations_research.OptionalDouble relative_mip_gap = 1;
1408  bool has_relative_mip_gap() const;
1409  void clear_relative_mip_gap();
1410  static const int kRelativeMipGapFieldNumber = 1;
1411  const ::operations_research::OptionalDouble& relative_mip_gap() const;
1412  ::operations_research::OptionalDouble* release_relative_mip_gap();
1413  ::operations_research::OptionalDouble* mutable_relative_mip_gap();
1414  void set_allocated_relative_mip_gap(::operations_research::OptionalDouble* relative_mip_gap);
1415 
1416  // optional .operations_research.OptionalDouble primal_tolerance = 2;
1417  bool has_primal_tolerance() const;
1418  void clear_primal_tolerance();
1419  static const int kPrimalToleranceFieldNumber = 2;
1420  const ::operations_research::OptionalDouble& primal_tolerance() const;
1421  ::operations_research::OptionalDouble* release_primal_tolerance();
1422  ::operations_research::OptionalDouble* mutable_primal_tolerance();
1423  void set_allocated_primal_tolerance(::operations_research::OptionalDouble* primal_tolerance);
1424 
1425  // optional .operations_research.OptionalDouble dual_tolerance = 3;
1426  bool has_dual_tolerance() const;
1427  void clear_dual_tolerance();
1428  static const int kDualToleranceFieldNumber = 3;
1429  const ::operations_research::OptionalDouble& dual_tolerance() const;
1430  ::operations_research::OptionalDouble* release_dual_tolerance();
1431  ::operations_research::OptionalDouble* mutable_dual_tolerance();
1432  void set_allocated_dual_tolerance(::operations_research::OptionalDouble* dual_tolerance);
1433 
1434  // optional .operations_research.MPSolverCommonParameters.LPAlgorithmValues lp_algorithm = 4 [default = LP_ALGO_UNSPECIFIED];
1435  bool has_lp_algorithm() const;
1436  void clear_lp_algorithm();
1437  static const int kLpAlgorithmFieldNumber = 4;
1440 
1441  // optional .operations_research.OptionalBoolean presolve = 5 [default = BOOL_UNSPECIFIED];
1442  bool has_presolve() const;
1443  void clear_presolve();
1444  static const int kPresolveFieldNumber = 5;
1445  ::operations_research::OptionalBoolean presolve() const;
1446  void set_presolve(::operations_research::OptionalBoolean value);
1447 
1448  // optional .operations_research.OptionalBoolean scaling = 7 [default = BOOL_UNSPECIFIED];
1449  bool has_scaling() const;
1450  void clear_scaling();
1451  static const int kScalingFieldNumber = 7;
1452  ::operations_research::OptionalBoolean scaling() const;
1453  void set_scaling(::operations_research::OptionalBoolean value);
1454 
1455  // @@protoc_insertion_point(class_scope:operations_research.MPSolverCommonParameters)
1456  private:
1457  class HasBitSetters;
1458 
1459  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
1460  ::google::protobuf::internal::HasBits<1> _has_bits_;
1461  mutable ::google::protobuf::internal::CachedSize _cached_size_;
1462  ::operations_research::OptionalDouble* relative_mip_gap_;
1463  ::operations_research::OptionalDouble* primal_tolerance_;
1464  ::operations_research::OptionalDouble* dual_tolerance_;
1465  int lp_algorithm_;
1466  int presolve_;
1467  int scaling_;
1468  friend struct ::TableStruct_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
1469 };
1470 // -------------------------------------------------------------------
1471 
1472 class MPModelRequest :
1473  public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:operations_research.MPModelRequest) */ {
1474  public:
1475  MPModelRequest();
1476  virtual ~MPModelRequest();
1477 
1478  MPModelRequest(const MPModelRequest& from);
1479 
1480  inline MPModelRequest& operator=(const MPModelRequest& from) {
1481  CopyFrom(from);
1482  return *this;
1483  }
1484  #if LANG_CXX11
1485  MPModelRequest(MPModelRequest&& from) noexcept
1486  : MPModelRequest() {
1487  *this = ::std::move(from);
1488  }
1490  inline MPModelRequest& operator=(MPModelRequest&& from) noexcept {
1491  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
1492  if (this != &from) InternalSwap(&from);
1493  } else {
1494  CopyFrom(from);
1495  }
1496  return *this;
1497  }
1498  #endif
1499  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
1500  return _internal_metadata_.unknown_fields();
1501  }
1502  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
1503  return _internal_metadata_.mutable_unknown_fields();
1504  }
1505 
1506  static const ::google::protobuf::Descriptor* descriptor() {
1507  return default_instance().GetDescriptor();
1508  }
1509  static const MPModelRequest& default_instance();
1510 
1511  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1512  static inline const MPModelRequest* internal_default_instance() {
1513  return reinterpret_cast<const MPModelRequest*>(
1515  }
1516  static constexpr int kIndexInFileMessages =
1517  8;
1518 
1519  void Swap(MPModelRequest* other);
1520  friend void swap(MPModelRequest& a, MPModelRequest& b) {
1521  a.Swap(&b);
1522  }
1523 
1524  // implements Message ----------------------------------------------
1526  inline MPModelRequest* New() const final {
1527  return CreateMaybeMessage<MPModelRequest>(nullptr);
1528  }
1530  MPModelRequest* New(::google::protobuf::Arena* arena) const final {
1531  return CreateMaybeMessage<MPModelRequest>(arena);
1532  }
1533  void CopyFrom(const ::google::protobuf::Message& from) final;
1534  void MergeFrom(const ::google::protobuf::Message& from) final;
1535  void CopyFrom(const MPModelRequest& from);
1536  void MergeFrom(const MPModelRequest& from);
1537  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1538  bool IsInitialized() const final;
1540  size_t ByteSizeLong() const final;
1541  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
1542  static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
1543  ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
1544  #else
1546  ::google::protobuf::io::CodedInputStream* input) final;
1547  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
1549  ::google::protobuf::io::CodedOutputStream* output) const final;
1550  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
1551  ::google::protobuf::uint8* target) const final;
1552  int GetCachedSize() const final { return _cached_size_.Get(); }
1553 
1554  private:
1555  void SharedCtor();
1556  void SharedDtor();
1557  void SetCachedSize(int size) const final;
1558  void InternalSwap(MPModelRequest* other);
1559  private:
1560  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
1561  return nullptr;
1562  }
1563  inline void* MaybeArenaPtr() const {
1564  return nullptr;
1565  }
1566  public:
1567 
1568  ::google::protobuf::Metadata GetMetadata() const final;
1569 
1570  // nested types ----------------------------------------------------
1571 
1572  typedef MPModelRequest_SolverType SolverType;
1573  static const SolverType GLOP_LINEAR_PROGRAMMING =
1575  static const SolverType CLP_LINEAR_PROGRAMMING =
1577  static const SolverType GLPK_LINEAR_PROGRAMMING =
1579  static const SolverType GUROBI_LINEAR_PROGRAMMING =
1581  static const SolverType CPLEX_LINEAR_PROGRAMMING =
1583  static const SolverType SCIP_MIXED_INTEGER_PROGRAMMING =
1585  static const SolverType GLPK_MIXED_INTEGER_PROGRAMMING =
1587  static const SolverType CBC_MIXED_INTEGER_PROGRAMMING =
1589  static const SolverType GUROBI_MIXED_INTEGER_PROGRAMMING =
1591  static const SolverType CPLEX_MIXED_INTEGER_PROGRAMMING =
1593  static const SolverType BOP_INTEGER_PROGRAMMING =
1595  static const SolverType SAT_INTEGER_PROGRAMMING =
1597  static const SolverType KNAPSACK_MIXED_INTEGER_PROGRAMMING =
1599  static inline bool SolverType_IsValid(int value) {
1601  }
1602  static const SolverType SolverType_MIN =
1604  static const SolverType SolverType_MAX =
1606  static const int SolverType_ARRAYSIZE =
1608  static inline const ::google::protobuf::EnumDescriptor*
1609  SolverType_descriptor() {
1611  }
1612  static inline const ::std::string& SolverType_Name(SolverType value) {
1614  }
1615  static inline bool SolverType_Parse(const ::std::string& name,
1616  SolverType* value) {
1617  return MPModelRequest_SolverType_Parse(name, value);
1618  }
1619 
1620  // accessors -------------------------------------------------------
1622  // optional string solver_specific_parameters = 5;
1623  bool has_solver_specific_parameters() const;
1624  void clear_solver_specific_parameters();
1625  static const int kSolverSpecificParametersFieldNumber = 5;
1626  const ::std::string& solver_specific_parameters() const;
1627  void set_solver_specific_parameters(const ::std::string& value);
1628  #if LANG_CXX11
1629  void set_solver_specific_parameters(::std::string&& value);
1630  #endif
1631  void set_solver_specific_parameters(const char* value);
1632  void set_solver_specific_parameters(const char* value, size_t size);
1633  ::std::string* mutable_solver_specific_parameters();
1634  ::std::string* release_solver_specific_parameters();
1635  void set_allocated_solver_specific_parameters(::std::string* solver_specific_parameters);
1636 
1637  // optional .operations_research.MPModelProto model = 1;
1638  bool has_model() const;
1639  void clear_model();
1640  static const int kModelFieldNumber = 1;
1641  const ::operations_research::MPModelProto& model() const;
1642  ::operations_research::MPModelProto* release_model();
1643  ::operations_research::MPModelProto* mutable_model();
1644  void set_allocated_model(::operations_research::MPModelProto* model);
1645 
1646  // optional double solver_time_limit_seconds = 3;
1647  bool has_solver_time_limit_seconds() const;
1648  void clear_solver_time_limit_seconds();
1649  static const int kSolverTimeLimitSecondsFieldNumber = 3;
1650  double solver_time_limit_seconds() const;
1651  void set_solver_time_limit_seconds(double value);
1652 
1653  // optional bool enable_internal_solver_output = 4 [default = false];
1654  bool has_enable_internal_solver_output() const;
1655  void clear_enable_internal_solver_output();
1656  static const int kEnableInternalSolverOutputFieldNumber = 4;
1657  bool enable_internal_solver_output() const;
1658  void set_enable_internal_solver_output(bool value);
1659 
1660  // optional .operations_research.MPModelRequest.SolverType solver_type = 2;
1661  bool has_solver_type() const;
1662  void clear_solver_type();
1663  static const int kSolverTypeFieldNumber = 2;
1665  void set_solver_type(::operations_research::MPModelRequest_SolverType value);
1666 
1667  // @@protoc_insertion_point(class_scope:operations_research.MPModelRequest)
1668  private:
1669  class HasBitSetters;
1670 
1671  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
1672  ::google::protobuf::internal::HasBits<1> _has_bits_;
1673  mutable ::google::protobuf::internal::CachedSize _cached_size_;
1674  ::google::protobuf::internal::ArenaStringPtr solver_specific_parameters_;
1676  double solver_time_limit_seconds_;
1677  bool enable_internal_solver_output_;
1678  int solver_type_;
1679  friend struct ::TableStruct_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
1680 };
1681 // -------------------------------------------------------------------
1682 
1683 class MPSolutionResponse :
1684  public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:operations_research.MPSolutionResponse) */ {
1685  public:
1687  virtual ~MPSolutionResponse();
1690 
1691  inline MPSolutionResponse& operator=(const MPSolutionResponse& from) {
1692  CopyFrom(from);
1693  return *this;
1694  }
1695  #if LANG_CXX11
1696  MPSolutionResponse(MPSolutionResponse&& from) noexcept
1697  : MPSolutionResponse() {
1698  *this = ::std::move(from);
1699  }
1700 
1702  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
1703  if (this != &from) InternalSwap(&from);
1704  } else {
1705  CopyFrom(from);
1706  }
1707  return *this;
1708  }
1709  #endif
1710  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
1711  return _internal_metadata_.unknown_fields();
1712  }
1713  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
1714  return _internal_metadata_.mutable_unknown_fields();
1715  }
1716 
1717  static const ::google::protobuf::Descriptor* descriptor() {
1718  return default_instance().GetDescriptor();
1719  }
1721 
1722  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1724  return reinterpret_cast<const MPSolutionResponse*>(
1726  }
1727  static constexpr int kIndexInFileMessages =
1728  9;
1729 
1730  void Swap(MPSolutionResponse* other);
1731  friend void swap(MPSolutionResponse& a, MPSolutionResponse& b) {
1732  a.Swap(&b);
1733  }
1734 
1735  // implements Message ----------------------------------------------
1736 
1737  inline MPSolutionResponse* New() const final {
1738  return CreateMaybeMessage<MPSolutionResponse>(nullptr);
1739  }
1740 
1741  MPSolutionResponse* New(::google::protobuf::Arena* arena) const final {
1742  return CreateMaybeMessage<MPSolutionResponse>(arena);
1743  }
1744  void CopyFrom(const ::google::protobuf::Message& from) final;
1745  void MergeFrom(const ::google::protobuf::Message& from) final;
1746  void CopyFrom(const MPSolutionResponse& from);
1747  void MergeFrom(const MPSolutionResponse& from);
1748  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1749  bool IsInitialized() const final;
1750 
1751  size_t ByteSizeLong() const final;
1752  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
1753  static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
1754  ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
1755  #else
1757  ::google::protobuf::io::CodedInputStream* input) final;
1758  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
1760  ::google::protobuf::io::CodedOutputStream* output) const final;
1761  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
1762  ::google::protobuf::uint8* target) const final;
1763  int GetCachedSize() const final { return _cached_size_.Get(); }
1764 
1765  private:
1766  void SharedCtor();
1767  void SharedDtor();
1768  void SetCachedSize(int size) const final;
1769  void InternalSwap(MPSolutionResponse* other);
1770  private:
1771  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
1772  return nullptr;
1773  }
1774  inline void* MaybeArenaPtr() const {
1775  return nullptr;
1776  }
1777  public:
1778 
1779  ::google::protobuf::Metadata GetMetadata() const final;
1780 
1781  // nested types ----------------------------------------------------
1782 
1783  // accessors -------------------------------------------------------
1784 
1785  // repeated double variable_value = 3 [packed = true];
1786  int variable_value_size() const;
1787  void clear_variable_value();
1788  static const int kVariableValueFieldNumber = 3;
1789  double variable_value(int index) const;
1790  void set_variable_value(int index, double value);
1791  void add_variable_value(double value);
1792  const ::google::protobuf::RepeatedField< double >&
1793  variable_value() const;
1794  ::google::protobuf::RepeatedField< double >*
1795  mutable_variable_value();
1796 
1797  // repeated double dual_value = 4 [packed = true];
1798  int dual_value_size() const;
1799  void clear_dual_value();
1800  static const int kDualValueFieldNumber = 4;
1801  double dual_value(int index) const;
1802  void set_dual_value(int index, double value);
1803  void add_dual_value(double value);
1804  const ::google::protobuf::RepeatedField< double >&
1805  dual_value() const;
1806  ::google::protobuf::RepeatedField< double >*
1807  mutable_dual_value();
1808 
1809  // repeated double reduced_cost = 6 [packed = true];
1810  int reduced_cost_size() const;
1811  void clear_reduced_cost();
1812  static const int kReducedCostFieldNumber = 6;
1813  double reduced_cost(int index) const;
1814  void set_reduced_cost(int index, double value);
1815  void add_reduced_cost(double value);
1816  const ::google::protobuf::RepeatedField< double >&
1817  reduced_cost() const;
1818  ::google::protobuf::RepeatedField< double >*
1819  mutable_reduced_cost();
1820 
1821  // optional double objective_value = 2;
1822  bool has_objective_value() const;
1823  void clear_objective_value();
1824  static const int kObjectiveValueFieldNumber = 2;
1825  double objective_value() const;
1826  void set_objective_value(double value);
1827 
1828  // optional double best_objective_bound = 5;
1829  bool has_best_objective_bound() const;
1830  void clear_best_objective_bound();
1831  static const int kBestObjectiveBoundFieldNumber = 5;
1832  double best_objective_bound() const;
1833  void set_best_objective_bound(double value);
1835  // optional .operations_research.MPSolverResponseStatus status = 1 [default = MPSOLVER_UNKNOWN_STATUS];
1836  bool has_status() const;
1837  void clear_status();
1838  static const int kStatusFieldNumber = 1;
1839  ::operations_research::MPSolverResponseStatus status() const;
1840  void set_status(::operations_research::MPSolverResponseStatus value);
1842  // @@protoc_insertion_point(class_scope:operations_research.MPSolutionResponse)
1843  private:
1844  class HasBitSetters;
1845 
1846  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
1847  ::google::protobuf::internal::HasBits<1> _has_bits_;
1848  mutable ::google::protobuf::internal::CachedSize _cached_size_;
1849  ::google::protobuf::RepeatedField< double > variable_value_;
1850  mutable std::atomic<int> _variable_value_cached_byte_size_;
1851  ::google::protobuf::RepeatedField< double > dual_value_;
1852  mutable std::atomic<int> _dual_value_cached_byte_size_;
1853  ::google::protobuf::RepeatedField< double > reduced_cost_;
1854  mutable std::atomic<int> _reduced_cost_cached_byte_size_;
1855  double objective_value_;
1856  double best_objective_bound_;
1857  int status_;
1859 };
1860 // ===================================================================
1861 
1862 
1863 // ===================================================================
1864 
1865 #ifdef __GNUC__
1866  #pragma GCC diagnostic push
1867  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
1868 #endif // __GNUC__
1869 // MPVariableProto
1870 
1871 // optional double lower_bound = 1 [default = -inf];
1872 inline bool MPVariableProto::has_lower_bound() const {
1873  return (_has_bits_[0] & 0x00000008u) != 0;
1874 }
1875 inline void MPVariableProto::clear_lower_bound() {
1876  lower_bound_ = -std::numeric_limits<double>::infinity();
1877  _has_bits_[0] &= ~0x00000008u;
1878 }
1879 inline double MPVariableProto::lower_bound() const {
1880  // @@protoc_insertion_point(field_get:operations_research.MPVariableProto.lower_bound)
1881  return lower_bound_;
1882 }
1883 inline void MPVariableProto::set_lower_bound(double value) {
1884  _has_bits_[0] |= 0x00000008u;
1885  lower_bound_ = value;
1886  // @@protoc_insertion_point(field_set:operations_research.MPVariableProto.lower_bound)
1888 
1889 // optional double upper_bound = 2 [default = inf];
1890 inline bool MPVariableProto::has_upper_bound() const {
1891  return (_has_bits_[0] & 0x00000010u) != 0;
1892 }
1893 inline void MPVariableProto::clear_upper_bound() {
1894  upper_bound_ = std::numeric_limits<double>::infinity();
1895  _has_bits_[0] &= ~0x00000010u;
1896 }
1897 inline double MPVariableProto::upper_bound() const {
1898  // @@protoc_insertion_point(field_get:operations_research.MPVariableProto.upper_bound)
1899  return upper_bound_;
1900 }
1901 inline void MPVariableProto::set_upper_bound(double value) {
1902  _has_bits_[0] |= 0x00000010u;
1903  upper_bound_ = value;
1904  // @@protoc_insertion_point(field_set:operations_research.MPVariableProto.upper_bound)
1906 
1907 // optional double objective_coefficient = 3 [default = 0];
1908 inline bool MPVariableProto::has_objective_coefficient() const {
1909  return (_has_bits_[0] & 0x00000002u) != 0;
1910 }
1912  objective_coefficient_ = 0;
1913  _has_bits_[0] &= ~0x00000002u;
1914 }
1915 inline double MPVariableProto::objective_coefficient() const {
1916  // @@protoc_insertion_point(field_get:operations_research.MPVariableProto.objective_coefficient)
1917  return objective_coefficient_;
1918 }
1919 inline void MPVariableProto::set_objective_coefficient(double value) {
1920  _has_bits_[0] |= 0x00000002u;
1921  objective_coefficient_ = value;
1922  // @@protoc_insertion_point(field_set:operations_research.MPVariableProto.objective_coefficient)
1924 
1925 // optional bool is_integer = 4 [default = false];
1926 inline bool MPVariableProto::has_is_integer() const {
1927  return (_has_bits_[0] & 0x00000004u) != 0;
1928 }
1929 inline void MPVariableProto::clear_is_integer() {
1930  is_integer_ = false;
1931  _has_bits_[0] &= ~0x00000004u;
1932 }
1933 inline bool MPVariableProto::is_integer() const {
1934  // @@protoc_insertion_point(field_get:operations_research.MPVariableProto.is_integer)
1935  return is_integer_;
1936 }
1937 inline void MPVariableProto::set_is_integer(bool value) {
1938  _has_bits_[0] |= 0x00000004u;
1939  is_integer_ = value;
1940  // @@protoc_insertion_point(field_set:operations_research.MPVariableProto.is_integer)
1942 
1943 // optional string name = 5 [default = ""];
1944 inline bool MPVariableProto::has_name() const {
1945  return (_has_bits_[0] & 0x00000001u) != 0;
1946 }
1947 inline void MPVariableProto::clear_name() {
1948  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
1949  _has_bits_[0] &= ~0x00000001u;
1950 }
1951 inline const ::std::string& MPVariableProto::name() const {
1952  // @@protoc_insertion_point(field_get:operations_research.MPVariableProto.name)
1953  return name_.GetNoArena();
1954 }
1955 inline void MPVariableProto::set_name(const ::std::string& value) {
1956  _has_bits_[0] |= 0x00000001u;
1957  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
1958  // @@protoc_insertion_point(field_set:operations_research.MPVariableProto.name)
1960 #if LANG_CXX11
1961 inline void MPVariableProto::set_name(::std::string&& value) {
1962  _has_bits_[0] |= 0x00000001u;
1963  name_.SetNoArena(
1964  &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
1965  // @@protoc_insertion_point(field_set_rvalue:operations_research.MPVariableProto.name)
1966 }
1967 #endif
1968 inline void MPVariableProto::set_name(const char* value) {
1969  GOOGLE_DCHECK(value != nullptr);
1970  _has_bits_[0] |= 0x00000001u;
1971  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
1972  // @@protoc_insertion_point(field_set_char:operations_research.MPVariableProto.name)
1973 }
1974 inline void MPVariableProto::set_name(const char* value, size_t size) {
1975  _has_bits_[0] |= 0x00000001u;
1976  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
1977  ::std::string(reinterpret_cast<const char*>(value), size));
1978  // @@protoc_insertion_point(field_set_pointer:operations_research.MPVariableProto.name)
1979 }
1980 inline ::std::string* MPVariableProto::mutable_name() {
1981  _has_bits_[0] |= 0x00000001u;
1982  // @@protoc_insertion_point(field_mutable:operations_research.MPVariableProto.name)
1983  return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
1984 }
1985 inline ::std::string* MPVariableProto::release_name() {
1986  // @@protoc_insertion_point(field_release:operations_research.MPVariableProto.name)
1987  if (!has_name()) {
1988  return nullptr;
1989  }
1990  _has_bits_[0] &= ~0x00000001u;
1991  return name_.ReleaseNonDefaultNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
1993 inline void MPVariableProto::set_allocated_name(::std::string* name) {
1994  if (name != nullptr) {
1995  _has_bits_[0] |= 0x00000001u;
1996  } else {
1997  _has_bits_[0] &= ~0x00000001u;
1998  }
1999  name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
2000  // @@protoc_insertion_point(field_set_allocated:operations_research.MPVariableProto.name)
2001 }
2002 
2003 // -------------------------------------------------------------------
2004 
2005 // MPConstraintProto
2006 
2007 // repeated int32 var_index = 6 [packed = true];
2008 inline int MPConstraintProto::var_index_size() const {
2009  return var_index_.size();
2010 }
2011 inline void MPConstraintProto::clear_var_index() {
2012  var_index_.Clear();
2013 }
2014 inline ::google::protobuf::int32 MPConstraintProto::var_index(int index) const {
2015  // @@protoc_insertion_point(field_get:operations_research.MPConstraintProto.var_index)
2016  return var_index_.Get(index);
2017 }
2018 inline void MPConstraintProto::set_var_index(int index, ::google::protobuf::int32 value) {
2019  var_index_.Set(index, value);
2020  // @@protoc_insertion_point(field_set:operations_research.MPConstraintProto.var_index)
2022 inline void MPConstraintProto::add_var_index(::google::protobuf::int32 value) {
2023  var_index_.Add(value);
2024  // @@protoc_insertion_point(field_add:operations_research.MPConstraintProto.var_index)
2025 }
2026 inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
2028  // @@protoc_insertion_point(field_list:operations_research.MPConstraintProto.var_index)
2029  return var_index_;
2030 }
2031 inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
2033  // @@protoc_insertion_point(field_mutable_list:operations_research.MPConstraintProto.var_index)
2034  return &var_index_;
2036 
2037 // repeated double coefficient = 7 [packed = true];
2038 inline int MPConstraintProto::coefficient_size() const {
2039  return coefficient_.size();
2042  coefficient_.Clear();
2043 }
2044 inline double MPConstraintProto::coefficient(int index) const {
2045  // @@protoc_insertion_point(field_get:operations_research.MPConstraintProto.coefficient)
2046  return coefficient_.Get(index);
2047 }
2048 inline void MPConstraintProto::set_coefficient(int index, double value) {
2049  coefficient_.Set(index, value);
2050  // @@protoc_insertion_point(field_set:operations_research.MPConstraintProto.coefficient)
2052 inline void MPConstraintProto::add_coefficient(double value) {
2053  coefficient_.Add(value);
2054  // @@protoc_insertion_point(field_add:operations_research.MPConstraintProto.coefficient)
2055 }
2056 inline const ::google::protobuf::RepeatedField< double >&
2058  // @@protoc_insertion_point(field_list:operations_research.MPConstraintProto.coefficient)
2059  return coefficient_;
2060 }
2061 inline ::google::protobuf::RepeatedField< double >*
2063  // @@protoc_insertion_point(field_mutable_list:operations_research.MPConstraintProto.coefficient)
2064  return &coefficient_;
2066 
2067 // optional double lower_bound = 2 [default = -inf];
2068 inline bool MPConstraintProto::has_lower_bound() const {
2069  return (_has_bits_[0] & 0x00000004u) != 0;
2072  lower_bound_ = -std::numeric_limits<double>::infinity();
2073  _has_bits_[0] &= ~0x00000004u;
2074 }
2075 inline double MPConstraintProto::lower_bound() const {
2076  // @@protoc_insertion_point(field_get:operations_research.MPConstraintProto.lower_bound)
2077  return lower_bound_;
2078 }
2079 inline void MPConstraintProto::set_lower_bound(double value) {
2080  _has_bits_[0] |= 0x00000004u;
2081  lower_bound_ = value;
2082  // @@protoc_insertion_point(field_set:operations_research.MPConstraintProto.lower_bound)
2083 }
2085 // optional double upper_bound = 3 [default = inf];
2086 inline bool MPConstraintProto::has_upper_bound() const {
2087  return (_has_bits_[0] & 0x00000008u) != 0;
2090  upper_bound_ = std::numeric_limits<double>::infinity();
2091  _has_bits_[0] &= ~0x00000008u;
2093 inline double MPConstraintProto::upper_bound() const {
2094  // @@protoc_insertion_point(field_get:operations_research.MPConstraintProto.upper_bound)
2095  return upper_bound_;
2096 }
2097 inline void MPConstraintProto::set_upper_bound(double value) {
2098  _has_bits_[0] |= 0x00000008u;
2099  upper_bound_ = value;
2100  // @@protoc_insertion_point(field_set:operations_research.MPConstraintProto.upper_bound)
2101 }
2103 // optional string name = 4 [default = ""];
2104 inline bool MPConstraintProto::has_name() const {
2105  return (_has_bits_[0] & 0x00000001u) != 0;
2107 inline void MPConstraintProto::clear_name() {
2108  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
2109  _has_bits_[0] &= ~0x00000001u;
2111 inline const ::std::string& MPConstraintProto::name() const {
2112  // @@protoc_insertion_point(field_get:operations_research.MPConstraintProto.name)
2113  return name_.GetNoArena();
2114 }
2115 inline void MPConstraintProto::set_name(const ::std::string& value) {
2116  _has_bits_[0] |= 0x00000001u;
2117  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
2118  // @@protoc_insertion_point(field_set:operations_research.MPConstraintProto.name)
2119 }
2120 #if LANG_CXX11
2121 inline void MPConstraintProto::set_name(::std::string&& value) {
2122  _has_bits_[0] |= 0x00000001u;
2123  name_.SetNoArena(
2124  &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
2125  // @@protoc_insertion_point(field_set_rvalue:operations_research.MPConstraintProto.name)
2126 }
2127 #endif
2128 inline void MPConstraintProto::set_name(const char* value) {
2129  GOOGLE_DCHECK(value != nullptr);
2130  _has_bits_[0] |= 0x00000001u;
2131  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
2132  // @@protoc_insertion_point(field_set_char:operations_research.MPConstraintProto.name)
2133 }
2134 inline void MPConstraintProto::set_name(const char* value, size_t size) {
2135  _has_bits_[0] |= 0x00000001u;
2136  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
2137  ::std::string(reinterpret_cast<const char*>(value), size));
2138  // @@protoc_insertion_point(field_set_pointer:operations_research.MPConstraintProto.name)
2139 }
2140 inline ::std::string* MPConstraintProto::mutable_name() {
2141  _has_bits_[0] |= 0x00000001u;
2142  // @@protoc_insertion_point(field_mutable:operations_research.MPConstraintProto.name)
2143  return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
2144 }
2145 inline ::std::string* MPConstraintProto::release_name() {
2146  // @@protoc_insertion_point(field_release:operations_research.MPConstraintProto.name)
2147  if (!has_name()) {
2148  return nullptr;
2149  }
2150  _has_bits_[0] &= ~0x00000001u;
2151  return name_.ReleaseNonDefaultNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
2152 }
2153 inline void MPConstraintProto::set_allocated_name(::std::string* name) {
2154  if (name != nullptr) {
2155  _has_bits_[0] |= 0x00000001u;
2156  } else {
2157  _has_bits_[0] &= ~0x00000001u;
2158  }
2159  name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
2160  // @@protoc_insertion_point(field_set_allocated:operations_research.MPConstraintProto.name)
2161 }
2162 
2163 // optional bool is_lazy = 5 [default = false];
2164 inline bool MPConstraintProto::has_is_lazy() const {
2165  return (_has_bits_[0] & 0x00000002u) != 0;
2167 inline void MPConstraintProto::clear_is_lazy() {
2168  is_lazy_ = false;
2169  _has_bits_[0] &= ~0x00000002u;
2170 }
2171 inline bool MPConstraintProto::is_lazy() const {
2172  // @@protoc_insertion_point(field_get:operations_research.MPConstraintProto.is_lazy)
2173  return is_lazy_;
2174 }
2175 inline void MPConstraintProto::set_is_lazy(bool value) {
2176  _has_bits_[0] |= 0x00000002u;
2177  is_lazy_ = value;
2178  // @@protoc_insertion_point(field_set:operations_research.MPConstraintProto.is_lazy)
2179 }
2181 // -------------------------------------------------------------------
2182 
2183 // MPGeneralConstraintProto
2185 // optional string name = 1 [default = ""];
2186 inline bool MPGeneralConstraintProto::has_name() const {
2187  return (_has_bits_[0] & 0x00000001u) != 0;
2190  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
2191  _has_bits_[0] &= ~0x00000001u;
2192 }
2193 inline const ::std::string& MPGeneralConstraintProto::name() const {
2194  // @@protoc_insertion_point(field_get:operations_research.MPGeneralConstraintProto.name)
2195  return name_.GetNoArena();
2196 }
2197 inline void MPGeneralConstraintProto::set_name(const ::std::string& value) {
2198  _has_bits_[0] |= 0x00000001u;
2199  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
2200  // @@protoc_insertion_point(field_set:operations_research.MPGeneralConstraintProto.name)
2201 }
2202 #if LANG_CXX11
2203 inline void MPGeneralConstraintProto::set_name(::std::string&& value) {
2204  _has_bits_[0] |= 0x00000001u;
2205  name_.SetNoArena(
2206  &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
2207  // @@protoc_insertion_point(field_set_rvalue:operations_research.MPGeneralConstraintProto.name)
2208 }
2209 #endif
2210 inline void MPGeneralConstraintProto::set_name(const char* value) {
2211  GOOGLE_DCHECK(value != nullptr);
2212  _has_bits_[0] |= 0x00000001u;
2213  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
2214  // @@protoc_insertion_point(field_set_char:operations_research.MPGeneralConstraintProto.name)
2215 }
2216 inline void MPGeneralConstraintProto::set_name(const char* value, size_t size) {
2217  _has_bits_[0] |= 0x00000001u;
2218  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
2219  ::std::string(reinterpret_cast<const char*>(value), size));
2220  // @@protoc_insertion_point(field_set_pointer:operations_research.MPGeneralConstraintProto.name)
2221 }
2222 inline ::std::string* MPGeneralConstraintProto::mutable_name() {
2223  _has_bits_[0] |= 0x00000001u;
2224  // @@protoc_insertion_point(field_mutable:operations_research.MPGeneralConstraintProto.name)
2225  return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
2226 }
2227 inline ::std::string* MPGeneralConstraintProto::release_name() {
2228  // @@protoc_insertion_point(field_release:operations_research.MPGeneralConstraintProto.name)
2229  if (!has_name()) {
2230  return nullptr;
2231  }
2232  _has_bits_[0] &= ~0x00000001u;
2233  return name_.ReleaseNonDefaultNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
2234 }
2235 inline void MPGeneralConstraintProto::set_allocated_name(::std::string* name) {
2236  if (name != nullptr) {
2237  _has_bits_[0] |= 0x00000001u;
2238  } else {
2239  _has_bits_[0] &= ~0x00000001u;
2240  }
2241  name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
2242  // @@protoc_insertion_point(field_set_allocated:operations_research.MPGeneralConstraintProto.name)
2243 }
2244 
2245 // optional .operations_research.MPIndicatorConstraint indicator_constraint = 2;
2247  return general_constraint_case() == kIndicatorConstraint;
2248 }
2249 inline void MPGeneralConstraintProto::set_has_indicator_constraint() {
2250  _oneof_case_[0] = kIndicatorConstraint;
2251 }
2253  if (has_indicator_constraint()) {
2254  delete general_constraint_.indicator_constraint_;
2255  clear_has_general_constraint();
2256  }
2257 }
2258 inline ::operations_research::MPIndicatorConstraint* MPGeneralConstraintProto::release_indicator_constraint() {
2259  // @@protoc_insertion_point(field_release:operations_research.MPGeneralConstraintProto.indicator_constraint)
2260  if (has_indicator_constraint()) {
2261  clear_has_general_constraint();
2262  ::operations_research::MPIndicatorConstraint* temp = general_constraint_.indicator_constraint_;
2263  general_constraint_.indicator_constraint_ = nullptr;
2264  return temp;
2265  } else {
2266  return nullptr;
2267  }
2268 }
2269 inline const ::operations_research::MPIndicatorConstraint& MPGeneralConstraintProto::indicator_constraint() const {
2270  // @@protoc_insertion_point(field_get:operations_research.MPGeneralConstraintProto.indicator_constraint)
2271  return has_indicator_constraint()
2272  ? *general_constraint_.indicator_constraint_
2273  : *reinterpret_cast< ::operations_research::MPIndicatorConstraint*>(&::operations_research::_MPIndicatorConstraint_default_instance_);
2274 }
2275 inline ::operations_research::MPIndicatorConstraint* MPGeneralConstraintProto::mutable_indicator_constraint() {
2276  if (!has_indicator_constraint()) {
2277  clear_general_constraint();
2278  set_has_indicator_constraint();
2279  general_constraint_.indicator_constraint_ = CreateMaybeMessage< ::operations_research::MPIndicatorConstraint >(
2280  GetArenaNoVirtual());
2281  }
2282  // @@protoc_insertion_point(field_mutable:operations_research.MPGeneralConstraintProto.indicator_constraint)
2283  return general_constraint_.indicator_constraint_;
2284 }
2285 
2286 inline bool MPGeneralConstraintProto::has_general_constraint() const {
2287  return general_constraint_case() != GENERAL_CONSTRAINT_NOT_SET;
2288 }
2289 inline void MPGeneralConstraintProto::clear_has_general_constraint() {
2290  _oneof_case_[0] = GENERAL_CONSTRAINT_NOT_SET;
2291 }
2293  return MPGeneralConstraintProto::GeneralConstraintCase(_oneof_case_[0]);
2294 }
2295 // -------------------------------------------------------------------
2296 
2297 // MPIndicatorConstraint
2298 
2299 // optional int32 var_index = 1;
2300 inline bool MPIndicatorConstraint::has_var_index() const {
2301  return (_has_bits_[0] & 0x00000002u) != 0;
2302 }
2304  var_index_ = 0;
2305  _has_bits_[0] &= ~0x00000002u;
2307 inline ::google::protobuf::int32 MPIndicatorConstraint::var_index() const {
2308  // @@protoc_insertion_point(field_get:operations_research.MPIndicatorConstraint.var_index)
2309  return var_index_;
2310 }
2311 inline void MPIndicatorConstraint::set_var_index(::google::protobuf::int32 value) {
2312  _has_bits_[0] |= 0x00000002u;
2313  var_index_ = value;
2314  // @@protoc_insertion_point(field_set:operations_research.MPIndicatorConstraint.var_index)
2316 
2317 // optional int32 var_value = 2;
2319  return (_has_bits_[0] & 0x00000004u) != 0;
2320 }
2322  var_value_ = 0;
2323  _has_bits_[0] &= ~0x00000004u;
2324 }
2325 inline ::google::protobuf::int32 MPIndicatorConstraint::var_value() const {
2326  // @@protoc_insertion_point(field_get:operations_research.MPIndicatorConstraint.var_value)
2327  return var_value_;
2328 }
2329 inline void MPIndicatorConstraint::set_var_value(::google::protobuf::int32 value) {
2330  _has_bits_[0] |= 0x00000004u;
2331  var_value_ = value;
2332  // @@protoc_insertion_point(field_set:operations_research.MPIndicatorConstraint.var_value)
2334 
2335 // optional .operations_research.MPConstraintProto constraint = 3;
2337  return (_has_bits_[0] & 0x00000001u) != 0;
2338 }
2340  if (constraint_ != nullptr) constraint_->Clear();
2341  _has_bits_[0] &= ~0x00000001u;
2342 }
2343 inline const ::operations_research::MPConstraintProto& MPIndicatorConstraint::constraint() const {
2344  const ::operations_research::MPConstraintProto* p = constraint_;
2345  // @@protoc_insertion_point(field_get:operations_research.MPIndicatorConstraint.constraint)
2346  return p != nullptr ? *p : *reinterpret_cast<const ::operations_research::MPConstraintProto*>(
2348 }
2349 inline ::operations_research::MPConstraintProto* MPIndicatorConstraint::release_constraint() {
2350  // @@protoc_insertion_point(field_release:operations_research.MPIndicatorConstraint.constraint)
2351  _has_bits_[0] &= ~0x00000001u;
2352  ::operations_research::MPConstraintProto* temp = constraint_;
2353  constraint_ = nullptr;
2354  return temp;
2355 }
2356 inline ::operations_research::MPConstraintProto* MPIndicatorConstraint::mutable_constraint() {
2357  _has_bits_[0] |= 0x00000001u;
2358  if (constraint_ == nullptr) {
2359  auto* p = CreateMaybeMessage<::operations_research::MPConstraintProto>(GetArenaNoVirtual());
2360  constraint_ = p;
2361  }
2362  // @@protoc_insertion_point(field_mutable:operations_research.MPIndicatorConstraint.constraint)
2363  return constraint_;
2366  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
2367  if (message_arena == nullptr) {
2368  delete constraint_;
2369  }
2370  if (constraint) {
2371  ::google::protobuf::Arena* submessage_arena = nullptr;
2372  if (message_arena != submessage_arena) {
2373  constraint = ::google::protobuf::internal::GetOwnedMessage(
2374  message_arena, constraint, submessage_arena);
2375  }
2376  _has_bits_[0] |= 0x00000001u;
2377  } else {
2378  _has_bits_[0] &= ~0x00000001u;
2379  }
2380  constraint_ = constraint;
2381  // @@protoc_insertion_point(field_set_allocated:operations_research.MPIndicatorConstraint.constraint)
2382 }
2383 
2384 // -------------------------------------------------------------------
2385 
2386 // PartialVariableAssignment
2387 
2388 // repeated int32 var_index = 1 [packed = true];
2389 inline int PartialVariableAssignment::var_index_size() const {
2390  return var_index_.size();
2391 }
2393  var_index_.Clear();
2394 }
2395 inline ::google::protobuf::int32 PartialVariableAssignment::var_index(int index) const {
2396  // @@protoc_insertion_point(field_get:operations_research.PartialVariableAssignment.var_index)
2397  return var_index_.Get(index);
2398 }
2399 inline void PartialVariableAssignment::set_var_index(int index, ::google::protobuf::int32 value) {
2400  var_index_.Set(index, value);
2401  // @@protoc_insertion_point(field_set:operations_research.PartialVariableAssignment.var_index)
2402 }
2403 inline void PartialVariableAssignment::add_var_index(::google::protobuf::int32 value) {
2404  var_index_.Add(value);
2405  // @@protoc_insertion_point(field_add:operations_research.PartialVariableAssignment.var_index)
2406 }
2407 inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
2409  // @@protoc_insertion_point(field_list:operations_research.PartialVariableAssignment.var_index)
2410  return var_index_;
2412 inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
2414  // @@protoc_insertion_point(field_mutable_list:operations_research.PartialVariableAssignment.var_index)
2415  return &var_index_;
2416 }
2417 
2418 // repeated double var_value = 2 [packed = true];
2420  return var_value_.size();
2421 }
2423  var_value_.Clear();
2425 inline double PartialVariableAssignment::var_value(int index) const {
2426  // @@protoc_insertion_point(field_get:operations_research.PartialVariableAssignment.var_value)
2427  return var_value_.Get(index);
2428 }
2429 inline void PartialVariableAssignment::set_var_value(int index, double value) {
2430  var_value_.Set(index, value);
2431  // @@protoc_insertion_point(field_set:operations_research.PartialVariableAssignment.var_value)
2432 }
2433 inline void PartialVariableAssignment::add_var_value(double value) {
2434  var_value_.Add(value);
2435  // @@protoc_insertion_point(field_add:operations_research.PartialVariableAssignment.var_value)
2436 }
2437 inline const ::google::protobuf::RepeatedField< double >&
2439  // @@protoc_insertion_point(field_list:operations_research.PartialVariableAssignment.var_value)
2440  return var_value_;
2442 inline ::google::protobuf::RepeatedField< double >*
2444  // @@protoc_insertion_point(field_mutable_list:operations_research.PartialVariableAssignment.var_value)
2445  return &var_value_;
2446 }
2447 
2448 // -------------------------------------------------------------------
2450 // MPModelProto
2451 
2452 // optional bool maximize = 1 [default = false];
2453 inline bool MPModelProto::has_maximize() const {
2454  return (_has_bits_[0] & 0x00000008u) != 0;
2455 }
2456 inline void MPModelProto::clear_maximize() {
2457  maximize_ = false;
2458  _has_bits_[0] &= ~0x00000008u;
2460 inline bool MPModelProto::maximize() const {
2461  // @@protoc_insertion_point(field_get:operations_research.MPModelProto.maximize)
2462  return maximize_;
2463 }
2464 inline void MPModelProto::set_maximize(bool value) {
2465  _has_bits_[0] |= 0x00000008u;
2466  maximize_ = value;
2467  // @@protoc_insertion_point(field_set:operations_research.MPModelProto.maximize)
2468 }
2469 
2470 // optional double objective_offset = 2 [default = 0];
2471 inline bool MPModelProto::has_objective_offset() const {
2472  return (_has_bits_[0] & 0x00000004u) != 0;
2475  objective_offset_ = 0;
2476  _has_bits_[0] &= ~0x00000004u;
2478 inline double MPModelProto::objective_offset() const {
2479  // @@protoc_insertion_point(field_get:operations_research.MPModelProto.objective_offset)
2480  return objective_offset_;
2482 inline void MPModelProto::set_objective_offset(double value) {
2483  _has_bits_[0] |= 0x00000004u;
2484  objective_offset_ = value;
2485  // @@protoc_insertion_point(field_set:operations_research.MPModelProto.objective_offset)
2486 }
2487 
2488 // repeated .operations_research.MPVariableProto variable = 3;
2489 inline int MPModelProto::variable_size() const {
2490  return variable_.size();
2492 inline void MPModelProto::clear_variable() {
2493  variable_.Clear();
2494 }
2495 inline ::operations_research::MPVariableProto* MPModelProto::mutable_variable(int index) {
2496  // @@protoc_insertion_point(field_mutable:operations_research.MPModelProto.variable)
2497  return variable_.Mutable(index);
2498 }
2499 inline ::google::protobuf::RepeatedPtrField< ::operations_research::MPVariableProto >*
2501  // @@protoc_insertion_point(field_mutable_list:operations_research.MPModelProto.variable)
2502  return &variable_;
2503 }
2504 inline const ::operations_research::MPVariableProto& MPModelProto::variable(int index) const {
2505  // @@protoc_insertion_point(field_get:operations_research.MPModelProto.variable)
2506  return variable_.Get(index);
2507 }
2508 inline ::operations_research::MPVariableProto* MPModelProto::add_variable() {
2509  // @@protoc_insertion_point(field_add:operations_research.MPModelProto.variable)
2510  return variable_.Add();
2511 }
2512 inline const ::google::protobuf::RepeatedPtrField< ::operations_research::MPVariableProto >&
2513 MPModelProto::variable() const {
2514  // @@protoc_insertion_point(field_list:operations_research.MPModelProto.variable)
2515  return variable_;
2516 }
2518 // repeated .operations_research.MPConstraintProto constraint = 4;
2519 inline int MPModelProto::constraint_size() const {
2520  return constraint_.size();
2522 inline void MPModelProto::clear_constraint() {
2523  constraint_.Clear();
2524 }
2525 inline ::operations_research::MPConstraintProto* MPModelProto::mutable_constraint(int index) {
2526  // @@protoc_insertion_point(field_mutable:operations_research.MPModelProto.constraint)
2527  return constraint_.Mutable(index);
2528 }
2529 inline ::google::protobuf::RepeatedPtrField< ::operations_research::MPConstraintProto >*
2531  // @@protoc_insertion_point(field_mutable_list:operations_research.MPModelProto.constraint)
2532  return &constraint_;
2533 }
2534 inline const ::operations_research::MPConstraintProto& MPModelProto::constraint(int index) const {
2535  // @@protoc_insertion_point(field_get:operations_research.MPModelProto.constraint)
2536  return constraint_.Get(index);
2537 }
2538 inline ::operations_research::MPConstraintProto* MPModelProto::add_constraint() {
2539  // @@protoc_insertion_point(field_add:operations_research.MPModelProto.constraint)
2540  return constraint_.Add();
2541 }
2542 inline const ::google::protobuf::RepeatedPtrField< ::operations_research::MPConstraintProto >&
2543 MPModelProto::constraint() const {
2544  // @@protoc_insertion_point(field_list:operations_research.MPModelProto.constraint)
2545  return constraint_;
2546 }
2548 // repeated .operations_research.MPGeneralConstraintProto general_constraint = 7;
2549 inline int MPModelProto::general_constraint_size() const {
2550  return general_constraint_.size();
2553  general_constraint_.Clear();
2554 }
2555 inline ::operations_research::MPGeneralConstraintProto* MPModelProto::mutable_general_constraint(int index) {
2556  // @@protoc_insertion_point(field_mutable:operations_research.MPModelProto.general_constraint)
2557  return general_constraint_.Mutable(index);
2558 }
2559 inline ::google::protobuf::RepeatedPtrField< ::operations_research::MPGeneralConstraintProto >*
2561  // @@protoc_insertion_point(field_mutable_list:operations_research.MPModelProto.general_constraint)
2562  return &general_constraint_;
2563 }
2564 inline const ::operations_research::MPGeneralConstraintProto& MPModelProto::general_constraint(int index) const {
2565  // @@protoc_insertion_point(field_get:operations_research.MPModelProto.general_constraint)
2566  return general_constraint_.Get(index);
2567 }
2568 inline ::operations_research::MPGeneralConstraintProto* MPModelProto::add_general_constraint() {
2569  // @@protoc_insertion_point(field_add:operations_research.MPModelProto.general_constraint)
2570  return general_constraint_.Add();
2571 }
2572 inline const ::google::protobuf::RepeatedPtrField< ::operations_research::MPGeneralConstraintProto >&
2574  // @@protoc_insertion_point(field_list:operations_research.MPModelProto.general_constraint)
2575  return general_constraint_;
2576 }
2578 // optional string name = 5 [default = ""];
2579 inline bool MPModelProto::has_name() const {
2580  return (_has_bits_[0] & 0x00000001u) != 0;
2582 inline void MPModelProto::clear_name() {
2583  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
2584  _has_bits_[0] &= ~0x00000001u;
2586 inline const ::std::string& MPModelProto::name() const {
2587  // @@protoc_insertion_point(field_get:operations_research.MPModelProto.name)
2588  return name_.GetNoArena();
2589 }
2590 inline void MPModelProto::set_name(const ::std::string& value) {
2591  _has_bits_[0] |= 0x00000001u;
2592  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
2593  // @@protoc_insertion_point(field_set:operations_research.MPModelProto.name)
2594 }
2595 #if LANG_CXX11
2596 inline void MPModelProto::set_name(::std::string&& value) {
2597  _has_bits_[0] |= 0x00000001u;
2598  name_.SetNoArena(
2599  &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
2600  // @@protoc_insertion_point(field_set_rvalue:operations_research.MPModelProto.name)
2601 }
2602 #endif
2603 inline void MPModelProto::set_name(const char* value) {
2604  GOOGLE_DCHECK(value != nullptr);
2605  _has_bits_[0] |= 0x00000001u;
2606  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
2607  // @@protoc_insertion_point(field_set_char:operations_research.MPModelProto.name)
2608 }
2609 inline void MPModelProto::set_name(const char* value, size_t size) {
2610  _has_bits_[0] |= 0x00000001u;
2611  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
2612  ::std::string(reinterpret_cast<const char*>(value), size));
2613  // @@protoc_insertion_point(field_set_pointer:operations_research.MPModelProto.name)
2614 }
2615 inline ::std::string* MPModelProto::mutable_name() {
2616  _has_bits_[0] |= 0x00000001u;
2617  // @@protoc_insertion_point(field_mutable:operations_research.MPModelProto.name)
2618  return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
2619 }
2620 inline ::std::string* MPModelProto::release_name() {
2621  // @@protoc_insertion_point(field_release:operations_research.MPModelProto.name)
2622  if (!has_name()) {
2623  return nullptr;
2624  }
2625  _has_bits_[0] &= ~0x00000001u;
2626  return name_.ReleaseNonDefaultNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
2627 }
2628 inline void MPModelProto::set_allocated_name(::std::string* name) {
2629  if (name != nullptr) {
2630  _has_bits_[0] |= 0x00000001u;
2631  } else {
2632  _has_bits_[0] &= ~0x00000001u;
2633  }
2634  name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
2635  // @@protoc_insertion_point(field_set_allocated:operations_research.MPModelProto.name)
2636 }
2638 // optional .operations_research.PartialVariableAssignment solution_hint = 6;
2639 inline bool MPModelProto::has_solution_hint() const {
2640  return (_has_bits_[0] & 0x00000002u) != 0;
2641 }
2642 inline void MPModelProto::clear_solution_hint() {
2643  if (solution_hint_ != nullptr) solution_hint_->Clear();
2644  _has_bits_[0] &= ~0x00000002u;
2646 inline const ::operations_research::PartialVariableAssignment& MPModelProto::solution_hint() const {
2647  const ::operations_research::PartialVariableAssignment* p = solution_hint_;
2648  // @@protoc_insertion_point(field_get:operations_research.MPModelProto.solution_hint)
2649  return p != nullptr ? *p : *reinterpret_cast<const ::operations_research::PartialVariableAssignment*>(
2651 }
2652 inline ::operations_research::PartialVariableAssignment* MPModelProto::release_solution_hint() {
2653  // @@protoc_insertion_point(field_release:operations_research.MPModelProto.solution_hint)
2654  _has_bits_[0] &= ~0x00000002u;
2655  ::operations_research::PartialVariableAssignment* temp = solution_hint_;
2656  solution_hint_ = nullptr;
2657  return temp;
2658 }
2659 inline ::operations_research::PartialVariableAssignment* MPModelProto::mutable_solution_hint() {
2660  _has_bits_[0] |= 0x00000002u;
2661  if (solution_hint_ == nullptr) {
2662  auto* p = CreateMaybeMessage<::operations_research::PartialVariableAssignment>(GetArenaNoVirtual());
2663  solution_hint_ = p;
2664  }
2665  // @@protoc_insertion_point(field_mutable:operations_research.MPModelProto.solution_hint)
2666  return solution_hint_;
2667 }
2669  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
2670  if (message_arena == nullptr) {
2671  delete solution_hint_;
2672  }
2673  if (solution_hint) {
2674  ::google::protobuf::Arena* submessage_arena = nullptr;
2675  if (message_arena != submessage_arena) {
2676  solution_hint = ::google::protobuf::internal::GetOwnedMessage(
2677  message_arena, solution_hint, submessage_arena);
2678  }
2679  _has_bits_[0] |= 0x00000002u;
2680  } else {
2681  _has_bits_[0] &= ~0x00000002u;
2682  }
2683  solution_hint_ = solution_hint;
2684  // @@protoc_insertion_point(field_set_allocated:operations_research.MPModelProto.solution_hint)
2686 
2687 // -------------------------------------------------------------------
2688 
2689 // OptionalDouble
2690 
2691 // optional double value = 1;
2692 inline bool OptionalDouble::has_value() const {
2693  return (_has_bits_[0] & 0x00000001u) != 0;
2694 }
2695 inline void OptionalDouble::clear_value() {
2696  value_ = 0;
2697  _has_bits_[0] &= ~0x00000001u;
2698 }
2699 inline double OptionalDouble::value() const {
2700  // @@protoc_insertion_point(field_get:operations_research.OptionalDouble.value)
2701  return value_;
2702 }
2703 inline void OptionalDouble::set_value(double value) {
2704  _has_bits_[0] |= 0x00000001u;
2705  value_ = value;
2706  // @@protoc_insertion_point(field_set:operations_research.OptionalDouble.value)
2707 }
2708 
2709 // -------------------------------------------------------------------
2711 // MPSolverCommonParameters
2712 
2713 // optional .operations_research.OptionalDouble relative_mip_gap = 1;
2715  return (_has_bits_[0] & 0x00000001u) != 0;
2716 }
2718  if (relative_mip_gap_ != nullptr) relative_mip_gap_->Clear();
2719  _has_bits_[0] &= ~0x00000001u;
2720 }
2721 inline const ::operations_research::OptionalDouble& MPSolverCommonParameters::relative_mip_gap() const {
2722  const ::operations_research::OptionalDouble* p = relative_mip_gap_;
2723  // @@protoc_insertion_point(field_get:operations_research.MPSolverCommonParameters.relative_mip_gap)
2724  return p != nullptr ? *p : *reinterpret_cast<const ::operations_research::OptionalDouble*>(
2726 }
2727 inline ::operations_research::OptionalDouble* MPSolverCommonParameters::release_relative_mip_gap() {
2728  // @@protoc_insertion_point(field_release:operations_research.MPSolverCommonParameters.relative_mip_gap)
2729  _has_bits_[0] &= ~0x00000001u;
2730  ::operations_research::OptionalDouble* temp = relative_mip_gap_;
2731  relative_mip_gap_ = nullptr;
2732  return temp;
2734 inline ::operations_research::OptionalDouble* MPSolverCommonParameters::mutable_relative_mip_gap() {
2735  _has_bits_[0] |= 0x00000001u;
2736  if (relative_mip_gap_ == nullptr) {
2737  auto* p = CreateMaybeMessage<::operations_research::OptionalDouble>(GetArenaNoVirtual());
2738  relative_mip_gap_ = p;
2739  }
2740  // @@protoc_insertion_point(field_mutable:operations_research.MPSolverCommonParameters.relative_mip_gap)
2741  return relative_mip_gap_;
2742 }
2744  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
2745  if (message_arena == nullptr) {
2746  delete relative_mip_gap_;
2747  }
2748  if (relative_mip_gap) {
2749  ::google::protobuf::Arena* submessage_arena = nullptr;
2750  if (message_arena != submessage_arena) {
2751  relative_mip_gap = ::google::protobuf::internal::GetOwnedMessage(
2752  message_arena, relative_mip_gap, submessage_arena);
2753  }
2754  _has_bits_[0] |= 0x00000001u;
2755  } else {
2756  _has_bits_[0] &= ~0x00000001u;
2757  }
2758  relative_mip_gap_ = relative_mip_gap;
2759  // @@protoc_insertion_point(field_set_allocated:operations_research.MPSolverCommonParameters.relative_mip_gap)
2760 }
2761 
2762 // optional .operations_research.OptionalDouble primal_tolerance = 2;
2764  return (_has_bits_[0] & 0x00000002u) != 0;
2765 }
2767  if (primal_tolerance_ != nullptr) primal_tolerance_->Clear();
2768  _has_bits_[0] &= ~0x00000002u;
2769 }
2770 inline const ::operations_research::OptionalDouble& MPSolverCommonParameters::primal_tolerance() const {
2771  const ::operations_research::OptionalDouble* p = primal_tolerance_;
2772  // @@protoc_insertion_point(field_get:operations_research.MPSolverCommonParameters.primal_tolerance)
2773  return p != nullptr ? *p : *reinterpret_cast<const ::operations_research::OptionalDouble*>(
2775 }
2776 inline ::operations_research::OptionalDouble* MPSolverCommonParameters::release_primal_tolerance() {
2777  // @@protoc_insertion_point(field_release:operations_research.MPSolverCommonParameters.primal_tolerance)
2778  _has_bits_[0] &= ~0x00000002u;
2779  ::operations_research::OptionalDouble* temp = primal_tolerance_;
2780  primal_tolerance_ = nullptr;
2781  return temp;
2783 inline ::operations_research::OptionalDouble* MPSolverCommonParameters::mutable_primal_tolerance() {
2784  _has_bits_[0] |= 0x00000002u;
2785  if (primal_tolerance_ == nullptr) {
2786  auto* p = CreateMaybeMessage<::operations_research::OptionalDouble>(GetArenaNoVirtual());
2787  primal_tolerance_ = p;
2788  }
2789  // @@protoc_insertion_point(field_mutable:operations_research.MPSolverCommonParameters.primal_tolerance)
2790  return primal_tolerance_;
2791 }
2793  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
2794  if (message_arena == nullptr) {
2795  delete primal_tolerance_;
2796  }
2797  if (primal_tolerance) {
2798  ::google::protobuf::Arena* submessage_arena = nullptr;
2799  if (message_arena != submessage_arena) {
2800  primal_tolerance = ::google::protobuf::internal::GetOwnedMessage(
2801  message_arena, primal_tolerance, submessage_arena);
2802  }
2803  _has_bits_[0] |= 0x00000002u;
2804  } else {
2805  _has_bits_[0] &= ~0x00000002u;
2806  }
2807  primal_tolerance_ = primal_tolerance;
2808  // @@protoc_insertion_point(field_set_allocated:operations_research.MPSolverCommonParameters.primal_tolerance)
2809 }
2810 
2811 // optional .operations_research.OptionalDouble dual_tolerance = 3;
2813  return (_has_bits_[0] & 0x00000004u) != 0;
2814 }
2816  if (dual_tolerance_ != nullptr) dual_tolerance_->Clear();
2817  _has_bits_[0] &= ~0x00000004u;
2818 }
2819 inline const ::operations_research::OptionalDouble& MPSolverCommonParameters::dual_tolerance() const {
2820  const ::operations_research::OptionalDouble* p = dual_tolerance_;
2821  // @@protoc_insertion_point(field_get:operations_research.MPSolverCommonParameters.dual_tolerance)
2822  return p != nullptr ? *p : *reinterpret_cast<const ::operations_research::OptionalDouble*>(
2824 }
2825 inline ::operations_research::OptionalDouble* MPSolverCommonParameters::release_dual_tolerance() {
2826  // @@protoc_insertion_point(field_release:operations_research.MPSolverCommonParameters.dual_tolerance)
2827  _has_bits_[0] &= ~0x00000004u;
2828  ::operations_research::OptionalDouble* temp = dual_tolerance_;
2829  dual_tolerance_ = nullptr;
2830  return temp;
2832 inline ::operations_research::OptionalDouble* MPSolverCommonParameters::mutable_dual_tolerance() {
2833  _has_bits_[0] |= 0x00000004u;
2834  if (dual_tolerance_ == nullptr) {
2835  auto* p = CreateMaybeMessage<::operations_research::OptionalDouble>(GetArenaNoVirtual());
2836  dual_tolerance_ = p;
2837  }
2838  // @@protoc_insertion_point(field_mutable:operations_research.MPSolverCommonParameters.dual_tolerance)
2839  return dual_tolerance_;
2840 }
2842  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
2843  if (message_arena == nullptr) {
2844  delete dual_tolerance_;
2845  }
2846  if (dual_tolerance) {
2847  ::google::protobuf::Arena* submessage_arena = nullptr;
2848  if (message_arena != submessage_arena) {
2849  dual_tolerance = ::google::protobuf::internal::GetOwnedMessage(
2850  message_arena, dual_tolerance, submessage_arena);
2851  }
2852  _has_bits_[0] |= 0x00000004u;
2853  } else {
2854  _has_bits_[0] &= ~0x00000004u;
2855  }
2856  dual_tolerance_ = dual_tolerance;
2857  // @@protoc_insertion_point(field_set_allocated:operations_research.MPSolverCommonParameters.dual_tolerance)
2858 }
2859 
2860 // optional .operations_research.MPSolverCommonParameters.LPAlgorithmValues lp_algorithm = 4 [default = LP_ALGO_UNSPECIFIED];
2861 inline bool MPSolverCommonParameters::has_lp_algorithm() const {
2862  return (_has_bits_[0] & 0x00000008u) != 0;
2863 }
2865  lp_algorithm_ = 0;
2866  _has_bits_[0] &= ~0x00000008u;
2867 }
2869  // @@protoc_insertion_point(field_get:operations_research.MPSolverCommonParameters.lp_algorithm)
2870  return static_cast< ::operations_research::MPSolverCommonParameters_LPAlgorithmValues >(lp_algorithm_);
2871 }
2874  _has_bits_[0] |= 0x00000008u;
2875  lp_algorithm_ = value;
2876  // @@protoc_insertion_point(field_set:operations_research.MPSolverCommonParameters.lp_algorithm)
2877 }
2878 
2879 // optional .operations_research.OptionalBoolean presolve = 5 [default = BOOL_UNSPECIFIED];
2881  return (_has_bits_[0] & 0x00000010u) != 0;
2882 }
2884  presolve_ = 0;
2885  _has_bits_[0] &= ~0x00000010u;
2886 }
2887 inline ::operations_research::OptionalBoolean MPSolverCommonParameters::presolve() const {
2888  // @@protoc_insertion_point(field_get:operations_research.MPSolverCommonParameters.presolve)
2889  return static_cast< ::operations_research::OptionalBoolean >(presolve_);
2890 }
2891 inline void MPSolverCommonParameters::set_presolve(::operations_research::OptionalBoolean value) {
2892  assert(::operations_research::OptionalBoolean_IsValid(value));
2893  _has_bits_[0] |= 0x00000010u;
2894  presolve_ = value;
2895  // @@protoc_insertion_point(field_set:operations_research.MPSolverCommonParameters.presolve)
2896 }
2897 
2898 // optional .operations_research.OptionalBoolean scaling = 7 [default = BOOL_UNSPECIFIED];
2900  return (_has_bits_[0] & 0x00000020u) != 0;
2901 }
2903  scaling_ = 0;
2904  _has_bits_[0] &= ~0x00000020u;
2905 }
2906 inline ::operations_research::OptionalBoolean MPSolverCommonParameters::scaling() const {
2907  // @@protoc_insertion_point(field_get:operations_research.MPSolverCommonParameters.scaling)
2908  return static_cast< ::operations_research::OptionalBoolean >(scaling_);
2909 }
2910 inline void MPSolverCommonParameters::set_scaling(::operations_research::OptionalBoolean value) {
2911  assert(::operations_research::OptionalBoolean_IsValid(value));
2912  _has_bits_[0] |= 0x00000020u;
2913  scaling_ = value;
2914  // @@protoc_insertion_point(field_set:operations_research.MPSolverCommonParameters.scaling)
2915 }
2916 
2917 // -------------------------------------------------------------------
2919 // MPModelRequest
2920 
2921 // optional .operations_research.MPModelProto model = 1;
2922 inline bool MPModelRequest::has_model() const {
2923  return (_has_bits_[0] & 0x00000002u) != 0;
2924 }
2926  if (model_ != nullptr) model_->Clear();
2927  _has_bits_[0] &= ~0x00000002u;
2928 }
2929 inline const ::operations_research::MPModelProto& MPModelRequest::model() const {
2930  const ::operations_research::MPModelProto* p = model_;
2931  // @@protoc_insertion_point(field_get:operations_research.MPModelRequest.model)
2932  return p != nullptr ? *p : *reinterpret_cast<const ::operations_research::MPModelProto*>(
2934 }
2935 inline ::operations_research::MPModelProto* MPModelRequest::release_model() {
2936  // @@protoc_insertion_point(field_release:operations_research.MPModelRequest.model)
2937  _has_bits_[0] &= ~0x00000002u;
2938  ::operations_research::MPModelProto* temp = model_;
2939  model_ = nullptr;
2940  return temp;
2941 }
2942 inline ::operations_research::MPModelProto* MPModelRequest::mutable_model() {
2943  _has_bits_[0] |= 0x00000002u;
2944  if (model_ == nullptr) {
2945  auto* p = CreateMaybeMessage<::operations_research::MPModelProto>(GetArenaNoVirtual());
2946  model_ = p;
2947  }
2948  // @@protoc_insertion_point(field_mutable:operations_research.MPModelRequest.model)
2949  return model_;
2950 }
2952  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
2953  if (message_arena == nullptr) {
2954  delete model_;
2955  }
2956  if (model) {
2957  ::google::protobuf::Arena* submessage_arena = nullptr;
2958  if (message_arena != submessage_arena) {
2959  model = ::google::protobuf::internal::GetOwnedMessage(
2960  message_arena, model, submessage_arena);
2961  }
2962  _has_bits_[0] |= 0x00000002u;
2963  } else {
2964  _has_bits_[0] &= ~0x00000002u;
2965  }
2966  model_ = model;
2967  // @@protoc_insertion_point(field_set_allocated:operations_research.MPModelRequest.model)
2968 }
2969 
2970 // optional .operations_research.MPModelRequest.SolverType solver_type = 2;
2971 inline bool MPModelRequest::has_solver_type() const {
2972  return (_has_bits_[0] & 0x00000010u) != 0;
2973 }
2974 inline void MPModelRequest::clear_solver_type() {
2975  solver_type_ = 2;
2976  _has_bits_[0] &= ~0x00000010u;
2977 }
2979  // @@protoc_insertion_point(field_get:operations_research.MPModelRequest.solver_type)
2980  return static_cast< ::operations_research::MPModelRequest_SolverType >(solver_type_);
2981 }
2984  _has_bits_[0] |= 0x00000010u;
2985  solver_type_ = value;
2986  // @@protoc_insertion_point(field_set:operations_research.MPModelRequest.solver_type)
2987 }
2988 
2989 // optional double solver_time_limit_seconds = 3;
2991  return (_has_bits_[0] & 0x00000004u) != 0;
2992 }
2994  solver_time_limit_seconds_ = 0;
2995  _has_bits_[0] &= ~0x00000004u;
2996 }
2997 inline double MPModelRequest::solver_time_limit_seconds() const {
2998  // @@protoc_insertion_point(field_get:operations_research.MPModelRequest.solver_time_limit_seconds)
2999  return solver_time_limit_seconds_;
3000 }
3001 inline void MPModelRequest::set_solver_time_limit_seconds(double value) {
3002  _has_bits_[0] |= 0x00000004u;
3003  solver_time_limit_seconds_ = value;
3004  // @@protoc_insertion_point(field_set:operations_research.MPModelRequest.solver_time_limit_seconds)
3005 }
3006 
3007 // optional bool enable_internal_solver_output = 4 [default = false];
3009  return (_has_bits_[0] & 0x00000008u) != 0;
3012  enable_internal_solver_output_ = false;
3013  _has_bits_[0] &= ~0x00000008u;
3014 }
3016  // @@protoc_insertion_point(field_get:operations_research.MPModelRequest.enable_internal_solver_output)
3017  return enable_internal_solver_output_;
3018 }
3019 inline void MPModelRequest::set_enable_internal_solver_output(bool value) {
3020  _has_bits_[0] |= 0x00000008u;
3021  enable_internal_solver_output_ = value;
3022  // @@protoc_insertion_point(field_set:operations_research.MPModelRequest.enable_internal_solver_output)
3023 }
3024 
3025 // optional string solver_specific_parameters = 5;
3027  return (_has_bits_[0] & 0x00000001u) != 0;
3030  solver_specific_parameters_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
3031  _has_bits_[0] &= ~0x00000001u;
3032 }
3033 inline const ::std::string& MPModelRequest::solver_specific_parameters() const {
3034  // @@protoc_insertion_point(field_get:operations_research.MPModelRequest.solver_specific_parameters)
3035  return solver_specific_parameters_.GetNoArena();
3036 }
3037 inline void MPModelRequest::set_solver_specific_parameters(const ::std::string& value) {
3038  _has_bits_[0] |= 0x00000001u;
3039  solver_specific_parameters_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
3040  // @@protoc_insertion_point(field_set:operations_research.MPModelRequest.solver_specific_parameters)
3041 }
3042 #if LANG_CXX11
3043 inline void MPModelRequest::set_solver_specific_parameters(::std::string&& value) {
3044  _has_bits_[0] |= 0x00000001u;
3045  solver_specific_parameters_.SetNoArena(
3046  &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
3047  // @@protoc_insertion_point(field_set_rvalue:operations_research.MPModelRequest.solver_specific_parameters)
3048 }
3049 #endif
3050 inline void MPModelRequest::set_solver_specific_parameters(const char* value) {
3051  GOOGLE_DCHECK(value != nullptr);
3052  _has_bits_[0] |= 0x00000001u;
3053  solver_specific_parameters_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
3054  // @@protoc_insertion_point(field_set_char:operations_research.MPModelRequest.solver_specific_parameters)
3055 }
3056 inline void MPModelRequest::set_solver_specific_parameters(const char* value, size_t size) {
3057  _has_bits_[0] |= 0x00000001u;
3058  solver_specific_parameters_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
3059  ::std::string(reinterpret_cast<const char*>(value), size));
3060  // @@protoc_insertion_point(field_set_pointer:operations_research.MPModelRequest.solver_specific_parameters)
3061 }
3063  _has_bits_[0] |= 0x00000001u;
3064  // @@protoc_insertion_point(field_mutable:operations_research.MPModelRequest.solver_specific_parameters)
3065  return solver_specific_parameters_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
3066 }
3068  // @@protoc_insertion_point(field_release:operations_research.MPModelRequest.solver_specific_parameters)
3069  if (!has_solver_specific_parameters()) {
3070  return nullptr;
3071  }
3072  _has_bits_[0] &= ~0x00000001u;
3073  return solver_specific_parameters_.ReleaseNonDefaultNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
3074 }
3075 inline void MPModelRequest::set_allocated_solver_specific_parameters(::std::string* solver_specific_parameters) {
3076  if (solver_specific_parameters != nullptr) {
3077  _has_bits_[0] |= 0x00000001u;
3078  } else {
3079  _has_bits_[0] &= ~0x00000001u;
3080  }
3081  solver_specific_parameters_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), solver_specific_parameters);
3082  // @@protoc_insertion_point(field_set_allocated:operations_research.MPModelRequest.solver_specific_parameters)
3083 }
3084 
3085 // -------------------------------------------------------------------
3086 
3087 // MPSolutionResponse
3088 
3089 // optional .operations_research.MPSolverResponseStatus status = 1 [default = MPSOLVER_UNKNOWN_STATUS];
3090 inline bool MPSolutionResponse::has_status() const {
3091  return (_has_bits_[0] & 0x00000004u) != 0;
3092 }
3093 inline void MPSolutionResponse::clear_status() {
3094  status_ = 99;
3095  _has_bits_[0] &= ~0x00000004u;
3096 }
3098  // @@protoc_insertion_point(field_get:operations_research.MPSolutionResponse.status)
3099  return static_cast< ::operations_research::MPSolverResponseStatus >(status_);
3100 }
3103  _has_bits_[0] |= 0x00000004u;
3104  status_ = value;
3105  // @@protoc_insertion_point(field_set:operations_research.MPSolutionResponse.status)
3106 }
3107 
3108 // optional double objective_value = 2;
3109 inline bool MPSolutionResponse::has_objective_value() const {
3110  return (_has_bits_[0] & 0x00000001u) != 0;
3113  objective_value_ = 0;
3114  _has_bits_[0] &= ~0x00000001u;
3115 }
3116 inline double MPSolutionResponse::objective_value() const {
3117  // @@protoc_insertion_point(field_get:operations_research.MPSolutionResponse.objective_value)
3118  return objective_value_;
3119 }
3120 inline void MPSolutionResponse::set_objective_value(double value) {
3121  _has_bits_[0] |= 0x00000001u;
3122  objective_value_ = value;
3123  // @@protoc_insertion_point(field_set:operations_research.MPSolutionResponse.objective_value)
3124 }
3125 
3126 // optional double best_objective_bound = 5;
3128  return (_has_bits_[0] & 0x00000002u) != 0;
3129 }
3131  best_objective_bound_ = 0;
3132  _has_bits_[0] &= ~0x00000002u;
3134 inline double MPSolutionResponse::best_objective_bound() const {
3135  // @@protoc_insertion_point(field_get:operations_research.MPSolutionResponse.best_objective_bound)
3136  return best_objective_bound_;
3138 inline void MPSolutionResponse::set_best_objective_bound(double value) {
3139  _has_bits_[0] |= 0x00000002u;
3140  best_objective_bound_ = value;
3141  // @@protoc_insertion_point(field_set:operations_research.MPSolutionResponse.best_objective_bound)
3142 }
3143 
3144 // repeated double variable_value = 3 [packed = true];
3145 inline int MPSolutionResponse::variable_value_size() const {
3146  return variable_value_.size();
3147 }
3149  variable_value_.Clear();
3150 }
3151 inline double MPSolutionResponse::variable_value(int index) const {
3152  // @@protoc_insertion_point(field_get:operations_research.MPSolutionResponse.variable_value)
3153  return variable_value_.Get(index);
3154 }
3155 inline void MPSolutionResponse::set_variable_value(int index, double value) {
3156  variable_value_.Set(index, value);
3157  // @@protoc_insertion_point(field_set:operations_research.MPSolutionResponse.variable_value)
3158 }
3159 inline void MPSolutionResponse::add_variable_value(double value) {
3160  variable_value_.Add(value);
3161  // @@protoc_insertion_point(field_add:operations_research.MPSolutionResponse.variable_value)
3162 }
3163 inline const ::google::protobuf::RepeatedField< double >&
3165  // @@protoc_insertion_point(field_list:operations_research.MPSolutionResponse.variable_value)
3166  return variable_value_;
3167 }
3168 inline ::google::protobuf::RepeatedField< double >*
3170  // @@protoc_insertion_point(field_mutable_list:operations_research.MPSolutionResponse.variable_value)
3171  return &variable_value_;
3173 
3174 // repeated double dual_value = 4 [packed = true];
3175 inline int MPSolutionResponse::dual_value_size() const {
3176  return dual_value_.size();
3177 }
3179  dual_value_.Clear();
3181 inline double MPSolutionResponse::dual_value(int index) const {
3182  // @@protoc_insertion_point(field_get:operations_research.MPSolutionResponse.dual_value)
3183  return dual_value_.Get(index);
3184 }
3185 inline void MPSolutionResponse::set_dual_value(int index, double value) {
3186  dual_value_.Set(index, value);
3187  // @@protoc_insertion_point(field_set:operations_research.MPSolutionResponse.dual_value)
3188 }
3189 inline void MPSolutionResponse::add_dual_value(double value) {
3190  dual_value_.Add(value);
3191  // @@protoc_insertion_point(field_add:operations_research.MPSolutionResponse.dual_value)
3192 }
3193 inline const ::google::protobuf::RepeatedField< double >&
3195  // @@protoc_insertion_point(field_list:operations_research.MPSolutionResponse.dual_value)
3196  return dual_value_;
3197 }
3198 inline ::google::protobuf::RepeatedField< double >*
3200  // @@protoc_insertion_point(field_mutable_list:operations_research.MPSolutionResponse.dual_value)
3201  return &dual_value_;
3203 
3204 // repeated double reduced_cost = 6 [packed = true];
3205 inline int MPSolutionResponse::reduced_cost_size() const {
3206  return reduced_cost_.size();
3207 }
3209  reduced_cost_.Clear();
3211 inline double MPSolutionResponse::reduced_cost(int index) const {
3212  // @@protoc_insertion_point(field_get:operations_research.MPSolutionResponse.reduced_cost)
3213  return reduced_cost_.Get(index);
3214 }
3215 inline void MPSolutionResponse::set_reduced_cost(int index, double value) {
3216  reduced_cost_.Set(index, value);
3217  // @@protoc_insertion_point(field_set:operations_research.MPSolutionResponse.reduced_cost)
3218 }
3219 inline void MPSolutionResponse::add_reduced_cost(double value) {
3220  reduced_cost_.Add(value);
3221  // @@protoc_insertion_point(field_add:operations_research.MPSolutionResponse.reduced_cost)
3222 }
3223 inline const ::google::protobuf::RepeatedField< double >&
3225  // @@protoc_insertion_point(field_list:operations_research.MPSolutionResponse.reduced_cost)
3226  return reduced_cost_;
3227 }
3228 inline ::google::protobuf::RepeatedField< double >*
3230  // @@protoc_insertion_point(field_mutable_list:operations_research.MPSolutionResponse.reduced_cost)
3231  return &reduced_cost_;
3233 
3234 #ifdef __GNUC__
3235  #pragma GCC diagnostic pop
3236 #endif // __GNUC__
3237 // -------------------------------------------------------------------
3238 
3239 // -------------------------------------------------------------------
3241 // -------------------------------------------------------------------
3242 
3243 // -------------------------------------------------------------------
3244 
3245 // -------------------------------------------------------------------
3246 
3247 // -------------------------------------------------------------------
3248 
3249 // -------------------------------------------------------------------
3251 // -------------------------------------------------------------------
3252 
3253 // -------------------------------------------------------------------
3254 
3255 
3256 // @@protoc_insertion_point(namespace_scope)
3257 
3258 } // namespace operations_research
3259 
3260 namespace google {
3261 namespace protobuf {
3262 
3263 template <> struct is_proto_enum< ::operations_research::MPSolverCommonParameters_LPAlgorithmValues> : ::std::true_type {};
3264 template <>
3265 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::MPSolverCommonParameters_LPAlgorithmValues>() {
3267 }
3268 template <> struct is_proto_enum< ::operations_research::MPModelRequest_SolverType> : ::std::true_type {};
3269 template <>
3270 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::MPModelRequest_SolverType>() {
3272 }
3273 template <> struct is_proto_enum< ::operations_research::MPSolverResponseStatus> : ::std::true_type {};
3274 template <>
3275 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::MPSolverResponseStatus>() {
3277 }
3278 
3279 } // namespace protobuf
3280 } // namespace google
3281 
3282 // @@protoc_insertion_point(global_scope)
3283 
3284 #include <google/protobuf/port_undef.inc>
3285 #endif // PROTOBUF_INCLUDED_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
bool has_var_index() const
optional int32 var_index = 1;
const ::google::protobuf::EnumDescriptor * MPModelRequest_SolverType_descriptor()
void CopyFrom(const ::google::protobuf::Message &from) final
void set_solver_time_limit_seconds(double value)
void Swap(MPModelProto *other)
bool has_is_lazy() const
optional bool is_lazy = 5 [default = false];
::google::protobuf::int32 var_value() const
bool has_constraint() const
nested types -------------------------------------------------—
static const MPGeneralConstraintProto & default_instance()
const ::operations_research::MPIndicatorConstraint & indicator_constraint() const
int general_constraint_size() const
repeated .operations_research.MPGeneralConstraintProto general_constraint = 7;
static const ::google::protobuf::Descriptor * descriptor()
void set_var_index(int index, ::google::protobuf::int32 value)
static const ::google::protobuf::internal::SerializationTable serialization_table[]
void set_lp_algorithm(::operations_research::MPSolverCommonParameters_LPAlgorithmValues value)
bool MPModelRequest_SolverType_Parse(const ::std::string &name, MPModelRequest_SolverType *value)
inline ::google::protobuf::UnknownFieldSet * mutable_unknown_fields()
void CopyFrom(const ::google::protobuf::Message &from) final
bool MergePartialFromCodedStream(::google::protobuf::io::CodedInputStream *input) final
MPGeneralConstraintProto & operator=(const MPGeneralConstraintProto &from)
void Swap(PartialVariableAssignment *other)
void set_coefficient(int index, double value)
bool MPModelRequest_SolverType_IsValid(int value)
MPVariableProto * New() const final
implements Message -------------------------------------------—
::operations_research::MPModelProto * mutable_model()
bool has_objective_value() const
optional double objective_value = 2;
MPVariableProto & operator=(const MPVariableProto &from)
bool MPSolverResponseStatus_Parse(const ::std::string &name, MPSolverResponseStatus *value)
::operations_research::OptionalDouble * mutable_relative_mip_gap()
void Swap(MPVariableProto *other)
::google::protobuf::uint8 * InternalSerializeWithCachedSizesToArray(::google::protobuf::uint8 *target) const final
void AddDescriptors_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto()
int variable_size() const
nested types -------------------------------------------------—
void set_reduced_cost(int index, double value)
void set_name(const ::std::string &value)
const ::google::protobuf::EnumDescriptor * MPSolverResponseStatus_descriptor()
::operations_research::PartialVariableAssignment * release_solution_hint()
bool MPSolverResponseStatus_IsValid(int value)
void set_allocated_constraint(::operations_research::MPConstraintProto *constraint)
const ::operations_research::OptionalDouble & dual_tolerance() const
void set_allocated_name(::std::string *name)
void MergeFrom(const ::google::protobuf::Message &from) final
GeneralConstraintCase general_constraint_case() const
::google::protobuf::RepeatedField< double > * mutable_reduced_cost()
static const MPGeneralConstraintProto * internal_default_instance()
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::std::string & name() const
::operations_research::MPGeneralConstraintProto * add_general_constraint()
::google::protobuf::Metadata GetMetadata() const final
bool has_model() const
optional .operations_research.MPModelProto model = 1;
void set_status(::operations_research::MPSolverResponseStatus value)
bool MergePartialFromCodedStream(::google::protobuf::io::CodedInputStream *input) final
friend void swap(MPGeneralConstraintProto &a, MPGeneralConstraintProto &b)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const
bool MPSolverCommonParameters_LPAlgorithmValues_IsValid(int value)
static const ::google::protobuf::internal::ParseTableField entries [] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
::google::protobuf::Metadata GetMetadata() const final
bool has_name() const
optional string name = 5 [default = ""];
::operations_research::OptionalDouble * mutable_dual_tolerance()
::google::protobuf::RepeatedPtrField< ::operations_research::MPVariableProto > * mutable_variable()
bool has_best_objective_bound() const
optional double best_objective_bound = 5;
::operations_research::MPModelProto * release_model()
static const MPVariableProto * internal_default_instance()
friend void swap(MPConstraintProto &a, MPConstraintProto &b)
::google::protobuf::int32 var_index() const
void Swap(MPSolverCommonParameters *other)
const ::std::string & name() const
bool has_indicator_constraint() const
optional .operations_research.MPIndicatorConstraint indicator_constraint = 2;
void CopyFrom(const ::google::protobuf::Message &from) final
void MergeFrom(const ::google::protobuf::Message &from) final
inline ::google::protobuf::UnknownFieldSet * mutable_unknown_fields()
void set_var_index(int index, ::google::protobuf::int32 value)
::google::protobuf::RepeatedField< double > * mutable_var_value()
MPVariableProtoDefaultTypeInternal _MPVariableProto_default_instance_
bool has_dual_tolerance() const
optional .operations_research.OptionalDouble dual_tolerance = 3;
const ::operations_research::MPConstraintProto & constraint() const
::operations_research::MPConstraintProto * add_constraint()
::google::protobuf::uint8 * InternalSerializeWithCachedSizesToArray(::google::protobuf::uint8 *target) const final
MPConstraintProto * New() const final
implements Message -------------------------------------------—
::google::protobuf::RepeatedField< ::google::protobuf::int32 > * mutable_var_index()
::google::protobuf::RepeatedField< ::google::protobuf::int32 > * mutable_var_index()
void Swap(MPIndicatorConstraint *other)
const ::operations_research::OptionalDouble & primal_tolerance() const
bool has_scaling() const
optional .operations_research.OptionalBoolean scaling = 7 [default = BOOL_UNSPECIFIED];
const MPModelRequest_SolverType MPModelRequest_SolverType_SolverType_MAX
MPGeneralConstraintProtoDefaultTypeInternal _MPGeneralConstraintProto_default_instance_
void set_allocated_primal_tolerance(::operations_research::OptionalDouble *primal_tolerance)
::operations_research::OptionalDouble * release_primal_tolerance()
void set_scaling(::operations_research::OptionalBoolean value)
MPIndicatorConstraintDefaultTypeInternal _MPIndicatorConstraint_default_instance_
bool has_is_integer() const
optional bool is_integer = 4 [default = false];
const ::google::protobuf::RepeatedField< double > & dual_value() const
const ::operations_research::PartialVariableAssignment & solution_hint() const
const ::operations_research::OptionalDouble & relative_mip_gap() const
MPIndicatorConstraint * New() const final
implements Message -------------------------------------------—
MPSolutionResponse & operator=(const MPSolutionResponse &from)
bool has_lp_algorithm() const
optional .operations_research.MPSolverCommonParameters.LPAlgorithmValues lp_algorithm = 4 [default = ...
void SerializeWithCachedSizes(::google::protobuf::io::CodedOutputStream *output) const final
const ::google::protobuf::RepeatedPtrField< ::operations_research::MPConstraintProto > & constraint() const
::google::protobuf::RepeatedField< double > * mutable_variable_value()
static const MPIndicatorConstraint & default_instance()
bool has_solver_time_limit_seconds() const
optional double solver_time_limit_seconds = 3;
bool has_presolve() const
optional .operations_research.OptionalBoolean presolve = 5 [default = BOOL_UNSPECIFIED];
MPConstraintProto & operator=(const MPConstraintProto &from)
::operations_research::OptionalDouble * mutable_primal_tolerance()
bool has_solver_type() const
optional .operations_research.MPModelRequest.SolverType solver_type = 2;
void set_var_index(::google::protobuf::int32 value)
void Swap(OptionalDouble *other)
void set_dual_value(int index, double value)
OptionalDoubleDefaultTypeInternal _OptionalDouble_default_instance_
::google::protobuf::RepeatedPtrField< ::operations_research::MPConstraintProto > * mutable_constraint()
bool has_enable_internal_solver_output() const
optional bool enable_internal_solver_output = 4 [default = false];
int coefficient_size() const
repeated double coefficient = 7 [packed = true];
::operations_research::MPVariableProto * add_variable()
void set_allocated_solution_hint(::operations_research::PartialVariableAssignment *solution_hint)
bool has_name() const
optional string name = 4 [default = ""];
bool has_name() const
nested types -------------------------------------------------—
inline ::google::protobuf::UnknownFieldSet * mutable_unknown_fields()
bool MergePartialFromCodedStream(::google::protobuf::io::CodedInputStream *input) final
const MPSolverResponseStatus MPSolverResponseStatus_MIN
static const MPConstraintProto * internal_default_instance()
int dual_value_size() const
repeated double dual_value = 4 [packed = true];
::operations_research::MPConstraintProto * mutable_constraint()
::operations_research::OptionalBoolean presolve() const
static const ::google::protobuf::Descriptor * descriptor()
const ::google::protobuf::RepeatedField< ::google::protobuf::int32 > & var_index() const
void set_allocated_solver_specific_parameters(::std::string *solver_specific_parameters)
void set_allocated_dual_tolerance(::operations_research::OptionalDouble *dual_tolerance)
void set_allocated_name(::std::string *name)
::operations_research::OptionalBoolean scaling() const
MPModelRequestDefaultTypeInternal _MPModelRequest_default_instance_
void set_allocated_name(::std::string *name)
int var_value_size() const
repeated double var_value = 2 [packed = true];
::google::protobuf::Metadata GetMetadata() const final
static const MPConstraintProto & default_instance()
const ::google::protobuf::UnknownFieldSet & unknown_fields() const
bool has_solution_hint() const
optional .operations_research.PartialVariableAssignment solution_hint = 6;
const ::google::protobuf::RepeatedField< double > & variable_value() const
int constraint_size() const
repeated .operations_research.MPConstraintProto constraint = 4;
void Swap(MPGeneralConstraintProto *other)
bool has_maximize() const
optional bool maximize = 1 [default = false];
MPModelProtoDefaultTypeInternal _MPModelProto_default_instance_
bool has_lower_bound() const
optional double lower_bound = 2 [default = -inf];
const ::std::string & solver_specific_parameters() const
Internal implementation detail – do not use these members.
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
::google::protobuf::RepeatedPtrField< ::operations_research::MPGeneralConstraintProto > * mutable_general_constraint()
MPGeneralConstraintProto * New() const final
implements Message -------------------------------------------—
int var_index_size() const
nested types -------------------------------------------------—
void set_solver_type(::operations_research::MPModelRequest_SolverType value)
void set_var_value(::google::protobuf::int32 value)
bool has_upper_bound() const
optional double upper_bound = 2 [default = inf];
bool has_primal_tolerance() const
optional .operations_research.OptionalDouble primal_tolerance = 2;
static const MPIndicatorConstraint * internal_default_instance()
bool has_name() const
nested types -------------------------------------------------—
const MPSolverCommonParameters_LPAlgorithmValues MPSolverCommonParameters_LPAlgorithmValues_LPAlgorithmValues_MAX
MPConstraintProtoDefaultTypeInternal _MPConstraintProto_default_instance_
::operations_research::MPSolverCommonParameters_LPAlgorithmValues lp_algorithm() const
::operations_research::MPConstraintProto * release_constraint()
PartialVariableAssignmentDefaultTypeInternal _PartialVariableAssignment_default_instance_
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void add_var_index(::google::protobuf::int32 value)
void Swap(MPModelRequest *other)
bool has_upper_bound() const
optional double upper_bound = 3 [default = inf];
const ::google::protobuf::RepeatedField< double > & var_value() const
void CopyFrom(const ::google::protobuf::Message &from) final
const ::google::protobuf::UnknownFieldSet & unknown_fields() const
void set_name(const ::std::string &value)
::google::protobuf::Metadata GetMetadata() const final
const ::std::string & MPSolverCommonParameters_LPAlgorithmValues_Name(MPSolverCommonParameters_LPAlgorithmValues value)
bool has_var_value() const
optional int32 var_value = 2;
::operations_research::PartialVariableAssignment * mutable_solution_hint()
void set_allocated_indicator_constraint(::operations_research::MPIndicatorConstraint *indicator_constraint)
friend void swap(MPIndicatorConstraint &a, MPIndicatorConstraint &b)
const MPSolverCommonParameters_LPAlgorithmValues MPSolverCommonParameters_LPAlgorithmValues_LPAlgorithmValues_MIN
const int MPSolverCommonParameters_LPAlgorithmValues_LPAlgorithmValues_ARRAYSIZE
bool has_relative_mip_gap() const
accessors ----------------------------------------------------—
const ::std::string & MPModelRequest_SolverType_Name(MPModelRequest_SolverType value)
void Swap(MPConstraintProto *other)
::google::protobuf::uint8 * InternalSerializeWithCachedSizesToArray(::google::protobuf::uint8 *target) const final
void set_name(const ::std::string &value)
::operations_research::MPIndicatorConstraint * release_indicator_constraint()
const ::std::string & MPSolverResponseStatus_Name(MPSolverResponseStatus value)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const
bool has_status() const
optional .operations_research.MPSolverResponseStatus status = 1 [default = MPSOLVER_UNKNOWN_STATUS];
void MergeFrom(const ::google::protobuf::Message &from) final
const ::google::protobuf::RepeatedPtrField< ::operations_research::MPGeneralConstraintProto > & general_constraint() const
void set_solver_specific_parameters(const ::std::string &value)
const ::google::protobuf::EnumDescriptor * MPSolverCommonParameters_LPAlgorithmValues_descriptor()
static const MPVariableProto & default_instance()
bool has_lower_bound() const
optional double lower_bound = 1 [default = -inf];
void SerializeWithCachedSizes(::google::protobuf::io::CodedOutputStream *output) const final
::google::protobuf::RepeatedField< double > * mutable_coefficient()
void SerializeWithCachedSizes(::google::protobuf::io::CodedOutputStream *output) const final
const int MPSolverResponseStatus_ARRAYSIZE
const MPSolverResponseStatus MPSolverResponseStatus_MAX
bool MergePartialFromCodedStream(::google::protobuf::io::CodedInputStream *input) final
static const ::google::protobuf::Descriptor * descriptor()
void MergeFrom(const ::google::protobuf::Message &from) final
int reduced_cost_size() const
repeated double reduced_cost = 6 [packed = true];
MPSolutionResponseDefaultTypeInternal _MPSolutionResponse_default_instance_
friend void swap(MPVariableProto &a, MPVariableProto &b)
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in c...
void set_presolve(::operations_research::OptionalBoolean value)
::operations_research::OptionalDouble * release_dual_tolerance()
void Swap(MPSolutionResponse *other)
bool has_value() const
nested types -------------------------------------------------—
const ::google::protobuf::RepeatedField< double > & coefficient() const
const ::operations_research::MPModelProto & model() const
::operations_research::MPModelRequest_SolverType solver_type() const
::google::protobuf::RepeatedField< double > * mutable_dual_value()
MPSolverCommonParametersDefaultTypeInternal _MPSolverCommonParameters_default_instance_
::std::string * mutable_solver_specific_parameters()
const int MPModelRequest_SolverType_SolverType_ARRAYSIZE
bool has_solver_specific_parameters() const
accessors ----------------------------------------------------—
::operations_research::OptionalDouble * release_relative_mip_gap()
bool MPSolverCommonParameters_LPAlgorithmValues_Parse(const ::std::string &name, MPSolverCommonParameters_LPAlgorithmValues *value)
static const ::google::protobuf::Descriptor * descriptor()
const MPModelRequest_SolverType MPModelRequest_SolverType_SolverType_MIN
void set_allocated_model(::operations_research::MPModelProto *model)
const ::google::protobuf::RepeatedPtrField< ::operations_research::MPVariableProto > & variable() const
::google::protobuf::uint8 * InternalSerializeWithCachedSizesToArray(::google::protobuf::uint8 *target) const final
void SerializeWithCachedSizes(::google::protobuf::io::CodedOutputStream *output) const final
int variable_value_size() const
nested types -------------------------------------------------—
::operations_research::MPSolverResponseStatus status() const
::std::string * release_solver_specific_parameters()
void set_variable_value(int index, double value)
void set_name(const ::std::string &value)
bool has_objective_coefficient() const
optional double objective_coefficient = 3 [default = 0];
bool has_objective_offset() const
optional double objective_offset = 2 [default = 0];
const ::std::string & name() const
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
::operations_research::MPIndicatorConstraint * mutable_indicator_constraint()
const ::google::protobuf::RepeatedField< ::google::protobuf::int32 > & var_index() const
inline ::google::protobuf::UnknownFieldSet * mutable_unknown_fields()
const ::google::protobuf::RepeatedField< double > & reduced_cost() const
MPIndicatorConstraint & operator=(const MPIndicatorConstraint &from)
void set_allocated_relative_mip_gap(::operations_research::OptionalDouble *relative_mip_gap)
void add_var_index(::google::protobuf::int32 value)
int var_index_size() const
nested types -------------------------------------------------—
void set_enable_internal_solver_output(bool value)
static const ::google::protobuf::internal::FieldMetadata field_metadata[]