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