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