OR-Tools  8.2
linear_solver.pb.cc
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 
5 
6 #include <algorithm>
7 
8 #include <google/protobuf/io/coded_stream.h>
9 #include <google/protobuf/extension_set.h>
10 #include <google/protobuf/wire_format_lite.h>
11 #include <google/protobuf/descriptor.h>
12 #include <google/protobuf/generated_message_reflection.h>
13 #include <google/protobuf/reflection_ops.h>
14 #include <google/protobuf/wire_format.h>
15 // @@protoc_insertion_point(includes)
16 #include <google/protobuf/port_def.inc>
17 extern PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_MPAbsConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
18 extern PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_MPArrayConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
19 extern PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_MPArrayWithConstantConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
20 extern PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_MPConstraintProto_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
21 extern PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<6> scc_info_MPGeneralConstraintProto_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
22 extern PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_MPIndicatorConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
23 extern PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_MPModelDeltaProto_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
24 extern PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
25 extern PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_MPModelDeltaProto_VariableOverridesEntry_DoNotUse_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
26 extern PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<5> scc_info_MPModelProto_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
27 extern PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_MPQuadraticConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
28 extern PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_MPQuadraticObjective_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
29 extern PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_MPSosConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
30 extern PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_MPVariableProto_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
31 extern PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_OptionalDouble_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
32 extern PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_PartialVariableAssignment_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto;
33 namespace operations_research {
35  public:
36  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<MPVariableProto> _instance;
39  public:
40  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<MPConstraintProto> _instance;
43  public:
44  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<MPGeneralConstraintProto> _instance;
47  public:
48  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<MPIndicatorConstraint> _instance;
51  public:
52  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<MPSosConstraint> _instance;
55  public:
56  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<MPQuadraticConstraint> _instance;
59  public:
60  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<MPAbsConstraint> _instance;
63  public:
64  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<MPArrayConstraint> _instance;
67  public:
68  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<MPArrayWithConstantConstraint> _instance;
71  public:
72  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<MPQuadraticObjective> _instance;
75  public:
76  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<PartialVariableAssignment> _instance;
79  public:
80  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<MPModelProto> _instance;
83  public:
84  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<OptionalDouble> _instance;
87  public:
88  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<MPSolverCommonParameters> _instance;
91  public:
92  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<MPModelDeltaProto_VariableOverridesEntry_DoNotUse> _instance;
95  public:
96  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse> _instance;
99  public:
100  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<MPModelDeltaProto> _instance;
103  public:
104  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<MPModelRequest> _instance;
107  public:
108  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<MPSolutionResponse> _instance;
110 } // namespace operations_research
112  GOOGLE_PROTOBUF_VERIFY_VERSION;
113 
114  {
116  new (ptr) ::operations_research::MPAbsConstraint();
117  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
118  }
119 }
120 
122  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_MPAbsConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto}, {}};
123 
125  GOOGLE_PROTOBUF_VERIFY_VERSION;
126 
127  {
129  new (ptr) ::operations_research::MPArrayConstraint();
130  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
131  }
132 }
133 
135  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_MPArrayConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto}, {}};
136 
138  GOOGLE_PROTOBUF_VERIFY_VERSION;
139 
140  {
142  new (ptr) ::operations_research::MPArrayWithConstantConstraint();
143  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
144  }
145 }
146 
148  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_MPArrayWithConstantConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto}, {}};
149 
151  GOOGLE_PROTOBUF_VERIFY_VERSION;
152 
153  {
155  new (ptr) ::operations_research::MPConstraintProto();
156  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
157  }
158 }
159 
161  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_MPConstraintProto_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto}, {}};
162 
164  GOOGLE_PROTOBUF_VERIFY_VERSION;
165 
166  {
168  new (ptr) ::operations_research::MPGeneralConstraintProto();
169  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
170  }
171 }
172 
174  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 6, 0, InitDefaultsscc_info_MPGeneralConstraintProto_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto}, {
181 
183  GOOGLE_PROTOBUF_VERIFY_VERSION;
184 
185  {
187  new (ptr) ::operations_research::MPIndicatorConstraint();
188  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
189  }
190 }
191 
193  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, 0, InitDefaultsscc_info_MPIndicatorConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto}, {
195 
197  GOOGLE_PROTOBUF_VERIFY_VERSION;
198 
199  {
201  new (ptr) ::operations_research::MPModelDeltaProto();
202  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
203  }
204 }
205 
207  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 2, 0, InitDefaultsscc_info_MPModelDeltaProto_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto}, {
210 
212  GOOGLE_PROTOBUF_VERIFY_VERSION;
213 
214  {
217  }
218 }
219 
221  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, 0, InitDefaultsscc_info_MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto}, {
223 
225  GOOGLE_PROTOBUF_VERIFY_VERSION;
226 
227  {
230  }
231 }
232 
234  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, 0, InitDefaultsscc_info_MPModelDeltaProto_VariableOverridesEntry_DoNotUse_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto}, {
236 
238  GOOGLE_PROTOBUF_VERIFY_VERSION;
239 
240  {
242  new (ptr) ::operations_research::MPModelProto();
243  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
244  }
245 }
246 
248  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 5, 0, InitDefaultsscc_info_MPModelProto_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto}, {
254 
256  GOOGLE_PROTOBUF_VERIFY_VERSION;
257 
258  {
260  new (ptr) ::operations_research::MPModelRequest();
261  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
262  }
263 }
264 
266  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 2, 0, InitDefaultsscc_info_MPModelRequest_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto}, {
269 
271  GOOGLE_PROTOBUF_VERIFY_VERSION;
272 
273  {
275  new (ptr) ::operations_research::MPQuadraticConstraint();
276  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
277  }
278 }
279 
281  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_MPQuadraticConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto}, {}};
282 
284  GOOGLE_PROTOBUF_VERIFY_VERSION;
285 
286  {
288  new (ptr) ::operations_research::MPQuadraticObjective();
289  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
290  }
291 }
292 
294  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_MPQuadraticObjective_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto}, {}};
295 
297  GOOGLE_PROTOBUF_VERIFY_VERSION;
298 
299  {
301  new (ptr) ::operations_research::MPSolutionResponse();
302  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
303  }
304 }
305 
307  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_MPSolutionResponse_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto}, {}};
308 
310  GOOGLE_PROTOBUF_VERIFY_VERSION;
311 
312  {
314  new (ptr) ::operations_research::MPSolverCommonParameters();
315  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
316  }
317 }
318 
320  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, 0, InitDefaultsscc_info_MPSolverCommonParameters_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto}, {
322 
324  GOOGLE_PROTOBUF_VERIFY_VERSION;
325 
326  {
328  new (ptr) ::operations_research::MPSosConstraint();
329  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
330  }
331 }
332 
334  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_MPSosConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto}, {}};
335 
337  GOOGLE_PROTOBUF_VERIFY_VERSION;
338 
339  {
341  new (ptr) ::operations_research::MPVariableProto();
342  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
343  }
344 }
345 
347  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_MPVariableProto_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto}, {}};
348 
350  GOOGLE_PROTOBUF_VERIFY_VERSION;
351 
352  {
354  new (ptr) ::operations_research::OptionalDouble();
355  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
356  }
357 }
358 
360  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_OptionalDouble_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto}, {}};
361 
363  GOOGLE_PROTOBUF_VERIFY_VERSION;
364 
365  {
367  new (ptr) ::operations_research::PartialVariableAssignment();
368  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
369  }
370 }
371 
373  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_PartialVariableAssignment_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto}, {}};
374 
376 static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto[4];
377 static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto = nullptr;
378 
380  PROTOBUF_FIELD_OFFSET(::operations_research::MPVariableProto, _has_bits_),
381  PROTOBUF_FIELD_OFFSET(::operations_research::MPVariableProto, _internal_metadata_),
382  ~0u, // no _extensions_
383  ~0u, // no _oneof_case_
384  ~0u, // no _weak_field_map_
385  PROTOBUF_FIELD_OFFSET(::operations_research::MPVariableProto, lower_bound_),
386  PROTOBUF_FIELD_OFFSET(::operations_research::MPVariableProto, upper_bound_),
387  PROTOBUF_FIELD_OFFSET(::operations_research::MPVariableProto, objective_coefficient_),
388  PROTOBUF_FIELD_OFFSET(::operations_research::MPVariableProto, is_integer_),
389  PROTOBUF_FIELD_OFFSET(::operations_research::MPVariableProto, name_),
390  PROTOBUF_FIELD_OFFSET(::operations_research::MPVariableProto, branching_priority_),
391  4,
392  5,
393  1,
394  2,
395  0,
396  3,
397  PROTOBUF_FIELD_OFFSET(::operations_research::MPConstraintProto, _has_bits_),
398  PROTOBUF_FIELD_OFFSET(::operations_research::MPConstraintProto, _internal_metadata_),
399  ~0u, // no _extensions_
400  ~0u, // no _oneof_case_
401  ~0u, // no _weak_field_map_
402  PROTOBUF_FIELD_OFFSET(::operations_research::MPConstraintProto, var_index_),
403  PROTOBUF_FIELD_OFFSET(::operations_research::MPConstraintProto, coefficient_),
404  PROTOBUF_FIELD_OFFSET(::operations_research::MPConstraintProto, lower_bound_),
405  PROTOBUF_FIELD_OFFSET(::operations_research::MPConstraintProto, upper_bound_),
406  PROTOBUF_FIELD_OFFSET(::operations_research::MPConstraintProto, name_),
407  PROTOBUF_FIELD_OFFSET(::operations_research::MPConstraintProto, is_lazy_),
408  ~0u,
409  ~0u,
410  2,
411  3,
412  0,
413  1,
414  PROTOBUF_FIELD_OFFSET(::operations_research::MPGeneralConstraintProto, _has_bits_),
415  PROTOBUF_FIELD_OFFSET(::operations_research::MPGeneralConstraintProto, _internal_metadata_),
416  ~0u, // no _extensions_
417  PROTOBUF_FIELD_OFFSET(::operations_research::MPGeneralConstraintProto, _oneof_case_[0]),
418  ~0u, // no _weak_field_map_
419  PROTOBUF_FIELD_OFFSET(::operations_research::MPGeneralConstraintProto, name_),
420  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
421  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
422  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
423  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
424  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
425  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
426  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
427  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
428  PROTOBUF_FIELD_OFFSET(::operations_research::MPGeneralConstraintProto, general_constraint_),
429  0,
430  ~0u,
431  ~0u,
432  ~0u,
433  ~0u,
434  ~0u,
435  ~0u,
436  ~0u,
437  ~0u,
438  PROTOBUF_FIELD_OFFSET(::operations_research::MPIndicatorConstraint, _has_bits_),
439  PROTOBUF_FIELD_OFFSET(::operations_research::MPIndicatorConstraint, _internal_metadata_),
440  ~0u, // no _extensions_
441  ~0u, // no _oneof_case_
442  ~0u, // no _weak_field_map_
443  PROTOBUF_FIELD_OFFSET(::operations_research::MPIndicatorConstraint, var_index_),
444  PROTOBUF_FIELD_OFFSET(::operations_research::MPIndicatorConstraint, var_value_),
445  PROTOBUF_FIELD_OFFSET(::operations_research::MPIndicatorConstraint, constraint_),
446  1,
447  2,
448  0,
449  PROTOBUF_FIELD_OFFSET(::operations_research::MPSosConstraint, _has_bits_),
450  PROTOBUF_FIELD_OFFSET(::operations_research::MPSosConstraint, _internal_metadata_),
451  ~0u, // no _extensions_
452  ~0u, // no _oneof_case_
453  ~0u, // no _weak_field_map_
454  PROTOBUF_FIELD_OFFSET(::operations_research::MPSosConstraint, type_),
455  PROTOBUF_FIELD_OFFSET(::operations_research::MPSosConstraint, var_index_),
456  PROTOBUF_FIELD_OFFSET(::operations_research::MPSosConstraint, weight_),
457  0,
458  ~0u,
459  ~0u,
460  PROTOBUF_FIELD_OFFSET(::operations_research::MPQuadraticConstraint, _has_bits_),
461  PROTOBUF_FIELD_OFFSET(::operations_research::MPQuadraticConstraint, _internal_metadata_),
462  ~0u, // no _extensions_
463  ~0u, // no _oneof_case_
464  ~0u, // no _weak_field_map_
465  PROTOBUF_FIELD_OFFSET(::operations_research::MPQuadraticConstraint, var_index_),
466  PROTOBUF_FIELD_OFFSET(::operations_research::MPQuadraticConstraint, coefficient_),
467  PROTOBUF_FIELD_OFFSET(::operations_research::MPQuadraticConstraint, qvar1_index_),
468  PROTOBUF_FIELD_OFFSET(::operations_research::MPQuadraticConstraint, qvar2_index_),
469  PROTOBUF_FIELD_OFFSET(::operations_research::MPQuadraticConstraint, qcoefficient_),
470  PROTOBUF_FIELD_OFFSET(::operations_research::MPQuadraticConstraint, lower_bound_),
471  PROTOBUF_FIELD_OFFSET(::operations_research::MPQuadraticConstraint, upper_bound_),
472  ~0u,
473  ~0u,
474  ~0u,
475  ~0u,
476  ~0u,
477  0,
478  1,
479  PROTOBUF_FIELD_OFFSET(::operations_research::MPAbsConstraint, _has_bits_),
480  PROTOBUF_FIELD_OFFSET(::operations_research::MPAbsConstraint, _internal_metadata_),
481  ~0u, // no _extensions_
482  ~0u, // no _oneof_case_
483  ~0u, // no _weak_field_map_
484  PROTOBUF_FIELD_OFFSET(::operations_research::MPAbsConstraint, var_index_),
485  PROTOBUF_FIELD_OFFSET(::operations_research::MPAbsConstraint, resultant_var_index_),
486  0,
487  1,
488  PROTOBUF_FIELD_OFFSET(::operations_research::MPArrayConstraint, _has_bits_),
489  PROTOBUF_FIELD_OFFSET(::operations_research::MPArrayConstraint, _internal_metadata_),
490  ~0u, // no _extensions_
491  ~0u, // no _oneof_case_
492  ~0u, // no _weak_field_map_
493  PROTOBUF_FIELD_OFFSET(::operations_research::MPArrayConstraint, var_index_),
494  PROTOBUF_FIELD_OFFSET(::operations_research::MPArrayConstraint, resultant_var_index_),
495  ~0u,
496  0,
497  PROTOBUF_FIELD_OFFSET(::operations_research::MPArrayWithConstantConstraint, _has_bits_),
498  PROTOBUF_FIELD_OFFSET(::operations_research::MPArrayWithConstantConstraint, _internal_metadata_),
499  ~0u, // no _extensions_
500  ~0u, // no _oneof_case_
501  ~0u, // no _weak_field_map_
502  PROTOBUF_FIELD_OFFSET(::operations_research::MPArrayWithConstantConstraint, var_index_),
503  PROTOBUF_FIELD_OFFSET(::operations_research::MPArrayWithConstantConstraint, constant_),
504  PROTOBUF_FIELD_OFFSET(::operations_research::MPArrayWithConstantConstraint, resultant_var_index_),
505  ~0u,
506  0,
507  1,
508  ~0u, // no _has_bits_
509  PROTOBUF_FIELD_OFFSET(::operations_research::MPQuadraticObjective, _internal_metadata_),
510  ~0u, // no _extensions_
511  ~0u, // no _oneof_case_
512  ~0u, // no _weak_field_map_
513  PROTOBUF_FIELD_OFFSET(::operations_research::MPQuadraticObjective, qvar1_index_),
514  PROTOBUF_FIELD_OFFSET(::operations_research::MPQuadraticObjective, qvar2_index_),
515  PROTOBUF_FIELD_OFFSET(::operations_research::MPQuadraticObjective, coefficient_),
516  ~0u, // no _has_bits_
517  PROTOBUF_FIELD_OFFSET(::operations_research::PartialVariableAssignment, _internal_metadata_),
518  ~0u, // no _extensions_
519  ~0u, // no _oneof_case_
520  ~0u, // no _weak_field_map_
521  PROTOBUF_FIELD_OFFSET(::operations_research::PartialVariableAssignment, var_index_),
522  PROTOBUF_FIELD_OFFSET(::operations_research::PartialVariableAssignment, var_value_),
523  PROTOBUF_FIELD_OFFSET(::operations_research::MPModelProto, _has_bits_),
524  PROTOBUF_FIELD_OFFSET(::operations_research::MPModelProto, _internal_metadata_),
525  ~0u, // no _extensions_
526  ~0u, // no _oneof_case_
527  ~0u, // no _weak_field_map_
528  PROTOBUF_FIELD_OFFSET(::operations_research::MPModelProto, variable_),
529  PROTOBUF_FIELD_OFFSET(::operations_research::MPModelProto, constraint_),
530  PROTOBUF_FIELD_OFFSET(::operations_research::MPModelProto, general_constraint_),
531  PROTOBUF_FIELD_OFFSET(::operations_research::MPModelProto, maximize_),
532  PROTOBUF_FIELD_OFFSET(::operations_research::MPModelProto, objective_offset_),
533  PROTOBUF_FIELD_OFFSET(::operations_research::MPModelProto, quadratic_objective_),
534  PROTOBUF_FIELD_OFFSET(::operations_research::MPModelProto, name_),
535  PROTOBUF_FIELD_OFFSET(::operations_research::MPModelProto, solution_hint_),
536  ~0u,
537  ~0u,
538  ~0u,
539  4,
540  3,
541  2,
542  0,
543  1,
544  PROTOBUF_FIELD_OFFSET(::operations_research::OptionalDouble, _has_bits_),
545  PROTOBUF_FIELD_OFFSET(::operations_research::OptionalDouble, _internal_metadata_),
546  ~0u, // no _extensions_
547  ~0u, // no _oneof_case_
548  ~0u, // no _weak_field_map_
549  PROTOBUF_FIELD_OFFSET(::operations_research::OptionalDouble, value_),
550  0,
551  PROTOBUF_FIELD_OFFSET(::operations_research::MPSolverCommonParameters, _has_bits_),
552  PROTOBUF_FIELD_OFFSET(::operations_research::MPSolverCommonParameters, _internal_metadata_),
553  ~0u, // no _extensions_
554  ~0u, // no _oneof_case_
555  ~0u, // no _weak_field_map_
556  PROTOBUF_FIELD_OFFSET(::operations_research::MPSolverCommonParameters, relative_mip_gap_),
557  PROTOBUF_FIELD_OFFSET(::operations_research::MPSolverCommonParameters, primal_tolerance_),
558  PROTOBUF_FIELD_OFFSET(::operations_research::MPSolverCommonParameters, dual_tolerance_),
559  PROTOBUF_FIELD_OFFSET(::operations_research::MPSolverCommonParameters, lp_algorithm_),
560  PROTOBUF_FIELD_OFFSET(::operations_research::MPSolverCommonParameters, presolve_),
561  PROTOBUF_FIELD_OFFSET(::operations_research::MPSolverCommonParameters, scaling_),
562  0,
563  1,
564  2,
565  3,
566  4,
567  5,
569  PROTOBUF_FIELD_OFFSET(::operations_research::MPModelDeltaProto_VariableOverridesEntry_DoNotUse, _internal_metadata_),
570  ~0u, // no _extensions_
571  ~0u, // no _oneof_case_
572  ~0u, // no _weak_field_map_
575  0,
576  1,
578  PROTOBUF_FIELD_OFFSET(::operations_research::MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse, _internal_metadata_),
579  ~0u, // no _extensions_
580  ~0u, // no _oneof_case_
581  ~0u, // no _weak_field_map_
584  0,
585  1,
586  PROTOBUF_FIELD_OFFSET(::operations_research::MPModelDeltaProto, _has_bits_),
587  PROTOBUF_FIELD_OFFSET(::operations_research::MPModelDeltaProto, _internal_metadata_),
588  ~0u, // no _extensions_
589  ~0u, // no _oneof_case_
590  ~0u, // no _weak_field_map_
591  PROTOBUF_FIELD_OFFSET(::operations_research::MPModelDeltaProto, baseline_model_file_path_),
592  PROTOBUF_FIELD_OFFSET(::operations_research::MPModelDeltaProto, variable_overrides_),
593  PROTOBUF_FIELD_OFFSET(::operations_research::MPModelDeltaProto, constraint_overrides_),
594  0,
595  ~0u,
596  ~0u,
597  PROTOBUF_FIELD_OFFSET(::operations_research::MPModelRequest, _has_bits_),
598  PROTOBUF_FIELD_OFFSET(::operations_research::MPModelRequest, _internal_metadata_),
599  ~0u, // no _extensions_
600  ~0u, // no _oneof_case_
601  ~0u, // no _weak_field_map_
602  PROTOBUF_FIELD_OFFSET(::operations_research::MPModelRequest, model_),
603  PROTOBUF_FIELD_OFFSET(::operations_research::MPModelRequest, solver_type_),
604  PROTOBUF_FIELD_OFFSET(::operations_research::MPModelRequest, solver_time_limit_seconds_),
605  PROTOBUF_FIELD_OFFSET(::operations_research::MPModelRequest, enable_internal_solver_output_),
606  PROTOBUF_FIELD_OFFSET(::operations_research::MPModelRequest, solver_specific_parameters_),
607  PROTOBUF_FIELD_OFFSET(::operations_research::MPModelRequest, ignore_solver_specific_parameters_failure_),
608  PROTOBUF_FIELD_OFFSET(::operations_research::MPModelRequest, model_delta_),
609  1,
610  6,
611  3,
612  4,
613  0,
614  5,
615  2,
616  PROTOBUF_FIELD_OFFSET(::operations_research::MPSolutionResponse, _has_bits_),
617  PROTOBUF_FIELD_OFFSET(::operations_research::MPSolutionResponse, _internal_metadata_),
618  ~0u, // no _extensions_
619  ~0u, // no _oneof_case_
620  ~0u, // no _weak_field_map_
621  PROTOBUF_FIELD_OFFSET(::operations_research::MPSolutionResponse, status_),
622  PROTOBUF_FIELD_OFFSET(::operations_research::MPSolutionResponse, status_str_),
623  PROTOBUF_FIELD_OFFSET(::operations_research::MPSolutionResponse, objective_value_),
624  PROTOBUF_FIELD_OFFSET(::operations_research::MPSolutionResponse, best_objective_bound_),
625  PROTOBUF_FIELD_OFFSET(::operations_research::MPSolutionResponse, variable_value_),
626  PROTOBUF_FIELD_OFFSET(::operations_research::MPSolutionResponse, dual_value_),
627  PROTOBUF_FIELD_OFFSET(::operations_research::MPSolutionResponse, reduced_cost_),
628  3,
629  0,
630  1,
631  2,
632  ~0u,
633  ~0u,
634  ~0u,
635 };
636 static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
637  { 0, 11, sizeof(::operations_research::MPVariableProto)},
638  { 17, 28, sizeof(::operations_research::MPConstraintProto)},
639  { 34, 49, sizeof(::operations_research::MPGeneralConstraintProto)},
640  { 58, 66, sizeof(::operations_research::MPIndicatorConstraint)},
641  { 69, 77, sizeof(::operations_research::MPSosConstraint)},
642  { 80, 92, sizeof(::operations_research::MPQuadraticConstraint)},
643  { 99, 106, sizeof(::operations_research::MPAbsConstraint)},
644  { 108, 115, sizeof(::operations_research::MPArrayConstraint)},
645  { 117, 125, sizeof(::operations_research::MPArrayWithConstantConstraint)},
646  { 128, -1, sizeof(::operations_research::MPQuadraticObjective)},
647  { 136, -1, sizeof(::operations_research::PartialVariableAssignment)},
648  { 143, 156, sizeof(::operations_research::MPModelProto)},
649  { 164, 170, sizeof(::operations_research::OptionalDouble)},
650  { 171, 182, sizeof(::operations_research::MPSolverCommonParameters)},
653  { 206, 214, sizeof(::operations_research::MPModelDeltaProto)},
654  { 217, 229, sizeof(::operations_research::MPModelRequest)},
655  { 236, 248, sizeof(::operations_research::MPSolutionResponse)},
656 };
657 
658 static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
659  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_MPVariableProto_default_instance_),
660  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_MPConstraintProto_default_instance_),
661  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_MPGeneralConstraintProto_default_instance_),
662  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_MPIndicatorConstraint_default_instance_),
663  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_MPSosConstraint_default_instance_),
664  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_MPQuadraticConstraint_default_instance_),
665  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_MPAbsConstraint_default_instance_),
666  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_MPArrayConstraint_default_instance_),
667  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_MPArrayWithConstantConstraint_default_instance_),
668  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_MPQuadraticObjective_default_instance_),
669  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_PartialVariableAssignment_default_instance_),
670  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_MPModelProto_default_instance_),
671  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_OptionalDouble_default_instance_),
672  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_MPSolverCommonParameters_default_instance_),
673  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_MPModelDeltaProto_VariableOverridesEntry_DoNotUse_default_instance_),
674  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse_default_instance_),
675  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_MPModelDeltaProto_default_instance_),
676  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_MPModelRequest_default_instance_),
677  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_MPSolutionResponse_default_instance_),
678 };
679 
680 const char descriptor_table_protodef_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
681  "\n)ortools/linear_solver/linear_solver.pr"
682  "oto\022\023operations_research\032#ortools/util/o"
683  "ptional_boolean.proto\"\262\001\n\017MPVariableProt"
684  "o\022\031\n\013lower_bound\030\001 \001(\001:\004-inf\022\030\n\013upper_bo"
685  "und\030\002 \001(\001:\003inf\022 \n\025objective_coefficient\030"
686  "\003 \001(\001:\0010\022\031\n\nis_integer\030\004 \001(\010:\005false\022\016\n\004n"
687  "ame\030\005 \001(\t:\000\022\035\n\022branching_priority\030\006 \001(\005:"
688  "\0010\"\240\001\n\021MPConstraintProto\022\025\n\tvar_index\030\006 "
689  "\003(\005B\002\020\001\022\027\n\013coefficient\030\007 \003(\001B\002\020\001\022\031\n\013lowe"
690  "r_bound\030\002 \001(\001:\004-inf\022\030\n\013upper_bound\030\003 \001(\001"
691  ":\003inf\022\016\n\004name\030\004 \001(\t:\000\022\026\n\007is_lazy\030\005 \001(\010:\005"
692  "false\"\367\004\n\030MPGeneralConstraintProto\022\016\n\004na"
693  "me\030\001 \001(\t:\000\022J\n\024indicator_constraint\030\002 \001(\013"
694  "2*.operations_research.MPIndicatorConstr"
695  "aintH\000\022>\n\016sos_constraint\030\003 \001(\0132$.operati"
696  "ons_research.MPSosConstraintH\000\022J\n\024quadra"
697  "tic_constraint\030\004 \001(\0132*.operations_resear"
698  "ch.MPQuadraticConstraintH\000\022>\n\016abs_constr"
699  "aint\030\005 \001(\0132$.operations_research.MPAbsCo"
700  "nstraintH\000\022@\n\016and_constraint\030\006 \001(\0132&.ope"
701  "rations_research.MPArrayConstraintH\000\022\?\n\r"
702  "or_constraint\030\007 \001(\0132&.operations_researc"
703  "h.MPArrayConstraintH\000\022L\n\016min_constraint\030"
704  "\010 \001(\01322.operations_research.MPArrayWithC"
705  "onstantConstraintH\000\022L\n\016max_constraint\030\t "
706  "\001(\01322.operations_research.MPArrayWithCon"
707  "stantConstraintH\000B\024\n\022general_constraint\""
708  "y\n\025MPIndicatorConstraint\022\021\n\tvar_index\030\001 "
709  "\001(\005\022\021\n\tvar_value\030\002 \001(\005\022:\n\nconstraint\030\003 \001"
710  "(\0132&.operations_research.MPConstraintPro"
711  "to\"\237\001\n\017MPSosConstraint\022E\n\004type\030\001 \001(\0162).o"
712  "perations_research.MPSosConstraint.Type:"
713  "\014SOS1_DEFAULT\022\021\n\tvar_index\030\002 \003(\005\022\016\n\006weig"
714  "ht\030\003 \003(\001\"\"\n\004Type\022\020\n\014SOS1_DEFAULT\020\000\022\010\n\004SO"
715  "S2\020\001\"\264\001\n\025MPQuadraticConstraint\022\021\n\tvar_in"
716  "dex\030\001 \003(\005\022\023\n\013coefficient\030\002 \003(\001\022\023\n\013qvar1_"
717  "index\030\003 \003(\005\022\023\n\013qvar2_index\030\004 \003(\005\022\024\n\014qcoe"
718  "fficient\030\005 \003(\001\022\031\n\013lower_bound\030\006 \001(\001:\004-in"
719  "f\022\030\n\013upper_bound\030\007 \001(\001:\003inf\"A\n\017MPAbsCons"
720  "traint\022\021\n\tvar_index\030\001 \001(\005\022\033\n\023resultant_v"
721  "ar_index\030\002 \001(\005\"C\n\021MPArrayConstraint\022\021\n\tv"
722  "ar_index\030\001 \003(\005\022\033\n\023resultant_var_index\030\002 "
723  "\001(\005\"a\n\035MPArrayWithConstantConstraint\022\021\n\t"
724  "var_index\030\001 \003(\005\022\020\n\010constant\030\002 \001(\001\022\033\n\023res"
725  "ultant_var_index\030\003 \001(\005\"U\n\024MPQuadraticObj"
726  "ective\022\023\n\013qvar1_index\030\001 \003(\005\022\023\n\013qvar2_ind"
727  "ex\030\002 \003(\005\022\023\n\013coefficient\030\003 \003(\001\"I\n\031Partial"
728  "VariableAssignment\022\025\n\tvar_index\030\001 \003(\005B\002\020"
729  "\001\022\025\n\tvar_value\030\002 \003(\001B\002\020\001\"\242\003\n\014MPModelProt"
730  "o\0226\n\010variable\030\003 \003(\0132$.operations_researc"
731  "h.MPVariableProto\022:\n\nconstraint\030\004 \003(\0132&."
732  "operations_research.MPConstraintProto\022I\n"
733  "\022general_constraint\030\007 \003(\0132-.operations_r"
734  "esearch.MPGeneralConstraintProto\022\027\n\010maxi"
735  "mize\030\001 \001(\010:\005false\022\033\n\020objective_offset\030\002 "
736  "\001(\001:\0010\022F\n\023quadratic_objective\030\010 \001(\0132).op"
737  "erations_research.MPQuadraticObjective\022\016"
738  "\n\004name\030\005 \001(\t:\000\022E\n\rsolution_hint\030\006 \001(\0132.."
739  "operations_research.PartialVariableAssig"
740  "nment\"\037\n\016OptionalDouble\022\r\n\005value\030\001 \001(\001\"\275"
741  "\004\n\030MPSolverCommonParameters\022=\n\020relative_"
742  "mip_gap\030\001 \001(\0132#.operations_research.Opti"
743  "onalDouble\022=\n\020primal_tolerance\030\002 \001(\0132#.o"
744  "perations_research.OptionalDouble\022;\n\016dua"
745  "l_tolerance\030\003 \001(\0132#.operations_research."
746  "OptionalDouble\022j\n\014lp_algorithm\030\004 \001(\0162\?.o"
747  "perations_research.MPSolverCommonParamet"
748  "ers.LPAlgorithmValues:\023LP_ALGO_UNSPECIFI"
749  "ED\022H\n\010presolve\030\005 \001(\0162$.operations_resear"
750  "ch.OptionalBoolean:\020BOOL_UNSPECIFIED\022G\n\007"
751  "scaling\030\007 \001(\0162$.operations_research.Opti"
752  "onalBoolean:\020BOOL_UNSPECIFIED\"g\n\021LPAlgor"
753  "ithmValues\022\027\n\023LP_ALGO_UNSPECIFIED\020\000\022\020\n\014L"
754  "P_ALGO_DUAL\020\001\022\022\n\016LP_ALGO_PRIMAL\020\002\022\023\n\017LP_"
755  "ALGO_BARRIER\020\003\"\263\003\n\021MPModelDeltaProto\022 \n\030"
756  "baseline_model_file_path\030\001 \001(\t\022Y\n\022variab"
757  "le_overrides\030\002 \003(\0132=.operations_research"
758  ".MPModelDeltaProto.VariableOverridesEntr"
759  "y\022]\n\024constraint_overrides\030\003 \003(\0132\?.operat"
760  "ions_research.MPModelDeltaProto.Constrai"
761  "ntOverridesEntry\032^\n\026VariableOverridesEnt"
762  "ry\022\013\n\003key\030\001 \001(\005\0223\n\005value\030\002 \001(\0132$.operati"
763  "ons_research.MPVariableProto:\0028\001\032b\n\030Cons"
764  "traintOverridesEntry\022\013\n\003key\030\001 \001(\005\0225\n\005val"
765  "ue\030\002 \001(\0132&.operations_research.MPConstra"
766  "intProto:\0028\001\"\362\006\n\016MPModelRequest\0220\n\005model"
767  "\030\001 \001(\0132!.operations_research.MPModelProt"
768  "o\022C\n\013solver_type\030\002 \001(\0162..operations_rese"
769  "arch.MPModelRequest.SolverType\022!\n\031solver"
770  "_time_limit_seconds\030\003 \001(\001\022,\n\035enable_inte"
771  "rnal_solver_output\030\004 \001(\010:\005false\022\"\n\032solve"
772  "r_specific_parameters\030\005 \001(\t\0228\n)ignore_so"
773  "lver_specific_parameters_failure\030\t \001(\010:\005"
774  "false\022;\n\013model_delta\030\010 \001(\0132&.operations_"
775  "research.MPModelDeltaProto\"\374\003\n\nSolverTyp"
776  "e\022\033\n\027GLOP_LINEAR_PROGRAMMING\020\002\022\032\n\026CLP_LI"
777  "NEAR_PROGRAMMING\020\000\022\033\n\027GLPK_LINEAR_PROGRA"
778  "MMING\020\001\022\035\n\031GUROBI_LINEAR_PROGRAMMING\020\006\022\035"
779  "\n\031XPRESS_LINEAR_PROGRAMMING\020e\022\034\n\030CPLEX_L"
780  "INEAR_PROGRAMMING\020\n\022\"\n\036SCIP_MIXED_INTEGE"
781  "R_PROGRAMMING\020\003\022\"\n\036GLPK_MIXED_INTEGER_PR"
782  "OGRAMMING\020\004\022!\n\035CBC_MIXED_INTEGER_PROGRAM"
783  "MING\020\005\022$\n GUROBI_MIXED_INTEGER_PROGRAMMI"
784  "NG\020\007\022$\n XPRESS_MIXED_INTEGER_PROGRAMMING"
785  "\020f\022#\n\037CPLEX_MIXED_INTEGER_PROGRAMMING\020\013\022"
786  "\033\n\027BOP_INTEGER_PROGRAMMING\020\014\022\033\n\027SAT_INTE"
787  "GER_PROGRAMMING\020\016\022&\n\"KNAPSACK_MIXED_INTE"
788  "GER_PROGRAMMING\020\r\"\203\002\n\022MPSolutionResponse"
789  "\022T\n\006status\030\001 \001(\0162+.operations_research.M"
790  "PSolverResponseStatus:\027MPSOLVER_UNKNOWN_"
791  "STATUS\022\022\n\nstatus_str\030\007 \001(\t\022\027\n\017objective_"
792  "value\030\002 \001(\001\022\034\n\024best_objective_bound\030\005 \001("
793  "\001\022\032\n\016variable_value\030\003 \003(\001B\002\020\001\022\026\n\ndual_va"
794  "lue\030\004 \003(\001B\002\020\001\022\030\n\014reduced_cost\030\006 \003(\001B\002\020\001*"
795  "\372\002\n\026MPSolverResponseStatus\022\024\n\020MPSOLVER_O"
796  "PTIMAL\020\000\022\025\n\021MPSOLVER_FEASIBLE\020\001\022\027\n\023MPSOL"
797  "VER_INFEASIBLE\020\002\022\026\n\022MPSOLVER_UNBOUNDED\020\003"
798  "\022\025\n\021MPSOLVER_ABNORMAL\020\004\022\027\n\023MPSOLVER_NOT_"
799  "SOLVED\020\006\022\033\n\027MPSOLVER_MODEL_IS_VALID\020a\022\033\n"
800  "\027MPSOLVER_UNKNOWN_STATUS\020c\022\032\n\026MPSOLVER_M"
801  "ODEL_INVALID\020\005\022(\n$MPSOLVER_MODEL_INVALID"
802  "_SOLUTION_HINT\020T\022,\n(MPSOLVER_MODEL_INVAL"
803  "ID_SOLVER_PARAMETERS\020U\022$\n MPSOLVER_SOLVE"
804  "R_TYPE_UNAVAILABLE\020\007B#\n\037com.google.ortoo"
805  "ls.linearsolverP\001"
806  ;
807 static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto_deps[1] = {
809 };
810 static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto_sccs[19] = {
830 };
831 static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto_once;
832 const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto = {
833  false, false, descriptor_table_protodef_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto, "ortools/linear_solver/linear_solver.proto", 4977,
837 };
838 
839 // Force running AddDescriptors() at dynamic initialization time.
840 static bool dynamic_init_dummy_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto = (static_cast<void>(::PROTOBUF_NAMESPACE_ID::internal::AddDescriptors(&descriptor_table_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto)), true);
841 namespace operations_research {
842 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* MPSosConstraint_Type_descriptor() {
843  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto);
845 }
847  switch (value) {
848  case 0:
849  case 1:
850  return true;
851  default:
852  return false;
853  }
854 }
855 
856 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
857 constexpr MPSosConstraint_Type MPSosConstraint::SOS1_DEFAULT;
858 constexpr MPSosConstraint_Type MPSosConstraint::SOS2;
859 constexpr MPSosConstraint_Type MPSosConstraint::Type_MIN;
860 constexpr MPSosConstraint_Type MPSosConstraint::Type_MAX;
861 constexpr int MPSosConstraint::Type_ARRAYSIZE;
862 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
863 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* MPSolverCommonParameters_LPAlgorithmValues_descriptor() {
864  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto);
866 }
868  switch (value) {
869  case 0:
870  case 1:
871  case 2:
872  case 3:
873  return true;
874  default:
875  return false;
876  }
877 }
878 
879 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
880 constexpr MPSolverCommonParameters_LPAlgorithmValues MPSolverCommonParameters::LP_ALGO_UNSPECIFIED;
881 constexpr MPSolverCommonParameters_LPAlgorithmValues MPSolverCommonParameters::LP_ALGO_DUAL;
882 constexpr MPSolverCommonParameters_LPAlgorithmValues MPSolverCommonParameters::LP_ALGO_PRIMAL;
883 constexpr MPSolverCommonParameters_LPAlgorithmValues MPSolverCommonParameters::LP_ALGO_BARRIER;
884 constexpr MPSolverCommonParameters_LPAlgorithmValues MPSolverCommonParameters::LPAlgorithmValues_MIN;
885 constexpr MPSolverCommonParameters_LPAlgorithmValues MPSolverCommonParameters::LPAlgorithmValues_MAX;
886 constexpr int MPSolverCommonParameters::LPAlgorithmValues_ARRAYSIZE;
887 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
888 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* MPModelRequest_SolverType_descriptor() {
889  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto);
891 }
893  switch (value) {
894  case 0:
895  case 1:
896  case 2:
897  case 3:
898  case 4:
899  case 5:
900  case 6:
901  case 7:
902  case 10:
903  case 11:
904  case 12:
905  case 13:
906  case 14:
907  case 101:
908  case 102:
909  return true;
910  default:
911  return false;
912  }
913 }
914 
915 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
916 constexpr MPModelRequest_SolverType MPModelRequest::GLOP_LINEAR_PROGRAMMING;
917 constexpr MPModelRequest_SolverType MPModelRequest::CLP_LINEAR_PROGRAMMING;
918 constexpr MPModelRequest_SolverType MPModelRequest::GLPK_LINEAR_PROGRAMMING;
919 constexpr MPModelRequest_SolverType MPModelRequest::GUROBI_LINEAR_PROGRAMMING;
920 constexpr MPModelRequest_SolverType MPModelRequest::XPRESS_LINEAR_PROGRAMMING;
921 constexpr MPModelRequest_SolverType MPModelRequest::CPLEX_LINEAR_PROGRAMMING;
922 constexpr MPModelRequest_SolverType MPModelRequest::SCIP_MIXED_INTEGER_PROGRAMMING;
923 constexpr MPModelRequest_SolverType MPModelRequest::GLPK_MIXED_INTEGER_PROGRAMMING;
924 constexpr MPModelRequest_SolverType MPModelRequest::CBC_MIXED_INTEGER_PROGRAMMING;
925 constexpr MPModelRequest_SolverType MPModelRequest::GUROBI_MIXED_INTEGER_PROGRAMMING;
926 constexpr MPModelRequest_SolverType MPModelRequest::XPRESS_MIXED_INTEGER_PROGRAMMING;
927 constexpr MPModelRequest_SolverType MPModelRequest::CPLEX_MIXED_INTEGER_PROGRAMMING;
928 constexpr MPModelRequest_SolverType MPModelRequest::BOP_INTEGER_PROGRAMMING;
929 constexpr MPModelRequest_SolverType MPModelRequest::SAT_INTEGER_PROGRAMMING;
930 constexpr MPModelRequest_SolverType MPModelRequest::KNAPSACK_MIXED_INTEGER_PROGRAMMING;
931 constexpr MPModelRequest_SolverType MPModelRequest::SolverType_MIN;
932 constexpr MPModelRequest_SolverType MPModelRequest::SolverType_MAX;
933 constexpr int MPModelRequest::SolverType_ARRAYSIZE;
934 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
935 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* MPSolverResponseStatus_descriptor() {
936  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto);
938 }
940  switch (value) {
941  case 0:
942  case 1:
943  case 2:
944  case 3:
945  case 4:
946  case 5:
947  case 6:
948  case 7:
949  case 84:
950  case 85:
951  case 97:
952  case 99:
953  return true;
954  default:
955  return false;
956  }
957 }
958 
959 
960 // ===================================================================
961 
963  public:
964  using HasBits = decltype(std::declval<MPVariableProto>()._has_bits_);
965  static void set_has_lower_bound(HasBits* has_bits) {
966  (*has_bits)[0] |= 16u;
967  }
968  static void set_has_upper_bound(HasBits* has_bits) {
969  (*has_bits)[0] |= 32u;
970  }
971  static void set_has_objective_coefficient(HasBits* has_bits) {
972  (*has_bits)[0] |= 2u;
973  }
974  static void set_has_is_integer(HasBits* has_bits) {
975  (*has_bits)[0] |= 4u;
976  }
977  static void set_has_name(HasBits* has_bits) {
978  (*has_bits)[0] |= 1u;
979  }
980  static void set_has_branching_priority(HasBits* has_bits) {
981  (*has_bits)[0] |= 8u;
982  }
983 };
984 
985 MPVariableProto::MPVariableProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
986  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
987  SharedCtor();
988  RegisterArenaDtor(arena);
989  // @@protoc_insertion_point(arena_constructor:operations_research.MPVariableProto)
990 }
991 MPVariableProto::MPVariableProto(const MPVariableProto& from)
992  : ::PROTOBUF_NAMESPACE_ID::Message(),
993  _has_bits_(from._has_bits_) {
994  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
995  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
996  if (from._internal_has_name()) {
997  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
998  GetArena());
999  }
1000  ::memcpy(&objective_coefficient_, &from.objective_coefficient_,
1001  static_cast<size_t>(reinterpret_cast<char*>(&upper_bound_) -
1002  reinterpret_cast<char*>(&objective_coefficient_)) + sizeof(upper_bound_));
1003  // @@protoc_insertion_point(copy_constructor:operations_research.MPVariableProto)
1004 }
1005 
1006 void MPVariableProto::SharedCtor() {
1007  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_MPVariableProto_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto.base);
1008  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1009  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
1010  reinterpret_cast<char*>(&objective_coefficient_) - reinterpret_cast<char*>(this)),
1011  0, static_cast<size_t>(reinterpret_cast<char*>(&branching_priority_) -
1012  reinterpret_cast<char*>(&objective_coefficient_)) + sizeof(branching_priority_));
1013  lower_bound_ = -std::numeric_limits<double>::infinity();
1014  upper_bound_ = std::numeric_limits<double>::infinity();
1015 }
1016 
1017 MPVariableProto::~MPVariableProto() {
1018  // @@protoc_insertion_point(destructor:operations_research.MPVariableProto)
1019  SharedDtor();
1020  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1021 }
1022 
1023 void MPVariableProto::SharedDtor() {
1024  GOOGLE_DCHECK(GetArena() == nullptr);
1025  name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1026 }
1027 
1028 void MPVariableProto::ArenaDtor(void* object) {
1029  MPVariableProto* _this = reinterpret_cast< MPVariableProto* >(object);
1030  (void)_this;
1031 }
1032 void MPVariableProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1033 }
1034 void MPVariableProto::SetCachedSize(int size) const {
1035  _cached_size_.Set(size);
1036 }
1037 const MPVariableProto& MPVariableProto::default_instance() {
1038  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_MPVariableProto_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto.base);
1039  return *internal_default_instance();
1040 }
1041 
1042 
1043 void MPVariableProto::Clear() {
1044 // @@protoc_insertion_point(message_clear_start:operations_research.MPVariableProto)
1045  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1046  // Prevent compiler warnings about cached_has_bits being unused
1047  (void) cached_has_bits;
1048 
1049  cached_has_bits = _has_bits_[0];
1050  if (cached_has_bits & 0x00000001u) {
1051  name_.ClearNonDefaultToEmpty();
1052  }
1053  if (cached_has_bits & 0x0000003eu) {
1054  ::memset(&objective_coefficient_, 0, static_cast<size_t>(
1055  reinterpret_cast<char*>(&branching_priority_) -
1056  reinterpret_cast<char*>(&objective_coefficient_)) + sizeof(branching_priority_));
1057  lower_bound_ = -std::numeric_limits<double>::infinity();
1058  upper_bound_ = std::numeric_limits<double>::infinity();
1059  }
1060  _has_bits_.Clear();
1061  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1062 }
1063 
1064 const char* MPVariableProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1065 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1066  _Internal::HasBits has_bits{};
1067  while (!ctx->Done(&ptr)) {
1069  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1070  CHK_(ptr);
1071  switch (tag >> 3) {
1072  // optional double lower_bound = 1 [default = -inf];
1073  case 1:
1074  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 9)) {
1075  _Internal::set_has_lower_bound(&has_bits);
1076  lower_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1077  ptr += sizeof(double);
1078  } else goto handle_unusual;
1079  continue;
1080  // optional double upper_bound = 2 [default = inf];
1081  case 2:
1082  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 17)) {
1083  _Internal::set_has_upper_bound(&has_bits);
1084  upper_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1085  ptr += sizeof(double);
1086  } else goto handle_unusual;
1087  continue;
1088  // optional double objective_coefficient = 3 [default = 0];
1089  case 3:
1090  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 25)) {
1092  objective_coefficient_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1093  ptr += sizeof(double);
1094  } else goto handle_unusual;
1095  continue;
1096  // optional bool is_integer = 4 [default = false];
1097  case 4:
1098  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
1099  _Internal::set_has_is_integer(&has_bits);
1100  is_integer_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1101  CHK_(ptr);
1102  } else goto handle_unusual;
1103  continue;
1104  // optional string name = 5 [default = ""];
1105  case 5:
1106  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
1107  auto str = _internal_mutable_name();
1108  ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1109  #ifndef NDEBUG
1110  ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.MPVariableProto.name");
1111  #endif // !NDEBUG
1112  CHK_(ptr);
1113  } else goto handle_unusual;
1114  continue;
1115  // optional int32 branching_priority = 6 [default = 0];
1116  case 6:
1117  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
1119  branching_priority_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1120  CHK_(ptr);
1121  } else goto handle_unusual;
1122  continue;
1123  default: {
1124  handle_unusual:
1125  if ((tag & 7) == 4 || tag == 0) {
1126  ctx->SetLastTag(tag);
1127  goto success;
1128  }
1129  ptr = UnknownFieldParse(tag,
1130  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
1131  ptr, ctx);
1132  CHK_(ptr != nullptr);
1133  continue;
1134  }
1135  } // switch
1136  } // while
1137 success:
1138  _has_bits_.Or(has_bits);
1139  return ptr;
1140 failure:
1141  ptr = nullptr;
1142  goto success;
1143 #undef CHK_
1144 }
1145 
1146 ::PROTOBUF_NAMESPACE_ID::uint8* MPVariableProto::_InternalSerialize(
1147  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
1148  // @@protoc_insertion_point(serialize_to_array_start:operations_research.MPVariableProto)
1149  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1150  (void) cached_has_bits;
1151 
1152  cached_has_bits = _has_bits_[0];
1153  // optional double lower_bound = 1 [default = -inf];
1154  if (cached_has_bits & 0x00000010u) {
1155  target = stream->EnsureSpace(target);
1156  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(1, this->_internal_lower_bound(), target);
1157  }
1158 
1159  // optional double upper_bound = 2 [default = inf];
1160  if (cached_has_bits & 0x00000020u) {
1161  target = stream->EnsureSpace(target);
1162  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(2, this->_internal_upper_bound(), target);
1163  }
1164 
1165  // optional double objective_coefficient = 3 [default = 0];
1166  if (cached_has_bits & 0x00000002u) {
1167  target = stream->EnsureSpace(target);
1168  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(3, this->_internal_objective_coefficient(), target);
1169  }
1170 
1171  // optional bool is_integer = 4 [default = false];
1172  if (cached_has_bits & 0x00000004u) {
1173  target = stream->EnsureSpace(target);
1174  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_is_integer(), target);
1175  }
1176 
1177  // optional string name = 5 [default = ""];
1178  if (cached_has_bits & 0x00000001u) {
1179  ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
1180  this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
1181  ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
1182  "operations_research.MPVariableProto.name");
1183  target = stream->WriteStringMaybeAliased(
1184  5, this->_internal_name(), target);
1185  }
1186 
1187  // optional int32 branching_priority = 6 [default = 0];
1188  if (cached_has_bits & 0x00000008u) {
1189  target = stream->EnsureSpace(target);
1190  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(6, this->_internal_branching_priority(), target);
1191  }
1192 
1193  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1194  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1195  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1196  }
1197  // @@protoc_insertion_point(serialize_to_array_end:operations_research.MPVariableProto)
1198  return target;
1199 }
1200 
1201 size_t MPVariableProto::ByteSizeLong() const {
1202 // @@protoc_insertion_point(message_byte_size_start:operations_research.MPVariableProto)
1203  size_t total_size = 0;
1204 
1205  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1206  // Prevent compiler warnings about cached_has_bits being unused
1207  (void) cached_has_bits;
1208 
1209  cached_has_bits = _has_bits_[0];
1210  if (cached_has_bits & 0x0000003fu) {
1211  // optional string name = 5 [default = ""];
1212  if (cached_has_bits & 0x00000001u) {
1213  total_size += 1 +
1214  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1215  this->_internal_name());
1216  }
1217 
1218  // optional double objective_coefficient = 3 [default = 0];
1219  if (cached_has_bits & 0x00000002u) {
1220  total_size += 1 + 8;
1221  }
1222 
1223  // optional bool is_integer = 4 [default = false];
1224  if (cached_has_bits & 0x00000004u) {
1225  total_size += 1 + 1;
1226  }
1227 
1228  // optional int32 branching_priority = 6 [default = 0];
1229  if (cached_has_bits & 0x00000008u) {
1230  total_size += 1 +
1231  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1232  this->_internal_branching_priority());
1233  }
1234 
1235  // optional double lower_bound = 1 [default = -inf];
1236  if (cached_has_bits & 0x00000010u) {
1237  total_size += 1 + 8;
1238  }
1239 
1240  // optional double upper_bound = 2 [default = inf];
1241  if (cached_has_bits & 0x00000020u) {
1242  total_size += 1 + 8;
1243  }
1244 
1245  }
1246  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1247  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
1248  _internal_metadata_, total_size, &_cached_size_);
1249  }
1250  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
1251  SetCachedSize(cached_size);
1252  return total_size;
1253 }
1254 
1255 void MPVariableProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1256 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.MPVariableProto)
1257  GOOGLE_DCHECK_NE(&from, this);
1258  const MPVariableProto* source =
1259  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<MPVariableProto>(
1260  &from);
1261  if (source == nullptr) {
1262  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.MPVariableProto)
1263  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
1264  } else {
1265  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.MPVariableProto)
1266  MergeFrom(*source);
1267  }
1268 }
1269 
1270 void MPVariableProto::MergeFrom(const MPVariableProto& from) {
1271 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.MPVariableProto)
1272  GOOGLE_DCHECK_NE(&from, this);
1273  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1274  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1275  (void) cached_has_bits;
1276 
1277  cached_has_bits = from._has_bits_[0];
1278  if (cached_has_bits & 0x0000003fu) {
1279  if (cached_has_bits & 0x00000001u) {
1280  _internal_set_name(from._internal_name());
1281  }
1282  if (cached_has_bits & 0x00000002u) {
1283  objective_coefficient_ = from.objective_coefficient_;
1284  }
1285  if (cached_has_bits & 0x00000004u) {
1286  is_integer_ = from.is_integer_;
1287  }
1288  if (cached_has_bits & 0x00000008u) {
1289  branching_priority_ = from.branching_priority_;
1290  }
1291  if (cached_has_bits & 0x00000010u) {
1292  lower_bound_ = from.lower_bound_;
1293  }
1294  if (cached_has_bits & 0x00000020u) {
1295  upper_bound_ = from.upper_bound_;
1296  }
1297  _has_bits_[0] |= cached_has_bits;
1298  }
1299 }
1300 
1301 void MPVariableProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1302 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.MPVariableProto)
1303  if (&from == this) return;
1304  Clear();
1305  MergeFrom(from);
1306 }
1307 
1308 void MPVariableProto::CopyFrom(const MPVariableProto& from) {
1309 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.MPVariableProto)
1310  if (&from == this) return;
1311  Clear();
1312  MergeFrom(from);
1313 }
1314 
1315 bool MPVariableProto::IsInitialized() const {
1316  return true;
1317 }
1318 
1319 void MPVariableProto::InternalSwap(MPVariableProto* other) {
1320  using std::swap;
1321  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
1322  swap(_has_bits_[0], other->_has_bits_[0]);
1323  name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
1324  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
1325  PROTOBUF_FIELD_OFFSET(MPVariableProto, branching_priority_)
1326  + sizeof(MPVariableProto::branching_priority_)
1327  - PROTOBUF_FIELD_OFFSET(MPVariableProto, objective_coefficient_)>(
1328  reinterpret_cast<char*>(&objective_coefficient_),
1329  reinterpret_cast<char*>(&other->objective_coefficient_));
1330  swap(lower_bound_, other->lower_bound_);
1331  swap(upper_bound_, other->upper_bound_);
1332 }
1333 
1334 ::PROTOBUF_NAMESPACE_ID::Metadata MPVariableProto::GetMetadata() const {
1335  return GetMetadataStatic();
1336 }
1337 
1338 
1339 // ===================================================================
1340 
1342  public:
1343  using HasBits = decltype(std::declval<MPConstraintProto>()._has_bits_);
1344  static void set_has_lower_bound(HasBits* has_bits) {
1345  (*has_bits)[0] |= 4u;
1346  }
1347  static void set_has_upper_bound(HasBits* has_bits) {
1348  (*has_bits)[0] |= 8u;
1349  }
1350  static void set_has_name(HasBits* has_bits) {
1351  (*has_bits)[0] |= 1u;
1352  }
1353  static void set_has_is_lazy(HasBits* has_bits) {
1354  (*has_bits)[0] |= 2u;
1355  }
1356 };
1357 
1358 MPConstraintProto::MPConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
1359  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
1360  var_index_(arena),
1361  coefficient_(arena) {
1362  SharedCtor();
1363  RegisterArenaDtor(arena);
1364  // @@protoc_insertion_point(arena_constructor:operations_research.MPConstraintProto)
1365 }
1366 MPConstraintProto::MPConstraintProto(const MPConstraintProto& from)
1367  : ::PROTOBUF_NAMESPACE_ID::Message(),
1368  _has_bits_(from._has_bits_),
1369  var_index_(from.var_index_),
1370  coefficient_(from.coefficient_) {
1371  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1372  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1373  if (from._internal_has_name()) {
1374  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
1375  GetArena());
1376  }
1377  ::memcpy(&is_lazy_, &from.is_lazy_,
1378  static_cast<size_t>(reinterpret_cast<char*>(&upper_bound_) -
1379  reinterpret_cast<char*>(&is_lazy_)) + sizeof(upper_bound_));
1380  // @@protoc_insertion_point(copy_constructor:operations_research.MPConstraintProto)
1381 }
1382 
1383 void MPConstraintProto::SharedCtor() {
1384  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_MPConstraintProto_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto.base);
1385  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1386  is_lazy_ = false;
1387  lower_bound_ = -std::numeric_limits<double>::infinity();
1388  upper_bound_ = std::numeric_limits<double>::infinity();
1389 }
1390 
1391 MPConstraintProto::~MPConstraintProto() {
1392  // @@protoc_insertion_point(destructor:operations_research.MPConstraintProto)
1393  SharedDtor();
1394  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1395 }
1396 
1397 void MPConstraintProto::SharedDtor() {
1398  GOOGLE_DCHECK(GetArena() == nullptr);
1399  name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1400 }
1401 
1402 void MPConstraintProto::ArenaDtor(void* object) {
1403  MPConstraintProto* _this = reinterpret_cast< MPConstraintProto* >(object);
1404  (void)_this;
1405 }
1406 void MPConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1407 }
1408 void MPConstraintProto::SetCachedSize(int size) const {
1409  _cached_size_.Set(size);
1410 }
1411 const MPConstraintProto& MPConstraintProto::default_instance() {
1412  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_MPConstraintProto_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto.base);
1413  return *internal_default_instance();
1414 }
1415 
1416 
1417 void MPConstraintProto::Clear() {
1418 // @@protoc_insertion_point(message_clear_start:operations_research.MPConstraintProto)
1419  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1420  // Prevent compiler warnings about cached_has_bits being unused
1421  (void) cached_has_bits;
1422 
1423  var_index_.Clear();
1424  coefficient_.Clear();
1425  cached_has_bits = _has_bits_[0];
1426  if (cached_has_bits & 0x00000001u) {
1427  name_.ClearNonDefaultToEmpty();
1428  }
1429  if (cached_has_bits & 0x0000000eu) {
1430  is_lazy_ = false;
1431  lower_bound_ = -std::numeric_limits<double>::infinity();
1432  upper_bound_ = std::numeric_limits<double>::infinity();
1433  }
1434  _has_bits_.Clear();
1435  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1436 }
1437 
1438 const char* MPConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1439 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1440  _Internal::HasBits has_bits{};
1441  while (!ctx->Done(&ptr)) {
1443  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1444  CHK_(ptr);
1445  switch (tag >> 3) {
1446  // optional double lower_bound = 2 [default = -inf];
1447  case 2:
1448  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 17)) {
1449  _Internal::set_has_lower_bound(&has_bits);
1450  lower_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1451  ptr += sizeof(double);
1452  } else goto handle_unusual;
1453  continue;
1454  // optional double upper_bound = 3 [default = inf];
1455  case 3:
1456  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 25)) {
1457  _Internal::set_has_upper_bound(&has_bits);
1458  upper_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1459  ptr += sizeof(double);
1460  } else goto handle_unusual;
1461  continue;
1462  // optional string name = 4 [default = ""];
1463  case 4:
1464  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
1465  auto str = _internal_mutable_name();
1466  ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1467  #ifndef NDEBUG
1468  ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.MPConstraintProto.name");
1469  #endif // !NDEBUG
1470  CHK_(ptr);
1471  } else goto handle_unusual;
1472  continue;
1473  // optional bool is_lazy = 5 [default = false];
1474  case 5:
1475  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
1476  _Internal::set_has_is_lazy(&has_bits);
1477  is_lazy_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1478  CHK_(ptr);
1479  } else goto handle_unusual;
1480  continue;
1481  // repeated int32 var_index = 6 [packed = true];
1482  case 6:
1483  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
1484  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_var_index(), ptr, ctx);
1485  CHK_(ptr);
1486  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48) {
1487  _internal_add_var_index(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
1488  CHK_(ptr);
1489  } else goto handle_unusual;
1490  continue;
1491  // repeated double coefficient = 7 [packed = true];
1492  case 7:
1493  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
1494  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedDoubleParser(_internal_mutable_coefficient(), ptr, ctx);
1495  CHK_(ptr);
1496  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 57) {
1497  _internal_add_coefficient(::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr));
1498  ptr += sizeof(double);
1499  } else goto handle_unusual;
1500  continue;
1501  default: {
1502  handle_unusual:
1503  if ((tag & 7) == 4 || tag == 0) {
1504  ctx->SetLastTag(tag);
1505  goto success;
1506  }
1507  ptr = UnknownFieldParse(tag,
1508  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
1509  ptr, ctx);
1510  CHK_(ptr != nullptr);
1511  continue;
1512  }
1513  } // switch
1514  } // while
1515 success:
1516  _has_bits_.Or(has_bits);
1517  return ptr;
1518 failure:
1519  ptr = nullptr;
1520  goto success;
1521 #undef CHK_
1522 }
1523 
1524 ::PROTOBUF_NAMESPACE_ID::uint8* MPConstraintProto::_InternalSerialize(
1525  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
1526  // @@protoc_insertion_point(serialize_to_array_start:operations_research.MPConstraintProto)
1527  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1528  (void) cached_has_bits;
1529 
1530  cached_has_bits = _has_bits_[0];
1531  // optional double lower_bound = 2 [default = -inf];
1532  if (cached_has_bits & 0x00000004u) {
1533  target = stream->EnsureSpace(target);
1534  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(2, this->_internal_lower_bound(), target);
1535  }
1536 
1537  // optional double upper_bound = 3 [default = inf];
1538  if (cached_has_bits & 0x00000008u) {
1539  target = stream->EnsureSpace(target);
1540  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(3, this->_internal_upper_bound(), target);
1541  }
1542 
1543  // optional string name = 4 [default = ""];
1544  if (cached_has_bits & 0x00000001u) {
1545  ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
1546  this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
1547  ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
1548  "operations_research.MPConstraintProto.name");
1549  target = stream->WriteStringMaybeAliased(
1550  4, this->_internal_name(), target);
1551  }
1552 
1553  // optional bool is_lazy = 5 [default = false];
1554  if (cached_has_bits & 0x00000002u) {
1555  target = stream->EnsureSpace(target);
1556  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_is_lazy(), target);
1557  }
1558 
1559  // repeated int32 var_index = 6 [packed = true];
1560  {
1561  int byte_size = _var_index_cached_byte_size_.load(std::memory_order_relaxed);
1562  if (byte_size > 0) {
1563  target = stream->WriteInt32Packed(
1564  6, _internal_var_index(), byte_size, target);
1565  }
1566  }
1567 
1568  // repeated double coefficient = 7 [packed = true];
1569  if (this->_internal_coefficient_size() > 0) {
1570  target = stream->WriteFixedPacked(7, _internal_coefficient(), target);
1571  }
1572 
1573  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1574  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1575  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1576  }
1577  // @@protoc_insertion_point(serialize_to_array_end:operations_research.MPConstraintProto)
1578  return target;
1579 }
1580 
1581 size_t MPConstraintProto::ByteSizeLong() const {
1582 // @@protoc_insertion_point(message_byte_size_start:operations_research.MPConstraintProto)
1583  size_t total_size = 0;
1584 
1585  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1586  // Prevent compiler warnings about cached_has_bits being unused
1587  (void) cached_has_bits;
1588 
1589  // repeated int32 var_index = 6 [packed = true];
1590  {
1591  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1592  Int32Size(this->var_index_);
1593  if (data_size > 0) {
1594  total_size += 1 +
1595  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1596  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
1597  }
1598  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
1599  _var_index_cached_byte_size_.store(cached_size,
1600  std::memory_order_relaxed);
1601  total_size += data_size;
1602  }
1603 
1604  // repeated double coefficient = 7 [packed = true];
1605  {
1606  unsigned int count = static_cast<unsigned int>(this->_internal_coefficient_size());
1607  size_t data_size = 8UL * count;
1608  if (data_size > 0) {
1609  total_size += 1 +
1610  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1611  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
1612  }
1613  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
1614  _coefficient_cached_byte_size_.store(cached_size,
1615  std::memory_order_relaxed);
1616  total_size += data_size;
1617  }
1618 
1619  cached_has_bits = _has_bits_[0];
1620  if (cached_has_bits & 0x0000000fu) {
1621  // optional string name = 4 [default = ""];
1622  if (cached_has_bits & 0x00000001u) {
1623  total_size += 1 +
1624  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1625  this->_internal_name());
1626  }
1627 
1628  // optional bool is_lazy = 5 [default = false];
1629  if (cached_has_bits & 0x00000002u) {
1630  total_size += 1 + 1;
1631  }
1632 
1633  // optional double lower_bound = 2 [default = -inf];
1634  if (cached_has_bits & 0x00000004u) {
1635  total_size += 1 + 8;
1636  }
1637 
1638  // optional double upper_bound = 3 [default = inf];
1639  if (cached_has_bits & 0x00000008u) {
1640  total_size += 1 + 8;
1641  }
1642 
1643  }
1644  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1645  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
1646  _internal_metadata_, total_size, &_cached_size_);
1647  }
1648  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
1649  SetCachedSize(cached_size);
1650  return total_size;
1651 }
1652 
1653 void MPConstraintProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1654 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.MPConstraintProto)
1655  GOOGLE_DCHECK_NE(&from, this);
1656  const MPConstraintProto* source =
1657  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<MPConstraintProto>(
1658  &from);
1659  if (source == nullptr) {
1660  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.MPConstraintProto)
1661  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
1662  } else {
1663  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.MPConstraintProto)
1664  MergeFrom(*source);
1665  }
1666 }
1667 
1668 void MPConstraintProto::MergeFrom(const MPConstraintProto& from) {
1669 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.MPConstraintProto)
1670  GOOGLE_DCHECK_NE(&from, this);
1671  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1672  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1673  (void) cached_has_bits;
1674 
1675  var_index_.MergeFrom(from.var_index_);
1676  coefficient_.MergeFrom(from.coefficient_);
1677  cached_has_bits = from._has_bits_[0];
1678  if (cached_has_bits & 0x0000000fu) {
1679  if (cached_has_bits & 0x00000001u) {
1680  _internal_set_name(from._internal_name());
1681  }
1682  if (cached_has_bits & 0x00000002u) {
1683  is_lazy_ = from.is_lazy_;
1684  }
1685  if (cached_has_bits & 0x00000004u) {
1686  lower_bound_ = from.lower_bound_;
1687  }
1688  if (cached_has_bits & 0x00000008u) {
1689  upper_bound_ = from.upper_bound_;
1690  }
1691  _has_bits_[0] |= cached_has_bits;
1692  }
1693 }
1694 
1695 void MPConstraintProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1696 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.MPConstraintProto)
1697  if (&from == this) return;
1698  Clear();
1699  MergeFrom(from);
1700 }
1701 
1702 void MPConstraintProto::CopyFrom(const MPConstraintProto& from) {
1703 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.MPConstraintProto)
1704  if (&from == this) return;
1705  Clear();
1706  MergeFrom(from);
1707 }
1708 
1709 bool MPConstraintProto::IsInitialized() const {
1710  return true;
1711 }
1712 
1713 void MPConstraintProto::InternalSwap(MPConstraintProto* other) {
1714  using std::swap;
1715  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
1716  swap(_has_bits_[0], other->_has_bits_[0]);
1717  var_index_.InternalSwap(&other->var_index_);
1718  coefficient_.InternalSwap(&other->coefficient_);
1719  name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
1720  swap(is_lazy_, other->is_lazy_);
1721  swap(lower_bound_, other->lower_bound_);
1722  swap(upper_bound_, other->upper_bound_);
1723 }
1724 
1725 ::PROTOBUF_NAMESPACE_ID::Metadata MPConstraintProto::GetMetadata() const {
1726  return GetMetadataStatic();
1727 }
1728 
1729 
1730 // ===================================================================
1731 
1733  public:
1734  using HasBits = decltype(std::declval<MPGeneralConstraintProto>()._has_bits_);
1735  static void set_has_name(HasBits* has_bits) {
1736  (*has_bits)[0] |= 1u;
1737  }
1738  static const ::operations_research::MPIndicatorConstraint& indicator_constraint(const MPGeneralConstraintProto* msg);
1739  static const ::operations_research::MPSosConstraint& sos_constraint(const MPGeneralConstraintProto* msg);
1740  static const ::operations_research::MPQuadraticConstraint& quadratic_constraint(const MPGeneralConstraintProto* msg);
1741  static const ::operations_research::MPAbsConstraint& abs_constraint(const MPGeneralConstraintProto* msg);
1742  static const ::operations_research::MPArrayConstraint& and_constraint(const MPGeneralConstraintProto* msg);
1743  static const ::operations_research::MPArrayConstraint& or_constraint(const MPGeneralConstraintProto* msg);
1744  static const ::operations_research::MPArrayWithConstantConstraint& min_constraint(const MPGeneralConstraintProto* msg);
1745  static const ::operations_research::MPArrayWithConstantConstraint& max_constraint(const MPGeneralConstraintProto* msg);
1746 };
1747 
1748 const ::operations_research::MPIndicatorConstraint&
1750  return *msg->general_constraint_.indicator_constraint_;
1751 }
1752 const ::operations_research::MPSosConstraint&
1753 MPGeneralConstraintProto::_Internal::sos_constraint(const MPGeneralConstraintProto* msg) {
1754  return *msg->general_constraint_.sos_constraint_;
1755 }
1756 const ::operations_research::MPQuadraticConstraint&
1758  return *msg->general_constraint_.quadratic_constraint_;
1759 }
1760 const ::operations_research::MPAbsConstraint&
1761 MPGeneralConstraintProto::_Internal::abs_constraint(const MPGeneralConstraintProto* msg) {
1762  return *msg->general_constraint_.abs_constraint_;
1763 }
1764 const ::operations_research::MPArrayConstraint&
1765 MPGeneralConstraintProto::_Internal::and_constraint(const MPGeneralConstraintProto* msg) {
1766  return *msg->general_constraint_.and_constraint_;
1767 }
1768 const ::operations_research::MPArrayConstraint&
1769 MPGeneralConstraintProto::_Internal::or_constraint(const MPGeneralConstraintProto* msg) {
1770  return *msg->general_constraint_.or_constraint_;
1771 }
1772 const ::operations_research::MPArrayWithConstantConstraint&
1773 MPGeneralConstraintProto::_Internal::min_constraint(const MPGeneralConstraintProto* msg) {
1774  return *msg->general_constraint_.min_constraint_;
1775 }
1776 const ::operations_research::MPArrayWithConstantConstraint&
1777 MPGeneralConstraintProto::_Internal::max_constraint(const MPGeneralConstraintProto* msg) {
1778  return *msg->general_constraint_.max_constraint_;
1779 }
1780 void MPGeneralConstraintProto::set_allocated_indicator_constraint(::operations_research::MPIndicatorConstraint* indicator_constraint) {
1781  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
1782  clear_general_constraint();
1783  if (indicator_constraint) {
1784  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1785  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(indicator_constraint);
1786  if (message_arena != submessage_arena) {
1787  indicator_constraint = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1788  message_arena, indicator_constraint, submessage_arena);
1789  }
1790  set_has_indicator_constraint();
1791  general_constraint_.indicator_constraint_ = indicator_constraint;
1792  }
1793  // @@protoc_insertion_point(field_set_allocated:operations_research.MPGeneralConstraintProto.indicator_constraint)
1794 }
1795 void MPGeneralConstraintProto::set_allocated_sos_constraint(::operations_research::MPSosConstraint* sos_constraint) {
1796  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
1797  clear_general_constraint();
1798  if (sos_constraint) {
1799  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1800  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(sos_constraint);
1801  if (message_arena != submessage_arena) {
1802  sos_constraint = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1803  message_arena, sos_constraint, submessage_arena);
1804  }
1805  set_has_sos_constraint();
1806  general_constraint_.sos_constraint_ = sos_constraint;
1807  }
1808  // @@protoc_insertion_point(field_set_allocated:operations_research.MPGeneralConstraintProto.sos_constraint)
1809 }
1810 void MPGeneralConstraintProto::set_allocated_quadratic_constraint(::operations_research::MPQuadraticConstraint* quadratic_constraint) {
1811  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
1812  clear_general_constraint();
1813  if (quadratic_constraint) {
1814  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1815  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(quadratic_constraint);
1816  if (message_arena != submessage_arena) {
1817  quadratic_constraint = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1818  message_arena, quadratic_constraint, submessage_arena);
1819  }
1820  set_has_quadratic_constraint();
1821  general_constraint_.quadratic_constraint_ = quadratic_constraint;
1822  }
1823  // @@protoc_insertion_point(field_set_allocated:operations_research.MPGeneralConstraintProto.quadratic_constraint)
1824 }
1825 void MPGeneralConstraintProto::set_allocated_abs_constraint(::operations_research::MPAbsConstraint* abs_constraint) {
1826  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
1827  clear_general_constraint();
1828  if (abs_constraint) {
1829  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1830  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(abs_constraint);
1831  if (message_arena != submessage_arena) {
1832  abs_constraint = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1833  message_arena, abs_constraint, submessage_arena);
1834  }
1835  set_has_abs_constraint();
1836  general_constraint_.abs_constraint_ = abs_constraint;
1837  }
1838  // @@protoc_insertion_point(field_set_allocated:operations_research.MPGeneralConstraintProto.abs_constraint)
1839 }
1840 void MPGeneralConstraintProto::set_allocated_and_constraint(::operations_research::MPArrayConstraint* and_constraint) {
1841  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
1842  clear_general_constraint();
1843  if (and_constraint) {
1844  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1845  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(and_constraint);
1846  if (message_arena != submessage_arena) {
1847  and_constraint = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1848  message_arena, and_constraint, submessage_arena);
1849  }
1850  set_has_and_constraint();
1851  general_constraint_.and_constraint_ = and_constraint;
1852  }
1853  // @@protoc_insertion_point(field_set_allocated:operations_research.MPGeneralConstraintProto.and_constraint)
1854 }
1855 void MPGeneralConstraintProto::set_allocated_or_constraint(::operations_research::MPArrayConstraint* or_constraint) {
1856  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
1857  clear_general_constraint();
1858  if (or_constraint) {
1859  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1860  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(or_constraint);
1861  if (message_arena != submessage_arena) {
1862  or_constraint = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1863  message_arena, or_constraint, submessage_arena);
1864  }
1865  set_has_or_constraint();
1866  general_constraint_.or_constraint_ = or_constraint;
1867  }
1868  // @@protoc_insertion_point(field_set_allocated:operations_research.MPGeneralConstraintProto.or_constraint)
1869 }
1870 void MPGeneralConstraintProto::set_allocated_min_constraint(::operations_research::MPArrayWithConstantConstraint* min_constraint) {
1871  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
1872  clear_general_constraint();
1873  if (min_constraint) {
1874  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1875  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(min_constraint);
1876  if (message_arena != submessage_arena) {
1877  min_constraint = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1878  message_arena, min_constraint, submessage_arena);
1879  }
1880  set_has_min_constraint();
1881  general_constraint_.min_constraint_ = min_constraint;
1882  }
1883  // @@protoc_insertion_point(field_set_allocated:operations_research.MPGeneralConstraintProto.min_constraint)
1884 }
1885 void MPGeneralConstraintProto::set_allocated_max_constraint(::operations_research::MPArrayWithConstantConstraint* max_constraint) {
1886  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
1887  clear_general_constraint();
1888  if (max_constraint) {
1889  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1890  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(max_constraint);
1891  if (message_arena != submessage_arena) {
1892  max_constraint = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1893  message_arena, max_constraint, submessage_arena);
1894  }
1895  set_has_max_constraint();
1896  general_constraint_.max_constraint_ = max_constraint;
1897  }
1898  // @@protoc_insertion_point(field_set_allocated:operations_research.MPGeneralConstraintProto.max_constraint)
1899 }
1900 MPGeneralConstraintProto::MPGeneralConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
1901  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
1902  SharedCtor();
1903  RegisterArenaDtor(arena);
1904  // @@protoc_insertion_point(arena_constructor:operations_research.MPGeneralConstraintProto)
1905 }
1906 MPGeneralConstraintProto::MPGeneralConstraintProto(const MPGeneralConstraintProto& from)
1907  : ::PROTOBUF_NAMESPACE_ID::Message(),
1908  _has_bits_(from._has_bits_) {
1909  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1910  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1911  if (from._internal_has_name()) {
1912  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
1913  GetArena());
1914  }
1915  clear_has_general_constraint();
1916  switch (from.general_constraint_case()) {
1917  case kIndicatorConstraint: {
1918  _internal_mutable_indicator_constraint()->::operations_research::MPIndicatorConstraint::MergeFrom(from._internal_indicator_constraint());
1919  break;
1920  }
1921  case kSosConstraint: {
1922  _internal_mutable_sos_constraint()->::operations_research::MPSosConstraint::MergeFrom(from._internal_sos_constraint());
1923  break;
1924  }
1925  case kQuadraticConstraint: {
1926  _internal_mutable_quadratic_constraint()->::operations_research::MPQuadraticConstraint::MergeFrom(from._internal_quadratic_constraint());
1927  break;
1928  }
1929  case kAbsConstraint: {
1930  _internal_mutable_abs_constraint()->::operations_research::MPAbsConstraint::MergeFrom(from._internal_abs_constraint());
1931  break;
1932  }
1933  case kAndConstraint: {
1934  _internal_mutable_and_constraint()->::operations_research::MPArrayConstraint::MergeFrom(from._internal_and_constraint());
1935  break;
1936  }
1937  case kOrConstraint: {
1938  _internal_mutable_or_constraint()->::operations_research::MPArrayConstraint::MergeFrom(from._internal_or_constraint());
1939  break;
1940  }
1941  case kMinConstraint: {
1942  _internal_mutable_min_constraint()->::operations_research::MPArrayWithConstantConstraint::MergeFrom(from._internal_min_constraint());
1943  break;
1944  }
1945  case kMaxConstraint: {
1946  _internal_mutable_max_constraint()->::operations_research::MPArrayWithConstantConstraint::MergeFrom(from._internal_max_constraint());
1947  break;
1948  }
1949  case GENERAL_CONSTRAINT_NOT_SET: {
1950  break;
1951  }
1952  }
1953  // @@protoc_insertion_point(copy_constructor:operations_research.MPGeneralConstraintProto)
1954 }
1955 
1956 void MPGeneralConstraintProto::SharedCtor() {
1957  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_MPGeneralConstraintProto_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto.base);
1958  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1959  clear_has_general_constraint();
1960 }
1961 
1962 MPGeneralConstraintProto::~MPGeneralConstraintProto() {
1963  // @@protoc_insertion_point(destructor:operations_research.MPGeneralConstraintProto)
1964  SharedDtor();
1965  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1966 }
1967 
1968 void MPGeneralConstraintProto::SharedDtor() {
1969  GOOGLE_DCHECK(GetArena() == nullptr);
1970  name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1971  if (has_general_constraint()) {
1972  clear_general_constraint();
1973  }
1974 }
1975 
1976 void MPGeneralConstraintProto::ArenaDtor(void* object) {
1977  MPGeneralConstraintProto* _this = reinterpret_cast< MPGeneralConstraintProto* >(object);
1978  (void)_this;
1979 }
1980 void MPGeneralConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1981 }
1982 void MPGeneralConstraintProto::SetCachedSize(int size) const {
1983  _cached_size_.Set(size);
1984 }
1985 const MPGeneralConstraintProto& MPGeneralConstraintProto::default_instance() {
1986  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_MPGeneralConstraintProto_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto.base);
1987  return *internal_default_instance();
1988 }
1989 
1990 
1991 void MPGeneralConstraintProto::clear_general_constraint() {
1992 // @@protoc_insertion_point(one_of_clear_start:operations_research.MPGeneralConstraintProto)
1993  switch (general_constraint_case()) {
1994  case kIndicatorConstraint: {
1995  if (GetArena() == nullptr) {
1996  delete general_constraint_.indicator_constraint_;
1997  }
1998  break;
1999  }
2000  case kSosConstraint: {
2001  if (GetArena() == nullptr) {
2002  delete general_constraint_.sos_constraint_;
2003  }
2004  break;
2005  }
2006  case kQuadraticConstraint: {
2007  if (GetArena() == nullptr) {
2008  delete general_constraint_.quadratic_constraint_;
2009  }
2010  break;
2011  }
2012  case kAbsConstraint: {
2013  if (GetArena() == nullptr) {
2014  delete general_constraint_.abs_constraint_;
2015  }
2016  break;
2017  }
2018  case kAndConstraint: {
2019  if (GetArena() == nullptr) {
2020  delete general_constraint_.and_constraint_;
2021  }
2022  break;
2023  }
2024  case kOrConstraint: {
2025  if (GetArena() == nullptr) {
2026  delete general_constraint_.or_constraint_;
2027  }
2028  break;
2029  }
2030  case kMinConstraint: {
2031  if (GetArena() == nullptr) {
2032  delete general_constraint_.min_constraint_;
2033  }
2034  break;
2035  }
2036  case kMaxConstraint: {
2037  if (GetArena() == nullptr) {
2038  delete general_constraint_.max_constraint_;
2039  }
2040  break;
2041  }
2042  case GENERAL_CONSTRAINT_NOT_SET: {
2043  break;
2044  }
2045  }
2046  _oneof_case_[0] = GENERAL_CONSTRAINT_NOT_SET;
2047 }
2048 
2049 
2050 void MPGeneralConstraintProto::Clear() {
2051 // @@protoc_insertion_point(message_clear_start:operations_research.MPGeneralConstraintProto)
2052  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2053  // Prevent compiler warnings about cached_has_bits being unused
2054  (void) cached_has_bits;
2055 
2056  cached_has_bits = _has_bits_[0];
2057  if (cached_has_bits & 0x00000001u) {
2058  name_.ClearNonDefaultToEmpty();
2059  }
2060  clear_general_constraint();
2061  _has_bits_.Clear();
2062  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2063 }
2064 
2065 const char* MPGeneralConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
2066 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
2067  _Internal::HasBits has_bits{};
2068  while (!ctx->Done(&ptr)) {
2070  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
2071  CHK_(ptr);
2072  switch (tag >> 3) {
2073  // optional string name = 1 [default = ""];
2074  case 1:
2075  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
2076  auto str = _internal_mutable_name();
2077  ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
2078  #ifndef NDEBUG
2079  ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.MPGeneralConstraintProto.name");
2080  #endif // !NDEBUG
2081  CHK_(ptr);
2082  } else goto handle_unusual;
2083  continue;
2084  // .operations_research.MPIndicatorConstraint indicator_constraint = 2;
2085  case 2:
2086  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
2087  ptr = ctx->ParseMessage(_internal_mutable_indicator_constraint(), ptr);
2088  CHK_(ptr);
2089  } else goto handle_unusual;
2090  continue;
2091  // .operations_research.MPSosConstraint sos_constraint = 3;
2092  case 3:
2093  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
2094  ptr = ctx->ParseMessage(_internal_mutable_sos_constraint(), ptr);
2095  CHK_(ptr);
2096  } else goto handle_unusual;
2097  continue;
2098  // .operations_research.MPQuadraticConstraint quadratic_constraint = 4;
2099  case 4:
2100  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
2101  ptr = ctx->ParseMessage(_internal_mutable_quadratic_constraint(), ptr);
2102  CHK_(ptr);
2103  } else goto handle_unusual;
2104  continue;
2105  // .operations_research.MPAbsConstraint abs_constraint = 5;
2106  case 5:
2107  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
2108  ptr = ctx->ParseMessage(_internal_mutable_abs_constraint(), ptr);
2109  CHK_(ptr);
2110  } else goto handle_unusual;
2111  continue;
2112  // .operations_research.MPArrayConstraint and_constraint = 6;
2113  case 6:
2114  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
2115  ptr = ctx->ParseMessage(_internal_mutable_and_constraint(), ptr);
2116  CHK_(ptr);
2117  } else goto handle_unusual;
2118  continue;
2119  // .operations_research.MPArrayConstraint or_constraint = 7;
2120  case 7:
2121  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
2122  ptr = ctx->ParseMessage(_internal_mutable_or_constraint(), ptr);
2123  CHK_(ptr);
2124  } else goto handle_unusual;
2125  continue;
2126  // .operations_research.MPArrayWithConstantConstraint min_constraint = 8;
2127  case 8:
2128  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
2129  ptr = ctx->ParseMessage(_internal_mutable_min_constraint(), ptr);
2130  CHK_(ptr);
2131  } else goto handle_unusual;
2132  continue;
2133  // .operations_research.MPArrayWithConstantConstraint max_constraint = 9;
2134  case 9:
2135  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
2136  ptr = ctx->ParseMessage(_internal_mutable_max_constraint(), ptr);
2137  CHK_(ptr);
2138  } else goto handle_unusual;
2139  continue;
2140  default: {
2141  handle_unusual:
2142  if ((tag & 7) == 4 || tag == 0) {
2143  ctx->SetLastTag(tag);
2144  goto success;
2145  }
2146  ptr = UnknownFieldParse(tag,
2147  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
2148  ptr, ctx);
2149  CHK_(ptr != nullptr);
2150  continue;
2151  }
2152  } // switch
2153  } // while
2154 success:
2155  _has_bits_.Or(has_bits);
2156  return ptr;
2157 failure:
2158  ptr = nullptr;
2159  goto success;
2160 #undef CHK_
2161 }
2162 
2163 ::PROTOBUF_NAMESPACE_ID::uint8* MPGeneralConstraintProto::_InternalSerialize(
2164  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
2165  // @@protoc_insertion_point(serialize_to_array_start:operations_research.MPGeneralConstraintProto)
2166  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2167  (void) cached_has_bits;
2168 
2169  cached_has_bits = _has_bits_[0];
2170  // optional string name = 1 [default = ""];
2171  if (cached_has_bits & 0x00000001u) {
2172  ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
2173  this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
2174  ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
2175  "operations_research.MPGeneralConstraintProto.name");
2176  target = stream->WriteStringMaybeAliased(
2177  1, this->_internal_name(), target);
2178  }
2179 
2180  switch (general_constraint_case()) {
2181  case kIndicatorConstraint: {
2182  target = stream->EnsureSpace(target);
2183  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2184  InternalWriteMessage(
2185  2, _Internal::indicator_constraint(this), target, stream);
2186  break;
2187  }
2188  case kSosConstraint: {
2189  target = stream->EnsureSpace(target);
2190  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2191  InternalWriteMessage(
2192  3, _Internal::sos_constraint(this), target, stream);
2193  break;
2194  }
2195  case kQuadraticConstraint: {
2196  target = stream->EnsureSpace(target);
2197  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2198  InternalWriteMessage(
2199  4, _Internal::quadratic_constraint(this), target, stream);
2200  break;
2201  }
2202  case kAbsConstraint: {
2203  target = stream->EnsureSpace(target);
2204  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2205  InternalWriteMessage(
2206  5, _Internal::abs_constraint(this), target, stream);
2207  break;
2208  }
2209  case kAndConstraint: {
2210  target = stream->EnsureSpace(target);
2211  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2212  InternalWriteMessage(
2213  6, _Internal::and_constraint(this), target, stream);
2214  break;
2215  }
2216  case kOrConstraint: {
2217  target = stream->EnsureSpace(target);
2218  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2219  InternalWriteMessage(
2220  7, _Internal::or_constraint(this), target, stream);
2221  break;
2222  }
2223  case kMinConstraint: {
2224  target = stream->EnsureSpace(target);
2225  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2226  InternalWriteMessage(
2227  8, _Internal::min_constraint(this), target, stream);
2228  break;
2229  }
2230  case kMaxConstraint: {
2231  target = stream->EnsureSpace(target);
2232  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2233  InternalWriteMessage(
2234  9, _Internal::max_constraint(this), target, stream);
2235  break;
2236  }
2237  default: ;
2238  }
2239  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2240  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
2241  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
2242  }
2243  // @@protoc_insertion_point(serialize_to_array_end:operations_research.MPGeneralConstraintProto)
2244  return target;
2245 }
2246 
2247 size_t MPGeneralConstraintProto::ByteSizeLong() const {
2248 // @@protoc_insertion_point(message_byte_size_start:operations_research.MPGeneralConstraintProto)
2249  size_t total_size = 0;
2250 
2251  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2252  // Prevent compiler warnings about cached_has_bits being unused
2253  (void) cached_has_bits;
2254 
2255  // optional string name = 1 [default = ""];
2256  cached_has_bits = _has_bits_[0];
2257  if (cached_has_bits & 0x00000001u) {
2258  total_size += 1 +
2259  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
2260  this->_internal_name());
2261  }
2262 
2263  switch (general_constraint_case()) {
2264  // .operations_research.MPIndicatorConstraint indicator_constraint = 2;
2265  case kIndicatorConstraint: {
2266  total_size += 1 +
2267  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2268  *general_constraint_.indicator_constraint_);
2269  break;
2270  }
2271  // .operations_research.MPSosConstraint sos_constraint = 3;
2272  case kSosConstraint: {
2273  total_size += 1 +
2274  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2275  *general_constraint_.sos_constraint_);
2276  break;
2277  }
2278  // .operations_research.MPQuadraticConstraint quadratic_constraint = 4;
2279  case kQuadraticConstraint: {
2280  total_size += 1 +
2281  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2282  *general_constraint_.quadratic_constraint_);
2283  break;
2284  }
2285  // .operations_research.MPAbsConstraint abs_constraint = 5;
2286  case kAbsConstraint: {
2287  total_size += 1 +
2288  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2289  *general_constraint_.abs_constraint_);
2290  break;
2291  }
2292  // .operations_research.MPArrayConstraint and_constraint = 6;
2293  case kAndConstraint: {
2294  total_size += 1 +
2295  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2296  *general_constraint_.and_constraint_);
2297  break;
2298  }
2299  // .operations_research.MPArrayConstraint or_constraint = 7;
2300  case kOrConstraint: {
2301  total_size += 1 +
2302  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2303  *general_constraint_.or_constraint_);
2304  break;
2305  }
2306  // .operations_research.MPArrayWithConstantConstraint min_constraint = 8;
2307  case kMinConstraint: {
2308  total_size += 1 +
2309  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2310  *general_constraint_.min_constraint_);
2311  break;
2312  }
2313  // .operations_research.MPArrayWithConstantConstraint max_constraint = 9;
2314  case kMaxConstraint: {
2315  total_size += 1 +
2316  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2317  *general_constraint_.max_constraint_);
2318  break;
2319  }
2320  case GENERAL_CONSTRAINT_NOT_SET: {
2321  break;
2322  }
2323  }
2324  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2325  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
2326  _internal_metadata_, total_size, &_cached_size_);
2327  }
2328  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
2329  SetCachedSize(cached_size);
2330  return total_size;
2331 }
2332 
2333 void MPGeneralConstraintProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
2334 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.MPGeneralConstraintProto)
2335  GOOGLE_DCHECK_NE(&from, this);
2336  const MPGeneralConstraintProto* source =
2337  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<MPGeneralConstraintProto>(
2338  &from);
2339  if (source == nullptr) {
2340  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.MPGeneralConstraintProto)
2341  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
2342  } else {
2343  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.MPGeneralConstraintProto)
2344  MergeFrom(*source);
2345  }
2346 }
2347 
2348 void MPGeneralConstraintProto::MergeFrom(const MPGeneralConstraintProto& from) {
2349 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.MPGeneralConstraintProto)
2350  GOOGLE_DCHECK_NE(&from, this);
2351  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2352  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2353  (void) cached_has_bits;
2354 
2355  if (from._internal_has_name()) {
2356  _internal_set_name(from._internal_name());
2357  }
2358  switch (from.general_constraint_case()) {
2359  case kIndicatorConstraint: {
2360  _internal_mutable_indicator_constraint()->::operations_research::MPIndicatorConstraint::MergeFrom(from._internal_indicator_constraint());
2361  break;
2362  }
2363  case kSosConstraint: {
2364  _internal_mutable_sos_constraint()->::operations_research::MPSosConstraint::MergeFrom(from._internal_sos_constraint());
2365  break;
2366  }
2367  case kQuadraticConstraint: {
2368  _internal_mutable_quadratic_constraint()->::operations_research::MPQuadraticConstraint::MergeFrom(from._internal_quadratic_constraint());
2369  break;
2370  }
2371  case kAbsConstraint: {
2372  _internal_mutable_abs_constraint()->::operations_research::MPAbsConstraint::MergeFrom(from._internal_abs_constraint());
2373  break;
2374  }
2375  case kAndConstraint: {
2376  _internal_mutable_and_constraint()->::operations_research::MPArrayConstraint::MergeFrom(from._internal_and_constraint());
2377  break;
2378  }
2379  case kOrConstraint: {
2380  _internal_mutable_or_constraint()->::operations_research::MPArrayConstraint::MergeFrom(from._internal_or_constraint());
2381  break;
2382  }
2383  case kMinConstraint: {
2384  _internal_mutable_min_constraint()->::operations_research::MPArrayWithConstantConstraint::MergeFrom(from._internal_min_constraint());
2385  break;
2386  }
2387  case kMaxConstraint: {
2388  _internal_mutable_max_constraint()->::operations_research::MPArrayWithConstantConstraint::MergeFrom(from._internal_max_constraint());
2389  break;
2390  }
2391  case GENERAL_CONSTRAINT_NOT_SET: {
2392  break;
2393  }
2394  }
2395 }
2396 
2397 void MPGeneralConstraintProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
2398 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.MPGeneralConstraintProto)
2399  if (&from == this) return;
2400  Clear();
2401  MergeFrom(from);
2402 }
2403 
2404 void MPGeneralConstraintProto::CopyFrom(const MPGeneralConstraintProto& from) {
2405 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.MPGeneralConstraintProto)
2406  if (&from == this) return;
2407  Clear();
2408  MergeFrom(from);
2409 }
2410 
2411 bool MPGeneralConstraintProto::IsInitialized() const {
2412  return true;
2413 }
2414 
2415 void MPGeneralConstraintProto::InternalSwap(MPGeneralConstraintProto* other) {
2416  using std::swap;
2417  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
2418  swap(_has_bits_[0], other->_has_bits_[0]);
2419  name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
2420  swap(general_constraint_, other->general_constraint_);
2421  swap(_oneof_case_[0], other->_oneof_case_[0]);
2422 }
2423 
2424 ::PROTOBUF_NAMESPACE_ID::Metadata MPGeneralConstraintProto::GetMetadata() const {
2425  return GetMetadataStatic();
2426 }
2427 
2428 
2429 // ===================================================================
2430 
2432  public:
2433  using HasBits = decltype(std::declval<MPIndicatorConstraint>()._has_bits_);
2434  static void set_has_var_index(HasBits* has_bits) {
2435  (*has_bits)[0] |= 2u;
2436  }
2437  static void set_has_var_value(HasBits* has_bits) {
2438  (*has_bits)[0] |= 4u;
2439  }
2440  static const ::operations_research::MPConstraintProto& constraint(const MPIndicatorConstraint* msg);
2441  static void set_has_constraint(HasBits* has_bits) {
2442  (*has_bits)[0] |= 1u;
2443  }
2444 };
2445 
2446 const ::operations_research::MPConstraintProto&
2447 MPIndicatorConstraint::_Internal::constraint(const MPIndicatorConstraint* msg) {
2448  return *msg->constraint_;
2449 }
2450 MPIndicatorConstraint::MPIndicatorConstraint(::PROTOBUF_NAMESPACE_ID::Arena* arena)
2451  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
2452  SharedCtor();
2453  RegisterArenaDtor(arena);
2454  // @@protoc_insertion_point(arena_constructor:operations_research.MPIndicatorConstraint)
2455 }
2456 MPIndicatorConstraint::MPIndicatorConstraint(const MPIndicatorConstraint& from)
2457  : ::PROTOBUF_NAMESPACE_ID::Message(),
2458  _has_bits_(from._has_bits_) {
2459  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2460  if (from._internal_has_constraint()) {
2461  constraint_ = new ::operations_research::MPConstraintProto(*from.constraint_);
2462  } else {
2463  constraint_ = nullptr;
2464  }
2465  ::memcpy(&var_index_, &from.var_index_,
2466  static_cast<size_t>(reinterpret_cast<char*>(&var_value_) -
2467  reinterpret_cast<char*>(&var_index_)) + sizeof(var_value_));
2468  // @@protoc_insertion_point(copy_constructor:operations_research.MPIndicatorConstraint)
2469 }
2470 
2471 void MPIndicatorConstraint::SharedCtor() {
2472  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_MPIndicatorConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto.base);
2473  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
2474  reinterpret_cast<char*>(&constraint_) - reinterpret_cast<char*>(this)),
2475  0, static_cast<size_t>(reinterpret_cast<char*>(&var_value_) -
2476  reinterpret_cast<char*>(&constraint_)) + sizeof(var_value_));
2477 }
2478 
2479 MPIndicatorConstraint::~MPIndicatorConstraint() {
2480  // @@protoc_insertion_point(destructor:operations_research.MPIndicatorConstraint)
2481  SharedDtor();
2482  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2483 }
2484 
2485 void MPIndicatorConstraint::SharedDtor() {
2486  GOOGLE_DCHECK(GetArena() == nullptr);
2487  if (this != internal_default_instance()) delete constraint_;
2488 }
2489 
2490 void MPIndicatorConstraint::ArenaDtor(void* object) {
2491  MPIndicatorConstraint* _this = reinterpret_cast< MPIndicatorConstraint* >(object);
2492  (void)_this;
2493 }
2494 void MPIndicatorConstraint::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
2495 }
2496 void MPIndicatorConstraint::SetCachedSize(int size) const {
2497  _cached_size_.Set(size);
2498 }
2499 const MPIndicatorConstraint& MPIndicatorConstraint::default_instance() {
2500  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_MPIndicatorConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto.base);
2501  return *internal_default_instance();
2502 }
2503 
2504 
2505 void MPIndicatorConstraint::Clear() {
2506 // @@protoc_insertion_point(message_clear_start:operations_research.MPIndicatorConstraint)
2507  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2508  // Prevent compiler warnings about cached_has_bits being unused
2509  (void) cached_has_bits;
2510 
2511  cached_has_bits = _has_bits_[0];
2512  if (cached_has_bits & 0x00000001u) {
2513  GOOGLE_DCHECK(constraint_ != nullptr);
2514  constraint_->Clear();
2515  }
2516  if (cached_has_bits & 0x00000006u) {
2517  ::memset(&var_index_, 0, static_cast<size_t>(
2518  reinterpret_cast<char*>(&var_value_) -
2519  reinterpret_cast<char*>(&var_index_)) + sizeof(var_value_));
2520  }
2521  _has_bits_.Clear();
2522  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2523 }
2524 
2525 const char* MPIndicatorConstraint::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
2526 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
2527  _Internal::HasBits has_bits{};
2528  while (!ctx->Done(&ptr)) {
2530  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
2531  CHK_(ptr);
2532  switch (tag >> 3) {
2533  // optional int32 var_index = 1;
2534  case 1:
2535  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
2536  _Internal::set_has_var_index(&has_bits);
2537  var_index_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2538  CHK_(ptr);
2539  } else goto handle_unusual;
2540  continue;
2541  // optional int32 var_value = 2;
2542  case 2:
2543  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
2544  _Internal::set_has_var_value(&has_bits);
2545  var_value_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2546  CHK_(ptr);
2547  } else goto handle_unusual;
2548  continue;
2549  // optional .operations_research.MPConstraintProto constraint = 3;
2550  case 3:
2551  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
2552  ptr = ctx->ParseMessage(_internal_mutable_constraint(), ptr);
2553  CHK_(ptr);
2554  } else goto handle_unusual;
2555  continue;
2556  default: {
2557  handle_unusual:
2558  if ((tag & 7) == 4 || tag == 0) {
2559  ctx->SetLastTag(tag);
2560  goto success;
2561  }
2562  ptr = UnknownFieldParse(tag,
2563  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
2564  ptr, ctx);
2565  CHK_(ptr != nullptr);
2566  continue;
2567  }
2568  } // switch
2569  } // while
2570 success:
2571  _has_bits_.Or(has_bits);
2572  return ptr;
2573 failure:
2574  ptr = nullptr;
2575  goto success;
2576 #undef CHK_
2577 }
2578 
2579 ::PROTOBUF_NAMESPACE_ID::uint8* MPIndicatorConstraint::_InternalSerialize(
2580  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
2581  // @@protoc_insertion_point(serialize_to_array_start:operations_research.MPIndicatorConstraint)
2582  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2583  (void) cached_has_bits;
2584 
2585  cached_has_bits = _has_bits_[0];
2586  // optional int32 var_index = 1;
2587  if (cached_has_bits & 0x00000002u) {
2588  target = stream->EnsureSpace(target);
2589  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_var_index(), target);
2590  }
2591 
2592  // optional int32 var_value = 2;
2593  if (cached_has_bits & 0x00000004u) {
2594  target = stream->EnsureSpace(target);
2595  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_var_value(), target);
2596  }
2597 
2598  // optional .operations_research.MPConstraintProto constraint = 3;
2599  if (cached_has_bits & 0x00000001u) {
2600  target = stream->EnsureSpace(target);
2601  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2602  InternalWriteMessage(
2603  3, _Internal::constraint(this), target, stream);
2604  }
2605 
2606  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2607  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
2608  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
2609  }
2610  // @@protoc_insertion_point(serialize_to_array_end:operations_research.MPIndicatorConstraint)
2611  return target;
2612 }
2613 
2614 size_t MPIndicatorConstraint::ByteSizeLong() const {
2615 // @@protoc_insertion_point(message_byte_size_start:operations_research.MPIndicatorConstraint)
2616  size_t total_size = 0;
2617 
2618  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2619  // Prevent compiler warnings about cached_has_bits being unused
2620  (void) cached_has_bits;
2621 
2622  cached_has_bits = _has_bits_[0];
2623  if (cached_has_bits & 0x00000007u) {
2624  // optional .operations_research.MPConstraintProto constraint = 3;
2625  if (cached_has_bits & 0x00000001u) {
2626  total_size += 1 +
2627  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2628  *constraint_);
2629  }
2630 
2631  // optional int32 var_index = 1;
2632  if (cached_has_bits & 0x00000002u) {
2633  total_size += 1 +
2634  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2635  this->_internal_var_index());
2636  }
2637 
2638  // optional int32 var_value = 2;
2639  if (cached_has_bits & 0x00000004u) {
2640  total_size += 1 +
2641  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2642  this->_internal_var_value());
2643  }
2644 
2645  }
2646  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2647  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
2648  _internal_metadata_, total_size, &_cached_size_);
2649  }
2650  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
2651  SetCachedSize(cached_size);
2652  return total_size;
2653 }
2654 
2655 void MPIndicatorConstraint::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
2656 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.MPIndicatorConstraint)
2657  GOOGLE_DCHECK_NE(&from, this);
2658  const MPIndicatorConstraint* source =
2659  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<MPIndicatorConstraint>(
2660  &from);
2661  if (source == nullptr) {
2662  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.MPIndicatorConstraint)
2663  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
2664  } else {
2665  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.MPIndicatorConstraint)
2666  MergeFrom(*source);
2667  }
2668 }
2669 
2670 void MPIndicatorConstraint::MergeFrom(const MPIndicatorConstraint& from) {
2671 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.MPIndicatorConstraint)
2672  GOOGLE_DCHECK_NE(&from, this);
2673  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2674  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2675  (void) cached_has_bits;
2676 
2677  cached_has_bits = from._has_bits_[0];
2678  if (cached_has_bits & 0x00000007u) {
2679  if (cached_has_bits & 0x00000001u) {
2680  _internal_mutable_constraint()->::operations_research::MPConstraintProto::MergeFrom(from._internal_constraint());
2681  }
2682  if (cached_has_bits & 0x00000002u) {
2683  var_index_ = from.var_index_;
2684  }
2685  if (cached_has_bits & 0x00000004u) {
2686  var_value_ = from.var_value_;
2687  }
2688  _has_bits_[0] |= cached_has_bits;
2689  }
2690 }
2691 
2692 void MPIndicatorConstraint::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
2693 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.MPIndicatorConstraint)
2694  if (&from == this) return;
2695  Clear();
2696  MergeFrom(from);
2697 }
2698 
2699 void MPIndicatorConstraint::CopyFrom(const MPIndicatorConstraint& from) {
2700 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.MPIndicatorConstraint)
2701  if (&from == this) return;
2702  Clear();
2703  MergeFrom(from);
2704 }
2705 
2706 bool MPIndicatorConstraint::IsInitialized() const {
2707  return true;
2708 }
2709 
2710 void MPIndicatorConstraint::InternalSwap(MPIndicatorConstraint* other) {
2711  using std::swap;
2712  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
2713  swap(_has_bits_[0], other->_has_bits_[0]);
2714  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
2715  PROTOBUF_FIELD_OFFSET(MPIndicatorConstraint, var_value_)
2716  + sizeof(MPIndicatorConstraint::var_value_)
2717  - PROTOBUF_FIELD_OFFSET(MPIndicatorConstraint, constraint_)>(
2718  reinterpret_cast<char*>(&constraint_),
2719  reinterpret_cast<char*>(&other->constraint_));
2720 }
2721 
2722 ::PROTOBUF_NAMESPACE_ID::Metadata MPIndicatorConstraint::GetMetadata() const {
2723  return GetMetadataStatic();
2724 }
2725 
2726 
2727 // ===================================================================
2728 
2730  public:
2731  using HasBits = decltype(std::declval<MPSosConstraint>()._has_bits_);
2732  static void set_has_type(HasBits* has_bits) {
2733  (*has_bits)[0] |= 1u;
2734  }
2735 };
2736 
2737 MPSosConstraint::MPSosConstraint(::PROTOBUF_NAMESPACE_ID::Arena* arena)
2738  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
2739  var_index_(arena),
2740  weight_(arena) {
2741  SharedCtor();
2742  RegisterArenaDtor(arena);
2743  // @@protoc_insertion_point(arena_constructor:operations_research.MPSosConstraint)
2744 }
2745 MPSosConstraint::MPSosConstraint(const MPSosConstraint& from)
2746  : ::PROTOBUF_NAMESPACE_ID::Message(),
2747  _has_bits_(from._has_bits_),
2748  var_index_(from.var_index_),
2749  weight_(from.weight_) {
2750  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2751  type_ = from.type_;
2752  // @@protoc_insertion_point(copy_constructor:operations_research.MPSosConstraint)
2753 }
2754 
2755 void MPSosConstraint::SharedCtor() {
2756  type_ = 0;
2757 }
2758 
2759 MPSosConstraint::~MPSosConstraint() {
2760  // @@protoc_insertion_point(destructor:operations_research.MPSosConstraint)
2761  SharedDtor();
2762  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2763 }
2764 
2765 void MPSosConstraint::SharedDtor() {
2766  GOOGLE_DCHECK(GetArena() == nullptr);
2767 }
2768 
2769 void MPSosConstraint::ArenaDtor(void* object) {
2770  MPSosConstraint* _this = reinterpret_cast< MPSosConstraint* >(object);
2771  (void)_this;
2772 }
2773 void MPSosConstraint::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
2774 }
2775 void MPSosConstraint::SetCachedSize(int size) const {
2776  _cached_size_.Set(size);
2777 }
2778 const MPSosConstraint& MPSosConstraint::default_instance() {
2779  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_MPSosConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto.base);
2780  return *internal_default_instance();
2781 }
2782 
2783 
2784 void MPSosConstraint::Clear() {
2785 // @@protoc_insertion_point(message_clear_start:operations_research.MPSosConstraint)
2786  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2787  // Prevent compiler warnings about cached_has_bits being unused
2788  (void) cached_has_bits;
2789 
2790  var_index_.Clear();
2791  weight_.Clear();
2792  type_ = 0;
2793  _has_bits_.Clear();
2794  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2795 }
2796 
2797 const char* MPSosConstraint::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
2798 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
2799  _Internal::HasBits has_bits{};
2800  while (!ctx->Done(&ptr)) {
2802  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
2803  CHK_(ptr);
2804  switch (tag >> 3) {
2805  // optional .operations_research.MPSosConstraint.Type type = 1 [default = SOS1_DEFAULT];
2806  case 1:
2807  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
2808  ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2809  CHK_(ptr);
2810  if (PROTOBUF_PREDICT_TRUE(::operations_research::MPSosConstraint_Type_IsValid(val))) {
2811  _internal_set_type(static_cast<::operations_research::MPSosConstraint_Type>(val));
2812  } else {
2813  ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields());
2814  }
2815  } else goto handle_unusual;
2816  continue;
2817  // repeated int32 var_index = 2;
2818  case 2:
2819  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
2820  ptr -= 1;
2821  do {
2822  ptr += 1;
2823  _internal_add_var_index(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
2824  CHK_(ptr);
2825  if (!ctx->DataAvailable(ptr)) break;
2826  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<16>(ptr));
2827  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18) {
2828  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_var_index(), ptr, ctx);
2829  CHK_(ptr);
2830  } else goto handle_unusual;
2831  continue;
2832  // repeated double weight = 3;
2833  case 3:
2834  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 25)) {
2835  ptr -= 1;
2836  do {
2837  ptr += 1;
2838  _internal_add_weight(::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr));
2839  ptr += sizeof(double);
2840  if (!ctx->DataAvailable(ptr)) break;
2841  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<25>(ptr));
2842  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26) {
2843  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedDoubleParser(_internal_mutable_weight(), ptr, ctx);
2844  CHK_(ptr);
2845  } else goto handle_unusual;
2846  continue;
2847  default: {
2848  handle_unusual:
2849  if ((tag & 7) == 4 || tag == 0) {
2850  ctx->SetLastTag(tag);
2851  goto success;
2852  }
2853  ptr = UnknownFieldParse(tag,
2854  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
2855  ptr, ctx);
2856  CHK_(ptr != nullptr);
2857  continue;
2858  }
2859  } // switch
2860  } // while
2861 success:
2862  _has_bits_.Or(has_bits);
2863  return ptr;
2864 failure:
2865  ptr = nullptr;
2866  goto success;
2867 #undef CHK_
2868 }
2869 
2870 ::PROTOBUF_NAMESPACE_ID::uint8* MPSosConstraint::_InternalSerialize(
2871  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
2872  // @@protoc_insertion_point(serialize_to_array_start:operations_research.MPSosConstraint)
2873  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2874  (void) cached_has_bits;
2875 
2876  cached_has_bits = _has_bits_[0];
2877  // optional .operations_research.MPSosConstraint.Type type = 1 [default = SOS1_DEFAULT];
2878  if (cached_has_bits & 0x00000001u) {
2879  target = stream->EnsureSpace(target);
2880  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
2881  1, this->_internal_type(), target);
2882  }
2883 
2884  // repeated int32 var_index = 2;
2885  for (int i = 0, n = this->_internal_var_index_size(); i < n; i++) {
2886  target = stream->EnsureSpace(target);
2887  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_var_index(i), target);
2888  }
2889 
2890  // repeated double weight = 3;
2891  for (int i = 0, n = this->_internal_weight_size(); i < n; i++) {
2892  target = stream->EnsureSpace(target);
2893  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(3, this->_internal_weight(i), target);
2894  }
2895 
2896  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2897  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
2898  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
2899  }
2900  // @@protoc_insertion_point(serialize_to_array_end:operations_research.MPSosConstraint)
2901  return target;
2902 }
2903 
2904 size_t MPSosConstraint::ByteSizeLong() const {
2905 // @@protoc_insertion_point(message_byte_size_start:operations_research.MPSosConstraint)
2906  size_t total_size = 0;
2907 
2908  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2909  // Prevent compiler warnings about cached_has_bits being unused
2910  (void) cached_has_bits;
2911 
2912  // repeated int32 var_index = 2;
2913  {
2914  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2915  Int32Size(this->var_index_);
2916  total_size += 1 *
2917  ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_var_index_size());
2918  total_size += data_size;
2919  }
2920 
2921  // repeated double weight = 3;
2922  {
2923  unsigned int count = static_cast<unsigned int>(this->_internal_weight_size());
2924  size_t data_size = 8UL * count;
2925  total_size += 1 *
2926  ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_weight_size());
2927  total_size += data_size;
2928  }
2929 
2930  // optional .operations_research.MPSosConstraint.Type type = 1 [default = SOS1_DEFAULT];
2931  cached_has_bits = _has_bits_[0];
2932  if (cached_has_bits & 0x00000001u) {
2933  total_size += 1 +
2934  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_type());
2935  }
2936 
2937  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2938  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
2939  _internal_metadata_, total_size, &_cached_size_);
2940  }
2941  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
2942  SetCachedSize(cached_size);
2943  return total_size;
2944 }
2945 
2946 void MPSosConstraint::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
2947 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.MPSosConstraint)
2948  GOOGLE_DCHECK_NE(&from, this);
2949  const MPSosConstraint* source =
2950  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<MPSosConstraint>(
2951  &from);
2952  if (source == nullptr) {
2953  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.MPSosConstraint)
2954  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
2955  } else {
2956  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.MPSosConstraint)
2957  MergeFrom(*source);
2958  }
2959 }
2960 
2961 void MPSosConstraint::MergeFrom(const MPSosConstraint& from) {
2962 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.MPSosConstraint)
2963  GOOGLE_DCHECK_NE(&from, this);
2964  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2965  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2966  (void) cached_has_bits;
2967 
2968  var_index_.MergeFrom(from.var_index_);
2969  weight_.MergeFrom(from.weight_);
2970  if (from._internal_has_type()) {
2971  _internal_set_type(from._internal_type());
2972  }
2973 }
2974 
2975 void MPSosConstraint::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
2976 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.MPSosConstraint)
2977  if (&from == this) return;
2978  Clear();
2979  MergeFrom(from);
2980 }
2981 
2982 void MPSosConstraint::CopyFrom(const MPSosConstraint& from) {
2983 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.MPSosConstraint)
2984  if (&from == this) return;
2985  Clear();
2986  MergeFrom(from);
2987 }
2988 
2989 bool MPSosConstraint::IsInitialized() const {
2990  return true;
2991 }
2992 
2993 void MPSosConstraint::InternalSwap(MPSosConstraint* other) {
2994  using std::swap;
2995  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
2996  swap(_has_bits_[0], other->_has_bits_[0]);
2997  var_index_.InternalSwap(&other->var_index_);
2998  weight_.InternalSwap(&other->weight_);
2999  swap(type_, other->type_);
3000 }
3001 
3002 ::PROTOBUF_NAMESPACE_ID::Metadata MPSosConstraint::GetMetadata() const {
3003  return GetMetadataStatic();
3004 }
3005 
3006 
3007 // ===================================================================
3008 
3010  public:
3011  using HasBits = decltype(std::declval<MPQuadraticConstraint>()._has_bits_);
3012  static void set_has_lower_bound(HasBits* has_bits) {
3013  (*has_bits)[0] |= 1u;
3014  }
3015  static void set_has_upper_bound(HasBits* has_bits) {
3016  (*has_bits)[0] |= 2u;
3017  }
3018 };
3019 
3020 MPQuadraticConstraint::MPQuadraticConstraint(::PROTOBUF_NAMESPACE_ID::Arena* arena)
3021  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
3022  var_index_(arena),
3023  coefficient_(arena),
3024  qvar1_index_(arena),
3025  qvar2_index_(arena),
3026  qcoefficient_(arena) {
3027  SharedCtor();
3028  RegisterArenaDtor(arena);
3029  // @@protoc_insertion_point(arena_constructor:operations_research.MPQuadraticConstraint)
3030 }
3031 MPQuadraticConstraint::MPQuadraticConstraint(const MPQuadraticConstraint& from)
3032  : ::PROTOBUF_NAMESPACE_ID::Message(),
3033  _has_bits_(from._has_bits_),
3034  var_index_(from.var_index_),
3035  coefficient_(from.coefficient_),
3036  qvar1_index_(from.qvar1_index_),
3037  qvar2_index_(from.qvar2_index_),
3038  qcoefficient_(from.qcoefficient_) {
3039  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3040  ::memcpy(&lower_bound_, &from.lower_bound_,
3041  static_cast<size_t>(reinterpret_cast<char*>(&upper_bound_) -
3042  reinterpret_cast<char*>(&lower_bound_)) + sizeof(upper_bound_));
3043  // @@protoc_insertion_point(copy_constructor:operations_research.MPQuadraticConstraint)
3044 }
3045 
3046 void MPQuadraticConstraint::SharedCtor() {
3047  lower_bound_ = -std::numeric_limits<double>::infinity();
3048  upper_bound_ = std::numeric_limits<double>::infinity();
3049 }
3050 
3051 MPQuadraticConstraint::~MPQuadraticConstraint() {
3052  // @@protoc_insertion_point(destructor:operations_research.MPQuadraticConstraint)
3053  SharedDtor();
3054  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3055 }
3056 
3057 void MPQuadraticConstraint::SharedDtor() {
3058  GOOGLE_DCHECK(GetArena() == nullptr);
3059 }
3060 
3061 void MPQuadraticConstraint::ArenaDtor(void* object) {
3062  MPQuadraticConstraint* _this = reinterpret_cast< MPQuadraticConstraint* >(object);
3063  (void)_this;
3064 }
3065 void MPQuadraticConstraint::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
3066 }
3067 void MPQuadraticConstraint::SetCachedSize(int size) const {
3068  _cached_size_.Set(size);
3069 }
3070 const MPQuadraticConstraint& MPQuadraticConstraint::default_instance() {
3071  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_MPQuadraticConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto.base);
3072  return *internal_default_instance();
3073 }
3074 
3075 
3076 void MPQuadraticConstraint::Clear() {
3077 // @@protoc_insertion_point(message_clear_start:operations_research.MPQuadraticConstraint)
3078  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3079  // Prevent compiler warnings about cached_has_bits being unused
3080  (void) cached_has_bits;
3081 
3082  var_index_.Clear();
3083  coefficient_.Clear();
3084  qvar1_index_.Clear();
3085  qvar2_index_.Clear();
3086  qcoefficient_.Clear();
3087  cached_has_bits = _has_bits_[0];
3088  if (cached_has_bits & 0x00000003u) {
3089  lower_bound_ = -std::numeric_limits<double>::infinity();
3090  upper_bound_ = std::numeric_limits<double>::infinity();
3091  }
3092  _has_bits_.Clear();
3093  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3094 }
3095 
3096 const char* MPQuadraticConstraint::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
3097 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
3098  _Internal::HasBits has_bits{};
3099  while (!ctx->Done(&ptr)) {
3101  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
3102  CHK_(ptr);
3103  switch (tag >> 3) {
3104  // repeated int32 var_index = 1;
3105  case 1:
3106  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
3107  ptr -= 1;
3108  do {
3109  ptr += 1;
3110  _internal_add_var_index(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
3111  CHK_(ptr);
3112  if (!ctx->DataAvailable(ptr)) break;
3113  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<8>(ptr));
3114  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10) {
3115  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_var_index(), ptr, ctx);
3116  CHK_(ptr);
3117  } else goto handle_unusual;
3118  continue;
3119  // repeated double coefficient = 2;
3120  case 2:
3121  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 17)) {
3122  ptr -= 1;
3123  do {
3124  ptr += 1;
3125  _internal_add_coefficient(::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr));
3126  ptr += sizeof(double);
3127  if (!ctx->DataAvailable(ptr)) break;
3128  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<17>(ptr));
3129  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18) {
3130  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedDoubleParser(_internal_mutable_coefficient(), ptr, ctx);
3131  CHK_(ptr);
3132  } else goto handle_unusual;
3133  continue;
3134  // repeated int32 qvar1_index = 3;
3135  case 3:
3136  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
3137  ptr -= 1;
3138  do {
3139  ptr += 1;
3140  _internal_add_qvar1_index(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
3141  CHK_(ptr);
3142  if (!ctx->DataAvailable(ptr)) break;
3143  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<24>(ptr));
3144  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26) {
3145  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_qvar1_index(), ptr, ctx);
3146  CHK_(ptr);
3147  } else goto handle_unusual;
3148  continue;
3149  // repeated int32 qvar2_index = 4;
3150  case 4:
3151  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
3152  ptr -= 1;
3153  do {
3154  ptr += 1;
3155  _internal_add_qvar2_index(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
3156  CHK_(ptr);
3157  if (!ctx->DataAvailable(ptr)) break;
3158  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<32>(ptr));
3159  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34) {
3160  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_qvar2_index(), ptr, ctx);
3161  CHK_(ptr);
3162  } else goto handle_unusual;
3163  continue;
3164  // repeated double qcoefficient = 5;
3165  case 5:
3166  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 41)) {
3167  ptr -= 1;
3168  do {
3169  ptr += 1;
3170  _internal_add_qcoefficient(::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr));
3171  ptr += sizeof(double);
3172  if (!ctx->DataAvailable(ptr)) break;
3173  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<41>(ptr));
3174  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42) {
3175  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedDoubleParser(_internal_mutable_qcoefficient(), ptr, ctx);
3176  CHK_(ptr);
3177  } else goto handle_unusual;
3178  continue;
3179  // optional double lower_bound = 6 [default = -inf];
3180  case 6:
3181  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 49)) {
3182  _Internal::set_has_lower_bound(&has_bits);
3183  lower_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
3184  ptr += sizeof(double);
3185  } else goto handle_unusual;
3186  continue;
3187  // optional double upper_bound = 7 [default = inf];
3188  case 7:
3189  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 57)) {
3190  _Internal::set_has_upper_bound(&has_bits);
3191  upper_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
3192  ptr += sizeof(double);
3193  } else goto handle_unusual;
3194  continue;
3195  default: {
3196  handle_unusual:
3197  if ((tag & 7) == 4 || tag == 0) {
3198  ctx->SetLastTag(tag);
3199  goto success;
3200  }
3201  ptr = UnknownFieldParse(tag,
3202  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
3203  ptr, ctx);
3204  CHK_(ptr != nullptr);
3205  continue;
3206  }
3207  } // switch
3208  } // while
3209 success:
3210  _has_bits_.Or(has_bits);
3211  return ptr;
3212 failure:
3213  ptr = nullptr;
3214  goto success;
3215 #undef CHK_
3216 }
3217 
3218 ::PROTOBUF_NAMESPACE_ID::uint8* MPQuadraticConstraint::_InternalSerialize(
3219  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
3220  // @@protoc_insertion_point(serialize_to_array_start:operations_research.MPQuadraticConstraint)
3221  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3222  (void) cached_has_bits;
3223 
3224  // repeated int32 var_index = 1;
3225  for (int i = 0, n = this->_internal_var_index_size(); i < n; i++) {
3226  target = stream->EnsureSpace(target);
3227  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_var_index(i), target);
3228  }
3229 
3230  // repeated double coefficient = 2;
3231  for (int i = 0, n = this->_internal_coefficient_size(); i < n; i++) {
3232  target = stream->EnsureSpace(target);
3233  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(2, this->_internal_coefficient(i), target);
3234  }
3235 
3236  // repeated int32 qvar1_index = 3;
3237  for (int i = 0, n = this->_internal_qvar1_index_size(); i < n; i++) {
3238  target = stream->EnsureSpace(target);
3239  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_qvar1_index(i), target);
3240  }
3241 
3242  // repeated int32 qvar2_index = 4;
3243  for (int i = 0, n = this->_internal_qvar2_index_size(); i < n; i++) {
3244  target = stream->EnsureSpace(target);
3245  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(4, this->_internal_qvar2_index(i), target);
3246  }
3247 
3248  // repeated double qcoefficient = 5;
3249  for (int i = 0, n = this->_internal_qcoefficient_size(); i < n; i++) {
3250  target = stream->EnsureSpace(target);
3251  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(5, this->_internal_qcoefficient(i), target);
3252  }
3253 
3254  cached_has_bits = _has_bits_[0];
3255  // optional double lower_bound = 6 [default = -inf];
3256  if (cached_has_bits & 0x00000001u) {
3257  target = stream->EnsureSpace(target);
3258  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(6, this->_internal_lower_bound(), target);
3259  }
3260 
3261  // optional double upper_bound = 7 [default = inf];
3262  if (cached_has_bits & 0x00000002u) {
3263  target = stream->EnsureSpace(target);
3264  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(7, this->_internal_upper_bound(), target);
3265  }
3266 
3267  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
3268  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
3269  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
3270  }
3271  // @@protoc_insertion_point(serialize_to_array_end:operations_research.MPQuadraticConstraint)
3272  return target;
3273 }
3274 
3275 size_t MPQuadraticConstraint::ByteSizeLong() const {
3276 // @@protoc_insertion_point(message_byte_size_start:operations_research.MPQuadraticConstraint)
3277  size_t total_size = 0;
3278 
3279  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3280  // Prevent compiler warnings about cached_has_bits being unused
3281  (void) cached_has_bits;
3282 
3283  // repeated int32 var_index = 1;
3284  {
3285  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
3286  Int32Size(this->var_index_);
3287  total_size += 1 *
3288  ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_var_index_size());
3289  total_size += data_size;
3290  }
3291 
3292  // repeated double coefficient = 2;
3293  {
3294  unsigned int count = static_cast<unsigned int>(this->_internal_coefficient_size());
3295  size_t data_size = 8UL * count;
3296  total_size += 1 *
3297  ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_coefficient_size());
3298  total_size += data_size;
3299  }
3300 
3301  // repeated int32 qvar1_index = 3;
3302  {
3303  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
3304  Int32Size(this->qvar1_index_);
3305  total_size += 1 *
3306  ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_qvar1_index_size());
3307  total_size += data_size;
3308  }
3309 
3310  // repeated int32 qvar2_index = 4;
3311  {
3312  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
3313  Int32Size(this->qvar2_index_);
3314  total_size += 1 *
3315  ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_qvar2_index_size());
3316  total_size += data_size;
3317  }
3318 
3319  // repeated double qcoefficient = 5;
3320  {
3321  unsigned int count = static_cast<unsigned int>(this->_internal_qcoefficient_size());
3322  size_t data_size = 8UL * count;
3323  total_size += 1 *
3324  ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_qcoefficient_size());
3325  total_size += data_size;
3326  }
3327 
3328  cached_has_bits = _has_bits_[0];
3329  if (cached_has_bits & 0x00000003u) {
3330  // optional double lower_bound = 6 [default = -inf];
3331  if (cached_has_bits & 0x00000001u) {
3332  total_size += 1 + 8;
3333  }
3334 
3335  // optional double upper_bound = 7 [default = inf];
3336  if (cached_has_bits & 0x00000002u) {
3337  total_size += 1 + 8;
3338  }
3339 
3340  }
3341  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
3342  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
3343  _internal_metadata_, total_size, &_cached_size_);
3344  }
3345  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
3346  SetCachedSize(cached_size);
3347  return total_size;
3348 }
3349 
3350 void MPQuadraticConstraint::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
3351 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.MPQuadraticConstraint)
3352  GOOGLE_DCHECK_NE(&from, this);
3353  const MPQuadraticConstraint* source =
3354  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<MPQuadraticConstraint>(
3355  &from);
3356  if (source == nullptr) {
3357  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.MPQuadraticConstraint)
3358  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
3359  } else {
3360  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.MPQuadraticConstraint)
3361  MergeFrom(*source);
3362  }
3363 }
3364 
3365 void MPQuadraticConstraint::MergeFrom(const MPQuadraticConstraint& from) {
3366 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.MPQuadraticConstraint)
3367  GOOGLE_DCHECK_NE(&from, this);
3368  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3369  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3370  (void) cached_has_bits;
3371 
3372  var_index_.MergeFrom(from.var_index_);
3373  coefficient_.MergeFrom(from.coefficient_);
3374  qvar1_index_.MergeFrom(from.qvar1_index_);
3375  qvar2_index_.MergeFrom(from.qvar2_index_);
3376  qcoefficient_.MergeFrom(from.qcoefficient_);
3377  cached_has_bits = from._has_bits_[0];
3378  if (cached_has_bits & 0x00000003u) {
3379  if (cached_has_bits & 0x00000001u) {
3380  lower_bound_ = from.lower_bound_;
3381  }
3382  if (cached_has_bits & 0x00000002u) {
3383  upper_bound_ = from.upper_bound_;
3384  }
3385  _has_bits_[0] |= cached_has_bits;
3386  }
3387 }
3388 
3389 void MPQuadraticConstraint::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
3390 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.MPQuadraticConstraint)
3391  if (&from == this) return;
3392  Clear();
3393  MergeFrom(from);
3394 }
3395 
3396 void MPQuadraticConstraint::CopyFrom(const MPQuadraticConstraint& from) {
3397 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.MPQuadraticConstraint)
3398  if (&from == this) return;
3399  Clear();
3400  MergeFrom(from);
3401 }
3402 
3403 bool MPQuadraticConstraint::IsInitialized() const {
3404  return true;
3405 }
3406 
3407 void MPQuadraticConstraint::InternalSwap(MPQuadraticConstraint* other) {
3408  using std::swap;
3409  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
3410  swap(_has_bits_[0], other->_has_bits_[0]);
3411  var_index_.InternalSwap(&other->var_index_);
3412  coefficient_.InternalSwap(&other->coefficient_);
3413  qvar1_index_.InternalSwap(&other->qvar1_index_);
3414  qvar2_index_.InternalSwap(&other->qvar2_index_);
3415  qcoefficient_.InternalSwap(&other->qcoefficient_);
3416  swap(lower_bound_, other->lower_bound_);
3417  swap(upper_bound_, other->upper_bound_);
3418 }
3419 
3420 ::PROTOBUF_NAMESPACE_ID::Metadata MPQuadraticConstraint::GetMetadata() const {
3421  return GetMetadataStatic();
3422 }
3423 
3424 
3425 // ===================================================================
3426 
3428  public:
3429  using HasBits = decltype(std::declval<MPAbsConstraint>()._has_bits_);
3430  static void set_has_var_index(HasBits* has_bits) {
3431  (*has_bits)[0] |= 1u;
3432  }
3433  static void set_has_resultant_var_index(HasBits* has_bits) {
3434  (*has_bits)[0] |= 2u;
3435  }
3436 };
3437 
3438 MPAbsConstraint::MPAbsConstraint(::PROTOBUF_NAMESPACE_ID::Arena* arena)
3439  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
3440  SharedCtor();
3441  RegisterArenaDtor(arena);
3442  // @@protoc_insertion_point(arena_constructor:operations_research.MPAbsConstraint)
3443 }
3444 MPAbsConstraint::MPAbsConstraint(const MPAbsConstraint& from)
3445  : ::PROTOBUF_NAMESPACE_ID::Message(),
3446  _has_bits_(from._has_bits_) {
3447  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3448  ::memcpy(&var_index_, &from.var_index_,
3449  static_cast<size_t>(reinterpret_cast<char*>(&resultant_var_index_) -
3450  reinterpret_cast<char*>(&var_index_)) + sizeof(resultant_var_index_));
3451  // @@protoc_insertion_point(copy_constructor:operations_research.MPAbsConstraint)
3452 }
3453 
3454 void MPAbsConstraint::SharedCtor() {
3455  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
3456  reinterpret_cast<char*>(&var_index_) - reinterpret_cast<char*>(this)),
3457  0, static_cast<size_t>(reinterpret_cast<char*>(&resultant_var_index_) -
3458  reinterpret_cast<char*>(&var_index_)) + sizeof(resultant_var_index_));
3459 }
3460 
3461 MPAbsConstraint::~MPAbsConstraint() {
3462  // @@protoc_insertion_point(destructor:operations_research.MPAbsConstraint)
3463  SharedDtor();
3464  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3465 }
3466 
3467 void MPAbsConstraint::SharedDtor() {
3468  GOOGLE_DCHECK(GetArena() == nullptr);
3469 }
3470 
3471 void MPAbsConstraint::ArenaDtor(void* object) {
3472  MPAbsConstraint* _this = reinterpret_cast< MPAbsConstraint* >(object);
3473  (void)_this;
3474 }
3475 void MPAbsConstraint::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
3476 }
3477 void MPAbsConstraint::SetCachedSize(int size) const {
3478  _cached_size_.Set(size);
3479 }
3480 const MPAbsConstraint& MPAbsConstraint::default_instance() {
3481  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_MPAbsConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto.base);
3482  return *internal_default_instance();
3483 }
3484 
3485 
3486 void MPAbsConstraint::Clear() {
3487 // @@protoc_insertion_point(message_clear_start:operations_research.MPAbsConstraint)
3488  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3489  // Prevent compiler warnings about cached_has_bits being unused
3490  (void) cached_has_bits;
3491 
3492  cached_has_bits = _has_bits_[0];
3493  if (cached_has_bits & 0x00000003u) {
3494  ::memset(&var_index_, 0, static_cast<size_t>(
3495  reinterpret_cast<char*>(&resultant_var_index_) -
3496  reinterpret_cast<char*>(&var_index_)) + sizeof(resultant_var_index_));
3497  }
3498  _has_bits_.Clear();
3499  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3500 }
3501 
3502 const char* MPAbsConstraint::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
3503 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
3504  _Internal::HasBits has_bits{};
3505  while (!ctx->Done(&ptr)) {
3507  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
3508  CHK_(ptr);
3509  switch (tag >> 3) {
3510  // optional int32 var_index = 1;
3511  case 1:
3512  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
3513  _Internal::set_has_var_index(&has_bits);
3514  var_index_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3515  CHK_(ptr);
3516  } else goto handle_unusual;
3517  continue;
3518  // optional int32 resultant_var_index = 2;
3519  case 2:
3520  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
3522  resultant_var_index_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3523  CHK_(ptr);
3524  } else goto handle_unusual;
3525  continue;
3526  default: {
3527  handle_unusual:
3528  if ((tag & 7) == 4 || tag == 0) {
3529  ctx->SetLastTag(tag);
3530  goto success;
3531  }
3532  ptr = UnknownFieldParse(tag,
3533  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
3534  ptr, ctx);
3535  CHK_(ptr != nullptr);
3536  continue;
3537  }
3538  } // switch
3539  } // while
3540 success:
3541  _has_bits_.Or(has_bits);
3542  return ptr;
3543 failure:
3544  ptr = nullptr;
3545  goto success;
3546 #undef CHK_
3547 }
3548 
3549 ::PROTOBUF_NAMESPACE_ID::uint8* MPAbsConstraint::_InternalSerialize(
3550  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
3551  // @@protoc_insertion_point(serialize_to_array_start:operations_research.MPAbsConstraint)
3552  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3553  (void) cached_has_bits;
3554 
3555  cached_has_bits = _has_bits_[0];
3556  // optional int32 var_index = 1;
3557  if (cached_has_bits & 0x00000001u) {
3558  target = stream->EnsureSpace(target);
3559  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_var_index(), target);
3560  }
3561 
3562  // optional int32 resultant_var_index = 2;
3563  if (cached_has_bits & 0x00000002u) {
3564  target = stream->EnsureSpace(target);
3565  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_resultant_var_index(), target);
3566  }
3567 
3568  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
3569  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
3570  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
3571  }
3572  // @@protoc_insertion_point(serialize_to_array_end:operations_research.MPAbsConstraint)
3573  return target;
3574 }
3575 
3576 size_t MPAbsConstraint::ByteSizeLong() const {
3577 // @@protoc_insertion_point(message_byte_size_start:operations_research.MPAbsConstraint)
3578  size_t total_size = 0;
3579 
3580  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3581  // Prevent compiler warnings about cached_has_bits being unused
3582  (void) cached_has_bits;
3583 
3584  cached_has_bits = _has_bits_[0];
3585  if (cached_has_bits & 0x00000003u) {
3586  // optional int32 var_index = 1;
3587  if (cached_has_bits & 0x00000001u) {
3588  total_size += 1 +
3589  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
3590  this->_internal_var_index());
3591  }
3592 
3593  // optional int32 resultant_var_index = 2;
3594  if (cached_has_bits & 0x00000002u) {
3595  total_size += 1 +
3596  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
3597  this->_internal_resultant_var_index());
3598  }
3599 
3600  }
3601  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
3602  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
3603  _internal_metadata_, total_size, &_cached_size_);
3604  }
3605  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
3606  SetCachedSize(cached_size);
3607  return total_size;
3608 }
3609 
3610 void MPAbsConstraint::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
3611 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.MPAbsConstraint)
3612  GOOGLE_DCHECK_NE(&from, this);
3613  const MPAbsConstraint* source =
3614  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<MPAbsConstraint>(
3615  &from);
3616  if (source == nullptr) {
3617  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.MPAbsConstraint)
3618  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
3619  } else {
3620  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.MPAbsConstraint)
3621  MergeFrom(*source);
3622  }
3623 }
3624 
3625 void MPAbsConstraint::MergeFrom(const MPAbsConstraint& from) {
3626 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.MPAbsConstraint)
3627  GOOGLE_DCHECK_NE(&from, this);
3628  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3629  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3630  (void) cached_has_bits;
3631 
3632  cached_has_bits = from._has_bits_[0];
3633  if (cached_has_bits & 0x00000003u) {
3634  if (cached_has_bits & 0x00000001u) {
3635  var_index_ = from.var_index_;
3636  }
3637  if (cached_has_bits & 0x00000002u) {
3638  resultant_var_index_ = from.resultant_var_index_;
3639  }
3640  _has_bits_[0] |= cached_has_bits;
3641  }
3642 }
3643 
3644 void MPAbsConstraint::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
3645 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.MPAbsConstraint)
3646  if (&from == this) return;
3647  Clear();
3648  MergeFrom(from);
3649 }
3650 
3651 void MPAbsConstraint::CopyFrom(const MPAbsConstraint& from) {
3652 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.MPAbsConstraint)
3653  if (&from == this) return;
3654  Clear();
3655  MergeFrom(from);
3656 }
3657 
3658 bool MPAbsConstraint::IsInitialized() const {
3659  return true;
3660 }
3661 
3662 void MPAbsConstraint::InternalSwap(MPAbsConstraint* other) {
3663  using std::swap;
3664  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
3665  swap(_has_bits_[0], other->_has_bits_[0]);
3666  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
3667  PROTOBUF_FIELD_OFFSET(MPAbsConstraint, resultant_var_index_)
3668  + sizeof(MPAbsConstraint::resultant_var_index_)
3669  - PROTOBUF_FIELD_OFFSET(MPAbsConstraint, var_index_)>(
3670  reinterpret_cast<char*>(&var_index_),
3671  reinterpret_cast<char*>(&other->var_index_));
3672 }
3673 
3674 ::PROTOBUF_NAMESPACE_ID::Metadata MPAbsConstraint::GetMetadata() const {
3675  return GetMetadataStatic();
3676 }
3677 
3678 
3679 // ===================================================================
3680 
3682  public:
3683  using HasBits = decltype(std::declval<MPArrayConstraint>()._has_bits_);
3684  static void set_has_resultant_var_index(HasBits* has_bits) {
3685  (*has_bits)[0] |= 1u;
3686  }
3687 };
3688 
3689 MPArrayConstraint::MPArrayConstraint(::PROTOBUF_NAMESPACE_ID::Arena* arena)
3690  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
3691  var_index_(arena) {
3692  SharedCtor();
3693  RegisterArenaDtor(arena);
3694  // @@protoc_insertion_point(arena_constructor:operations_research.MPArrayConstraint)
3695 }
3696 MPArrayConstraint::MPArrayConstraint(const MPArrayConstraint& from)
3697  : ::PROTOBUF_NAMESPACE_ID::Message(),
3698  _has_bits_(from._has_bits_),
3699  var_index_(from.var_index_) {
3700  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3701  resultant_var_index_ = from.resultant_var_index_;
3702  // @@protoc_insertion_point(copy_constructor:operations_research.MPArrayConstraint)
3703 }
3704 
3705 void MPArrayConstraint::SharedCtor() {
3706  resultant_var_index_ = 0;
3707 }
3708 
3709 MPArrayConstraint::~MPArrayConstraint() {
3710  // @@protoc_insertion_point(destructor:operations_research.MPArrayConstraint)
3711  SharedDtor();
3712  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3713 }
3714 
3715 void MPArrayConstraint::SharedDtor() {
3716  GOOGLE_DCHECK(GetArena() == nullptr);
3717 }
3718 
3719 void MPArrayConstraint::ArenaDtor(void* object) {
3720  MPArrayConstraint* _this = reinterpret_cast< MPArrayConstraint* >(object);
3721  (void)_this;
3722 }
3723 void MPArrayConstraint::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
3724 }
3725 void MPArrayConstraint::SetCachedSize(int size) const {
3726  _cached_size_.Set(size);
3727 }
3728 const MPArrayConstraint& MPArrayConstraint::default_instance() {
3729  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_MPArrayConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto.base);
3730  return *internal_default_instance();
3731 }
3732 
3733 
3734 void MPArrayConstraint::Clear() {
3735 // @@protoc_insertion_point(message_clear_start:operations_research.MPArrayConstraint)
3736  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3737  // Prevent compiler warnings about cached_has_bits being unused
3738  (void) cached_has_bits;
3739 
3740  var_index_.Clear();
3741  resultant_var_index_ = 0;
3742  _has_bits_.Clear();
3743  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3744 }
3745 
3746 const char* MPArrayConstraint::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
3747 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
3748  _Internal::HasBits has_bits{};
3749  while (!ctx->Done(&ptr)) {
3751  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
3752  CHK_(ptr);
3753  switch (tag >> 3) {
3754  // repeated int32 var_index = 1;
3755  case 1:
3756  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
3757  ptr -= 1;
3758  do {
3759  ptr += 1;
3760  _internal_add_var_index(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
3761  CHK_(ptr);
3762  if (!ctx->DataAvailable(ptr)) break;
3763  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<8>(ptr));
3764  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10) {
3765  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_var_index(), ptr, ctx);
3766  CHK_(ptr);
3767  } else goto handle_unusual;
3768  continue;
3769  // optional int32 resultant_var_index = 2;
3770  case 2:
3771  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
3773  resultant_var_index_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3774  CHK_(ptr);
3775  } else goto handle_unusual;
3776  continue;
3777  default: {
3778  handle_unusual:
3779  if ((tag & 7) == 4 || tag == 0) {
3780  ctx->SetLastTag(tag);
3781  goto success;
3782  }
3783  ptr = UnknownFieldParse(tag,
3784  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
3785  ptr, ctx);
3786  CHK_(ptr != nullptr);
3787  continue;
3788  }
3789  } // switch
3790  } // while
3791 success:
3792  _has_bits_.Or(has_bits);
3793  return ptr;
3794 failure:
3795  ptr = nullptr;
3796  goto success;
3797 #undef CHK_
3798 }
3799 
3800 ::PROTOBUF_NAMESPACE_ID::uint8* MPArrayConstraint::_InternalSerialize(
3801  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
3802  // @@protoc_insertion_point(serialize_to_array_start:operations_research.MPArrayConstraint)
3803  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3804  (void) cached_has_bits;
3805 
3806  // repeated int32 var_index = 1;
3807  for (int i = 0, n = this->_internal_var_index_size(); i < n; i++) {
3808  target = stream->EnsureSpace(target);
3809  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_var_index(i), target);
3810  }
3811 
3812  cached_has_bits = _has_bits_[0];
3813  // optional int32 resultant_var_index = 2;
3814  if (cached_has_bits & 0x00000001u) {
3815  target = stream->EnsureSpace(target);
3816  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_resultant_var_index(), target);
3817  }
3818 
3819  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
3820  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
3821  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
3822  }
3823  // @@protoc_insertion_point(serialize_to_array_end:operations_research.MPArrayConstraint)
3824  return target;
3825 }
3826 
3827 size_t MPArrayConstraint::ByteSizeLong() const {
3828 // @@protoc_insertion_point(message_byte_size_start:operations_research.MPArrayConstraint)
3829  size_t total_size = 0;
3830 
3831  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3832  // Prevent compiler warnings about cached_has_bits being unused
3833  (void) cached_has_bits;
3834 
3835  // repeated int32 var_index = 1;
3836  {
3837  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
3838  Int32Size(this->var_index_);
3839  total_size += 1 *
3840  ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_var_index_size());
3841  total_size += data_size;
3842  }
3843 
3844  // optional int32 resultant_var_index = 2;
3845  cached_has_bits = _has_bits_[0];
3846  if (cached_has_bits & 0x00000001u) {
3847  total_size += 1 +
3848  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
3849  this->_internal_resultant_var_index());
3850  }
3851 
3852  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
3853  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
3854  _internal_metadata_, total_size, &_cached_size_);
3855  }
3856  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
3857  SetCachedSize(cached_size);
3858  return total_size;
3859 }
3860 
3861 void MPArrayConstraint::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
3862 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.MPArrayConstraint)
3863  GOOGLE_DCHECK_NE(&from, this);
3864  const MPArrayConstraint* source =
3865  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<MPArrayConstraint>(
3866  &from);
3867  if (source == nullptr) {
3868  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.MPArrayConstraint)
3869  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
3870  } else {
3871  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.MPArrayConstraint)
3872  MergeFrom(*source);
3873  }
3874 }
3875 
3876 void MPArrayConstraint::MergeFrom(const MPArrayConstraint& from) {
3877 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.MPArrayConstraint)
3878  GOOGLE_DCHECK_NE(&from, this);
3879  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3880  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3881  (void) cached_has_bits;
3882 
3883  var_index_.MergeFrom(from.var_index_);
3884  if (from._internal_has_resultant_var_index()) {
3885  _internal_set_resultant_var_index(from._internal_resultant_var_index());
3886  }
3887 }
3888 
3889 void MPArrayConstraint::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
3890 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.MPArrayConstraint)
3891  if (&from == this) return;
3892  Clear();
3893  MergeFrom(from);
3894 }
3895 
3896 void MPArrayConstraint::CopyFrom(const MPArrayConstraint& from) {
3897 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.MPArrayConstraint)
3898  if (&from == this) return;
3899  Clear();
3900  MergeFrom(from);
3901 }
3902 
3903 bool MPArrayConstraint::IsInitialized() const {
3904  return true;
3905 }
3906 
3907 void MPArrayConstraint::InternalSwap(MPArrayConstraint* other) {
3908  using std::swap;
3909  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
3910  swap(_has_bits_[0], other->_has_bits_[0]);
3911  var_index_.InternalSwap(&other->var_index_);
3912  swap(resultant_var_index_, other->resultant_var_index_);
3913 }
3914 
3915 ::PROTOBUF_NAMESPACE_ID::Metadata MPArrayConstraint::GetMetadata() const {
3916  return GetMetadataStatic();
3917 }
3918 
3919 
3920 // ===================================================================
3921 
3923  public:
3924  using HasBits = decltype(std::declval<MPArrayWithConstantConstraint>()._has_bits_);
3925  static void set_has_constant(HasBits* has_bits) {
3926  (*has_bits)[0] |= 1u;
3927  }
3928  static void set_has_resultant_var_index(HasBits* has_bits) {
3929  (*has_bits)[0] |= 2u;
3930  }
3931 };
3932 
3933 MPArrayWithConstantConstraint::MPArrayWithConstantConstraint(::PROTOBUF_NAMESPACE_ID::Arena* arena)
3934  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
3935  var_index_(arena) {
3936  SharedCtor();
3937  RegisterArenaDtor(arena);
3938  // @@protoc_insertion_point(arena_constructor:operations_research.MPArrayWithConstantConstraint)
3939 }
3940 MPArrayWithConstantConstraint::MPArrayWithConstantConstraint(const MPArrayWithConstantConstraint& from)
3941  : ::PROTOBUF_NAMESPACE_ID::Message(),
3942  _has_bits_(from._has_bits_),
3943  var_index_(from.var_index_) {
3944  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3945  ::memcpy(&constant_, &from.constant_,
3946  static_cast<size_t>(reinterpret_cast<char*>(&resultant_var_index_) -
3947  reinterpret_cast<char*>(&constant_)) + sizeof(resultant_var_index_));
3948  // @@protoc_insertion_point(copy_constructor:operations_research.MPArrayWithConstantConstraint)
3949 }
3950 
3951 void MPArrayWithConstantConstraint::SharedCtor() {
3952  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
3953  reinterpret_cast<char*>(&constant_) - reinterpret_cast<char*>(this)),
3954  0, static_cast<size_t>(reinterpret_cast<char*>(&resultant_var_index_) -
3955  reinterpret_cast<char*>(&constant_)) + sizeof(resultant_var_index_));
3956 }
3957 
3958 MPArrayWithConstantConstraint::~MPArrayWithConstantConstraint() {
3959  // @@protoc_insertion_point(destructor:operations_research.MPArrayWithConstantConstraint)
3960  SharedDtor();
3961  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3962 }
3963 
3964 void MPArrayWithConstantConstraint::SharedDtor() {
3965  GOOGLE_DCHECK(GetArena() == nullptr);
3966 }
3967 
3968 void MPArrayWithConstantConstraint::ArenaDtor(void* object) {
3969  MPArrayWithConstantConstraint* _this = reinterpret_cast< MPArrayWithConstantConstraint* >(object);
3970  (void)_this;
3971 }
3972 void MPArrayWithConstantConstraint::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
3973 }
3974 void MPArrayWithConstantConstraint::SetCachedSize(int size) const {
3975  _cached_size_.Set(size);
3976 }
3977 const MPArrayWithConstantConstraint& MPArrayWithConstantConstraint::default_instance() {
3978  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_MPArrayWithConstantConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto.base);
3979  return *internal_default_instance();
3980 }
3981 
3982 
3983 void MPArrayWithConstantConstraint::Clear() {
3984 // @@protoc_insertion_point(message_clear_start:operations_research.MPArrayWithConstantConstraint)
3985  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3986  // Prevent compiler warnings about cached_has_bits being unused
3987  (void) cached_has_bits;
3988 
3989  var_index_.Clear();
3990  cached_has_bits = _has_bits_[0];
3991  if (cached_has_bits & 0x00000003u) {
3992  ::memset(&constant_, 0, static_cast<size_t>(
3993  reinterpret_cast<char*>(&resultant_var_index_) -
3994  reinterpret_cast<char*>(&constant_)) + sizeof(resultant_var_index_));
3995  }
3996  _has_bits_.Clear();
3997  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3998 }
3999 
4000 const char* MPArrayWithConstantConstraint::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
4001 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
4002  _Internal::HasBits has_bits{};
4003  while (!ctx->Done(&ptr)) {
4005  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
4006  CHK_(ptr);
4007  switch (tag >> 3) {
4008  // repeated int32 var_index = 1;
4009  case 1:
4010  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
4011  ptr -= 1;
4012  do {
4013  ptr += 1;
4014  _internal_add_var_index(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
4015  CHK_(ptr);
4016  if (!ctx->DataAvailable(ptr)) break;
4017  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<8>(ptr));
4018  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10) {
4019  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_var_index(), ptr, ctx);
4020  CHK_(ptr);
4021  } else goto handle_unusual;
4022  continue;
4023  // optional double constant = 2;
4024  case 2:
4025  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 17)) {
4026  _Internal::set_has_constant(&has_bits);
4027  constant_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
4028  ptr += sizeof(double);
4029  } else goto handle_unusual;
4030  continue;
4031  // optional int32 resultant_var_index = 3;
4032  case 3:
4033  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
4035  resultant_var_index_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
4036  CHK_(ptr);
4037  } else goto handle_unusual;
4038  continue;
4039  default: {
4040  handle_unusual:
4041  if ((tag & 7) == 4 || tag == 0) {
4042  ctx->SetLastTag(tag);
4043  goto success;
4044  }
4045  ptr = UnknownFieldParse(tag,
4046  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
4047  ptr, ctx);
4048  CHK_(ptr != nullptr);
4049  continue;
4050  }
4051  } // switch
4052  } // while
4053 success:
4054  _has_bits_.Or(has_bits);
4055  return ptr;
4056 failure:
4057  ptr = nullptr;
4058  goto success;
4059 #undef CHK_
4060 }
4061 
4062 ::PROTOBUF_NAMESPACE_ID::uint8* MPArrayWithConstantConstraint::_InternalSerialize(
4063  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
4064  // @@protoc_insertion_point(serialize_to_array_start:operations_research.MPArrayWithConstantConstraint)
4065  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4066  (void) cached_has_bits;
4067 
4068  // repeated int32 var_index = 1;
4069  for (int i = 0, n = this->_internal_var_index_size(); i < n; i++) {
4070  target = stream->EnsureSpace(target);
4071  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_var_index(i), target);
4072  }
4073 
4074  cached_has_bits = _has_bits_[0];
4075  // optional double constant = 2;
4076  if (cached_has_bits & 0x00000001u) {
4077  target = stream->EnsureSpace(target);
4078  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(2, this->_internal_constant(), target);
4079  }
4080 
4081  // optional int32 resultant_var_index = 3;
4082  if (cached_has_bits & 0x00000002u) {
4083  target = stream->EnsureSpace(target);
4084  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_resultant_var_index(), target);
4085  }
4086 
4087  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
4088  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
4089  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
4090  }
4091  // @@protoc_insertion_point(serialize_to_array_end:operations_research.MPArrayWithConstantConstraint)
4092  return target;
4093 }
4094 
4095 size_t MPArrayWithConstantConstraint::ByteSizeLong() const {
4096 // @@protoc_insertion_point(message_byte_size_start:operations_research.MPArrayWithConstantConstraint)
4097  size_t total_size = 0;
4098 
4099  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4100  // Prevent compiler warnings about cached_has_bits being unused
4101  (void) cached_has_bits;
4102 
4103  // repeated int32 var_index = 1;
4104  {
4105  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4106  Int32Size(this->var_index_);
4107  total_size += 1 *
4108  ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_var_index_size());
4109  total_size += data_size;
4110  }
4111 
4112  cached_has_bits = _has_bits_[0];
4113  if (cached_has_bits & 0x00000003u) {
4114  // optional double constant = 2;
4115  if (cached_has_bits & 0x00000001u) {
4116  total_size += 1 + 8;
4117  }
4118 
4119  // optional int32 resultant_var_index = 3;
4120  if (cached_has_bits & 0x00000002u) {
4121  total_size += 1 +
4122  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4123  this->_internal_resultant_var_index());
4124  }
4125 
4126  }
4127  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
4128  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
4129  _internal_metadata_, total_size, &_cached_size_);
4130  }
4131  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
4132  SetCachedSize(cached_size);
4133  return total_size;
4134 }
4135 
4136 void MPArrayWithConstantConstraint::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
4137 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.MPArrayWithConstantConstraint)
4138  GOOGLE_DCHECK_NE(&from, this);
4139  const MPArrayWithConstantConstraint* source =
4140  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<MPArrayWithConstantConstraint>(
4141  &from);
4142  if (source == nullptr) {
4143  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.MPArrayWithConstantConstraint)
4144  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
4145  } else {
4146  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.MPArrayWithConstantConstraint)
4147  MergeFrom(*source);
4148  }
4149 }
4150 
4151 void MPArrayWithConstantConstraint::MergeFrom(const MPArrayWithConstantConstraint& from) {
4152 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.MPArrayWithConstantConstraint)
4153  GOOGLE_DCHECK_NE(&from, this);
4154  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
4155  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4156  (void) cached_has_bits;
4157 
4158  var_index_.MergeFrom(from.var_index_);
4159  cached_has_bits = from._has_bits_[0];
4160  if (cached_has_bits & 0x00000003u) {
4161  if (cached_has_bits & 0x00000001u) {
4162  constant_ = from.constant_;
4163  }
4164  if (cached_has_bits & 0x00000002u) {
4165  resultant_var_index_ = from.resultant_var_index_;
4166  }
4167  _has_bits_[0] |= cached_has_bits;
4168  }
4169 }
4170 
4171 void MPArrayWithConstantConstraint::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
4172 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.MPArrayWithConstantConstraint)
4173  if (&from == this) return;
4174  Clear();
4175  MergeFrom(from);
4176 }
4177 
4178 void MPArrayWithConstantConstraint::CopyFrom(const MPArrayWithConstantConstraint& from) {
4179 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.MPArrayWithConstantConstraint)
4180  if (&from == this) return;
4181  Clear();
4182  MergeFrom(from);
4183 }
4184 
4185 bool MPArrayWithConstantConstraint::IsInitialized() const {
4186  return true;
4187 }
4188 
4189 void MPArrayWithConstantConstraint::InternalSwap(MPArrayWithConstantConstraint* other) {
4190  using std::swap;
4191  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
4192  swap(_has_bits_[0], other->_has_bits_[0]);
4193  var_index_.InternalSwap(&other->var_index_);
4194  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
4195  PROTOBUF_FIELD_OFFSET(MPArrayWithConstantConstraint, resultant_var_index_)
4196  + sizeof(MPArrayWithConstantConstraint::resultant_var_index_)
4197  - PROTOBUF_FIELD_OFFSET(MPArrayWithConstantConstraint, constant_)>(
4198  reinterpret_cast<char*>(&constant_),
4199  reinterpret_cast<char*>(&other->constant_));
4200 }
4201 
4202 ::PROTOBUF_NAMESPACE_ID::Metadata MPArrayWithConstantConstraint::GetMetadata() const {
4203  return GetMetadataStatic();
4204 }
4205 
4206 
4207 // ===================================================================
4208 
4210  public:
4211 };
4212 
4213 MPQuadraticObjective::MPQuadraticObjective(::PROTOBUF_NAMESPACE_ID::Arena* arena)
4214  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
4215  qvar1_index_(arena),
4216  qvar2_index_(arena),
4217  coefficient_(arena) {
4218  SharedCtor();
4219  RegisterArenaDtor(arena);
4220  // @@protoc_insertion_point(arena_constructor:operations_research.MPQuadraticObjective)
4221 }
4222 MPQuadraticObjective::MPQuadraticObjective(const MPQuadraticObjective& from)
4223  : ::PROTOBUF_NAMESPACE_ID::Message(),
4224  qvar1_index_(from.qvar1_index_),
4225  qvar2_index_(from.qvar2_index_),
4226  coefficient_(from.coefficient_) {
4227  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
4228  // @@protoc_insertion_point(copy_constructor:operations_research.MPQuadraticObjective)
4229 }
4230 
4231 void MPQuadraticObjective::SharedCtor() {
4232 }
4233 
4234 MPQuadraticObjective::~MPQuadraticObjective() {
4235  // @@protoc_insertion_point(destructor:operations_research.MPQuadraticObjective)
4236  SharedDtor();
4237  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4238 }
4239 
4240 void MPQuadraticObjective::SharedDtor() {
4241  GOOGLE_DCHECK(GetArena() == nullptr);
4242 }
4243 
4244 void MPQuadraticObjective::ArenaDtor(void* object) {
4245  MPQuadraticObjective* _this = reinterpret_cast< MPQuadraticObjective* >(object);
4246  (void)_this;
4247 }
4248 void MPQuadraticObjective::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
4249 }
4250 void MPQuadraticObjective::SetCachedSize(int size) const {
4251  _cached_size_.Set(size);
4252 }
4253 const MPQuadraticObjective& MPQuadraticObjective::default_instance() {
4254  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_MPQuadraticObjective_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto.base);
4255  return *internal_default_instance();
4256 }
4257 
4258 
4259 void MPQuadraticObjective::Clear() {
4260 // @@protoc_insertion_point(message_clear_start:operations_research.MPQuadraticObjective)
4261  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4262  // Prevent compiler warnings about cached_has_bits being unused
4263  (void) cached_has_bits;
4264 
4265  qvar1_index_.Clear();
4266  qvar2_index_.Clear();
4267  coefficient_.Clear();
4268  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4269 }
4270 
4271 const char* MPQuadraticObjective::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
4272 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
4273  while (!ctx->Done(&ptr)) {
4275  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
4276  CHK_(ptr);
4277  switch (tag >> 3) {
4278  // repeated int32 qvar1_index = 1;
4279  case 1:
4280  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
4281  ptr -= 1;
4282  do {
4283  ptr += 1;
4284  _internal_add_qvar1_index(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
4285  CHK_(ptr);
4286  if (!ctx->DataAvailable(ptr)) break;
4287  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<8>(ptr));
4288  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10) {
4289  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_qvar1_index(), ptr, ctx);
4290  CHK_(ptr);
4291  } else goto handle_unusual;
4292  continue;
4293  // repeated int32 qvar2_index = 2;
4294  case 2:
4295  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
4296  ptr -= 1;
4297  do {
4298  ptr += 1;
4299  _internal_add_qvar2_index(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
4300  CHK_(ptr);
4301  if (!ctx->DataAvailable(ptr)) break;
4302  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<16>(ptr));
4303  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18) {
4304  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_qvar2_index(), ptr, ctx);
4305  CHK_(ptr);
4306  } else goto handle_unusual;
4307  continue;
4308  // repeated double coefficient = 3;
4309  case 3:
4310  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 25)) {
4311  ptr -= 1;
4312  do {
4313  ptr += 1;
4314  _internal_add_coefficient(::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr));
4315  ptr += sizeof(double);
4316  if (!ctx->DataAvailable(ptr)) break;
4317  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<25>(ptr));
4318  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26) {
4319  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedDoubleParser(_internal_mutable_coefficient(), ptr, ctx);
4320  CHK_(ptr);
4321  } else goto handle_unusual;
4322  continue;
4323  default: {
4324  handle_unusual:
4325  if ((tag & 7) == 4 || tag == 0) {
4326  ctx->SetLastTag(tag);
4327  goto success;
4328  }
4329  ptr = UnknownFieldParse(tag,
4330  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
4331  ptr, ctx);
4332  CHK_(ptr != nullptr);
4333  continue;
4334  }
4335  } // switch
4336  } // while
4337 success:
4338  return ptr;
4339 failure:
4340  ptr = nullptr;
4341  goto success;
4342 #undef CHK_
4343 }
4344 
4345 ::PROTOBUF_NAMESPACE_ID::uint8* MPQuadraticObjective::_InternalSerialize(
4346  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
4347  // @@protoc_insertion_point(serialize_to_array_start:operations_research.MPQuadraticObjective)
4348  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4349  (void) cached_has_bits;
4350 
4351  // repeated int32 qvar1_index = 1;
4352  for (int i = 0, n = this->_internal_qvar1_index_size(); i < n; i++) {
4353  target = stream->EnsureSpace(target);
4354  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_qvar1_index(i), target);
4355  }
4356 
4357  // repeated int32 qvar2_index = 2;
4358  for (int i = 0, n = this->_internal_qvar2_index_size(); i < n; i++) {
4359  target = stream->EnsureSpace(target);
4360  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_qvar2_index(i), target);
4361  }
4362 
4363  // repeated double coefficient = 3;
4364  for (int i = 0, n = this->_internal_coefficient_size(); i < n; i++) {
4365  target = stream->EnsureSpace(target);
4366  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(3, this->_internal_coefficient(i), target);
4367  }
4368 
4369  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
4370  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
4371  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
4372  }
4373  // @@protoc_insertion_point(serialize_to_array_end:operations_research.MPQuadraticObjective)
4374  return target;
4375 }
4376 
4377 size_t MPQuadraticObjective::ByteSizeLong() const {
4378 // @@protoc_insertion_point(message_byte_size_start:operations_research.MPQuadraticObjective)
4379  size_t total_size = 0;
4380 
4381  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4382  // Prevent compiler warnings about cached_has_bits being unused
4383  (void) cached_has_bits;
4384 
4385  // repeated int32 qvar1_index = 1;
4386  {
4387  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4388  Int32Size(this->qvar1_index_);
4389  total_size += 1 *
4390  ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_qvar1_index_size());
4391  total_size += data_size;
4392  }
4393 
4394  // repeated int32 qvar2_index = 2;
4395  {
4396  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4397  Int32Size(this->qvar2_index_);
4398  total_size += 1 *
4399  ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_qvar2_index_size());
4400  total_size += data_size;
4401  }
4402 
4403  // repeated double coefficient = 3;
4404  {
4405  unsigned int count = static_cast<unsigned int>(this->_internal_coefficient_size());
4406  size_t data_size = 8UL * count;
4407  total_size += 1 *
4408  ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_coefficient_size());
4409  total_size += data_size;
4410  }
4411 
4412  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
4413  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
4414  _internal_metadata_, total_size, &_cached_size_);
4415  }
4416  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
4417  SetCachedSize(cached_size);
4418  return total_size;
4419 }
4420 
4421 void MPQuadraticObjective::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
4422 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.MPQuadraticObjective)
4423  GOOGLE_DCHECK_NE(&from, this);
4424  const MPQuadraticObjective* source =
4425  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<MPQuadraticObjective>(
4426  &from);
4427  if (source == nullptr) {
4428  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.MPQuadraticObjective)
4429  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
4430  } else {
4431  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.MPQuadraticObjective)
4432  MergeFrom(*source);
4433  }
4434 }
4435 
4436 void MPQuadraticObjective::MergeFrom(const MPQuadraticObjective& from) {
4437 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.MPQuadraticObjective)
4438  GOOGLE_DCHECK_NE(&from, this);
4439  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
4440  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4441  (void) cached_has_bits;
4442 
4443  qvar1_index_.MergeFrom(from.qvar1_index_);
4444  qvar2_index_.MergeFrom(from.qvar2_index_);
4445  coefficient_.MergeFrom(from.coefficient_);
4446 }
4447 
4448 void MPQuadraticObjective::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
4449 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.MPQuadraticObjective)
4450  if (&from == this) return;
4451  Clear();
4452  MergeFrom(from);
4453 }
4454 
4455 void MPQuadraticObjective::CopyFrom(const MPQuadraticObjective& from) {
4456 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.MPQuadraticObjective)
4457  if (&from == this) return;
4458  Clear();
4459  MergeFrom(from);
4460 }
4461 
4462 bool MPQuadraticObjective::IsInitialized() const {
4463  return true;
4464 }
4465 
4466 void MPQuadraticObjective::InternalSwap(MPQuadraticObjective* other) {
4467  using std::swap;
4468  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
4469  qvar1_index_.InternalSwap(&other->qvar1_index_);
4470  qvar2_index_.InternalSwap(&other->qvar2_index_);
4471  coefficient_.InternalSwap(&other->coefficient_);
4472 }
4473 
4474 ::PROTOBUF_NAMESPACE_ID::Metadata MPQuadraticObjective::GetMetadata() const {
4475  return GetMetadataStatic();
4476 }
4477 
4478 
4479 // ===================================================================
4480 
4482  public:
4483 };
4484 
4485 PartialVariableAssignment::PartialVariableAssignment(::PROTOBUF_NAMESPACE_ID::Arena* arena)
4486  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
4487  var_index_(arena),
4488  var_value_(arena) {
4489  SharedCtor();
4490  RegisterArenaDtor(arena);
4491  // @@protoc_insertion_point(arena_constructor:operations_research.PartialVariableAssignment)
4492 }
4493 PartialVariableAssignment::PartialVariableAssignment(const PartialVariableAssignment& from)
4494  : ::PROTOBUF_NAMESPACE_ID::Message(),
4495  var_index_(from.var_index_),
4496  var_value_(from.var_value_) {
4497  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
4498  // @@protoc_insertion_point(copy_constructor:operations_research.PartialVariableAssignment)
4499 }
4500 
4501 void PartialVariableAssignment::SharedCtor() {
4502 }
4503 
4504 PartialVariableAssignment::~PartialVariableAssignment() {
4505  // @@protoc_insertion_point(destructor:operations_research.PartialVariableAssignment)
4506  SharedDtor();
4507  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4508 }
4509 
4510 void PartialVariableAssignment::SharedDtor() {
4511  GOOGLE_DCHECK(GetArena() == nullptr);
4512 }
4513 
4514 void PartialVariableAssignment::ArenaDtor(void* object) {
4515  PartialVariableAssignment* _this = reinterpret_cast< PartialVariableAssignment* >(object);
4516  (void)_this;
4517 }
4518 void PartialVariableAssignment::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
4519 }
4520 void PartialVariableAssignment::SetCachedSize(int size) const {
4521  _cached_size_.Set(size);
4522 }
4523 const PartialVariableAssignment& PartialVariableAssignment::default_instance() {
4524  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_PartialVariableAssignment_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto.base);
4525  return *internal_default_instance();
4526 }
4527 
4528 
4529 void PartialVariableAssignment::Clear() {
4530 // @@protoc_insertion_point(message_clear_start:operations_research.PartialVariableAssignment)
4531  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4532  // Prevent compiler warnings about cached_has_bits being unused
4533  (void) cached_has_bits;
4534 
4535  var_index_.Clear();
4536  var_value_.Clear();
4537  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4538 }
4539 
4540 const char* PartialVariableAssignment::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
4541 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
4542  while (!ctx->Done(&ptr)) {
4544  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
4545  CHK_(ptr);
4546  switch (tag >> 3) {
4547  // repeated int32 var_index = 1 [packed = true];
4548  case 1:
4549  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
4550  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_var_index(), ptr, ctx);
4551  CHK_(ptr);
4552  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
4553  _internal_add_var_index(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
4554  CHK_(ptr);
4555  } else goto handle_unusual;
4556  continue;
4557  // repeated double var_value = 2 [packed = true];
4558  case 2:
4559  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
4560  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedDoubleParser(_internal_mutable_var_value(), ptr, ctx);
4561  CHK_(ptr);
4562  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 17) {
4563  _internal_add_var_value(::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr));
4564  ptr += sizeof(double);
4565  } else goto handle_unusual;
4566  continue;
4567  default: {
4568  handle_unusual:
4569  if ((tag & 7) == 4 || tag == 0) {
4570  ctx->SetLastTag(tag);
4571  goto success;
4572  }
4573  ptr = UnknownFieldParse(tag,
4574  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
4575  ptr, ctx);
4576  CHK_(ptr != nullptr);
4577  continue;
4578  }
4579  } // switch
4580  } // while
4581 success:
4582  return ptr;
4583 failure:
4584  ptr = nullptr;
4585  goto success;
4586 #undef CHK_
4587 }
4588 
4589 ::PROTOBUF_NAMESPACE_ID::uint8* PartialVariableAssignment::_InternalSerialize(
4590  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
4591  // @@protoc_insertion_point(serialize_to_array_start:operations_research.PartialVariableAssignment)
4592  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4593  (void) cached_has_bits;
4594 
4595  // repeated int32 var_index = 1 [packed = true];
4596  {
4597  int byte_size = _var_index_cached_byte_size_.load(std::memory_order_relaxed);
4598  if (byte_size > 0) {
4599  target = stream->WriteInt32Packed(
4600  1, _internal_var_index(), byte_size, target);
4601  }
4602  }
4603 
4604  // repeated double var_value = 2 [packed = true];
4605  if (this->_internal_var_value_size() > 0) {
4606  target = stream->WriteFixedPacked(2, _internal_var_value(), target);
4607  }
4608 
4609  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
4610  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
4611  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
4612  }
4613  // @@protoc_insertion_point(serialize_to_array_end:operations_research.PartialVariableAssignment)
4614  return target;
4615 }
4616 
4617 size_t PartialVariableAssignment::ByteSizeLong() const {
4618 // @@protoc_insertion_point(message_byte_size_start:operations_research.PartialVariableAssignment)
4619  size_t total_size = 0;
4620 
4621  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4622  // Prevent compiler warnings about cached_has_bits being unused
4623  (void) cached_has_bits;
4624 
4625  // repeated int32 var_index = 1 [packed = true];
4626  {
4627  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4628  Int32Size(this->var_index_);
4629  if (data_size > 0) {
4630  total_size += 1 +
4631  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4632  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
4633  }
4634  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4635  _var_index_cached_byte_size_.store(cached_size,
4636  std::memory_order_relaxed);
4637  total_size += data_size;
4638  }
4639 
4640  // repeated double var_value = 2 [packed = true];
4641  {
4642  unsigned int count = static_cast<unsigned int>(this->_internal_var_value_size());
4643  size_t data_size = 8UL * count;
4644  if (data_size > 0) {
4645  total_size += 1 +
4646  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4647  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
4648  }
4649  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4650  _var_value_cached_byte_size_.store(cached_size,
4651  std::memory_order_relaxed);
4652  total_size += data_size;
4653  }
4654 
4655  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
4656  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
4657  _internal_metadata_, total_size, &_cached_size_);
4658  }
4659  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
4660  SetCachedSize(cached_size);
4661  return total_size;
4662 }
4663 
4664 void PartialVariableAssignment::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
4665 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.PartialVariableAssignment)
4666  GOOGLE_DCHECK_NE(&from, this);
4667  const PartialVariableAssignment* source =
4668  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<PartialVariableAssignment>(
4669  &from);
4670  if (source == nullptr) {
4671  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.PartialVariableAssignment)
4672  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
4673  } else {
4674  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.PartialVariableAssignment)
4675  MergeFrom(*source);
4676  }
4677 }
4678 
4679 void PartialVariableAssignment::MergeFrom(const PartialVariableAssignment& from) {
4680 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.PartialVariableAssignment)
4681  GOOGLE_DCHECK_NE(&from, this);
4682  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
4683  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4684  (void) cached_has_bits;
4685 
4686  var_index_.MergeFrom(from.var_index_);
4687  var_value_.MergeFrom(from.var_value_);
4688 }
4689 
4690 void PartialVariableAssignment::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
4691 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.PartialVariableAssignment)
4692  if (&from == this) return;
4693  Clear();
4694  MergeFrom(from);
4695 }
4696 
4697 void PartialVariableAssignment::CopyFrom(const PartialVariableAssignment& from) {
4698 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.PartialVariableAssignment)
4699  if (&from == this) return;
4700  Clear();
4701  MergeFrom(from);
4702 }
4703 
4704 bool PartialVariableAssignment::IsInitialized() const {
4705  return true;
4706 }
4707 
4708 void PartialVariableAssignment::InternalSwap(PartialVariableAssignment* other) {
4709  using std::swap;
4710  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
4711  var_index_.InternalSwap(&other->var_index_);
4712  var_value_.InternalSwap(&other->var_value_);
4713 }
4714 
4715 ::PROTOBUF_NAMESPACE_ID::Metadata PartialVariableAssignment::GetMetadata() const {
4716  return GetMetadataStatic();
4717 }
4718 
4719 
4720 // ===================================================================
4721 
4723  public:
4724  using HasBits = decltype(std::declval<MPModelProto>()._has_bits_);
4725  static void set_has_maximize(HasBits* has_bits) {
4726  (*has_bits)[0] |= 16u;
4727  }
4728  static void set_has_objective_offset(HasBits* has_bits) {
4729  (*has_bits)[0] |= 8u;
4730  }
4731  static const ::operations_research::MPQuadraticObjective& quadratic_objective(const MPModelProto* msg);
4732  static void set_has_quadratic_objective(HasBits* has_bits) {
4733  (*has_bits)[0] |= 4u;
4734  }
4735  static void set_has_name(HasBits* has_bits) {
4736  (*has_bits)[0] |= 1u;
4737  }
4738  static const ::operations_research::PartialVariableAssignment& solution_hint(const MPModelProto* msg);
4739  static void set_has_solution_hint(HasBits* has_bits) {
4740  (*has_bits)[0] |= 2u;
4741  }
4742 };
4743 
4744 const ::operations_research::MPQuadraticObjective&
4746  return *msg->quadratic_objective_;
4747 }
4748 const ::operations_research::PartialVariableAssignment&
4749 MPModelProto::_Internal::solution_hint(const MPModelProto* msg) {
4750  return *msg->solution_hint_;
4751 }
4752 MPModelProto::MPModelProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
4753  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
4754  variable_(arena),
4755  constraint_(arena),
4756  general_constraint_(arena) {
4757  SharedCtor();
4758  RegisterArenaDtor(arena);
4759  // @@protoc_insertion_point(arena_constructor:operations_research.MPModelProto)
4760 }
4761 MPModelProto::MPModelProto(const MPModelProto& from)
4762  : ::PROTOBUF_NAMESPACE_ID::Message(),
4763  _has_bits_(from._has_bits_),
4764  variable_(from.variable_),
4765  constraint_(from.constraint_),
4766  general_constraint_(from.general_constraint_) {
4767  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
4768  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
4769  if (from._internal_has_name()) {
4770  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
4771  GetArena());
4772  }
4773  if (from._internal_has_solution_hint()) {
4774  solution_hint_ = new ::operations_research::PartialVariableAssignment(*from.solution_hint_);
4775  } else {
4776  solution_hint_ = nullptr;
4777  }
4778  if (from._internal_has_quadratic_objective()) {
4779  quadratic_objective_ = new ::operations_research::MPQuadraticObjective(*from.quadratic_objective_);
4780  } else {
4781  quadratic_objective_ = nullptr;
4782  }
4783  ::memcpy(&objective_offset_, &from.objective_offset_,
4784  static_cast<size_t>(reinterpret_cast<char*>(&maximize_) -
4785  reinterpret_cast<char*>(&objective_offset_)) + sizeof(maximize_));
4786  // @@protoc_insertion_point(copy_constructor:operations_research.MPModelProto)
4787 }
4788 
4789 void MPModelProto::SharedCtor() {
4790  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_MPModelProto_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto.base);
4791  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
4792  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
4793  reinterpret_cast<char*>(&solution_hint_) - reinterpret_cast<char*>(this)),
4794  0, static_cast<size_t>(reinterpret_cast<char*>(&maximize_) -
4795  reinterpret_cast<char*>(&solution_hint_)) + sizeof(maximize_));
4796 }
4797 
4798 MPModelProto::~MPModelProto() {
4799  // @@protoc_insertion_point(destructor:operations_research.MPModelProto)
4800  SharedDtor();
4801  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4802 }
4803 
4804 void MPModelProto::SharedDtor() {
4805  GOOGLE_DCHECK(GetArena() == nullptr);
4806  name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
4807  if (this != internal_default_instance()) delete solution_hint_;
4808  if (this != internal_default_instance()) delete quadratic_objective_;
4809 }
4810 
4811 void MPModelProto::ArenaDtor(void* object) {
4812  MPModelProto* _this = reinterpret_cast< MPModelProto* >(object);
4813  (void)_this;
4814 }
4815 void MPModelProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
4816 }
4817 void MPModelProto::SetCachedSize(int size) const {
4818  _cached_size_.Set(size);
4819 }
4820 const MPModelProto& MPModelProto::default_instance() {
4821  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_MPModelProto_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto.base);
4822  return *internal_default_instance();
4823 }
4824 
4825 
4826 void MPModelProto::Clear() {
4827 // @@protoc_insertion_point(message_clear_start:operations_research.MPModelProto)
4828  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4829  // Prevent compiler warnings about cached_has_bits being unused
4830  (void) cached_has_bits;
4831 
4832  variable_.Clear();
4833  constraint_.Clear();
4834  general_constraint_.Clear();
4835  cached_has_bits = _has_bits_[0];
4836  if (cached_has_bits & 0x00000007u) {
4837  if (cached_has_bits & 0x00000001u) {
4838  name_.ClearNonDefaultToEmpty();
4839  }
4840  if (cached_has_bits & 0x00000002u) {
4841  GOOGLE_DCHECK(solution_hint_ != nullptr);
4842  solution_hint_->Clear();
4843  }
4844  if (cached_has_bits & 0x00000004u) {
4845  GOOGLE_DCHECK(quadratic_objective_ != nullptr);
4846  quadratic_objective_->Clear();
4847  }
4848  }
4849  if (cached_has_bits & 0x00000018u) {
4850  ::memset(&objective_offset_, 0, static_cast<size_t>(
4851  reinterpret_cast<char*>(&maximize_) -
4852  reinterpret_cast<char*>(&objective_offset_)) + sizeof(maximize_));
4853  }
4854  _has_bits_.Clear();
4855  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4856 }
4857 
4858 const char* MPModelProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
4859 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
4860  _Internal::HasBits has_bits{};
4861  while (!ctx->Done(&ptr)) {
4863  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
4864  CHK_(ptr);
4865  switch (tag >> 3) {
4866  // optional bool maximize = 1 [default = false];
4867  case 1:
4868  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
4869  _Internal::set_has_maximize(&has_bits);
4870  maximize_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
4871  CHK_(ptr);
4872  } else goto handle_unusual;
4873  continue;
4874  // optional double objective_offset = 2 [default = 0];
4875  case 2:
4876  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 17)) {
4878  objective_offset_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
4879  ptr += sizeof(double);
4880  } else goto handle_unusual;
4881  continue;
4882  // repeated .operations_research.MPVariableProto variable = 3;
4883  case 3:
4884  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
4885  ptr -= 1;
4886  do {
4887  ptr += 1;
4888  ptr = ctx->ParseMessage(_internal_add_variable(), ptr);
4889  CHK_(ptr);
4890  if (!ctx->DataAvailable(ptr)) break;
4891  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
4892  } else goto handle_unusual;
4893  continue;
4894  // repeated .operations_research.MPConstraintProto constraint = 4;
4895  case 4:
4896  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
4897  ptr -= 1;
4898  do {
4899  ptr += 1;
4900  ptr = ctx->ParseMessage(_internal_add_constraint(), ptr);
4901  CHK_(ptr);
4902  if (!ctx->DataAvailable(ptr)) break;
4903  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
4904  } else goto handle_unusual;
4905  continue;
4906  // optional string name = 5 [default = ""];
4907  case 5:
4908  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
4909  auto str = _internal_mutable_name();
4910  ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
4911  #ifndef NDEBUG
4912  ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.MPModelProto.name");
4913  #endif // !NDEBUG
4914  CHK_(ptr);
4915  } else goto handle_unusual;
4916  continue;
4917  // optional .operations_research.PartialVariableAssignment solution_hint = 6;
4918  case 6:
4919  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
4920  ptr = ctx->ParseMessage(_internal_mutable_solution_hint(), ptr);
4921  CHK_(ptr);
4922  } else goto handle_unusual;
4923  continue;
4924  // repeated .operations_research.MPGeneralConstraintProto general_constraint = 7;
4925  case 7:
4926  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
4927  ptr -= 1;
4928  do {
4929  ptr += 1;
4930  ptr = ctx->ParseMessage(_internal_add_general_constraint(), ptr);
4931  CHK_(ptr);
4932  if (!ctx->DataAvailable(ptr)) break;
4933  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<58>(ptr));
4934  } else goto handle_unusual;
4935  continue;
4936  // optional .operations_research.MPQuadraticObjective quadratic_objective = 8;
4937  case 8:
4938  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
4939  ptr = ctx->ParseMessage(_internal_mutable_quadratic_objective(), ptr);
4940  CHK_(ptr);
4941  } else goto handle_unusual;
4942  continue;
4943  default: {
4944  handle_unusual:
4945  if ((tag & 7) == 4 || tag == 0) {
4946  ctx->SetLastTag(tag);
4947  goto success;
4948  }
4949  ptr = UnknownFieldParse(tag,
4950  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
4951  ptr, ctx);
4952  CHK_(ptr != nullptr);
4953  continue;
4954  }
4955  } // switch
4956  } // while
4957 success:
4958  _has_bits_.Or(has_bits);
4959  return ptr;
4960 failure:
4961  ptr = nullptr;
4962  goto success;
4963 #undef CHK_
4964 }
4965 
4966 ::PROTOBUF_NAMESPACE_ID::uint8* MPModelProto::_InternalSerialize(
4967  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
4968  // @@protoc_insertion_point(serialize_to_array_start:operations_research.MPModelProto)
4969  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4970  (void) cached_has_bits;
4971 
4972  cached_has_bits = _has_bits_[0];
4973  // optional bool maximize = 1 [default = false];
4974  if (cached_has_bits & 0x00000010u) {
4975  target = stream->EnsureSpace(target);
4976  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(1, this->_internal_maximize(), target);
4977  }
4978 
4979  // optional double objective_offset = 2 [default = 0];
4980  if (cached_has_bits & 0x00000008u) {
4981  target = stream->EnsureSpace(target);
4982  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(2, this->_internal_objective_offset(), target);
4983  }
4984 
4985  // repeated .operations_research.MPVariableProto variable = 3;
4986  for (unsigned int i = 0,
4987  n = static_cast<unsigned int>(this->_internal_variable_size()); i < n; i++) {
4988  target = stream->EnsureSpace(target);
4989  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4990  InternalWriteMessage(3, this->_internal_variable(i), target, stream);
4991  }
4992 
4993  // repeated .operations_research.MPConstraintProto constraint = 4;
4994  for (unsigned int i = 0,
4995  n = static_cast<unsigned int>(this->_internal_constraint_size()); i < n; i++) {
4996  target = stream->EnsureSpace(target);
4997  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4998  InternalWriteMessage(4, this->_internal_constraint(i), target, stream);
4999  }
5000 
5001  // optional string name = 5 [default = ""];
5002  if (cached_has_bits & 0x00000001u) {
5003  ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
5004  this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
5005  ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
5006  "operations_research.MPModelProto.name");
5007  target = stream->WriteStringMaybeAliased(
5008  5, this->_internal_name(), target);
5009  }
5010 
5011  // optional .operations_research.PartialVariableAssignment solution_hint = 6;
5012  if (cached_has_bits & 0x00000002u) {
5013  target = stream->EnsureSpace(target);
5014  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5015  InternalWriteMessage(
5016  6, _Internal::solution_hint(this), target, stream);
5017  }
5018 
5019  // repeated .operations_research.MPGeneralConstraintProto general_constraint = 7;
5020  for (unsigned int i = 0,
5021  n = static_cast<unsigned int>(this->_internal_general_constraint_size()); i < n; i++) {
5022  target = stream->EnsureSpace(target);
5023  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5024  InternalWriteMessage(7, this->_internal_general_constraint(i), target, stream);
5025  }
5026 
5027  // optional .operations_research.MPQuadraticObjective quadratic_objective = 8;
5028  if (cached_has_bits & 0x00000004u) {
5029  target = stream->EnsureSpace(target);
5030  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5031  InternalWriteMessage(
5032  8, _Internal::quadratic_objective(this), target, stream);
5033  }
5034 
5035  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
5036  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
5037  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
5038  }
5039  // @@protoc_insertion_point(serialize_to_array_end:operations_research.MPModelProto)
5040  return target;
5041 }
5042 
5043 size_t MPModelProto::ByteSizeLong() const {
5044 // @@protoc_insertion_point(message_byte_size_start:operations_research.MPModelProto)
5045  size_t total_size = 0;
5046 
5047  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5048  // Prevent compiler warnings about cached_has_bits being unused
5049  (void) cached_has_bits;
5050 
5051  // repeated .operations_research.MPVariableProto variable = 3;
5052  total_size += 1UL * this->_internal_variable_size();
5053  for (const auto& msg : this->variable_) {
5054  total_size +=
5055  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
5056  }
5057 
5058  // repeated .operations_research.MPConstraintProto constraint = 4;
5059  total_size += 1UL * this->_internal_constraint_size();
5060  for (const auto& msg : this->constraint_) {
5061  total_size +=
5062  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
5063  }
5064 
5065  // repeated .operations_research.MPGeneralConstraintProto general_constraint = 7;
5066  total_size += 1UL * this->_internal_general_constraint_size();
5067  for (const auto& msg : this->general_constraint_) {
5068  total_size +=
5069  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
5070  }
5071 
5072  cached_has_bits = _has_bits_[0];
5073  if (cached_has_bits & 0x0000001fu) {
5074  // optional string name = 5 [default = ""];
5075  if (cached_has_bits & 0x00000001u) {
5076  total_size += 1 +
5077  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
5078  this->_internal_name());
5079  }
5080 
5081  // optional .operations_research.PartialVariableAssignment solution_hint = 6;
5082  if (cached_has_bits & 0x00000002u) {
5083  total_size += 1 +
5084  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
5085  *solution_hint_);
5086  }
5087 
5088  // optional .operations_research.MPQuadraticObjective quadratic_objective = 8;
5089  if (cached_has_bits & 0x00000004u) {
5090  total_size += 1 +
5091  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
5092  *quadratic_objective_);
5093  }
5094 
5095  // optional double objective_offset = 2 [default = 0];
5096  if (cached_has_bits & 0x00000008u) {
5097  total_size += 1 + 8;
5098  }
5099 
5100  // optional bool maximize = 1 [default = false];
5101  if (cached_has_bits & 0x00000010u) {
5102  total_size += 1 + 1;
5103  }
5104 
5105  }
5106  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
5107  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
5108  _internal_metadata_, total_size, &_cached_size_);
5109  }
5110  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
5111  SetCachedSize(cached_size);
5112  return total_size;
5113 }
5114 
5115 void MPModelProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
5116 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.MPModelProto)
5117  GOOGLE_DCHECK_NE(&from, this);
5118  const MPModelProto* source =
5119  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<MPModelProto>(
5120  &from);
5121  if (source == nullptr) {
5122  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.MPModelProto)
5123  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
5124  } else {
5125  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.MPModelProto)
5126  MergeFrom(*source);
5127  }
5128 }
5129 
5130 void MPModelProto::MergeFrom(const MPModelProto& from) {
5131 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.MPModelProto)
5132  GOOGLE_DCHECK_NE(&from, this);
5133  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
5134  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5135  (void) cached_has_bits;
5136 
5137  variable_.MergeFrom(from.variable_);
5138  constraint_.MergeFrom(from.constraint_);
5139  general_constraint_.MergeFrom(from.general_constraint_);
5140  cached_has_bits = from._has_bits_[0];
5141  if (cached_has_bits & 0x0000001fu) {
5142  if (cached_has_bits & 0x00000001u) {
5143  _internal_set_name(from._internal_name());
5144  }
5145  if (cached_has_bits & 0x00000002u) {
5146  _internal_mutable_solution_hint()->::operations_research::PartialVariableAssignment::MergeFrom(from._internal_solution_hint());
5147  }
5148  if (cached_has_bits & 0x00000004u) {
5149  _internal_mutable_quadratic_objective()->::operations_research::MPQuadraticObjective::MergeFrom(from._internal_quadratic_objective());
5150  }
5151  if (cached_has_bits & 0x00000008u) {
5152  objective_offset_ = from.objective_offset_;
5153  }
5154  if (cached_has_bits & 0x00000010u) {
5155  maximize_ = from.maximize_;
5156  }
5157  _has_bits_[0] |= cached_has_bits;
5158  }
5159 }
5160 
5161 void MPModelProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
5162 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.MPModelProto)
5163  if (&from == this) return;
5164  Clear();
5165  MergeFrom(from);
5166 }
5167 
5168 void MPModelProto::CopyFrom(const MPModelProto& from) {
5169 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.MPModelProto)
5170  if (&from == this) return;
5171  Clear();
5172  MergeFrom(from);
5173 }
5174 
5175 bool MPModelProto::IsInitialized() const {
5176  return true;
5177 }
5178 
5179 void MPModelProto::InternalSwap(MPModelProto* other) {
5180  using std::swap;
5181  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
5182  swap(_has_bits_[0], other->_has_bits_[0]);
5183  variable_.InternalSwap(&other->variable_);
5184  constraint_.InternalSwap(&other->constraint_);
5185  general_constraint_.InternalSwap(&other->general_constraint_);
5186  name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
5187  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
5188  PROTOBUF_FIELD_OFFSET(MPModelProto, maximize_)
5189  + sizeof(MPModelProto::maximize_)
5190  - PROTOBUF_FIELD_OFFSET(MPModelProto, solution_hint_)>(
5191  reinterpret_cast<char*>(&solution_hint_),
5192  reinterpret_cast<char*>(&other->solution_hint_));
5193 }
5194 
5195 ::PROTOBUF_NAMESPACE_ID::Metadata MPModelProto::GetMetadata() const {
5196  return GetMetadataStatic();
5197 }
5198 
5199 
5200 // ===================================================================
5201 
5203  public:
5204  using HasBits = decltype(std::declval<OptionalDouble>()._has_bits_);
5205  static void set_has_value(HasBits* has_bits) {
5206  (*has_bits)[0] |= 1u;
5207  }
5208 };
5209 
5210 OptionalDouble::OptionalDouble(::PROTOBUF_NAMESPACE_ID::Arena* arena)
5211  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
5212  SharedCtor();
5213  RegisterArenaDtor(arena);
5214  // @@protoc_insertion_point(arena_constructor:operations_research.OptionalDouble)
5215 }
5216 OptionalDouble::OptionalDouble(const OptionalDouble& from)
5217  : ::PROTOBUF_NAMESPACE_ID::Message(),
5218  _has_bits_(from._has_bits_) {
5219  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
5220  value_ = from.value_;
5221  // @@protoc_insertion_point(copy_constructor:operations_research.OptionalDouble)
5222 }
5223 
5224 void OptionalDouble::SharedCtor() {
5225  value_ = 0;
5226 }
5227 
5228 OptionalDouble::~OptionalDouble() {
5229  // @@protoc_insertion_point(destructor:operations_research.OptionalDouble)
5230  SharedDtor();
5231  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
5232 }
5233 
5234 void OptionalDouble::SharedDtor() {
5235  GOOGLE_DCHECK(GetArena() == nullptr);
5236 }
5237 
5238 void OptionalDouble::ArenaDtor(void* object) {
5239  OptionalDouble* _this = reinterpret_cast< OptionalDouble* >(object);
5240  (void)_this;
5241 }
5242 void OptionalDouble::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
5243 }
5244 void OptionalDouble::SetCachedSize(int size) const {
5245  _cached_size_.Set(size);
5246 }
5247 const OptionalDouble& OptionalDouble::default_instance() {
5248  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_OptionalDouble_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto.base);
5249  return *internal_default_instance();
5250 }
5251 
5252 
5253 void OptionalDouble::Clear() {
5254 // @@protoc_insertion_point(message_clear_start:operations_research.OptionalDouble)
5255  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5256  // Prevent compiler warnings about cached_has_bits being unused
5257  (void) cached_has_bits;
5258 
5259  value_ = 0;
5260  _has_bits_.Clear();
5261  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
5262 }
5263 
5264 const char* OptionalDouble::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
5265 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
5266  _Internal::HasBits has_bits{};
5267  while (!ctx->Done(&ptr)) {
5269  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
5270  CHK_(ptr);
5271  switch (tag >> 3) {
5272  // optional double value = 1;
5273  case 1:
5274  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 9)) {
5275  _Internal::set_has_value(&has_bits);
5276  value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
5277  ptr += sizeof(double);
5278  } else goto handle_unusual;
5279  continue;
5280  default: {
5281  handle_unusual:
5282  if ((tag & 7) == 4 || tag == 0) {
5283  ctx->SetLastTag(tag);
5284  goto success;
5285  }
5286  ptr = UnknownFieldParse(tag,
5287  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
5288  ptr, ctx);
5289  CHK_(ptr != nullptr);
5290  continue;
5291  }
5292  } // switch
5293  } // while
5294 success:
5295  _has_bits_.Or(has_bits);
5296  return ptr;
5297 failure:
5298  ptr = nullptr;
5299  goto success;
5300 #undef CHK_
5301 }
5302 
5303 ::PROTOBUF_NAMESPACE_ID::uint8* OptionalDouble::_InternalSerialize(
5304  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
5305  // @@protoc_insertion_point(serialize_to_array_start:operations_research.OptionalDouble)
5306  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5307  (void) cached_has_bits;
5308 
5309  cached_has_bits = _has_bits_[0];
5310  // optional double value = 1;
5311  if (cached_has_bits & 0x00000001u) {
5312  target = stream->EnsureSpace(target);
5313  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(1, this->_internal_value(), target);
5314  }
5315 
5316  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
5317  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
5318  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
5319  }
5320  // @@protoc_insertion_point(serialize_to_array_end:operations_research.OptionalDouble)
5321  return target;
5322 }
5323 
5324 size_t OptionalDouble::ByteSizeLong() const {
5325 // @@protoc_insertion_point(message_byte_size_start:operations_research.OptionalDouble)
5326  size_t total_size = 0;
5327 
5328  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5329  // Prevent compiler warnings about cached_has_bits being unused
5330  (void) cached_has_bits;
5331 
5332  // optional double value = 1;
5333  cached_has_bits = _has_bits_[0];
5334  if (cached_has_bits & 0x00000001u) {
5335  total_size += 1 + 8;
5336  }
5337 
5338  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
5339  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
5340  _internal_metadata_, total_size, &_cached_size_);
5341  }
5342  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
5343  SetCachedSize(cached_size);
5344  return total_size;
5345 }
5346 
5347 void OptionalDouble::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
5348 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.OptionalDouble)
5349  GOOGLE_DCHECK_NE(&from, this);
5350  const OptionalDouble* source =
5351  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<OptionalDouble>(
5352  &from);
5353  if (source == nullptr) {
5354  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.OptionalDouble)
5355  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
5356  } else {
5357  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.OptionalDouble)
5358  MergeFrom(*source);
5359  }
5360 }
5361 
5362 void OptionalDouble::MergeFrom(const OptionalDouble& from) {
5363 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.OptionalDouble)
5364  GOOGLE_DCHECK_NE(&from, this);
5365  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
5366  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5367  (void) cached_has_bits;
5368 
5369  if (from._internal_has_value()) {
5370  _internal_set_value(from._internal_value());
5371  }
5372 }
5373 
5374 void OptionalDouble::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
5375 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.OptionalDouble)
5376  if (&from == this) return;
5377  Clear();
5378  MergeFrom(from);
5379 }
5380 
5381 void OptionalDouble::CopyFrom(const OptionalDouble& from) {
5382 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.OptionalDouble)
5383  if (&from == this) return;
5384  Clear();
5385  MergeFrom(from);
5386 }
5387 
5388 bool OptionalDouble::IsInitialized() const {
5389  return true;
5390 }
5391 
5392 void OptionalDouble::InternalSwap(OptionalDouble* other) {
5393  using std::swap;
5394  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
5395  swap(_has_bits_[0], other->_has_bits_[0]);
5396  swap(value_, other->value_);
5397 }
5398 
5399 ::PROTOBUF_NAMESPACE_ID::Metadata OptionalDouble::GetMetadata() const {
5400  return GetMetadataStatic();
5401 }
5402 
5403 
5404 // ===================================================================
5405 
5407  public:
5408  using HasBits = decltype(std::declval<MPSolverCommonParameters>()._has_bits_);
5409  static const ::operations_research::OptionalDouble& relative_mip_gap(const MPSolverCommonParameters* msg);
5410  static void set_has_relative_mip_gap(HasBits* has_bits) {
5411  (*has_bits)[0] |= 1u;
5412  }
5413  static const ::operations_research::OptionalDouble& primal_tolerance(const MPSolverCommonParameters* msg);
5414  static void set_has_primal_tolerance(HasBits* has_bits) {
5415  (*has_bits)[0] |= 2u;
5416  }
5417  static const ::operations_research::OptionalDouble& dual_tolerance(const MPSolverCommonParameters* msg);
5418  static void set_has_dual_tolerance(HasBits* has_bits) {
5419  (*has_bits)[0] |= 4u;
5420  }
5421  static void set_has_lp_algorithm(HasBits* has_bits) {
5422  (*has_bits)[0] |= 8u;
5423  }
5424  static void set_has_presolve(HasBits* has_bits) {
5425  (*has_bits)[0] |= 16u;
5426  }
5427  static void set_has_scaling(HasBits* has_bits) {
5428  (*has_bits)[0] |= 32u;
5429  }
5430 };
5431 
5432 const ::operations_research::OptionalDouble&
5433 MPSolverCommonParameters::_Internal::relative_mip_gap(const MPSolverCommonParameters* msg) {
5434  return *msg->relative_mip_gap_;
5435 }
5436 const ::operations_research::OptionalDouble&
5437 MPSolverCommonParameters::_Internal::primal_tolerance(const MPSolverCommonParameters* msg) {
5438  return *msg->primal_tolerance_;
5439 }
5440 const ::operations_research::OptionalDouble&
5441 MPSolverCommonParameters::_Internal::dual_tolerance(const MPSolverCommonParameters* msg) {
5442  return *msg->dual_tolerance_;
5443 }
5444 MPSolverCommonParameters::MPSolverCommonParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena)
5445  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
5446  SharedCtor();
5447  RegisterArenaDtor(arena);
5448  // @@protoc_insertion_point(arena_constructor:operations_research.MPSolverCommonParameters)
5449 }
5450 MPSolverCommonParameters::MPSolverCommonParameters(const MPSolverCommonParameters& from)
5451  : ::PROTOBUF_NAMESPACE_ID::Message(),
5452  _has_bits_(from._has_bits_) {
5453  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
5454  if (from._internal_has_relative_mip_gap()) {
5455  relative_mip_gap_ = new ::operations_research::OptionalDouble(*from.relative_mip_gap_);
5456  } else {
5457  relative_mip_gap_ = nullptr;
5458  }
5459  if (from._internal_has_primal_tolerance()) {
5460  primal_tolerance_ = new ::operations_research::OptionalDouble(*from.primal_tolerance_);
5461  } else {
5462  primal_tolerance_ = nullptr;
5463  }
5464  if (from._internal_has_dual_tolerance()) {
5465  dual_tolerance_ = new ::operations_research::OptionalDouble(*from.dual_tolerance_);
5466  } else {
5467  dual_tolerance_ = nullptr;
5468  }
5469  ::memcpy(&lp_algorithm_, &from.lp_algorithm_,
5470  static_cast<size_t>(reinterpret_cast<char*>(&scaling_) -
5471  reinterpret_cast<char*>(&lp_algorithm_)) + sizeof(scaling_));
5472  // @@protoc_insertion_point(copy_constructor:operations_research.MPSolverCommonParameters)
5473 }
5474 
5475 void MPSolverCommonParameters::SharedCtor() {
5476  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_MPSolverCommonParameters_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto.base);
5477  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
5478  reinterpret_cast<char*>(&relative_mip_gap_) - reinterpret_cast<char*>(this)),
5479  0, static_cast<size_t>(reinterpret_cast<char*>(&scaling_) -
5480  reinterpret_cast<char*>(&relative_mip_gap_)) + sizeof(scaling_));
5481 }
5482 
5483 MPSolverCommonParameters::~MPSolverCommonParameters() {
5484  // @@protoc_insertion_point(destructor:operations_research.MPSolverCommonParameters)
5485  SharedDtor();
5486  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
5487 }
5488 
5489 void MPSolverCommonParameters::SharedDtor() {
5490  GOOGLE_DCHECK(GetArena() == nullptr);
5491  if (this != internal_default_instance()) delete relative_mip_gap_;
5492  if (this != internal_default_instance()) delete primal_tolerance_;
5493  if (this != internal_default_instance()) delete dual_tolerance_;
5494 }
5495 
5496 void MPSolverCommonParameters::ArenaDtor(void* object) {
5497  MPSolverCommonParameters* _this = reinterpret_cast< MPSolverCommonParameters* >(object);
5498  (void)_this;
5499 }
5500 void MPSolverCommonParameters::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
5501 }
5502 void MPSolverCommonParameters::SetCachedSize(int size) const {
5503  _cached_size_.Set(size);
5504 }
5505 const MPSolverCommonParameters& MPSolverCommonParameters::default_instance() {
5506  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_MPSolverCommonParameters_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto.base);
5507  return *internal_default_instance();
5508 }
5509 
5510 
5511 void MPSolverCommonParameters::Clear() {
5512 // @@protoc_insertion_point(message_clear_start:operations_research.MPSolverCommonParameters)
5513  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5514  // Prevent compiler warnings about cached_has_bits being unused
5515  (void) cached_has_bits;
5516 
5517  cached_has_bits = _has_bits_[0];
5518  if (cached_has_bits & 0x00000007u) {
5519  if (cached_has_bits & 0x00000001u) {
5520  GOOGLE_DCHECK(relative_mip_gap_ != nullptr);
5521  relative_mip_gap_->Clear();
5522  }
5523  if (cached_has_bits & 0x00000002u) {
5524  GOOGLE_DCHECK(primal_tolerance_ != nullptr);
5525  primal_tolerance_->Clear();
5526  }
5527  if (cached_has_bits & 0x00000004u) {
5528  GOOGLE_DCHECK(dual_tolerance_ != nullptr);
5529  dual_tolerance_->Clear();
5530  }
5531  }
5532  if (cached_has_bits & 0x00000038u) {
5533  ::memset(&lp_algorithm_, 0, static_cast<size_t>(
5534  reinterpret_cast<char*>(&scaling_) -
5535  reinterpret_cast<char*>(&lp_algorithm_)) + sizeof(scaling_));
5536  }
5537  _has_bits_.Clear();
5538  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
5539 }
5540 
5541 const char* MPSolverCommonParameters::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
5542 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
5543  _Internal::HasBits has_bits{};
5544  while (!ctx->Done(&ptr)) {
5546  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
5547  CHK_(ptr);
5548  switch (tag >> 3) {
5549  // optional .operations_research.OptionalDouble relative_mip_gap = 1;
5550  case 1:
5551  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
5552  ptr = ctx->ParseMessage(_internal_mutable_relative_mip_gap(), ptr);
5553  CHK_(ptr);
5554  } else goto handle_unusual;
5555  continue;
5556  // optional .operations_research.OptionalDouble primal_tolerance = 2;
5557  case 2:
5558  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
5559  ptr = ctx->ParseMessage(_internal_mutable_primal_tolerance(), ptr);
5560  CHK_(ptr);
5561  } else goto handle_unusual;
5562  continue;
5563  // optional .operations_research.OptionalDouble dual_tolerance = 3;
5564  case 3:
5565  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
5566  ptr = ctx->ParseMessage(_internal_mutable_dual_tolerance(), ptr);
5567  CHK_(ptr);
5568  } else goto handle_unusual;
5569  continue;
5570  // optional .operations_research.MPSolverCommonParameters.LPAlgorithmValues lp_algorithm = 4 [default = LP_ALGO_UNSPECIFIED];
5571  case 4:
5572  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
5573  ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
5574  CHK_(ptr);
5576  _internal_set_lp_algorithm(static_cast<::operations_research::MPSolverCommonParameters_LPAlgorithmValues>(val));
5577  } else {
5578  ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(4, val, mutable_unknown_fields());
5579  }
5580  } else goto handle_unusual;
5581  continue;
5582  // optional .operations_research.OptionalBoolean presolve = 5 [default = BOOL_UNSPECIFIED];
5583  case 5:
5584  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
5585  ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
5586  CHK_(ptr);
5587  if (PROTOBUF_PREDICT_TRUE(::operations_research::OptionalBoolean_IsValid(val))) {
5588  _internal_set_presolve(static_cast<::operations_research::OptionalBoolean>(val));
5589  } else {
5590  ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(5, val, mutable_unknown_fields());
5591  }
5592  } else goto handle_unusual;
5593  continue;
5594  // optional .operations_research.OptionalBoolean scaling = 7 [default = BOOL_UNSPECIFIED];
5595  case 7:
5596  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
5597  ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
5598  CHK_(ptr);
5599  if (PROTOBUF_PREDICT_TRUE(::operations_research::OptionalBoolean_IsValid(val))) {
5600  _internal_set_scaling(static_cast<::operations_research::OptionalBoolean>(val));
5601  } else {
5602  ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(7, val, mutable_unknown_fields());
5603  }
5604  } else goto handle_unusual;
5605  continue;
5606  default: {
5607  handle_unusual:
5608  if ((tag & 7) == 4 || tag == 0) {
5609  ctx->SetLastTag(tag);
5610  goto success;
5611  }
5612  ptr = UnknownFieldParse(tag,
5613  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
5614  ptr, ctx);
5615  CHK_(ptr != nullptr);
5616  continue;
5617  }
5618  } // switch
5619  } // while
5620 success:
5621  _has_bits_.Or(has_bits);
5622  return ptr;
5623 failure:
5624  ptr = nullptr;
5625  goto success;
5626 #undef CHK_
5627 }
5628 
5629 ::PROTOBUF_NAMESPACE_ID::uint8* MPSolverCommonParameters::_InternalSerialize(
5630  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
5631  // @@protoc_insertion_point(serialize_to_array_start:operations_research.MPSolverCommonParameters)
5632  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5633  (void) cached_has_bits;
5634 
5635  cached_has_bits = _has_bits_[0];
5636  // optional .operations_research.OptionalDouble relative_mip_gap = 1;
5637  if (cached_has_bits & 0x00000001u) {
5638  target = stream->EnsureSpace(target);
5639  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5640  InternalWriteMessage(
5641  1, _Internal::relative_mip_gap(this), target, stream);
5642  }
5643 
5644  // optional .operations_research.OptionalDouble primal_tolerance = 2;
5645  if (cached_has_bits & 0x00000002u) {
5646  target = stream->EnsureSpace(target);
5647  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5648  InternalWriteMessage(
5649  2, _Internal::primal_tolerance(this), target, stream);
5650  }
5651 
5652  // optional .operations_research.OptionalDouble dual_tolerance = 3;
5653  if (cached_has_bits & 0x00000004u) {
5654  target = stream->EnsureSpace(target);
5655  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5656  InternalWriteMessage(
5657  3, _Internal::dual_tolerance(this), target, stream);
5658  }
5659 
5660  // optional .operations_research.MPSolverCommonParameters.LPAlgorithmValues lp_algorithm = 4 [default = LP_ALGO_UNSPECIFIED];
5661  if (cached_has_bits & 0x00000008u) {
5662  target = stream->EnsureSpace(target);
5663  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
5664  4, this->_internal_lp_algorithm(), target);
5665  }
5666 
5667  // optional .operations_research.OptionalBoolean presolve = 5 [default = BOOL_UNSPECIFIED];
5668  if (cached_has_bits & 0x00000010u) {
5669  target = stream->EnsureSpace(target);
5670  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
5671  5, this->_internal_presolve(), target);
5672  }
5673 
5674  // optional .operations_research.OptionalBoolean scaling = 7 [default = BOOL_UNSPECIFIED];
5675  if (cached_has_bits & 0x00000020u) {
5676  target = stream->EnsureSpace(target);
5677  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
5678  7, this->_internal_scaling(), target);
5679  }
5680 
5681  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
5682  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
5683  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
5684  }
5685  // @@protoc_insertion_point(serialize_to_array_end:operations_research.MPSolverCommonParameters)
5686  return target;
5687 }
5688 
5689 size_t MPSolverCommonParameters::ByteSizeLong() const {
5690 // @@protoc_insertion_point(message_byte_size_start:operations_research.MPSolverCommonParameters)
5691  size_t total_size = 0;
5692 
5693  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5694  // Prevent compiler warnings about cached_has_bits being unused
5695  (void) cached_has_bits;
5696 
5697  cached_has_bits = _has_bits_[0];
5698  if (cached_has_bits & 0x0000003fu) {
5699  // optional .operations_research.OptionalDouble relative_mip_gap = 1;
5700  if (cached_has_bits & 0x00000001u) {
5701  total_size += 1 +
5702  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
5703  *relative_mip_gap_);
5704  }
5705 
5706  // optional .operations_research.OptionalDouble primal_tolerance = 2;
5707  if (cached_has_bits & 0x00000002u) {
5708  total_size += 1 +
5709  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
5710  *primal_tolerance_);
5711  }
5712 
5713  // optional .operations_research.OptionalDouble dual_tolerance = 3;
5714  if (cached_has_bits & 0x00000004u) {
5715  total_size += 1 +
5716  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
5717  *dual_tolerance_);
5718  }
5719 
5720  // optional .operations_research.MPSolverCommonParameters.LPAlgorithmValues lp_algorithm = 4 [default = LP_ALGO_UNSPECIFIED];
5721  if (cached_has_bits & 0x00000008u) {
5722  total_size += 1 +
5723  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_lp_algorithm());
5724  }
5725 
5726  // optional .operations_research.OptionalBoolean presolve = 5 [default = BOOL_UNSPECIFIED];
5727  if (cached_has_bits & 0x00000010u) {
5728  total_size += 1 +
5729  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_presolve());
5730  }
5731 
5732  // optional .operations_research.OptionalBoolean scaling = 7 [default = BOOL_UNSPECIFIED];
5733  if (cached_has_bits & 0x00000020u) {
5734  total_size += 1 +
5735  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_scaling());
5736  }
5737 
5738  }
5739  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
5740  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
5741  _internal_metadata_, total_size, &_cached_size_);
5742  }
5743  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
5744  SetCachedSize(cached_size);
5745  return total_size;
5746 }
5747 
5748 void MPSolverCommonParameters::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
5749 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.MPSolverCommonParameters)
5750  GOOGLE_DCHECK_NE(&from, this);
5751  const MPSolverCommonParameters* source =
5752  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<MPSolverCommonParameters>(
5753  &from);
5754  if (source == nullptr) {
5755  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.MPSolverCommonParameters)
5756  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
5757  } else {
5758  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.MPSolverCommonParameters)
5759  MergeFrom(*source);
5760  }
5761 }
5762 
5763 void MPSolverCommonParameters::MergeFrom(const MPSolverCommonParameters& from) {
5764 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.MPSolverCommonParameters)
5765  GOOGLE_DCHECK_NE(&from, this);
5766  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
5767  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5768  (void) cached_has_bits;
5769 
5770  cached_has_bits = from._has_bits_[0];
5771  if (cached_has_bits & 0x0000003fu) {
5772  if (cached_has_bits & 0x00000001u) {
5773  _internal_mutable_relative_mip_gap()->::operations_research::OptionalDouble::MergeFrom(from._internal_relative_mip_gap());
5774  }
5775  if (cached_has_bits & 0x00000002u) {
5776  _internal_mutable_primal_tolerance()->::operations_research::OptionalDouble::MergeFrom(from._internal_primal_tolerance());
5777  }
5778  if (cached_has_bits & 0x00000004u) {
5779  _internal_mutable_dual_tolerance()->::operations_research::OptionalDouble::MergeFrom(from._internal_dual_tolerance());
5780  }
5781  if (cached_has_bits & 0x00000008u) {
5782  lp_algorithm_ = from.lp_algorithm_;
5783  }
5784  if (cached_has_bits & 0x00000010u) {
5785  presolve_ = from.presolve_;
5786  }
5787  if (cached_has_bits & 0x00000020u) {
5788  scaling_ = from.scaling_;
5789  }
5790  _has_bits_[0] |= cached_has_bits;
5791  }
5792 }
5793 
5794 void MPSolverCommonParameters::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
5795 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.MPSolverCommonParameters)
5796  if (&from == this) return;
5797  Clear();
5798  MergeFrom(from);
5799 }
5800 
5801 void MPSolverCommonParameters::CopyFrom(const MPSolverCommonParameters& from) {
5802 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.MPSolverCommonParameters)
5803  if (&from == this) return;
5804  Clear();
5805  MergeFrom(from);
5806 }
5807 
5808 bool MPSolverCommonParameters::IsInitialized() const {
5809  return true;
5810 }
5811 
5812 void MPSolverCommonParameters::InternalSwap(MPSolverCommonParameters* other) {
5813  using std::swap;
5814  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
5815  swap(_has_bits_[0], other->_has_bits_[0]);
5816  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
5817  PROTOBUF_FIELD_OFFSET(MPSolverCommonParameters, scaling_)
5818  + sizeof(MPSolverCommonParameters::scaling_)
5819  - PROTOBUF_FIELD_OFFSET(MPSolverCommonParameters, relative_mip_gap_)>(
5820  reinterpret_cast<char*>(&relative_mip_gap_),
5821  reinterpret_cast<char*>(&other->relative_mip_gap_));
5822 }
5823 
5824 ::PROTOBUF_NAMESPACE_ID::Metadata MPSolverCommonParameters::GetMetadata() const {
5825  return GetMetadataStatic();
5826 }
5827 
5828 
5829 // ===================================================================
5830 
5833  : SuperType(arena) {}
5835  MergeFromInternal(other);
5836 }
5837 ::PROTOBUF_NAMESPACE_ID::Metadata MPModelDeltaProto_VariableOverridesEntry_DoNotUse::GetMetadata() const {
5838  return GetMetadataStatic();
5839 }
5841  const ::PROTOBUF_NAMESPACE_ID::Message& other) {
5842  ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom(other);
5843 }
5844 
5845 
5846 // ===================================================================
5847 
5850  : SuperType(arena) {}
5852  MergeFromInternal(other);
5853 }
5854 ::PROTOBUF_NAMESPACE_ID::Metadata MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse::GetMetadata() const {
5855  return GetMetadataStatic();
5856 }
5858  const ::PROTOBUF_NAMESPACE_ID::Message& other) {
5859  ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom(other);
5860 }
5861 
5862 
5863 // ===================================================================
5864 
5866  public:
5867  using HasBits = decltype(std::declval<MPModelDeltaProto>()._has_bits_);
5869  (*has_bits)[0] |= 1u;
5870  }
5871 };
5872 
5873 MPModelDeltaProto::MPModelDeltaProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
5874  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
5875  variable_overrides_(arena),
5876  constraint_overrides_(arena) {
5877  SharedCtor();
5878  RegisterArenaDtor(arena);
5879  // @@protoc_insertion_point(arena_constructor:operations_research.MPModelDeltaProto)
5880 }
5881 MPModelDeltaProto::MPModelDeltaProto(const MPModelDeltaProto& from)
5882  : ::PROTOBUF_NAMESPACE_ID::Message(),
5883  _has_bits_(from._has_bits_) {
5884  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
5885  variable_overrides_.MergeFrom(from.variable_overrides_);
5886  constraint_overrides_.MergeFrom(from.constraint_overrides_);
5887  baseline_model_file_path_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
5888  if (from._internal_has_baseline_model_file_path()) {
5889  baseline_model_file_path_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_baseline_model_file_path(),
5890  GetArena());
5891  }
5892  // @@protoc_insertion_point(copy_constructor:operations_research.MPModelDeltaProto)
5893 }
5894 
5895 void MPModelDeltaProto::SharedCtor() {
5896  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_MPModelDeltaProto_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto.base);
5897  baseline_model_file_path_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
5898 }
5899 
5900 MPModelDeltaProto::~MPModelDeltaProto() {
5901  // @@protoc_insertion_point(destructor:operations_research.MPModelDeltaProto)
5902  SharedDtor();
5903  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
5904 }
5905 
5906 void MPModelDeltaProto::SharedDtor() {
5907  GOOGLE_DCHECK(GetArena() == nullptr);
5908  baseline_model_file_path_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
5909 }
5910 
5911 void MPModelDeltaProto::ArenaDtor(void* object) {
5912  MPModelDeltaProto* _this = reinterpret_cast< MPModelDeltaProto* >(object);
5913  (void)_this;
5914 }
5915 void MPModelDeltaProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
5916 }
5917 void MPModelDeltaProto::SetCachedSize(int size) const {
5918  _cached_size_.Set(size);
5919 }
5920 const MPModelDeltaProto& MPModelDeltaProto::default_instance() {
5921  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_MPModelDeltaProto_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto.base);
5922  return *internal_default_instance();
5923 }
5924 
5925 
5926 void MPModelDeltaProto::Clear() {
5927 // @@protoc_insertion_point(message_clear_start:operations_research.MPModelDeltaProto)
5928  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5929  // Prevent compiler warnings about cached_has_bits being unused
5930  (void) cached_has_bits;
5931 
5932  variable_overrides_.Clear();
5933  constraint_overrides_.Clear();
5934  cached_has_bits = _has_bits_[0];
5935  if (cached_has_bits & 0x00000001u) {
5936  baseline_model_file_path_.ClearNonDefaultToEmpty();
5937  }
5938  _has_bits_.Clear();
5939  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
5940 }
5941 
5942 const char* MPModelDeltaProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
5943 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
5944  _Internal::HasBits has_bits{};
5945  while (!ctx->Done(&ptr)) {
5947  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
5948  CHK_(ptr);
5949  switch (tag >> 3) {
5950  // optional string baseline_model_file_path = 1;
5951  case 1:
5952  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
5953  auto str = _internal_mutable_baseline_model_file_path();
5954  ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
5955  #ifndef NDEBUG
5956  ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.MPModelDeltaProto.baseline_model_file_path");
5957  #endif // !NDEBUG
5958  CHK_(ptr);
5959  } else goto handle_unusual;
5960  continue;
5961  // map<int32, .operations_research.MPVariableProto> variable_overrides = 2;
5962  case 2:
5963  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
5964  ptr -= 1;
5965  do {
5966  ptr += 1;
5967  ptr = ctx->ParseMessage(&variable_overrides_, ptr);
5968  CHK_(ptr);
5969  if (!ctx->DataAvailable(ptr)) break;
5970  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
5971  } else goto handle_unusual;
5972  continue;
5973  // map<int32, .operations_research.MPConstraintProto> constraint_overrides = 3;
5974  case 3:
5975  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
5976  ptr -= 1;
5977  do {
5978  ptr += 1;
5979  ptr = ctx->ParseMessage(&constraint_overrides_, ptr);
5980  CHK_(ptr);
5981  if (!ctx->DataAvailable(ptr)) break;
5982  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
5983  } else goto handle_unusual;
5984  continue;
5985  default: {
5986  handle_unusual:
5987  if ((tag & 7) == 4 || tag == 0) {
5988  ctx->SetLastTag(tag);
5989  goto success;
5990  }
5991  ptr = UnknownFieldParse(tag,
5992  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
5993  ptr, ctx);
5994  CHK_(ptr != nullptr);
5995  continue;
5996  }
5997  } // switch
5998  } // while
5999 success:
6000  _has_bits_.Or(has_bits);
6001  return ptr;
6002 failure:
6003  ptr = nullptr;
6004  goto success;
6005 #undef CHK_
6006 }
6007 
6008 ::PROTOBUF_NAMESPACE_ID::uint8* MPModelDeltaProto::_InternalSerialize(
6009  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
6010  // @@protoc_insertion_point(serialize_to_array_start:operations_research.MPModelDeltaProto)
6011  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
6012  (void) cached_has_bits;
6013 
6014  cached_has_bits = _has_bits_[0];
6015  // optional string baseline_model_file_path = 1;
6016  if (cached_has_bits & 0x00000001u) {
6017  ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
6018  this->_internal_baseline_model_file_path().data(), static_cast<int>(this->_internal_baseline_model_file_path().length()),
6019  ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
6020  "operations_research.MPModelDeltaProto.baseline_model_file_path");
6021  target = stream->WriteStringMaybeAliased(
6022  1, this->_internal_baseline_model_file_path(), target);
6023  }
6024 
6025  // map<int32, .operations_research.MPVariableProto> variable_overrides = 2;
6026  if (!this->_internal_variable_overrides().empty()) {
6027  typedef ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int32, ::operations_research::MPVariableProto >::const_pointer
6028  ConstPtr;
6029  typedef ::PROTOBUF_NAMESPACE_ID::internal::SortItem< ::PROTOBUF_NAMESPACE_ID::int32, ConstPtr > SortItem;
6030  typedef ::PROTOBUF_NAMESPACE_ID::internal::CompareByFirstField<SortItem> Less;
6031 
6032  if (stream->IsSerializationDeterministic() &&
6033  this->_internal_variable_overrides().size() > 1) {
6034  ::std::unique_ptr<SortItem[]> items(
6035  new SortItem[this->_internal_variable_overrides().size()]);
6036  typedef ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int32, ::operations_research::MPVariableProto >::size_type size_type;
6037  size_type n = 0;
6038  for (::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int32, ::operations_research::MPVariableProto >::const_iterator
6039  it = this->_internal_variable_overrides().begin();
6040  it != this->_internal_variable_overrides().end(); ++it, ++n) {
6041  items[static_cast<ptrdiff_t>(n)] = SortItem(&*it);
6042  }
6043  ::std::sort(&items[0], &items[static_cast<ptrdiff_t>(n)], Less());
6044  for (size_type i = 0; i < n; i++) {
6045  target = MPModelDeltaProto_VariableOverridesEntry_DoNotUse::Funcs::InternalSerialize(2, items[static_cast<ptrdiff_t>(i)].second->first, items[static_cast<ptrdiff_t>(i)].second->second, target, stream);
6046  }
6047  } else {
6048  for (::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int32, ::operations_research::MPVariableProto >::const_iterator
6049  it = this->_internal_variable_overrides().begin();
6050  it != this->_internal_variable_overrides().end(); ++it) {
6051  target = MPModelDeltaProto_VariableOverridesEntry_DoNotUse::Funcs::InternalSerialize(2, it->first, it->second, target, stream);
6052  }
6053  }
6054  }
6055 
6056  // map<int32, .operations_research.MPConstraintProto> constraint_overrides = 3;
6057  if (!this->_internal_constraint_overrides().empty()) {
6058  typedef ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int32, ::operations_research::MPConstraintProto >::const_pointer
6059  ConstPtr;
6060  typedef ::PROTOBUF_NAMESPACE_ID::internal::SortItem< ::PROTOBUF_NAMESPACE_ID::int32, ConstPtr > SortItem;
6061  typedef ::PROTOBUF_NAMESPACE_ID::internal::CompareByFirstField<SortItem> Less;
6062 
6063  if (stream->IsSerializationDeterministic() &&
6064  this->_internal_constraint_overrides().size() > 1) {
6065  ::std::unique_ptr<SortItem[]> items(
6066  new SortItem[this->_internal_constraint_overrides().size()]);
6067  typedef ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int32, ::operations_research::MPConstraintProto >::size_type size_type;
6068  size_type n = 0;
6069  for (::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int32, ::operations_research::MPConstraintProto >::const_iterator
6070  it = this->_internal_constraint_overrides().begin();
6071  it != this->_internal_constraint_overrides().end(); ++it, ++n) {
6072  items[static_cast<ptrdiff_t>(n)] = SortItem(&*it);
6073  }
6074  ::std::sort(&items[0], &items[static_cast<ptrdiff_t>(n)], Less());
6075  for (size_type i = 0; i < n; i++) {
6076  target = MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse::Funcs::InternalSerialize(3, items[static_cast<ptrdiff_t>(i)].second->first, items[static_cast<ptrdiff_t>(i)].second->second, target, stream);
6077  }
6078  } else {
6079  for (::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int32, ::operations_research::MPConstraintProto >::const_iterator
6080  it = this->_internal_constraint_overrides().begin();
6081  it != this->_internal_constraint_overrides().end(); ++it) {
6082  target = MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse::Funcs::InternalSerialize(3, it->first, it->second, target, stream);
6083  }
6084  }
6085  }
6086 
6087  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
6088  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
6089  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
6090  }
6091  // @@protoc_insertion_point(serialize_to_array_end:operations_research.MPModelDeltaProto)
6092  return target;
6093 }
6094 
6095 size_t MPModelDeltaProto::ByteSizeLong() const {
6096 // @@protoc_insertion_point(message_byte_size_start:operations_research.MPModelDeltaProto)
6097  size_t total_size = 0;
6098 
6099  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
6100  // Prevent compiler warnings about cached_has_bits being unused
6101  (void) cached_has_bits;
6102 
6103  // map<int32, .operations_research.MPVariableProto> variable_overrides = 2;
6104  total_size += 1 *
6105  ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_variable_overrides_size());
6106  for (::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int32, ::operations_research::MPVariableProto >::const_iterator
6107  it = this->_internal_variable_overrides().begin();
6108  it != this->_internal_variable_overrides().end(); ++it) {
6109  total_size += MPModelDeltaProto_VariableOverridesEntry_DoNotUse::Funcs::ByteSizeLong(it->first, it->second);
6110  }
6111 
6112  // map<int32, .operations_research.MPConstraintProto> constraint_overrides = 3;
6113  total_size += 1 *
6114  ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_constraint_overrides_size());
6115  for (::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int32, ::operations_research::MPConstraintProto >::const_iterator
6116  it = this->_internal_constraint_overrides().begin();
6117  it != this->_internal_constraint_overrides().end(); ++it) {
6118  total_size += MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse::Funcs::ByteSizeLong(it->first, it->second);
6119  }
6120 
6121  // optional string baseline_model_file_path = 1;
6122  cached_has_bits = _has_bits_[0];
6123  if (cached_has_bits & 0x00000001u) {
6124  total_size += 1 +
6125  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
6126  this->_internal_baseline_model_file_path());
6127  }
6128 
6129  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
6130  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
6131  _internal_metadata_, total_size, &_cached_size_);
6132  }
6133  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
6134  SetCachedSize(cached_size);
6135  return total_size;
6136 }
6137 
6138 void MPModelDeltaProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
6139 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.MPModelDeltaProto)
6140  GOOGLE_DCHECK_NE(&from, this);
6141  const MPModelDeltaProto* source =
6142  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<MPModelDeltaProto>(
6143  &from);
6144  if (source == nullptr) {
6145  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.MPModelDeltaProto)
6146  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
6147  } else {
6148  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.MPModelDeltaProto)
6149  MergeFrom(*source);
6150  }
6151 }
6152 
6153 void MPModelDeltaProto::MergeFrom(const MPModelDeltaProto& from) {
6154 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.MPModelDeltaProto)
6155  GOOGLE_DCHECK_NE(&from, this);
6156  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
6157  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
6158  (void) cached_has_bits;
6159 
6160  variable_overrides_.MergeFrom(from.variable_overrides_);
6161  constraint_overrides_.MergeFrom(from.constraint_overrides_);
6162  if (from._internal_has_baseline_model_file_path()) {
6163  _internal_set_baseline_model_file_path(from._internal_baseline_model_file_path());
6164  }
6165 }
6166 
6167 void MPModelDeltaProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
6168 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.MPModelDeltaProto)
6169  if (&from == this) return;
6170  Clear();
6171  MergeFrom(from);
6172 }
6173 
6174 void MPModelDeltaProto::CopyFrom(const MPModelDeltaProto& from) {
6175 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.MPModelDeltaProto)
6176  if (&from == this) return;
6177  Clear();
6178  MergeFrom(from);
6179 }
6180 
6181 bool MPModelDeltaProto::IsInitialized() const {
6182  return true;
6183 }
6184 
6185 void MPModelDeltaProto::InternalSwap(MPModelDeltaProto* other) {
6186  using std::swap;
6187  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
6188  swap(_has_bits_[0], other->_has_bits_[0]);
6189  variable_overrides_.Swap(&other->variable_overrides_);
6190  constraint_overrides_.Swap(&other->constraint_overrides_);
6191  baseline_model_file_path_.Swap(&other->baseline_model_file_path_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
6192 }
6193 
6194 ::PROTOBUF_NAMESPACE_ID::Metadata MPModelDeltaProto::GetMetadata() const {
6195  return GetMetadataStatic();
6196 }
6197 
6198 
6199 // ===================================================================
6200 
6202  public:
6203  using HasBits = decltype(std::declval<MPModelRequest>()._has_bits_);
6204  static const ::operations_research::MPModelProto& model(const MPModelRequest* msg);
6205  static void set_has_model(HasBits* has_bits) {
6206  (*has_bits)[0] |= 2u;
6207  }
6208  static void set_has_solver_type(HasBits* has_bits) {
6209  (*has_bits)[0] |= 64u;
6210  }
6212  (*has_bits)[0] |= 8u;
6213  }
6215  (*has_bits)[0] |= 16u;
6216  }
6218  (*has_bits)[0] |= 1u;
6219  }
6221  (*has_bits)[0] |= 32u;
6222  }
6223  static const ::operations_research::MPModelDeltaProto& model_delta(const MPModelRequest* msg);
6224  static void set_has_model_delta(HasBits* has_bits) {
6225  (*has_bits)[0] |= 4u;
6226  }
6227 };
6228 
6229 const ::operations_research::MPModelProto&
6230 MPModelRequest::_Internal::model(const MPModelRequest* msg) {
6231  return *msg->model_;
6232 }
6233 const ::operations_research::MPModelDeltaProto&
6234 MPModelRequest::_Internal::model_delta(const MPModelRequest* msg) {
6235  return *msg->model_delta_;
6236 }
6237 MPModelRequest::MPModelRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
6238  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
6239  SharedCtor();
6240  RegisterArenaDtor(arena);
6241  // @@protoc_insertion_point(arena_constructor:operations_research.MPModelRequest)
6242 }
6243 MPModelRequest::MPModelRequest(const MPModelRequest& from)
6244  : ::PROTOBUF_NAMESPACE_ID::Message(),
6245  _has_bits_(from._has_bits_) {
6246  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
6247  solver_specific_parameters_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
6248  if (from._internal_has_solver_specific_parameters()) {
6249  solver_specific_parameters_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_solver_specific_parameters(),
6250  GetArena());
6251  }
6252  if (from._internal_has_model()) {
6253  model_ = new ::operations_research::MPModelProto(*from.model_);
6254  } else {
6255  model_ = nullptr;
6256  }
6257  if (from._internal_has_model_delta()) {
6258  model_delta_ = new ::operations_research::MPModelDeltaProto(*from.model_delta_);
6259  } else {
6260  model_delta_ = nullptr;
6261  }
6262  ::memcpy(&solver_time_limit_seconds_, &from.solver_time_limit_seconds_,
6263  static_cast<size_t>(reinterpret_cast<char*>(&solver_type_) -
6264  reinterpret_cast<char*>(&solver_time_limit_seconds_)) + sizeof(solver_type_));
6265  // @@protoc_insertion_point(copy_constructor:operations_research.MPModelRequest)
6266 }
6267 
6268 void MPModelRequest::SharedCtor() {
6269  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_MPModelRequest_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto.base);
6270  solver_specific_parameters_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
6271  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
6272  reinterpret_cast<char*>(&model_) - reinterpret_cast<char*>(this)),
6273  0, static_cast<size_t>(reinterpret_cast<char*>(&ignore_solver_specific_parameters_failure_) -
6274  reinterpret_cast<char*>(&model_)) + sizeof(ignore_solver_specific_parameters_failure_));
6275  solver_type_ = 2;
6276 }
6277 
6278 MPModelRequest::~MPModelRequest() {
6279  // @@protoc_insertion_point(destructor:operations_research.MPModelRequest)
6280  SharedDtor();
6281  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
6282 }
6283 
6284 void MPModelRequest::SharedDtor() {
6285  GOOGLE_DCHECK(GetArena() == nullptr);
6286  solver_specific_parameters_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
6287  if (this != internal_default_instance()) delete model_;
6288  if (this != internal_default_instance()) delete model_delta_;
6289 }
6290 
6291 void MPModelRequest::ArenaDtor(void* object) {
6292  MPModelRequest* _this = reinterpret_cast< MPModelRequest* >(object);
6293  (void)_this;
6294 }
6295 void MPModelRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
6296 }
6297 void MPModelRequest::SetCachedSize(int size) const {
6298  _cached_size_.Set(size);
6299 }
6300 const MPModelRequest& MPModelRequest::default_instance() {
6301  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_MPModelRequest_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto.base);
6302  return *internal_default_instance();
6303 }
6304 
6305 
6306 void MPModelRequest::Clear() {
6307 // @@protoc_insertion_point(message_clear_start:operations_research.MPModelRequest)
6308  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
6309  // Prevent compiler warnings about cached_has_bits being unused
6310  (void) cached_has_bits;
6311 
6312  cached_has_bits = _has_bits_[0];
6313  if (cached_has_bits & 0x00000007u) {
6314  if (cached_has_bits & 0x00000001u) {
6315  solver_specific_parameters_.ClearNonDefaultToEmpty();
6316  }
6317  if (cached_has_bits & 0x00000002u) {
6318  GOOGLE_DCHECK(model_ != nullptr);
6319  model_->Clear();
6320  }
6321  if (cached_has_bits & 0x00000004u) {
6322  GOOGLE_DCHECK(model_delta_ != nullptr);
6323  model_delta_->Clear();
6324  }
6325  }
6326  if (cached_has_bits & 0x00000078u) {
6327  ::memset(&solver_time_limit_seconds_, 0, static_cast<size_t>(
6328  reinterpret_cast<char*>(&ignore_solver_specific_parameters_failure_) -
6329  reinterpret_cast<char*>(&solver_time_limit_seconds_)) + sizeof(ignore_solver_specific_parameters_failure_));
6330  solver_type_ = 2;
6331  }
6332  _has_bits_.Clear();
6333  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
6334 }
6335 
6336 const char* MPModelRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
6337 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
6338  _Internal::HasBits has_bits{};
6339  while (!ctx->Done(&ptr)) {
6341  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
6342  CHK_(ptr);
6343  switch (tag >> 3) {
6344  // optional .operations_research.MPModelProto model = 1;
6345  case 1:
6346  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
6347  ptr = ctx->ParseMessage(_internal_mutable_model(), ptr);
6348  CHK_(ptr);
6349  } else goto handle_unusual;
6350  continue;
6351  // optional .operations_research.MPModelRequest.SolverType solver_type = 2;
6352  case 2:
6353  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
6354  ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
6355  CHK_(ptr);
6356  if (PROTOBUF_PREDICT_TRUE(::operations_research::MPModelRequest_SolverType_IsValid(val))) {
6357  _internal_set_solver_type(static_cast<::operations_research::MPModelRequest_SolverType>(val));
6358  } else {
6359  ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(2, val, mutable_unknown_fields());
6360  }
6361  } else goto handle_unusual;
6362  continue;
6363  // optional double solver_time_limit_seconds = 3;
6364  case 3:
6365  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 25)) {
6367  solver_time_limit_seconds_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
6368  ptr += sizeof(double);
6369  } else goto handle_unusual;
6370  continue;
6371  // optional bool enable_internal_solver_output = 4 [default = false];
6372  case 4:
6373  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
6375  enable_internal_solver_output_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
6376  CHK_(ptr);
6377  } else goto handle_unusual;
6378  continue;
6379  // optional string solver_specific_parameters = 5;
6380  case 5:
6381  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
6382  auto str = _internal_mutable_solver_specific_parameters();
6383  ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
6384  #ifndef NDEBUG
6385  ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.MPModelRequest.solver_specific_parameters");
6386  #endif // !NDEBUG
6387  CHK_(ptr);
6388  } else goto handle_unusual;
6389  continue;
6390  // optional .operations_research.MPModelDeltaProto model_delta = 8;
6391  case 8:
6392  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
6393  ptr = ctx->ParseMessage(_internal_mutable_model_delta(), ptr);
6394  CHK_(ptr);
6395  } else goto handle_unusual;
6396  continue;
6397  // optional bool ignore_solver_specific_parameters_failure = 9 [default = false];
6398  case 9:
6399  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) {
6401  ignore_solver_specific_parameters_failure_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
6402  CHK_(ptr);
6403  } else goto handle_unusual;
6404  continue;
6405  default: {
6406  handle_unusual:
6407  if ((tag & 7) == 4 || tag == 0) {
6408  ctx->SetLastTag(tag);
6409  goto success;
6410  }
6411  ptr = UnknownFieldParse(tag,
6412  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
6413  ptr, ctx);
6414  CHK_(ptr != nullptr);
6415  continue;
6416  }
6417  } // switch
6418  } // while
6419 success:
6420  _has_bits_.Or(has_bits);
6421  return ptr;
6422 failure:
6423  ptr = nullptr;
6424  goto success;
6425 #undef CHK_
6426 }
6427 
6428 ::PROTOBUF_NAMESPACE_ID::uint8* MPModelRequest::_InternalSerialize(
6429  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
6430  // @@protoc_insertion_point(serialize_to_array_start:operations_research.MPModelRequest)
6431  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
6432  (void) cached_has_bits;
6433 
6434  cached_has_bits = _has_bits_[0];
6435  // optional .operations_research.MPModelProto model = 1;
6436  if (cached_has_bits & 0x00000002u) {
6437  target = stream->EnsureSpace(target);
6438  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6439  InternalWriteMessage(
6440  1, _Internal::model(this), target, stream);
6441  }
6442 
6443  // optional .operations_research.MPModelRequest.SolverType solver_type = 2;
6444  if (cached_has_bits & 0x00000040u) {
6445  target = stream->EnsureSpace(target);
6446  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
6447  2, this->_internal_solver_type(), target);
6448  }
6449 
6450  // optional double solver_time_limit_seconds = 3;
6451  if (cached_has_bits & 0x00000008u) {
6452  target = stream->EnsureSpace(target);
6453  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(3, this->_internal_solver_time_limit_seconds(), target);
6454  }
6455 
6456  // optional bool enable_internal_solver_output = 4 [default = false];
6457  if (cached_has_bits & 0x00000010u) {
6458  target = stream->EnsureSpace(target);
6459  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_enable_internal_solver_output(), target);
6460  }
6461 
6462  // optional string solver_specific_parameters = 5;
6463  if (cached_has_bits & 0x00000001u) {
6464  ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
6465  this->_internal_solver_specific_parameters().data(), static_cast<int>(this->_internal_solver_specific_parameters().length()),
6466  ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
6467  "operations_research.MPModelRequest.solver_specific_parameters");
6468  target = stream->WriteStringMaybeAliased(
6469  5, this->_internal_solver_specific_parameters(), target);
6470  }
6471 
6472  // optional .operations_research.MPModelDeltaProto model_delta = 8;
6473  if (cached_has_bits & 0x00000004u) {
6474  target = stream->EnsureSpace(target);
6475  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6476  InternalWriteMessage(
6477  8, _Internal::model_delta(this), target, stream);
6478  }
6479 
6480  // optional bool ignore_solver_specific_parameters_failure = 9 [default = false];
6481  if (cached_has_bits & 0x00000020u) {
6482  target = stream->EnsureSpace(target);
6483  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(9, this->_internal_ignore_solver_specific_parameters_failure(), target);
6484  }
6485 
6486  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
6487  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
6488  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
6489  }
6490  // @@protoc_insertion_point(serialize_to_array_end:operations_research.MPModelRequest)
6491  return target;
6492 }
6493 
6494 size_t MPModelRequest::ByteSizeLong() const {
6495 // @@protoc_insertion_point(message_byte_size_start:operations_research.MPModelRequest)
6496  size_t total_size = 0;
6497 
6498  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
6499  // Prevent compiler warnings about cached_has_bits being unused
6500  (void) cached_has_bits;
6501 
6502  cached_has_bits = _has_bits_[0];
6503  if (cached_has_bits & 0x0000007fu) {
6504  // optional string solver_specific_parameters = 5;
6505  if (cached_has_bits & 0x00000001u) {
6506  total_size += 1 +
6507  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
6508  this->_internal_solver_specific_parameters());
6509  }
6510 
6511  // optional .operations_research.MPModelProto model = 1;
6512  if (cached_has_bits & 0x00000002u) {
6513  total_size += 1 +
6514  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
6515  *model_);
6516  }
6517 
6518  // optional .operations_research.MPModelDeltaProto model_delta = 8;
6519  if (cached_has_bits & 0x00000004u) {
6520  total_size += 1 +
6521  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
6522  *model_delta_);
6523  }
6524 
6525  // optional double solver_time_limit_seconds = 3;
6526  if (cached_has_bits & 0x00000008u) {
6527  total_size += 1 + 8;
6528  }
6529 
6530  // optional bool enable_internal_solver_output = 4 [default = false];
6531  if (cached_has_bits & 0x00000010u) {
6532  total_size += 1 + 1;
6533  }
6534 
6535  // optional bool ignore_solver_specific_parameters_failure = 9 [default = false];
6536  if (cached_has_bits & 0x00000020u) {
6537  total_size += 1 + 1;
6538  }
6539 
6540  // optional .operations_research.MPModelRequest.SolverType solver_type = 2;
6541  if (cached_has_bits & 0x00000040u) {
6542  total_size += 1 +
6543  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_solver_type());
6544  }
6545 
6546  }
6547  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
6548  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
6549  _internal_metadata_, total_size, &_cached_size_);
6550  }
6551  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
6552  SetCachedSize(cached_size);
6553  return total_size;
6554 }
6555 
6556 void MPModelRequest::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
6557 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.MPModelRequest)
6558  GOOGLE_DCHECK_NE(&from, this);
6559  const MPModelRequest* source =
6560  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<MPModelRequest>(
6561  &from);
6562  if (source == nullptr) {
6563  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.MPModelRequest)
6564  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
6565  } else {
6566  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.MPModelRequest)
6567  MergeFrom(*source);
6568  }
6569 }
6570 
6571 void MPModelRequest::MergeFrom(const MPModelRequest& from) {
6572 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.MPModelRequest)
6573  GOOGLE_DCHECK_NE(&from, this);
6574  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
6575  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
6576  (void) cached_has_bits;
6577 
6578  cached_has_bits = from._has_bits_[0];
6579  if (cached_has_bits & 0x0000007fu) {
6580  if (cached_has_bits & 0x00000001u) {
6581  _internal_set_solver_specific_parameters(from._internal_solver_specific_parameters());
6582  }
6583  if (cached_has_bits & 0x00000002u) {
6584  _internal_mutable_model()->::operations_research::MPModelProto::MergeFrom(from._internal_model());
6585  }
6586  if (cached_has_bits & 0x00000004u) {
6587  _internal_mutable_model_delta()->::operations_research::MPModelDeltaProto::MergeFrom(from._internal_model_delta());
6588  }
6589  if (cached_has_bits & 0x00000008u) {
6590  solver_time_limit_seconds_ = from.solver_time_limit_seconds_;
6591  }
6592  if (cached_has_bits & 0x00000010u) {
6593  enable_internal_solver_output_ = from.enable_internal_solver_output_;
6594  }
6595  if (cached_has_bits & 0x00000020u) {
6596  ignore_solver_specific_parameters_failure_ = from.ignore_solver_specific_parameters_failure_;
6597  }
6598  if (cached_has_bits & 0x00000040u) {
6599  solver_type_ = from.solver_type_;
6600  }
6601  _has_bits_[0] |= cached_has_bits;
6602  }
6603 }
6604 
6605 void MPModelRequest::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
6606 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.MPModelRequest)
6607  if (&from == this) return;
6608  Clear();
6609  MergeFrom(from);
6610 }
6611 
6612 void MPModelRequest::CopyFrom(const MPModelRequest& from) {
6613 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.MPModelRequest)
6614  if (&from == this) return;
6615  Clear();
6616  MergeFrom(from);
6617 }
6618 
6619 bool MPModelRequest::IsInitialized() const {
6620  return true;
6621 }
6622 
6623 void MPModelRequest::InternalSwap(MPModelRequest* other) {
6624  using std::swap;
6625  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
6626  swap(_has_bits_[0], other->_has_bits_[0]);
6627  solver_specific_parameters_.Swap(&other->solver_specific_parameters_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
6628  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
6629  PROTOBUF_FIELD_OFFSET(MPModelRequest, ignore_solver_specific_parameters_failure_)
6630  + sizeof(MPModelRequest::ignore_solver_specific_parameters_failure_)
6631  - PROTOBUF_FIELD_OFFSET(MPModelRequest, model_)>(
6632  reinterpret_cast<char*>(&model_),
6633  reinterpret_cast<char*>(&other->model_));
6634  swap(solver_type_, other->solver_type_);
6635 }
6636 
6637 ::PROTOBUF_NAMESPACE_ID::Metadata MPModelRequest::GetMetadata() const {
6638  return GetMetadataStatic();
6639 }
6640 
6641 
6642 // ===================================================================
6643 
6645  public:
6646  using HasBits = decltype(std::declval<MPSolutionResponse>()._has_bits_);
6647  static void set_has_status(HasBits* has_bits) {
6648  (*has_bits)[0] |= 8u;
6649  }
6650  static void set_has_status_str(HasBits* has_bits) {
6651  (*has_bits)[0] |= 1u;
6652  }
6653  static void set_has_objective_value(HasBits* has_bits) {
6654  (*has_bits)[0] |= 2u;
6655  }
6656  static void set_has_best_objective_bound(HasBits* has_bits) {
6657  (*has_bits)[0] |= 4u;
6658  }
6659 };
6660 
6661 MPSolutionResponse::MPSolutionResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
6662  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
6663  variable_value_(arena),
6664  dual_value_(arena),
6665  reduced_cost_(arena) {
6666  SharedCtor();
6667  RegisterArenaDtor(arena);
6668  // @@protoc_insertion_point(arena_constructor:operations_research.MPSolutionResponse)
6669 }
6670 MPSolutionResponse::MPSolutionResponse(const MPSolutionResponse& from)
6671  : ::PROTOBUF_NAMESPACE_ID::Message(),
6672  _has_bits_(from._has_bits_),
6673  variable_value_(from.variable_value_),
6674  dual_value_(from.dual_value_),
6675  reduced_cost_(from.reduced_cost_) {
6676  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
6677  status_str_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
6678  if (from._internal_has_status_str()) {
6679  status_str_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_status_str(),
6680  GetArena());
6681  }
6682  ::memcpy(&objective_value_, &from.objective_value_,
6683  static_cast<size_t>(reinterpret_cast<char*>(&status_) -
6684  reinterpret_cast<char*>(&objective_value_)) + sizeof(status_));
6685  // @@protoc_insertion_point(copy_constructor:operations_research.MPSolutionResponse)
6686 }
6687 
6688 void MPSolutionResponse::SharedCtor() {
6689  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_MPSolutionResponse_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto.base);
6690  status_str_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
6691  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
6692  reinterpret_cast<char*>(&objective_value_) - reinterpret_cast<char*>(this)),
6693  0, static_cast<size_t>(reinterpret_cast<char*>(&best_objective_bound_) -
6694  reinterpret_cast<char*>(&objective_value_)) + sizeof(best_objective_bound_));
6695  status_ = 99;
6696 }
6697 
6698 MPSolutionResponse::~MPSolutionResponse() {
6699  // @@protoc_insertion_point(destructor:operations_research.MPSolutionResponse)
6700  SharedDtor();
6701  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
6702 }
6703 
6704 void MPSolutionResponse::SharedDtor() {
6705  GOOGLE_DCHECK(GetArena() == nullptr);
6706  status_str_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
6707 }
6708 
6709 void MPSolutionResponse::ArenaDtor(void* object) {
6710  MPSolutionResponse* _this = reinterpret_cast< MPSolutionResponse* >(object);
6711  (void)_this;
6712 }
6713 void MPSolutionResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
6714 }
6715 void MPSolutionResponse::SetCachedSize(int size) const {
6716  _cached_size_.Set(size);
6717 }
6718 const MPSolutionResponse& MPSolutionResponse::default_instance() {
6719  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_MPSolutionResponse_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto.base);
6720  return *internal_default_instance();
6721 }
6722 
6723 
6724 void MPSolutionResponse::Clear() {
6725 // @@protoc_insertion_point(message_clear_start:operations_research.MPSolutionResponse)
6726  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
6727  // Prevent compiler warnings about cached_has_bits being unused
6728  (void) cached_has_bits;
6729 
6730  variable_value_.Clear();
6731  dual_value_.Clear();
6732  reduced_cost_.Clear();
6733  cached_has_bits = _has_bits_[0];
6734  if (cached_has_bits & 0x00000001u) {
6735  status_str_.ClearNonDefaultToEmpty();
6736  }
6737  if (cached_has_bits & 0x0000000eu) {
6738  ::memset(&objective_value_, 0, static_cast<size_t>(
6739  reinterpret_cast<char*>(&best_objective_bound_) -
6740  reinterpret_cast<char*>(&objective_value_)) + sizeof(best_objective_bound_));
6741  status_ = 99;
6742  }
6743  _has_bits_.Clear();
6744  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
6745 }
6746 
6747 const char* MPSolutionResponse::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
6748 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
6749  _Internal::HasBits has_bits{};
6750  while (!ctx->Done(&ptr)) {
6752  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
6753  CHK_(ptr);
6754  switch (tag >> 3) {
6755  // optional .operations_research.MPSolverResponseStatus status = 1 [default = MPSOLVER_UNKNOWN_STATUS];
6756  case 1:
6757  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
6758  ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
6759  CHK_(ptr);
6760  if (PROTOBUF_PREDICT_TRUE(::operations_research::MPSolverResponseStatus_IsValid(val))) {
6761  _internal_set_status(static_cast<::operations_research::MPSolverResponseStatus>(val));
6762  } else {
6763  ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields());
6764  }
6765  } else goto handle_unusual;
6766  continue;
6767  // optional double objective_value = 2;
6768  case 2:
6769  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 17)) {
6771  objective_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
6772  ptr += sizeof(double);
6773  } else goto handle_unusual;
6774  continue;
6775  // repeated double variable_value = 3 [packed = true];
6776  case 3:
6777  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
6778  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedDoubleParser(_internal_mutable_variable_value(), ptr, ctx);
6779  CHK_(ptr);
6780  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 25) {
6781  _internal_add_variable_value(::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr));
6782  ptr += sizeof(double);
6783  } else goto handle_unusual;
6784  continue;
6785  // repeated double dual_value = 4 [packed = true];
6786  case 4:
6787  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
6788  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedDoubleParser(_internal_mutable_dual_value(), ptr, ctx);
6789  CHK_(ptr);
6790  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 33) {
6791  _internal_add_dual_value(::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr));
6792  ptr += sizeof(double);
6793  } else goto handle_unusual;
6794  continue;
6795  // optional double best_objective_bound = 5;
6796  case 5:
6797  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 41)) {
6799  best_objective_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
6800  ptr += sizeof(double);
6801  } else goto handle_unusual;
6802  continue;
6803  // repeated double reduced_cost = 6 [packed = true];
6804  case 6:
6805  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
6806  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedDoubleParser(_internal_mutable_reduced_cost(), ptr, ctx);
6807  CHK_(ptr);
6808  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 49) {
6809  _internal_add_reduced_cost(::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr));
6810  ptr += sizeof(double);
6811  } else goto handle_unusual;
6812  continue;
6813  // optional string status_str = 7;
6814  case 7:
6815  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
6816  auto str = _internal_mutable_status_str();
6817  ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
6818  #ifndef NDEBUG
6819  ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.MPSolutionResponse.status_str");
6820  #endif // !NDEBUG
6821  CHK_(ptr);
6822  } else goto handle_unusual;
6823  continue;
6824  default: {
6825  handle_unusual:
6826  if ((tag & 7) == 4 || tag == 0) {
6827  ctx->SetLastTag(tag);
6828  goto success;
6829  }
6830  ptr = UnknownFieldParse(tag,
6831  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
6832  ptr, ctx);
6833  CHK_(ptr != nullptr);
6834  continue;
6835  }
6836  } // switch
6837  } // while
6838 success:
6839  _has_bits_.Or(has_bits);
6840  return ptr;
6841 failure:
6842  ptr = nullptr;
6843  goto success;
6844 #undef CHK_
6845 }
6846 
6847 ::PROTOBUF_NAMESPACE_ID::uint8* MPSolutionResponse::_InternalSerialize(
6848  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
6849  // @@protoc_insertion_point(serialize_to_array_start:operations_research.MPSolutionResponse)
6850  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
6851  (void) cached_has_bits;
6852 
6853  cached_has_bits = _has_bits_[0];
6854  // optional .operations_research.MPSolverResponseStatus status = 1 [default = MPSOLVER_UNKNOWN_STATUS];
6855  if (cached_has_bits & 0x00000008u) {
6856  target = stream->EnsureSpace(target);
6857  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
6858  1, this->_internal_status(), target);
6859  }
6860 
6861  // optional double objective_value = 2;
6862  if (cached_has_bits & 0x00000002u) {
6863  target = stream->EnsureSpace(target);
6864  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(2, this->_internal_objective_value(), target);
6865  }
6866 
6867  // repeated double variable_value = 3 [packed = true];
6868  if (this->_internal_variable_value_size() > 0) {
6869  target = stream->WriteFixedPacked(3, _internal_variable_value(), target);
6870  }
6871 
6872  // repeated double dual_value = 4 [packed = true];
6873  if (this->_internal_dual_value_size() > 0) {
6874  target = stream->WriteFixedPacked(4, _internal_dual_value(), target);
6875  }
6876 
6877  // optional double best_objective_bound = 5;
6878  if (cached_has_bits & 0x00000004u) {
6879  target = stream->EnsureSpace(target);
6880  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(5, this->_internal_best_objective_bound(), target);
6881  }
6882 
6883  // repeated double reduced_cost = 6 [packed = true];
6884  if (this->_internal_reduced_cost_size() > 0) {
6885  target = stream->WriteFixedPacked(6, _internal_reduced_cost(), target);
6886  }
6887 
6888  // optional string status_str = 7;
6889  if (cached_has_bits & 0x00000001u) {
6890  ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
6891  this->_internal_status_str().data(), static_cast<int>(this->_internal_status_str().length()),
6892  ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
6893  "operations_research.MPSolutionResponse.status_str");
6894  target = stream->WriteStringMaybeAliased(
6895  7, this->_internal_status_str(), target);
6896  }
6897 
6898  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
6899  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
6900  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
6901  }
6902  // @@protoc_insertion_point(serialize_to_array_end:operations_research.MPSolutionResponse)
6903  return target;
6904 }
6905 
6906 size_t MPSolutionResponse::ByteSizeLong() const {
6907 // @@protoc_insertion_point(message_byte_size_start:operations_research.MPSolutionResponse)
6908  size_t total_size = 0;
6909 
6910  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
6911  // Prevent compiler warnings about cached_has_bits being unused
6912  (void) cached_has_bits;
6913 
6914  // repeated double variable_value = 3 [packed = true];
6915  {
6916  unsigned int count = static_cast<unsigned int>(this->_internal_variable_value_size());
6917  size_t data_size = 8UL * count;
6918  if (data_size > 0) {
6919  total_size += 1 +
6920  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
6921  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
6922  }
6923  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
6924  _variable_value_cached_byte_size_.store(cached_size,
6925  std::memory_order_relaxed);
6926  total_size += data_size;
6927  }
6928 
6929  // repeated double dual_value = 4 [packed = true];
6930  {
6931  unsigned int count = static_cast<unsigned int>(this->_internal_dual_value_size());
6932  size_t data_size = 8UL * count;
6933  if (data_size > 0) {
6934  total_size += 1 +
6935  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
6936  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
6937  }
6938  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
6939  _dual_value_cached_byte_size_.store(cached_size,
6940  std::memory_order_relaxed);
6941  total_size += data_size;
6942  }
6943 
6944  // repeated double reduced_cost = 6 [packed = true];
6945  {
6946  unsigned int count = static_cast<unsigned int>(this->_internal_reduced_cost_size());
6947  size_t data_size = 8UL * count;
6948  if (data_size > 0) {
6949  total_size += 1 +
6950  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
6951  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
6952  }
6953  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
6954  _reduced_cost_cached_byte_size_.store(cached_size,
6955  std::memory_order_relaxed);
6956  total_size += data_size;
6957  }
6958 
6959  cached_has_bits = _has_bits_[0];
6960  if (cached_has_bits & 0x0000000fu) {
6961  // optional string status_str = 7;
6962  if (cached_has_bits & 0x00000001u) {
6963  total_size += 1 +
6964  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
6965  this->_internal_status_str());
6966  }
6967 
6968  // optional double objective_value = 2;
6969  if (cached_has_bits & 0x00000002u) {
6970  total_size += 1 + 8;
6971  }
6972 
6973  // optional double best_objective_bound = 5;
6974  if (cached_has_bits & 0x00000004u) {
6975  total_size += 1 + 8;
6976  }
6977 
6978  // optional .operations_research.MPSolverResponseStatus status = 1 [default = MPSOLVER_UNKNOWN_STATUS];
6979  if (cached_has_bits & 0x00000008u) {
6980  total_size += 1 +
6981  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_status());
6982  }
6983 
6984  }
6985  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
6986  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
6987  _internal_metadata_, total_size, &_cached_size_);
6988  }
6989  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
6990  SetCachedSize(cached_size);
6991  return total_size;
6992 }
6993 
6994 void MPSolutionResponse::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
6995 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.MPSolutionResponse)
6996  GOOGLE_DCHECK_NE(&from, this);
6997  const MPSolutionResponse* source =
6998  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<MPSolutionResponse>(
6999  &from);
7000  if (source == nullptr) {
7001  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.MPSolutionResponse)
7002  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
7003  } else {
7004  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.MPSolutionResponse)
7005  MergeFrom(*source);
7006  }
7007 }
7008 
7009 void MPSolutionResponse::MergeFrom(const MPSolutionResponse& from) {
7010 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.MPSolutionResponse)
7011  GOOGLE_DCHECK_NE(&from, this);
7012  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
7013  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
7014  (void) cached_has_bits;
7015 
7016  variable_value_.MergeFrom(from.variable_value_);
7017  dual_value_.MergeFrom(from.dual_value_);
7018  reduced_cost_.MergeFrom(from.reduced_cost_);
7019  cached_has_bits = from._has_bits_[0];
7020  if (cached_has_bits & 0x0000000fu) {
7021  if (cached_has_bits & 0x00000001u) {
7022  _internal_set_status_str(from._internal_status_str());
7023  }
7024  if (cached_has_bits & 0x00000002u) {
7025  objective_value_ = from.objective_value_;
7026  }
7027  if (cached_has_bits & 0x00000004u) {
7028  best_objective_bound_ = from.best_objective_bound_;
7029  }
7030  if (cached_has_bits & 0x00000008u) {
7031  status_ = from.status_;
7032  }
7033  _has_bits_[0] |= cached_has_bits;
7034  }
7035 }
7036 
7037 void MPSolutionResponse::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
7038 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.MPSolutionResponse)
7039  if (&from == this) return;
7040  Clear();
7041  MergeFrom(from);
7042 }
7043 
7044 void MPSolutionResponse::CopyFrom(const MPSolutionResponse& from) {
7045 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.MPSolutionResponse)
7046  if (&from == this) return;
7047  Clear();
7048  MergeFrom(from);
7049 }
7050 
7051 bool MPSolutionResponse::IsInitialized() const {
7052  return true;
7053 }
7054 
7055 void MPSolutionResponse::InternalSwap(MPSolutionResponse* other) {
7056  using std::swap;
7057  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
7058  swap(_has_bits_[0], other->_has_bits_[0]);
7059  variable_value_.InternalSwap(&other->variable_value_);
7060  dual_value_.InternalSwap(&other->dual_value_);
7061  reduced_cost_.InternalSwap(&other->reduced_cost_);
7062  status_str_.Swap(&other->status_str_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
7063  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
7064  PROTOBUF_FIELD_OFFSET(MPSolutionResponse, best_objective_bound_)
7065  + sizeof(MPSolutionResponse::best_objective_bound_)
7066  - PROTOBUF_FIELD_OFFSET(MPSolutionResponse, objective_value_)>(
7067  reinterpret_cast<char*>(&objective_value_),
7068  reinterpret_cast<char*>(&other->objective_value_));
7069  swap(status_, other->status_);
7070 }
7071 
7072 ::PROTOBUF_NAMESPACE_ID::Metadata MPSolutionResponse::GetMetadata() const {
7073  return GetMetadataStatic();
7074 }
7075 
7076 
7077 // @@protoc_insertion_point(namespace_scope)
7078 } // namespace operations_research
7079 PROTOBUF_NAMESPACE_OPEN
7080 template<> PROTOBUF_NOINLINE ::operations_research::MPVariableProto* Arena::CreateMaybeMessage< ::operations_research::MPVariableProto >(Arena* arena) {
7081  return Arena::CreateMessageInternal< ::operations_research::MPVariableProto >(arena);
7082 }
7083 template<> PROTOBUF_NOINLINE ::operations_research::MPConstraintProto* Arena::CreateMaybeMessage< ::operations_research::MPConstraintProto >(Arena* arena) {
7084  return Arena::CreateMessageInternal< ::operations_research::MPConstraintProto >(arena);
7085 }
7086 template<> PROTOBUF_NOINLINE ::operations_research::MPGeneralConstraintProto* Arena::CreateMaybeMessage< ::operations_research::MPGeneralConstraintProto >(Arena* arena) {
7087  return Arena::CreateMessageInternal< ::operations_research::MPGeneralConstraintProto >(arena);
7088 }
7089 template<> PROTOBUF_NOINLINE ::operations_research::MPIndicatorConstraint* Arena::CreateMaybeMessage< ::operations_research::MPIndicatorConstraint >(Arena* arena) {
7090  return Arena::CreateMessageInternal< ::operations_research::MPIndicatorConstraint >(arena);
7091 }
7092 template<> PROTOBUF_NOINLINE ::operations_research::MPSosConstraint* Arena::CreateMaybeMessage< ::operations_research::MPSosConstraint >(Arena* arena) {
7093  return Arena::CreateMessageInternal< ::operations_research::MPSosConstraint >(arena);
7094 }
7095 template<> PROTOBUF_NOINLINE ::operations_research::MPQuadraticConstraint* Arena::CreateMaybeMessage< ::operations_research::MPQuadraticConstraint >(Arena* arena) {
7096  return Arena::CreateMessageInternal< ::operations_research::MPQuadraticConstraint >(arena);
7097 }
7098 template<> PROTOBUF_NOINLINE ::operations_research::MPAbsConstraint* Arena::CreateMaybeMessage< ::operations_research::MPAbsConstraint >(Arena* arena) {
7099  return Arena::CreateMessageInternal< ::operations_research::MPAbsConstraint >(arena);
7100 }
7101 template<> PROTOBUF_NOINLINE ::operations_research::MPArrayConstraint* Arena::CreateMaybeMessage< ::operations_research::MPArrayConstraint >(Arena* arena) {
7102  return Arena::CreateMessageInternal< ::operations_research::MPArrayConstraint >(arena);
7103 }
7104 template<> PROTOBUF_NOINLINE ::operations_research::MPArrayWithConstantConstraint* Arena::CreateMaybeMessage< ::operations_research::MPArrayWithConstantConstraint >(Arena* arena) {
7105  return Arena::CreateMessageInternal< ::operations_research::MPArrayWithConstantConstraint >(arena);
7106 }
7107 template<> PROTOBUF_NOINLINE ::operations_research::MPQuadraticObjective* Arena::CreateMaybeMessage< ::operations_research::MPQuadraticObjective >(Arena* arena) {
7108  return Arena::CreateMessageInternal< ::operations_research::MPQuadraticObjective >(arena);
7109 }
7110 template<> PROTOBUF_NOINLINE ::operations_research::PartialVariableAssignment* Arena::CreateMaybeMessage< ::operations_research::PartialVariableAssignment >(Arena* arena) {
7111  return Arena::CreateMessageInternal< ::operations_research::PartialVariableAssignment >(arena);
7112 }
7113 template<> PROTOBUF_NOINLINE ::operations_research::MPModelProto* Arena::CreateMaybeMessage< ::operations_research::MPModelProto >(Arena* arena) {
7114  return Arena::CreateMessageInternal< ::operations_research::MPModelProto >(arena);
7115 }
7116 template<> PROTOBUF_NOINLINE ::operations_research::OptionalDouble* Arena::CreateMaybeMessage< ::operations_research::OptionalDouble >(Arena* arena) {
7117  return Arena::CreateMessageInternal< ::operations_research::OptionalDouble >(arena);
7118 }
7119 template<> PROTOBUF_NOINLINE ::operations_research::MPSolverCommonParameters* Arena::CreateMaybeMessage< ::operations_research::MPSolverCommonParameters >(Arena* arena) {
7120  return Arena::CreateMessageInternal< ::operations_research::MPSolverCommonParameters >(arena);
7121 }
7122 template<> PROTOBUF_NOINLINE ::operations_research::MPModelDeltaProto_VariableOverridesEntry_DoNotUse* Arena::CreateMaybeMessage< ::operations_research::MPModelDeltaProto_VariableOverridesEntry_DoNotUse >(Arena* arena) {
7123  return Arena::CreateMessageInternal< ::operations_research::MPModelDeltaProto_VariableOverridesEntry_DoNotUse >(arena);
7124 }
7125 template<> PROTOBUF_NOINLINE ::operations_research::MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse* Arena::CreateMaybeMessage< ::operations_research::MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse >(Arena* arena) {
7126  return Arena::CreateMessageInternal< ::operations_research::MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse >(arena);
7127 }
7128 template<> PROTOBUF_NOINLINE ::operations_research::MPModelDeltaProto* Arena::CreateMaybeMessage< ::operations_research::MPModelDeltaProto >(Arena* arena) {
7129  return Arena::CreateMessageInternal< ::operations_research::MPModelDeltaProto >(arena);
7130 }
7131 template<> PROTOBUF_NOINLINE ::operations_research::MPModelRequest* Arena::CreateMaybeMessage< ::operations_research::MPModelRequest >(Arena* arena) {
7132  return Arena::CreateMessageInternal< ::operations_research::MPModelRequest >(arena);
7133 }
7134 template<> PROTOBUF_NOINLINE ::operations_research::MPSolutionResponse* Arena::CreateMaybeMessage< ::operations_research::MPSolutionResponse >(Arena* arena) {
7135  return Arena::CreateMessageInternal< ::operations_research::MPSolutionResponse >(arena);
7136 }
7137 PROTOBUF_NAMESPACE_CLOSE
7138 
7139 // @@protoc_insertion_point(global_scope)
7140 #include <google/protobuf/port_undef.inc>
static void set_has_resultant_var_index(HasBits *has_bits)
decltype(std::declval< MPAbsConstraint >()._has_bits_) HasBits
static void set_has_var_index(HasBits *has_bits)
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< MPAbsConstraint > _instance
static void set_has_resultant_var_index(HasBits *has_bits)
decltype(std::declval< MPArrayConstraint >()._has_bits_) HasBits
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< MPArrayConstraint > _instance
decltype(std::declval< MPArrayWithConstantConstraint >()._has_bits_) HasBits
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< MPArrayWithConstantConstraint > _instance
decltype(std::declval< MPConstraintProto >()._has_bits_) HasBits
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< MPConstraintProto > _instance
static const ::operations_research::MPArrayWithConstantConstraint & max_constraint(const MPGeneralConstraintProto *msg)
static const ::operations_research::MPQuadraticConstraint & quadratic_constraint(const MPGeneralConstraintProto *msg)
static const ::operations_research::MPArrayConstraint & and_constraint(const MPGeneralConstraintProto *msg)
static const ::operations_research::MPAbsConstraint & abs_constraint(const MPGeneralConstraintProto *msg)
static const ::operations_research::MPIndicatorConstraint & indicator_constraint(const MPGeneralConstraintProto *msg)
static const ::operations_research::MPArrayWithConstantConstraint & min_constraint(const MPGeneralConstraintProto *msg)
static const ::operations_research::MPArrayConstraint & or_constraint(const MPGeneralConstraintProto *msg)
decltype(std::declval< MPGeneralConstraintProto >()._has_bits_) HasBits
static const ::operations_research::MPSosConstraint & sos_constraint(const MPGeneralConstraintProto *msg)
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< MPGeneralConstraintProto > _instance
static const ::operations_research::MPConstraintProto & constraint(const MPIndicatorConstraint *msg)
decltype(std::declval< MPIndicatorConstraint >()._has_bits_) HasBits
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< MPIndicatorConstraint > _instance
static void set_has_baseline_model_file_path(HasBits *has_bits)
decltype(std::declval< MPModelDeltaProto >()._has_bits_) HasBits
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse > _instance
void MergeFrom(const MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse &other)
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse()
::PROTOBUF_NAMESPACE_ID::internal::MapEntry< MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse, ::PROTOBUF_NAMESPACE_ID::int32, ::operations_research::MPConstraintProto, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT32, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE > SuperType
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< MPModelDeltaProto_VariableOverridesEntry_DoNotUse > _instance
void MergeFrom(const MPModelDeltaProto_VariableOverridesEntry_DoNotUse &other)
::PROTOBUF_NAMESPACE_ID::internal::MapEntry< MPModelDeltaProto_VariableOverridesEntry_DoNotUse, ::PROTOBUF_NAMESPACE_ID::int32, ::operations_research::MPVariableProto, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT32, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE > SuperType
MPModelDeltaProto_VariableOverridesEntry_DoNotUse()
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< MPModelDeltaProto > _instance
static const ::operations_research::PartialVariableAssignment & solution_hint(const MPModelProto *msg)
static void set_has_solution_hint(HasBits *has_bits)
static void set_has_maximize(HasBits *has_bits)
static const ::operations_research::MPQuadraticObjective & quadratic_objective(const MPModelProto *msg)
static void set_has_quadratic_objective(HasBits *has_bits)
decltype(std::declval< MPModelProto >()._has_bits_) HasBits
static void set_has_objective_offset(HasBits *has_bits)
static void set_has_name(HasBits *has_bits)
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< MPModelProto > _instance
decltype(std::declval< MPModelRequest >()._has_bits_) HasBits
static const ::operations_research::MPModelDeltaProto & model_delta(const MPModelRequest *msg)
static void set_has_enable_internal_solver_output(HasBits *has_bits)
static void set_has_solver_specific_parameters(HasBits *has_bits)
static const ::operations_research::MPModelProto & model(const MPModelRequest *msg)
static void set_has_ignore_solver_specific_parameters_failure(HasBits *has_bits)
static void set_has_solver_time_limit_seconds(HasBits *has_bits)
static void set_has_solver_type(HasBits *has_bits)
static void set_has_model_delta(HasBits *has_bits)
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< MPModelRequest > _instance
decltype(std::declval< MPQuadraticConstraint >()._has_bits_) HasBits
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< MPQuadraticConstraint > _instance
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< MPQuadraticObjective > _instance
static void set_has_best_objective_bound(HasBits *has_bits)
decltype(std::declval< MPSolutionResponse >()._has_bits_) HasBits
static void set_has_objective_value(HasBits *has_bits)
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< MPSolutionResponse > _instance
decltype(std::declval< MPSolverCommonParameters >()._has_bits_) HasBits
static const ::operations_research::OptionalDouble & dual_tolerance(const MPSolverCommonParameters *msg)
static const ::operations_research::OptionalDouble & relative_mip_gap(const MPSolverCommonParameters *msg)
static const ::operations_research::OptionalDouble & primal_tolerance(const MPSolverCommonParameters *msg)
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< MPSolverCommonParameters > _instance
decltype(std::declval< MPSosConstraint >()._has_bits_) HasBits
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< MPSosConstraint > _instance
static void set_has_is_integer(HasBits *has_bits)
static void set_has_objective_coefficient(HasBits *has_bits)
static void set_has_branching_priority(HasBits *has_bits)
decltype(std::declval< MPVariableProto >()._has_bits_) HasBits
static void set_has_upper_bound(HasBits *has_bits)
static void set_has_lower_bound(HasBits *has_bits)
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< MPVariableProto > _instance
decltype(std::declval< OptionalDouble >()._has_bits_) HasBits
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< OptionalDouble > _instance
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< PartialVariableAssignment > _instance
int64 value
GRBmodel * model
unsigned int uint32
int int32
uint64_t uint64
unsigned char uint8
PROTOBUF_NOINLINE ::operations_research::MPSolutionResponse * Arena::CreateMaybeMessage< ::operations_research::MPSolutionResponse >(Arena *arena)
PROTOBUF_NOINLINE ::operations_research::MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse * Arena::CreateMaybeMessage< ::operations_research::MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse >(Arena *arena)
PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_MPSosConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
static void InitDefaultsscc_info_MPArrayConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto()
PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_PartialVariableAssignment_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
static void InitDefaultsscc_info_MPSolverCommonParameters_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto()
PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_MPQuadraticObjective_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
PROTOBUF_NOINLINE ::operations_research::OptionalDouble * Arena::CreateMaybeMessage< ::operations_research::OptionalDouble >(Arena *arena)
#define CHK_(x)
PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_MPArrayConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
PROTOBUF_NOINLINE ::operations_research::MPSosConstraint * Arena::CreateMaybeMessage< ::operations_research::MPSosConstraint >(Arena *arena)
::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto[19]
static void InitDefaultsscc_info_MPIndicatorConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto()
PROTOBUF_NOINLINE ::operations_research::MPArrayWithConstantConstraint * Arena::CreateMaybeMessage< ::operations_research::MPArrayWithConstantConstraint >(Arena *arena)
PROTOBUF_NOINLINE ::operations_research::MPQuadraticConstraint * Arena::CreateMaybeMessage< ::operations_research::MPQuadraticConstraint >(Arena *arena)
::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 1 > scc_info_MPSolverCommonParameters_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_MPConstraintProto_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 1 > scc_info_MPIndicatorConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const ** file_level_service_descriptors_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_MPSolutionResponse_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
static bool dynamic_init_dummy_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
static void InitDefaultsscc_info_MPModelProto_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto()
PROTOBUF_NOINLINE ::operations_research::PartialVariableAssignment * Arena::CreateMaybeMessage< ::operations_research::PartialVariableAssignment >(Arena *arena)
PROTOBUF_NOINLINE ::operations_research::MPConstraintProto * Arena::CreateMaybeMessage< ::operations_research::MPConstraintProto >(Arena *arena)
static void InitDefaultsscc_info_MPAbsConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto()
PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 2 > scc_info_MPModelDeltaProto_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * file_level_enum_descriptors_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto[4]
PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_MPArrayWithConstantConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
PROTOBUF_NOINLINE ::operations_research::MPQuadraticObjective * Arena::CreateMaybeMessage< ::operations_research::MPQuadraticObjective >(Arena *arena)
static void InitDefaultsscc_info_MPArrayWithConstantConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto()
static void InitDefaultsscc_info_OptionalDouble_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto()
::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto_once
static void InitDefaultsscc_info_MPModelDeltaProto_VariableOverridesEntry_DoNotUse_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto()
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
static void InitDefaultsscc_info_MPSosConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto()
::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 2 > scc_info_MPModelRequest_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
PROTOBUF_NOINLINE ::operations_research::MPArrayConstraint * Arena::CreateMaybeMessage< ::operations_research::MPArrayConstraint >(Arena *arena)
const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 5 > scc_info_MPModelProto_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
PROTOBUF_NOINLINE ::operations_research::MPModelDeltaProto * Arena::CreateMaybeMessage< ::operations_research::MPModelDeltaProto >(Arena *arena)
PROTOBUF_NOINLINE ::operations_research::MPIndicatorConstraint * Arena::CreateMaybeMessage< ::operations_research::MPIndicatorConstraint >(Arena *arena)
PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 6 > scc_info_MPGeneralConstraintProto_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable *const descriptor_table_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto_deps[1]
PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_OptionalDouble_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
static void InitDefaultsscc_info_MPQuadraticObjective_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto()
::PROTOBUF_NAMESPACE_ID::Message const *const file_default_instances[]
PROTOBUF_NAMESPACE_OPEN PROTOBUF_NOINLINE ::operations_research::MPVariableProto * Arena::CreateMaybeMessage< ::operations_research::MPVariableProto >(Arena *arena)
PROTOBUF_NOINLINE ::operations_research::MPModelProto * Arena::CreateMaybeMessage< ::operations_research::MPModelProto >(Arena *arena)
PROTOBUF_NOINLINE ::operations_research::MPModelDeltaProto_VariableOverridesEntry_DoNotUse * Arena::CreateMaybeMessage< ::operations_research::MPModelDeltaProto_VariableOverridesEntry_DoNotUse >(Arena *arena)
static void InitDefaultsscc_info_MPConstraintProto_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto()
PROTOBUF_NOINLINE ::operations_research::MPModelRequest * Arena::CreateMaybeMessage< ::operations_research::MPModelRequest >(Arena *arena)
PROTOBUF_NOINLINE ::operations_research::MPAbsConstraint * Arena::CreateMaybeMessage< ::operations_research::MPAbsConstraint >(Arena *arena)
PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 1 > scc_info_MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_MPQuadraticConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
PROTOBUF_NOINLINE ::operations_research::MPGeneralConstraintProto * Arena::CreateMaybeMessage< ::operations_research::MPGeneralConstraintProto >(Arena *arena)
static void InitDefaultsscc_info_MPVariableProto_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto()
PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_MPVariableProto_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
static void InitDefaultsscc_info_PartialVariableAssignment_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto()
PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 1 > scc_info_MPModelDeltaProto_VariableOverridesEntry_DoNotUse_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
static void InitDefaultsscc_info_MPGeneralConstraintProto_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto()
static void InitDefaultsscc_info_MPModelRequest_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto()
static void InitDefaultsscc_info_MPModelDeltaProto_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto()
::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase *const descriptor_table_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto_sccs[19]
PROTOBUF_NOINLINE ::operations_research::MPSolverCommonParameters * Arena::CreateMaybeMessage< ::operations_research::MPSolverCommonParameters >(Arena *arena)
static void InitDefaultsscc_info_MPSolutionResponse_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto()
static void InitDefaultsscc_info_MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto()
PROTOBUF_INTERNAL_EXPORT_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_MPAbsConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
static void InitDefaultsscc_info_MPQuadraticConstraint_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto()
The vehicle routing library lets one model and solve generic vehicle routing problems ranging from th...
class operations_research::MPModelDeltaProto_VariableOverridesEntry_DoNotUseDefaultTypeInternal _MPModelDeltaProto_VariableOverridesEntry_DoNotUse_default_instance_
class operations_research::MPModelDeltaProto_ConstraintOverridesEntry_DoNotUseDefaultTypeInternal _MPModelDeltaProto_ConstraintOverridesEntry_DoNotUse_default_instance_
class operations_research::MPModelRequestDefaultTypeInternal _MPModelRequest_default_instance_
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * MPModelRequest_SolverType_descriptor()
class operations_research::MPVariableProtoDefaultTypeInternal _MPVariableProto_default_instance_
bool OptionalBoolean_IsValid(int value)
class operations_research::MPSolutionResponseDefaultTypeInternal _MPSolutionResponse_default_instance_
class operations_research::MPArrayWithConstantConstraintDefaultTypeInternal _MPArrayWithConstantConstraint_default_instance_
class operations_research::MPGeneralConstraintProtoDefaultTypeInternal _MPGeneralConstraintProto_default_instance_
class operations_research::MPIndicatorConstraintDefaultTypeInternal _MPIndicatorConstraint_default_instance_
class operations_research::MPQuadraticConstraintDefaultTypeInternal _MPQuadraticConstraint_default_instance_
class operations_research::MPModelProtoDefaultTypeInternal _MPModelProto_default_instance_
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * MPSolverCommonParameters_LPAlgorithmValues_descriptor()
class operations_research::MPConstraintProtoDefaultTypeInternal _MPConstraintProto_default_instance_
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * MPSosConstraint_Type_descriptor()
class operations_research::MPQuadraticObjectiveDefaultTypeInternal _MPQuadraticObjective_default_instance_
bool MPSolverCommonParameters_LPAlgorithmValues_IsValid(int value)
class operations_research::MPModelDeltaProtoDefaultTypeInternal _MPModelDeltaProto_default_instance_
class operations_research::MPArrayConstraintDefaultTypeInternal _MPArrayConstraint_default_instance_
bool MPSolverResponseStatus_IsValid(int value)
class operations_research::MPAbsConstraintDefaultTypeInternal _MPAbsConstraint_default_instance_
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * MPSolverResponseStatus_descriptor()
class operations_research::OptionalDoubleDefaultTypeInternal _OptionalDouble_default_instance_
bool MPSosConstraint_Type_IsValid(int value)
class operations_research::MPSosConstraintDefaultTypeInternal _MPSosConstraint_default_instance_
class operations_research::MPSolverCommonParametersDefaultTypeInternal _MPSolverCommonParameters_default_instance_
class operations_research::PartialVariableAssignmentDefaultTypeInternal _PartialVariableAssignment_default_instance_
bool MPModelRequest_SolverType_IsValid(int value)
static constexpr ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema * schemas
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2futil_2foptional_5fboolean_2eproto
const bool maximize_
Definition: search.cc:2499
static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]