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