OR-Tools  9.1
cp_model.pb.cc
Go to the documentation of this file.
1// Generated by the protocol buffer compiler. DO NOT EDIT!
2// source: ortools/sat/cp_model.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
18PROTOBUF_PRAGMA_INIT_SEG
19namespace operations_research {
20namespace sat {
22 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
23 : domain_()
24 , _domain_cached_byte_size_(0)
25 , name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string){}
28 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
30 union {
32 };
33};
36 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
37 : literals_()
38 , _literals_cached_byte_size_(0){}
41 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
43 union {
45 };
46};
47PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT BoolArgumentProtoDefaultTypeInternal _BoolArgumentProto_default_instance_;
49 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
50 : vars_()
51 , _vars_cached_byte_size_(0)
52 , target_(0){}
55 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
57 union {
59 };
60};
63 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
64 : vars_()
65 , _vars_cached_byte_size_(0)
66 , coeffs_()
67 , _coeffs_cached_byte_size_(0)
68 , offset_(int64_t{0}){}
71 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
73 union {
75 };
76};
79 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
80 : exprs_()
81 , target_(nullptr){}
84 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
86 union {
88 };
89};
92 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
93 : vars_()
94 , _vars_cached_byte_size_(0){}
97 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
99 union {
101 };
102};
105 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
106 : vars_()
107 , _vars_cached_byte_size_(0)
108 , coeffs_()
109 , _coeffs_cached_byte_size_(0)
110 , domain_()
111 , _domain_cached_byte_size_(0){}
114 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
116 union {
118 };
119};
122 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
123 : vars_()
124 , _vars_cached_byte_size_(0)
125 , index_(0)
126 , target_(0){}
129 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
131 union {
133 };
134};
137 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
138 : start_view_(nullptr)
139 , end_view_(nullptr)
140 , size_view_(nullptr)
141 , start_(0)
142 , end_(0)
143 , size_(0){}
146 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
148 union {
150 };
151};
154 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
155 : intervals_()
156 , _intervals_cached_byte_size_(0){}
159 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
161 union {
163 };
164};
167 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
168 : x_intervals_()
169 , _x_intervals_cached_byte_size_(0)
170 , y_intervals_()
171 , _y_intervals_cached_byte_size_(0)
172 , boxes_with_null_area_can_overlap_(false){}
175 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
177 union {
179 };
180};
183 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
184 : intervals_()
185 , _intervals_cached_byte_size_(0)
186 , demands_()
187 , _demands_cached_byte_size_(0)
188 , energies_()
189 , capacity_(0){}
192 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
194 union {
196 };
197};
200 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
201 : times_()
202 , _times_cached_byte_size_(0)
203 , demands_()
204 , _demands_cached_byte_size_(0)
205 , actives_()
206 , _actives_cached_byte_size_(0)
207 , min_level_(int64_t{0})
208 , max_level_(int64_t{0}){}
211 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
213 union {
215 };
216};
219 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
220 : tails_()
221 , _tails_cached_byte_size_(0)
222 , heads_()
223 , _heads_cached_byte_size_(0)
224 , literals_()
225 , _literals_cached_byte_size_(0){}
228 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
230 union {
232 };
233};
236 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
237 : tails_()
238 , _tails_cached_byte_size_(0)
239 , heads_()
240 , _heads_cached_byte_size_(0)
241 , literals_()
242 , _literals_cached_byte_size_(0)
243 , demands_()
244 , _demands_cached_byte_size_(0)
245 , capacity_(int64_t{0}){}
248 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
250 union {
252 };
253};
256 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
257 : vars_()
258 , _vars_cached_byte_size_(0)
259 , values_()
260 , _values_cached_byte_size_(0)
261 , negated_(false){}
264 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
266 union {
268 };
269};
272 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
273 : f_direct_()
274 , _f_direct_cached_byte_size_(0)
275 , f_inverse_()
276 , _f_inverse_cached_byte_size_(0){}
279 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
281 union {
283 };
284};
287 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
288 : final_states_()
289 , _final_states_cached_byte_size_(0)
290 , transition_tail_()
291 , _transition_tail_cached_byte_size_(0)
292 , transition_head_()
293 , _transition_head_cached_byte_size_(0)
294 , transition_label_()
295 , _transition_label_cached_byte_size_(0)
296 , vars_()
297 , _vars_cached_byte_size_(0)
298 , starting_state_(int64_t{0}){}
301 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
303 union {
305 };
306};
309 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
310 : vars_()
311 , _vars_cached_byte_size_(0){}
314 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
316 union {
318 };
319};
322 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
323 : enforcement_literal_()
324 , _enforcement_literal_cached_byte_size_(0)
325 , name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
326 , _oneof_case_{}{}
329 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
331 union {
333 };
334};
335PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ConstraintProtoDefaultTypeInternal _ConstraintProto_default_instance_;
337 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
338 : vars_()
339 , _vars_cached_byte_size_(0)
340 , coeffs_()
341 , _coeffs_cached_byte_size_(0)
342 , domain_()
343 , _domain_cached_byte_size_(0)
344 , offset_(0)
345 , scaling_factor_(0){}
348 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
350 union {
352 };
353};
354PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CpObjectiveProtoDefaultTypeInternal _CpObjectiveProto_default_instance_;
356 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
357 : offset_(int64_t{0})
358 , positive_coeff_(int64_t{0})
359 , index_(0){}
362 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
364 union {
366 };
367};
370 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
371 : variables_()
372 , _variables_cached_byte_size_(0)
373 , transformations_()
374 , variable_selection_strategy_(0)
375
376 , domain_reduction_strategy_(0)
377{}
380 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
382 union {
384 };
385};
388 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
389 : vars_()
390 , _vars_cached_byte_size_(0)
391 , values_()
392 , _values_cached_byte_size_(0){}
395 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
397 union {
399 };
400};
403 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
404 : support_()
405 , _support_cached_byte_size_(0)
406 , cycle_sizes_()
407 , _cycle_sizes_cached_byte_size_(0){}
410 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
412 union {
414 };
415};
418 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
419 : entries_()
420 , _entries_cached_byte_size_(0)
421 , num_rows_(0)
422 , num_cols_(0){}
425 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
427 union {
429 };
430};
431PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT DenseMatrixProtoDefaultTypeInternal _DenseMatrixProto_default_instance_;
433 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
434 : permutations_()
435 , orbitopes_(){}
438 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
440 union {
442 };
443};
444PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SymmetryProtoDefaultTypeInternal _SymmetryProto_default_instance_;
446 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
447 : variables_()
448 , constraints_()
449 , search_strategy_()
450 , assumptions_()
451 , _assumptions_cached_byte_size_(0)
452 , name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
453 , objective_(nullptr)
454 , solution_hint_(nullptr)
455 , symmetry_(nullptr){}
458 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
460 union {
462 };
463};
464PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CpModelProtoDefaultTypeInternal _CpModelProto_default_instance_;
466 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
467 : solution_()
468 , _solution_cached_byte_size_(0)
469 , solution_lower_bounds_()
470 , _solution_lower_bounds_cached_byte_size_(0)
471 , solution_upper_bounds_()
472 , _solution_upper_bounds_cached_byte_size_(0)
473 , tightened_variables_()
474 , sufficient_assumptions_for_infeasibility_()
475 , _sufficient_assumptions_for_infeasibility_cached_byte_size_(0)
476 , solution_info_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
477 , solve_log_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
478 , objective_value_(0)
479 , status_(0)
480
481 , all_solutions_were_found_(false)
482 , best_objective_bound_(0)
483 , num_booleans_(int64_t{0})
484 , num_conflicts_(int64_t{0})
485 , num_branches_(int64_t{0})
486 , num_binary_propagations_(int64_t{0})
487 , num_integer_propagations_(int64_t{0})
488 , wall_time_(0)
489 , user_time_(0)
490 , deterministic_time_(0)
491 , primal_integral_(0)
492 , num_restarts_(int64_t{0})
493 , num_lp_iterations_(int64_t{0}){}
496 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
498 union {
500 };
501};
502PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CpSolverResponseDefaultTypeInternal _CpSolverResponse_default_instance_;
503} // namespace sat
504} // namespace operations_research
505static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_ortools_2fsat_2fcp_5fmodel_2eproto[29];
506static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_ortools_2fsat_2fcp_5fmodel_2eproto[3];
507static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_ortools_2fsat_2fcp_5fmodel_2eproto = nullptr;
508
509const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
510 ~0u, // no _has_bits_
511 PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntegerVariableProto, _internal_metadata_),
512 ~0u, // no _extensions_
513 ~0u, // no _oneof_case_
514 ~0u, // no _weak_field_map_
515 ~0u, // no _inlined_string_donated_
516 PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntegerVariableProto, name_),
517 PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntegerVariableProto, domain_),
518 ~0u, // no _has_bits_
519 PROTOBUF_FIELD_OFFSET(::operations_research::sat::BoolArgumentProto, _internal_metadata_),
520 ~0u, // no _extensions_
521 ~0u, // no _oneof_case_
522 ~0u, // no _weak_field_map_
523 ~0u, // no _inlined_string_donated_
524 PROTOBUF_FIELD_OFFSET(::operations_research::sat::BoolArgumentProto, literals_),
525 ~0u, // no _has_bits_
526 PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntegerArgumentProto, _internal_metadata_),
527 ~0u, // no _extensions_
528 ~0u, // no _oneof_case_
529 ~0u, // no _weak_field_map_
530 ~0u, // no _inlined_string_donated_
531 PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntegerArgumentProto, target_),
533 ~0u, // no _has_bits_
534 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearExpressionProto, _internal_metadata_),
535 ~0u, // no _extensions_
536 ~0u, // no _oneof_case_
537 ~0u, // no _weak_field_map_
538 ~0u, // no _inlined_string_donated_
540 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearExpressionProto, coeffs_),
542 ~0u, // no _has_bits_
543 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearArgumentProto, _internal_metadata_),
544 ~0u, // no _extensions_
545 ~0u, // no _oneof_case_
546 ~0u, // no _weak_field_map_
547 ~0u, // no _inlined_string_donated_
548 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearArgumentProto, target_),
549 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearArgumentProto, exprs_),
550 ~0u, // no _has_bits_
551 PROTOBUF_FIELD_OFFSET(::operations_research::sat::AllDifferentConstraintProto, _internal_metadata_),
552 ~0u, // no _extensions_
553 ~0u, // no _oneof_case_
554 ~0u, // no _weak_field_map_
555 ~0u, // no _inlined_string_donated_
557 ~0u, // no _has_bits_
558 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearConstraintProto, _internal_metadata_),
559 ~0u, // no _extensions_
560 ~0u, // no _oneof_case_
561 ~0u, // no _weak_field_map_
562 ~0u, // no _inlined_string_donated_
564 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearConstraintProto, coeffs_),
565 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearConstraintProto, domain_),
566 ~0u, // no _has_bits_
567 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ElementConstraintProto, _internal_metadata_),
568 ~0u, // no _extensions_
569 ~0u, // no _oneof_case_
570 ~0u, // no _weak_field_map_
571 ~0u, // no _inlined_string_donated_
572 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ElementConstraintProto, index_),
573 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ElementConstraintProto, target_),
575 ~0u, // no _has_bits_
576 PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntervalConstraintProto, _internal_metadata_),
577 ~0u, // no _extensions_
578 ~0u, // no _oneof_case_
579 ~0u, // no _weak_field_map_
580 ~0u, // no _inlined_string_donated_
581 PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntervalConstraintProto, start_),
582 PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntervalConstraintProto, end_),
583 PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntervalConstraintProto, size_),
584 PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntervalConstraintProto, start_view_),
585 PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntervalConstraintProto, end_view_),
586 PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntervalConstraintProto, size_view_),
587 ~0u, // no _has_bits_
588 PROTOBUF_FIELD_OFFSET(::operations_research::sat::NoOverlapConstraintProto, _internal_metadata_),
589 ~0u, // no _extensions_
590 ~0u, // no _oneof_case_
591 ~0u, // no _weak_field_map_
592 ~0u, // no _inlined_string_donated_
593 PROTOBUF_FIELD_OFFSET(::operations_research::sat::NoOverlapConstraintProto, intervals_),
594 ~0u, // no _has_bits_
595 PROTOBUF_FIELD_OFFSET(::operations_research::sat::NoOverlap2DConstraintProto, _internal_metadata_),
596 ~0u, // no _extensions_
597 ~0u, // no _oneof_case_
598 ~0u, // no _weak_field_map_
599 ~0u, // no _inlined_string_donated_
600 PROTOBUF_FIELD_OFFSET(::operations_research::sat::NoOverlap2DConstraintProto, x_intervals_),
601 PROTOBUF_FIELD_OFFSET(::operations_research::sat::NoOverlap2DConstraintProto, y_intervals_),
602 PROTOBUF_FIELD_OFFSET(::operations_research::sat::NoOverlap2DConstraintProto, boxes_with_null_area_can_overlap_),
603 ~0u, // no _has_bits_
604 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CumulativeConstraintProto, _internal_metadata_),
605 ~0u, // no _extensions_
606 ~0u, // no _oneof_case_
607 ~0u, // no _weak_field_map_
608 ~0u, // no _inlined_string_donated_
609 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CumulativeConstraintProto, capacity_),
610 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CumulativeConstraintProto, intervals_),
611 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CumulativeConstraintProto, demands_),
612 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CumulativeConstraintProto, energies_),
613 ~0u, // no _has_bits_
614 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ReservoirConstraintProto, _internal_metadata_),
615 ~0u, // no _extensions_
616 ~0u, // no _oneof_case_
617 ~0u, // no _weak_field_map_
618 ~0u, // no _inlined_string_donated_
619 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ReservoirConstraintProto, min_level_),
620 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ReservoirConstraintProto, max_level_),
621 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ReservoirConstraintProto, times_),
622 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ReservoirConstraintProto, demands_),
623 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ReservoirConstraintProto, actives_),
624 ~0u, // no _has_bits_
625 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CircuitConstraintProto, _internal_metadata_),
626 ~0u, // no _extensions_
627 ~0u, // no _oneof_case_
628 ~0u, // no _weak_field_map_
629 ~0u, // no _inlined_string_donated_
630 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CircuitConstraintProto, tails_),
631 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CircuitConstraintProto, heads_),
632 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CircuitConstraintProto, literals_),
633 ~0u, // no _has_bits_
634 PROTOBUF_FIELD_OFFSET(::operations_research::sat::RoutesConstraintProto, _internal_metadata_),
635 ~0u, // no _extensions_
636 ~0u, // no _oneof_case_
637 ~0u, // no _weak_field_map_
638 ~0u, // no _inlined_string_donated_
639 PROTOBUF_FIELD_OFFSET(::operations_research::sat::RoutesConstraintProto, tails_),
640 PROTOBUF_FIELD_OFFSET(::operations_research::sat::RoutesConstraintProto, heads_),
641 PROTOBUF_FIELD_OFFSET(::operations_research::sat::RoutesConstraintProto, literals_),
642 PROTOBUF_FIELD_OFFSET(::operations_research::sat::RoutesConstraintProto, demands_),
643 PROTOBUF_FIELD_OFFSET(::operations_research::sat::RoutesConstraintProto, capacity_),
644 ~0u, // no _has_bits_
645 PROTOBUF_FIELD_OFFSET(::operations_research::sat::TableConstraintProto, _internal_metadata_),
646 ~0u, // no _extensions_
647 ~0u, // no _oneof_case_
648 ~0u, // no _weak_field_map_
649 ~0u, // no _inlined_string_donated_
651 PROTOBUF_FIELD_OFFSET(::operations_research::sat::TableConstraintProto, values_),
652 PROTOBUF_FIELD_OFFSET(::operations_research::sat::TableConstraintProto, negated_),
653 ~0u, // no _has_bits_
654 PROTOBUF_FIELD_OFFSET(::operations_research::sat::InverseConstraintProto, _internal_metadata_),
655 ~0u, // no _extensions_
656 ~0u, // no _oneof_case_
657 ~0u, // no _weak_field_map_
658 ~0u, // no _inlined_string_donated_
659 PROTOBUF_FIELD_OFFSET(::operations_research::sat::InverseConstraintProto, f_direct_),
660 PROTOBUF_FIELD_OFFSET(::operations_research::sat::InverseConstraintProto, f_inverse_),
661 ~0u, // no _has_bits_
662 PROTOBUF_FIELD_OFFSET(::operations_research::sat::AutomatonConstraintProto, _internal_metadata_),
663 ~0u, // no _extensions_
664 ~0u, // no _oneof_case_
665 ~0u, // no _weak_field_map_
666 ~0u, // no _inlined_string_donated_
667 PROTOBUF_FIELD_OFFSET(::operations_research::sat::AutomatonConstraintProto, starting_state_),
668 PROTOBUF_FIELD_OFFSET(::operations_research::sat::AutomatonConstraintProto, final_states_),
669 PROTOBUF_FIELD_OFFSET(::operations_research::sat::AutomatonConstraintProto, transition_tail_),
670 PROTOBUF_FIELD_OFFSET(::operations_research::sat::AutomatonConstraintProto, transition_head_),
671 PROTOBUF_FIELD_OFFSET(::operations_research::sat::AutomatonConstraintProto, transition_label_),
673 ~0u, // no _has_bits_
674 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ListOfVariablesProto, _internal_metadata_),
675 ~0u, // no _extensions_
676 ~0u, // no _oneof_case_
677 ~0u, // no _weak_field_map_
678 ~0u, // no _inlined_string_donated_
680 ~0u, // no _has_bits_
681 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _internal_metadata_),
682 ~0u, // no _extensions_
683 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _oneof_case_[0]),
684 ~0u, // no _weak_field_map_
685 ~0u, // no _inlined_string_donated_
686 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, name_),
687 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, enforcement_literal_),
688 ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
689 ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
690 ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
691 ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
692 ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
693 ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
694 ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
695 ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
696 ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
697 ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
698 ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
699 ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
700 ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
701 ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
702 ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
703 ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
704 ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
705 ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
706 ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
707 ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
708 ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
709 ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
710 ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
711 ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
712 ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
713 ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
714 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, constraint_),
715 ~0u, // no _has_bits_
716 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpObjectiveProto, _internal_metadata_),
717 ~0u, // no _extensions_
718 ~0u, // no _oneof_case_
719 ~0u, // no _weak_field_map_
720 ~0u, // no _inlined_string_donated_
721 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpObjectiveProto, vars_),
722 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpObjectiveProto, coeffs_),
723 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpObjectiveProto, offset_),
724 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpObjectiveProto, scaling_factor_),
725 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpObjectiveProto, domain_),
726 ~0u, // no _has_bits_
727 PROTOBUF_FIELD_OFFSET(::operations_research::sat::DecisionStrategyProto_AffineTransformation, _internal_metadata_),
728 ~0u, // no _extensions_
729 ~0u, // no _oneof_case_
730 ~0u, // no _weak_field_map_
731 ~0u, // no _inlined_string_donated_
734 PROTOBUF_FIELD_OFFSET(::operations_research::sat::DecisionStrategyProto_AffineTransformation, positive_coeff_),
735 ~0u, // no _has_bits_
736 PROTOBUF_FIELD_OFFSET(::operations_research::sat::DecisionStrategyProto, _internal_metadata_),
737 ~0u, // no _extensions_
738 ~0u, // no _oneof_case_
739 ~0u, // no _weak_field_map_
740 ~0u, // no _inlined_string_donated_
741 PROTOBUF_FIELD_OFFSET(::operations_research::sat::DecisionStrategyProto, variables_),
742 PROTOBUF_FIELD_OFFSET(::operations_research::sat::DecisionStrategyProto, variable_selection_strategy_),
743 PROTOBUF_FIELD_OFFSET(::operations_research::sat::DecisionStrategyProto, domain_reduction_strategy_),
744 PROTOBUF_FIELD_OFFSET(::operations_research::sat::DecisionStrategyProto, transformations_),
745 ~0u, // no _has_bits_
746 PROTOBUF_FIELD_OFFSET(::operations_research::sat::PartialVariableAssignment, _internal_metadata_),
747 ~0u, // no _extensions_
748 ~0u, // no _oneof_case_
749 ~0u, // no _weak_field_map_
750 ~0u, // no _inlined_string_donated_
752 PROTOBUF_FIELD_OFFSET(::operations_research::sat::PartialVariableAssignment, values_),
753 ~0u, // no _has_bits_
754 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SparsePermutationProto, _internal_metadata_),
755 ~0u, // no _extensions_
756 ~0u, // no _oneof_case_
757 ~0u, // no _weak_field_map_
758 ~0u, // no _inlined_string_donated_
759 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SparsePermutationProto, support_),
760 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SparsePermutationProto, cycle_sizes_),
761 ~0u, // no _has_bits_
762 PROTOBUF_FIELD_OFFSET(::operations_research::sat::DenseMatrixProto, _internal_metadata_),
763 ~0u, // no _extensions_
764 ~0u, // no _oneof_case_
765 ~0u, // no _weak_field_map_
766 ~0u, // no _inlined_string_donated_
767 PROTOBUF_FIELD_OFFSET(::operations_research::sat::DenseMatrixProto, num_rows_),
768 PROTOBUF_FIELD_OFFSET(::operations_research::sat::DenseMatrixProto, num_cols_),
769 PROTOBUF_FIELD_OFFSET(::operations_research::sat::DenseMatrixProto, entries_),
770 ~0u, // no _has_bits_
771 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SymmetryProto, _internal_metadata_),
772 ~0u, // no _extensions_
773 ~0u, // no _oneof_case_
774 ~0u, // no _weak_field_map_
775 ~0u, // no _inlined_string_donated_
776 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SymmetryProto, permutations_),
777 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SymmetryProto, orbitopes_),
778 ~0u, // no _has_bits_
779 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, _internal_metadata_),
780 ~0u, // no _extensions_
781 ~0u, // no _oneof_case_
782 ~0u, // no _weak_field_map_
783 ~0u, // no _inlined_string_donated_
784 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, name_),
785 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, variables_),
786 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, constraints_),
787 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, objective_),
788 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, search_strategy_),
789 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, solution_hint_),
790 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, assumptions_),
791 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, symmetry_),
792 ~0u, // no _has_bits_
793 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, _internal_metadata_),
794 ~0u, // no _extensions_
795 ~0u, // no _oneof_case_
796 ~0u, // no _weak_field_map_
797 ~0u, // no _inlined_string_donated_
798 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, status_),
799 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, solution_),
800 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, objective_value_),
801 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, best_objective_bound_),
802 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, solution_lower_bounds_),
803 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, solution_upper_bounds_),
804 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, tightened_variables_),
805 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, sufficient_assumptions_for_infeasibility_),
806 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, all_solutions_were_found_),
807 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, num_booleans_),
808 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, num_conflicts_),
809 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, num_branches_),
810 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, num_binary_propagations_),
811 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, num_integer_propagations_),
812 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, num_restarts_),
813 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, num_lp_iterations_),
814 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, wall_time_),
815 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, user_time_),
816 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, deterministic_time_),
817 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, primal_integral_),
818 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, solution_info_),
819 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, solve_log_),
820};
821static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
841 { 170, -1, -1, sizeof(::operations_research::sat::ConstraintProto)},
842 { 205, -1, -1, sizeof(::operations_research::sat::CpObjectiveProto)},
847 { 251, -1, -1, sizeof(::operations_research::sat::DenseMatrixProto)},
848 { 260, -1, -1, sizeof(::operations_research::sat::SymmetryProto)},
849 { 268, -1, -1, sizeof(::operations_research::sat::CpModelProto)},
850 { 282, -1, -1, sizeof(::operations_research::sat::CpSolverResponse)},
851};
852
853static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
854 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_IntegerVariableProto_default_instance_),
855 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_BoolArgumentProto_default_instance_),
856 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_IntegerArgumentProto_default_instance_),
857 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_LinearExpressionProto_default_instance_),
858 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_LinearArgumentProto_default_instance_),
859 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_AllDifferentConstraintProto_default_instance_),
860 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_LinearConstraintProto_default_instance_),
861 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_ElementConstraintProto_default_instance_),
862 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_IntervalConstraintProto_default_instance_),
863 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_NoOverlapConstraintProto_default_instance_),
864 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_NoOverlap2DConstraintProto_default_instance_),
865 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_CumulativeConstraintProto_default_instance_),
866 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_ReservoirConstraintProto_default_instance_),
867 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_CircuitConstraintProto_default_instance_),
868 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_RoutesConstraintProto_default_instance_),
869 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_TableConstraintProto_default_instance_),
870 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_InverseConstraintProto_default_instance_),
871 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_AutomatonConstraintProto_default_instance_),
872 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_ListOfVariablesProto_default_instance_),
873 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_ConstraintProto_default_instance_),
874 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_CpObjectiveProto_default_instance_),
875 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_DecisionStrategyProto_AffineTransformation_default_instance_),
876 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_DecisionStrategyProto_default_instance_),
877 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_PartialVariableAssignment_default_instance_),
878 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_SparsePermutationProto_default_instance_),
879 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_DenseMatrixProto_default_instance_),
880 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_SymmetryProto_default_instance_),
881 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_CpModelProto_default_instance_),
882 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_CpSolverResponse_default_instance_),
883};
884
885const char descriptor_table_protodef_ortools_2fsat_2fcp_5fmodel_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
886 "\n\032ortools/sat/cp_model.proto\022\027operations"
887 "_research.sat\"4\n\024IntegerVariableProto\022\014\n"
888 "\004name\030\001 \001(\t\022\016\n\006domain\030\002 \003(\003\"%\n\021BoolArgum"
889 "entProto\022\020\n\010literals\030\001 \003(\005\"4\n\024IntegerArg"
890 "umentProto\022\016\n\006target\030\001 \001(\005\022\014\n\004vars\030\002 \003(\005"
891 "\"E\n\025LinearExpressionProto\022\014\n\004vars\030\001 \003(\005\022"
892 "\016\n\006coeffs\030\002 \003(\003\022\016\n\006offset\030\003 \001(\003\"\224\001\n\023Line"
893 "arArgumentProto\022>\n\006target\030\001 \001(\0132..operat"
894 "ions_research.sat.LinearExpressionProto\022"
895 "=\n\005exprs\030\002 \003(\0132..operations_research.sat"
896 ".LinearExpressionProto\"+\n\033AllDifferentCo"
897 "nstraintProto\022\014\n\004vars\030\001 \003(\005\"E\n\025LinearCon"
898 "straintProto\022\014\n\004vars\030\001 \003(\005\022\016\n\006coeffs\030\002 \003"
899 "(\003\022\016\n\006domain\030\003 \003(\003\"E\n\026ElementConstraintP"
900 "roto\022\r\n\005index\030\001 \001(\005\022\016\n\006target\030\002 \001(\005\022\014\n\004v"
901 "ars\030\003 \003(\005\"\214\002\n\027IntervalConstraintProto\022\r\n"
902 "\005start\030\001 \001(\005\022\013\n\003end\030\002 \001(\005\022\014\n\004size\030\003 \001(\005\022"
903 "B\n\nstart_view\030\004 \001(\0132..operations_researc"
904 "h.sat.LinearExpressionProto\022@\n\010end_view\030"
905 "\005 \001(\0132..operations_research.sat.LinearEx"
906 "pressionProto\022A\n\tsize_view\030\006 \001(\0132..opera"
907 "tions_research.sat.LinearExpressionProto"
908 "\"-\n\030NoOverlapConstraintProto\022\021\n\tinterval"
909 "s\030\001 \003(\005\"p\n\032NoOverlap2DConstraintProto\022\023\n"
910 "\013x_intervals\030\001 \003(\005\022\023\n\013y_intervals\030\002 \003(\005\022"
911 "(\n boxes_with_null_area_can_overlap\030\003 \001("
912 "\010\"\223\001\n\031CumulativeConstraintProto\022\020\n\010capac"
913 "ity\030\001 \001(\005\022\021\n\tintervals\030\002 \003(\005\022\017\n\007demands\030"
914 "\003 \003(\005\022@\n\010energies\030\004 \003(\0132..operations_res"
915 "earch.sat.LinearExpressionProto\"q\n\030Reser"
916 "voirConstraintProto\022\021\n\tmin_level\030\001 \001(\003\022\021"
917 "\n\tmax_level\030\002 \001(\003\022\r\n\005times\030\003 \003(\005\022\017\n\007dema"
918 "nds\030\004 \003(\003\022\017\n\007actives\030\005 \003(\005\"H\n\026CircuitCon"
919 "straintProto\022\r\n\005tails\030\003 \003(\005\022\r\n\005heads\030\004 \003"
920 "(\005\022\020\n\010literals\030\005 \003(\005\"j\n\025RoutesConstraint"
921 "Proto\022\r\n\005tails\030\001 \003(\005\022\r\n\005heads\030\002 \003(\005\022\020\n\010l"
922 "iterals\030\003 \003(\005\022\017\n\007demands\030\004 \003(\005\022\020\n\010capaci"
923 "ty\030\005 \001(\003\"E\n\024TableConstraintProto\022\014\n\004vars"
924 "\030\001 \003(\005\022\016\n\006values\030\002 \003(\003\022\017\n\007negated\030\003 \001(\010\""
925 "=\n\026InverseConstraintProto\022\020\n\010f_direct\030\001 "
926 "\003(\005\022\021\n\tf_inverse\030\002 \003(\005\"\242\001\n\030AutomatonCons"
927 "traintProto\022\026\n\016starting_state\030\002 \001(\003\022\024\n\014f"
928 "inal_states\030\003 \003(\003\022\027\n\017transition_tail\030\004 \003"
929 "(\003\022\027\n\017transition_head\030\005 \003(\003\022\030\n\020transitio"
930 "n_label\030\006 \003(\003\022\014\n\004vars\030\007 \003(\005\"$\n\024ListOfVar"
931 "iablesProto\022\014\n\004vars\030\001 \003(\005\"\270\016\n\017Constraint"
932 "Proto\022\014\n\004name\030\001 \001(\t\022\033\n\023enforcement_liter"
933 "al\030\002 \003(\005\022=\n\007bool_or\030\003 \001(\0132*.operations_r"
934 "esearch.sat.BoolArgumentProtoH\000\022>\n\010bool_"
935 "and\030\004 \001(\0132*.operations_research.sat.Bool"
936 "ArgumentProtoH\000\022A\n\013at_most_one\030\032 \001(\0132*.o"
937 "perations_research.sat.BoolArgumentProto"
938 "H\000\022A\n\013exactly_one\030\035 \001(\0132*.operations_res"
939 "earch.sat.BoolArgumentProtoH\000\022>\n\010bool_xo"
940 "r\030\005 \001(\0132*.operations_research.sat.BoolAr"
941 "gumentProtoH\000\022@\n\007int_div\030\007 \001(\0132-.operati"
942 "ons_research.sat.IntegerArgumentProtoH\000\022"
943 "@\n\007int_mod\030\010 \001(\0132-.operations_research.s"
944 "at.IntegerArgumentProtoH\000\022@\n\007int_max\030\t \001"
945 "(\0132-.operations_research.sat.IntegerArgu"
946 "mentProtoH\000\022\?\n\007lin_max\030\033 \001(\0132,.operation"
947 "s_research.sat.LinearArgumentProtoH\000\022@\n\007"
948 "int_min\030\n \001(\0132-.operations_research.sat."
949 "IntegerArgumentProtoH\000\022\?\n\007lin_min\030\034 \001(\0132"
950 ",.operations_research.sat.LinearArgument"
951 "ProtoH\000\022A\n\010int_prod\030\013 \001(\0132-.operations_r"
952 "esearch.sat.IntegerArgumentProtoH\000\022@\n\006li"
953 "near\030\014 \001(\0132..operations_research.sat.Lin"
954 "earConstraintProtoH\000\022H\n\010all_diff\030\r \001(\01324"
955 ".operations_research.sat.AllDifferentCon"
956 "straintProtoH\000\022B\n\007element\030\016 \001(\0132/.operat"
957 "ions_research.sat.ElementConstraintProto"
958 "H\000\022B\n\007circuit\030\017 \001(\0132/.operations_researc"
959 "h.sat.CircuitConstraintProtoH\000\022@\n\006routes"
960 "\030\027 \001(\0132..operations_research.sat.RoutesC"
961 "onstraintProtoH\000\022>\n\005table\030\020 \001(\0132-.operat"
962 "ions_research.sat.TableConstraintProtoH\000"
963 "\022F\n\tautomaton\030\021 \001(\01321.operations_researc"
964 "h.sat.AutomatonConstraintProtoH\000\022B\n\007inve"
965 "rse\030\022 \001(\0132/.operations_research.sat.Inve"
966 "rseConstraintProtoH\000\022F\n\treservoir\030\030 \001(\0132"
967 "1.operations_research.sat.ReservoirConst"
968 "raintProtoH\000\022D\n\010interval\030\023 \001(\01320.operati"
969 "ons_research.sat.IntervalConstraintProto"
970 "H\000\022G\n\nno_overlap\030\024 \001(\01321.operations_rese"
971 "arch.sat.NoOverlapConstraintProtoH\000\022L\n\rn"
972 "o_overlap_2d\030\025 \001(\01323.operations_research"
973 ".sat.NoOverlap2DConstraintProtoH\000\022H\n\ncum"
974 "ulative\030\026 \001(\01322.operations_research.sat."
975 "CumulativeConstraintProtoH\000\022I\n\020dummy_con"
976 "straint\030\036 \001(\0132-.operations_research.sat."
977 "ListOfVariablesProtoH\000B\014\n\nconstraint\"h\n\020"
978 "CpObjectiveProto\022\014\n\004vars\030\001 \003(\005\022\016\n\006coeffs"
979 "\030\004 \003(\003\022\016\n\006offset\030\002 \001(\001\022\026\n\016scaling_factor"
980 "\030\003 \001(\001\022\016\n\006domain\030\005 \003(\003\"\327\005\n\025DecisionStrat"
981 "egyProto\022\021\n\tvariables\030\001 \003(\005\022m\n\033variable_"
982 "selection_strategy\030\002 \001(\0162H.operations_re"
983 "search.sat.DecisionStrategyProto.Variabl"
984 "eSelectionStrategy\022i\n\031domain_reduction_s"
985 "trategy\030\003 \001(\0162F.operations_research.sat."
986 "DecisionStrategyProto.DomainReductionStr"
987 "ategy\022\\\n\017transformations\030\004 \003(\0132C.operati"
988 "ons_research.sat.DecisionStrategyProto.A"
989 "ffineTransformation\032M\n\024AffineTransformat"
990 "ion\022\r\n\005index\030\001 \001(\005\022\016\n\006offset\030\002 \001(\003\022\026\n\016po"
991 "sitive_coeff\030\003 \001(\003\"\224\001\n\031VariableSelection"
992 "Strategy\022\020\n\014CHOOSE_FIRST\020\000\022\025\n\021CHOOSE_LOW"
993 "EST_MIN\020\001\022\026\n\022CHOOSE_HIGHEST_MAX\020\002\022\032\n\026CHO"
994 "OSE_MIN_DOMAIN_SIZE\020\003\022\032\n\026CHOOSE_MAX_DOMA"
995 "IN_SIZE\020\004\"\214\001\n\027DomainReductionStrategy\022\024\n"
996 "\020SELECT_MIN_VALUE\020\000\022\024\n\020SELECT_MAX_VALUE\020"
997 "\001\022\025\n\021SELECT_LOWER_HALF\020\002\022\025\n\021SELECT_UPPER"
998 "_HALF\020\003\022\027\n\023SELECT_MEDIAN_VALUE\020\004\"9\n\031Part"
999 "ialVariableAssignment\022\014\n\004vars\030\001 \003(\005\022\016\n\006v"
1000 "alues\030\002 \003(\003\">\n\026SparsePermutationProto\022\017\n"
1001 "\007support\030\001 \003(\005\022\023\n\013cycle_sizes\030\002 \003(\005\"G\n\020D"
1002 "enseMatrixProto\022\020\n\010num_rows\030\001 \001(\005\022\020\n\010num"
1003 "_cols\030\002 \001(\005\022\017\n\007entries\030\003 \003(\005\"\224\001\n\rSymmetr"
1004 "yProto\022E\n\014permutations\030\001 \003(\0132/.operation"
1005 "s_research.sat.SparsePermutationProto\022<\n"
1006 "\torbitopes\030\002 \003(\0132).operations_research.s"
1007 "at.DenseMatrixProto\"\276\003\n\014CpModelProto\022\014\n\004"
1008 "name\030\001 \001(\t\022@\n\tvariables\030\002 \003(\0132-.operatio"
1009 "ns_research.sat.IntegerVariableProto\022=\n\013"
1010 "constraints\030\003 \003(\0132(.operations_research."
1011 "sat.ConstraintProto\022<\n\tobjective\030\004 \001(\0132)"
1012 ".operations_research.sat.CpObjectiveProt"
1013 "o\022G\n\017search_strategy\030\005 \003(\0132..operations_"
1014 "research.sat.DecisionStrategyProto\022I\n\rso"
1015 "lution_hint\030\006 \001(\01322.operations_research."
1016 "sat.PartialVariableAssignment\022\023\n\013assumpt"
1017 "ions\030\007 \003(\005\0228\n\010symmetry\030\010 \001(\0132&.operation"
1018 "s_research.sat.SymmetryProto\"\256\005\n\020CpSolve"
1019 "rResponse\0227\n\006status\030\001 \001(\0162\'.operations_r"
1020 "esearch.sat.CpSolverStatus\022\020\n\010solution\030\002"
1021 " \003(\003\022\027\n\017objective_value\030\003 \001(\001\022\034\n\024best_ob"
1022 "jective_bound\030\004 \001(\001\022\035\n\025solution_lower_bo"
1023 "unds\030\022 \003(\003\022\035\n\025solution_upper_bounds\030\023 \003("
1024 "\003\022J\n\023tightened_variables\030\025 \003(\0132-.operati"
1025 "ons_research.sat.IntegerVariableProto\0220\n"
1026 "(sufficient_assumptions_for_infeasibilit"
1027 "y\030\027 \003(\005\022 \n\030all_solutions_were_found\030\005 \001("
1028 "\010\022\024\n\014num_booleans\030\n \001(\003\022\025\n\rnum_conflicts"
1029 "\030\013 \001(\003\022\024\n\014num_branches\030\014 \001(\003\022\037\n\027num_bina"
1030 "ry_propagations\030\r \001(\003\022 \n\030num_integer_pro"
1031 "pagations\030\016 \001(\003\022\024\n\014num_restarts\030\030 \001(\003\022\031\n"
1032 "\021num_lp_iterations\030\031 \001(\003\022\021\n\twall_time\030\017 "
1033 "\001(\001\022\021\n\tuser_time\030\020 \001(\001\022\032\n\022deterministic_"
1034 "time\030\021 \001(\001\022\027\n\017primal_integral\030\026 \001(\001\022\025\n\rs"
1035 "olution_info\030\024 \001(\t\022\021\n\tsolve_log\030\032 \001(\t*[\n"
1036 "\016CpSolverStatus\022\013\n\007UNKNOWN\020\000\022\021\n\rMODEL_IN"
1037 "VALID\020\001\022\014\n\010FEASIBLE\020\002\022\016\n\nINFEASIBLE\020\003\022\013\n"
1038 "\007OPTIMAL\020\004B@\n\026com.google.ortools.satB\017Cp"
1039 "ModelProtobufP\001\252\002\022Google.OrTools.Satb\006pr"
1040 "oto3"
1041 ;
1042static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto_once;
1043const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto = {
1044 false, false, 6164, descriptor_table_protodef_ortools_2fsat_2fcp_5fmodel_2eproto, "ortools/sat/cp_model.proto",
1048};
1049PROTOBUF_ATTRIBUTE_WEAK const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable* descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto_getter() {
1051}
1052
1053// Force running AddDescriptors() at dynamic initialization time.
1054PROTOBUF_ATTRIBUTE_INIT_PRIORITY static ::PROTOBUF_NAMESPACE_ID::internal::AddDescriptorsRunner dynamic_init_dummy_ortools_2fsat_2fcp_5fmodel_2eproto(&descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1055namespace operations_research {
1056namespace sat {
1057const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DecisionStrategyProto_VariableSelectionStrategy_descriptor() {
1058 ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1060}
1062 switch (value) {
1063 case 0:
1064 case 1:
1065 case 2:
1066 case 3:
1067 case 4:
1068 return true;
1069 default:
1070 return false;
1071 }
1072}
1073
1074#if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
1083#endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
1084const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DecisionStrategyProto_DomainReductionStrategy_descriptor() {
1085 ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1087}
1089 switch (value) {
1090 case 0:
1091 case 1:
1092 case 2:
1093 case 3:
1094 case 4:
1095 return true;
1096 default:
1097 return false;
1098 }
1099}
1100
1101#if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
1110#endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
1111const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* CpSolverStatus_descriptor() {
1112 ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1114}
1116 switch (value) {
1117 case 0:
1118 case 1:
1119 case 2:
1120 case 3:
1121 case 4:
1122 return true;
1123 default:
1124 return false;
1125 }
1126}
1127
1128
1129// ===================================================================
1130
1132 public:
1133};
1134
1135IntegerVariableProto::IntegerVariableProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1136 bool is_message_owned)
1137 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
1138 domain_(arena) {
1139 SharedCtor();
1140 if (!is_message_owned) {
1141 RegisterArenaDtor(arena);
1142 }
1143 // @@protoc_insertion_point(arena_constructor:operations_research.sat.IntegerVariableProto)
1144}
1146 : ::PROTOBUF_NAMESPACE_ID::Message(),
1147 domain_(from.domain_) {
1148 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1149 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1150 if (!from._internal_name().empty()) {
1151 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
1152 GetArenaForAllocation());
1153 }
1154 // @@protoc_insertion_point(copy_constructor:operations_research.sat.IntegerVariableProto)
1155}
1156
1157void IntegerVariableProto::SharedCtor() {
1158name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1159}
1160
1162 // @@protoc_insertion_point(destructor:operations_research.sat.IntegerVariableProto)
1163 if (GetArenaForAllocation() != nullptr) return;
1164 SharedDtor();
1165 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1166}
1167
1168inline void IntegerVariableProto::SharedDtor() {
1169 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
1170 name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1171}
1172
1173void IntegerVariableProto::ArenaDtor(void* object) {
1174 IntegerVariableProto* _this = reinterpret_cast< IntegerVariableProto* >(object);
1175 (void)_this;
1176}
1177void IntegerVariableProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1178}
1179void IntegerVariableProto::SetCachedSize(int size) const {
1180 _cached_size_.Set(size);
1181}
1182
1184// @@protoc_insertion_point(message_clear_start:operations_research.sat.IntegerVariableProto)
1185 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1186 // Prevent compiler warnings about cached_has_bits being unused
1187 (void) cached_has_bits;
1188
1189 domain_.Clear();
1190 name_.ClearToEmpty();
1191 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1192}
1193
1194const char* IntegerVariableProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1195#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1196 while (!ctx->Done(&ptr)) {
1197 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
1198 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1199 switch (tag >> 3) {
1200 // string name = 1;
1201 case 1:
1202 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
1203 auto str = _internal_mutable_name();
1204 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1205 CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.sat.IntegerVariableProto.name"));
1206 CHK_(ptr);
1207 } else
1208 goto handle_unusual;
1209 continue;
1210 // repeated int64 domain = 2;
1211 case 2:
1212 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
1213 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_domain(), ptr, ctx);
1214 CHK_(ptr);
1215 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) {
1216 _internal_add_domain(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
1217 CHK_(ptr);
1218 } else
1219 goto handle_unusual;
1220 continue;
1221 default:
1222 goto handle_unusual;
1223 } // switch
1224 handle_unusual:
1225 if ((tag == 0) || ((tag & 7) == 4)) {
1226 CHK_(ptr);
1227 ctx->SetLastTag(tag);
1228 goto message_done;
1229 }
1230 ptr = UnknownFieldParse(
1231 tag,
1232 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
1233 ptr, ctx);
1234 CHK_(ptr != nullptr);
1235 } // while
1236message_done:
1237 return ptr;
1238failure:
1239 ptr = nullptr;
1240 goto message_done;
1241#undef CHK_
1242}
1243
1244::PROTOBUF_NAMESPACE_ID::uint8* IntegerVariableProto::_InternalSerialize(
1245 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
1246 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.IntegerVariableProto)
1247 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1248 (void) cached_has_bits;
1249
1250 // string name = 1;
1251 if (!this->_internal_name().empty()) {
1252 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
1253 this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
1254 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
1255 "operations_research.sat.IntegerVariableProto.name");
1256 target = stream->WriteStringMaybeAliased(
1257 1, this->_internal_name(), target);
1258 }
1259
1260 // repeated int64 domain = 2;
1261 {
1262 int byte_size = _domain_cached_byte_size_.load(std::memory_order_relaxed);
1263 if (byte_size > 0) {
1264 target = stream->WriteInt64Packed(
1265 2, _internal_domain(), byte_size, target);
1266 }
1267 }
1268
1269 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1270 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1271 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1272 }
1273 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.IntegerVariableProto)
1274 return target;
1275}
1276
1278// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.IntegerVariableProto)
1279 size_t total_size = 0;
1280
1281 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1282 // Prevent compiler warnings about cached_has_bits being unused
1283 (void) cached_has_bits;
1284
1285 // repeated int64 domain = 2;
1286 {
1287 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1288 Int64Size(this->domain_);
1289 if (data_size > 0) {
1290 total_size += 1 +
1291 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1292 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
1293 }
1294 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
1295 _domain_cached_byte_size_.store(cached_size,
1296 std::memory_order_relaxed);
1297 total_size += data_size;
1298 }
1299
1300 // string name = 1;
1301 if (!this->_internal_name().empty()) {
1302 total_size += 1 +
1303 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1304 this->_internal_name());
1305 }
1306
1307 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
1308}
1309
1310const ::PROTOBUF_NAMESPACE_ID::Message::ClassData IntegerVariableProto::_class_data_ = {
1311 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
1312 IntegerVariableProto::MergeImpl
1313};
1314const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*IntegerVariableProto::GetClassData() const { return &_class_data_; }
1315
1316void IntegerVariableProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
1317 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1318 static_cast<IntegerVariableProto *>(to)->MergeFrom(
1319 static_cast<const IntegerVariableProto &>(from));
1320}
1321
1322
1324// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.IntegerVariableProto)
1325 GOOGLE_DCHECK_NE(&from, this);
1326 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1327 (void) cached_has_bits;
1328
1329 domain_.MergeFrom(from.domain_);
1330 if (!from._internal_name().empty()) {
1331 _internal_set_name(from._internal_name());
1332 }
1333 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1334}
1335
1337// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.IntegerVariableProto)
1338 if (&from == this) return;
1339 Clear();
1340 MergeFrom(from);
1341}
1342
1344 return true;
1345}
1346
1347void IntegerVariableProto::InternalSwap(IntegerVariableProto* other) {
1348 using std::swap;
1349 auto* lhs_arena = GetArenaForAllocation();
1350 auto* rhs_arena = other->GetArenaForAllocation();
1351 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1352 domain_.InternalSwap(&other->domain_);
1353 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
1354 &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
1355 &name_, lhs_arena,
1356 &other->name_, rhs_arena
1357 );
1358}
1359
1360::PROTOBUF_NAMESPACE_ID::Metadata IntegerVariableProto::GetMetadata() const {
1361 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
1364}
1365
1366// ===================================================================
1367
1369 public:
1370};
1371
1372BoolArgumentProto::BoolArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1373 bool is_message_owned)
1374 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
1375 literals_(arena) {
1376 SharedCtor();
1377 if (!is_message_owned) {
1378 RegisterArenaDtor(arena);
1379 }
1380 // @@protoc_insertion_point(arena_constructor:operations_research.sat.BoolArgumentProto)
1381}
1383 : ::PROTOBUF_NAMESPACE_ID::Message(),
1384 literals_(from.literals_) {
1385 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1386 // @@protoc_insertion_point(copy_constructor:operations_research.sat.BoolArgumentProto)
1387}
1388
1389void BoolArgumentProto::SharedCtor() {
1390}
1391
1393 // @@protoc_insertion_point(destructor:operations_research.sat.BoolArgumentProto)
1394 if (GetArenaForAllocation() != nullptr) return;
1395 SharedDtor();
1396 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1397}
1398
1399inline void BoolArgumentProto::SharedDtor() {
1400 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
1401}
1402
1403void BoolArgumentProto::ArenaDtor(void* object) {
1404 BoolArgumentProto* _this = reinterpret_cast< BoolArgumentProto* >(object);
1405 (void)_this;
1406}
1407void BoolArgumentProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1408}
1409void BoolArgumentProto::SetCachedSize(int size) const {
1410 _cached_size_.Set(size);
1411}
1412
1414// @@protoc_insertion_point(message_clear_start:operations_research.sat.BoolArgumentProto)
1415 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1416 // Prevent compiler warnings about cached_has_bits being unused
1417 (void) cached_has_bits;
1418
1419 literals_.Clear();
1420 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1421}
1422
1423const char* BoolArgumentProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1424#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1425 while (!ctx->Done(&ptr)) {
1426 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
1427 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1428 switch (tag >> 3) {
1429 // repeated int32 literals = 1;
1430 case 1:
1431 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
1432 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_literals(), ptr, ctx);
1433 CHK_(ptr);
1434 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
1435 _internal_add_literals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
1436 CHK_(ptr);
1437 } else
1438 goto handle_unusual;
1439 continue;
1440 default:
1441 goto handle_unusual;
1442 } // switch
1443 handle_unusual:
1444 if ((tag == 0) || ((tag & 7) == 4)) {
1445 CHK_(ptr);
1446 ctx->SetLastTag(tag);
1447 goto message_done;
1448 }
1449 ptr = UnknownFieldParse(
1450 tag,
1451 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
1452 ptr, ctx);
1453 CHK_(ptr != nullptr);
1454 } // while
1455message_done:
1456 return ptr;
1457failure:
1458 ptr = nullptr;
1459 goto message_done;
1460#undef CHK_
1461}
1462
1463::PROTOBUF_NAMESPACE_ID::uint8* BoolArgumentProto::_InternalSerialize(
1464 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
1465 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.BoolArgumentProto)
1466 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1467 (void) cached_has_bits;
1468
1469 // repeated int32 literals = 1;
1470 {
1471 int byte_size = _literals_cached_byte_size_.load(std::memory_order_relaxed);
1472 if (byte_size > 0) {
1473 target = stream->WriteInt32Packed(
1474 1, _internal_literals(), byte_size, target);
1475 }
1476 }
1477
1478 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1479 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1480 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1481 }
1482 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.BoolArgumentProto)
1483 return target;
1484}
1485
1487// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.BoolArgumentProto)
1488 size_t total_size = 0;
1489
1490 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1491 // Prevent compiler warnings about cached_has_bits being unused
1492 (void) cached_has_bits;
1493
1494 // repeated int32 literals = 1;
1495 {
1496 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1497 Int32Size(this->literals_);
1498 if (data_size > 0) {
1499 total_size += 1 +
1500 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1501 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
1502 }
1503 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
1504 _literals_cached_byte_size_.store(cached_size,
1505 std::memory_order_relaxed);
1506 total_size += data_size;
1507 }
1508
1509 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
1510}
1511
1512const ::PROTOBUF_NAMESPACE_ID::Message::ClassData BoolArgumentProto::_class_data_ = {
1513 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
1514 BoolArgumentProto::MergeImpl
1515};
1516const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*BoolArgumentProto::GetClassData() const { return &_class_data_; }
1517
1518void BoolArgumentProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
1519 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1520 static_cast<BoolArgumentProto *>(to)->MergeFrom(
1521 static_cast<const BoolArgumentProto &>(from));
1522}
1523
1524
1526// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.BoolArgumentProto)
1527 GOOGLE_DCHECK_NE(&from, this);
1528 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1529 (void) cached_has_bits;
1530
1531 literals_.MergeFrom(from.literals_);
1532 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1533}
1534
1536// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.BoolArgumentProto)
1537 if (&from == this) return;
1538 Clear();
1539 MergeFrom(from);
1540}
1541
1543 return true;
1544}
1545
1546void BoolArgumentProto::InternalSwap(BoolArgumentProto* other) {
1547 using std::swap;
1548 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1549 literals_.InternalSwap(&other->literals_);
1550}
1551
1552::PROTOBUF_NAMESPACE_ID::Metadata BoolArgumentProto::GetMetadata() const {
1553 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
1556}
1557
1558// ===================================================================
1559
1561 public:
1562};
1563
1564IntegerArgumentProto::IntegerArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1565 bool is_message_owned)
1566 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
1567 vars_(arena) {
1568 SharedCtor();
1569 if (!is_message_owned) {
1570 RegisterArenaDtor(arena);
1571 }
1572 // @@protoc_insertion_point(arena_constructor:operations_research.sat.IntegerArgumentProto)
1573}
1575 : ::PROTOBUF_NAMESPACE_ID::Message(),
1576 vars_(from.vars_) {
1577 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1578 target_ = from.target_;
1579 // @@protoc_insertion_point(copy_constructor:operations_research.sat.IntegerArgumentProto)
1580}
1581
1582void IntegerArgumentProto::SharedCtor() {
1583target_ = 0;
1584}
1585
1587 // @@protoc_insertion_point(destructor:operations_research.sat.IntegerArgumentProto)
1588 if (GetArenaForAllocation() != nullptr) return;
1589 SharedDtor();
1590 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1591}
1592
1593inline void IntegerArgumentProto::SharedDtor() {
1594 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
1595}
1596
1597void IntegerArgumentProto::ArenaDtor(void* object) {
1598 IntegerArgumentProto* _this = reinterpret_cast< IntegerArgumentProto* >(object);
1599 (void)_this;
1600}
1601void IntegerArgumentProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1602}
1603void IntegerArgumentProto::SetCachedSize(int size) const {
1604 _cached_size_.Set(size);
1605}
1606
1608// @@protoc_insertion_point(message_clear_start:operations_research.sat.IntegerArgumentProto)
1609 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1610 // Prevent compiler warnings about cached_has_bits being unused
1611 (void) cached_has_bits;
1612
1613 vars_.Clear();
1614 target_ = 0;
1615 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1616}
1617
1618const char* IntegerArgumentProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1619#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1620 while (!ctx->Done(&ptr)) {
1621 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
1622 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1623 switch (tag >> 3) {
1624 // int32 target = 1;
1625 case 1:
1626 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
1627 target_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1628 CHK_(ptr);
1629 } else
1630 goto handle_unusual;
1631 continue;
1632 // repeated int32 vars = 2;
1633 case 2:
1634 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
1635 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_vars(), ptr, ctx);
1636 CHK_(ptr);
1637 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) {
1638 _internal_add_vars(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
1639 CHK_(ptr);
1640 } else
1641 goto handle_unusual;
1642 continue;
1643 default:
1644 goto handle_unusual;
1645 } // switch
1646 handle_unusual:
1647 if ((tag == 0) || ((tag & 7) == 4)) {
1648 CHK_(ptr);
1649 ctx->SetLastTag(tag);
1650 goto message_done;
1651 }
1652 ptr = UnknownFieldParse(
1653 tag,
1654 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
1655 ptr, ctx);
1656 CHK_(ptr != nullptr);
1657 } // while
1658message_done:
1659 return ptr;
1660failure:
1661 ptr = nullptr;
1662 goto message_done;
1663#undef CHK_
1664}
1665
1666::PROTOBUF_NAMESPACE_ID::uint8* IntegerArgumentProto::_InternalSerialize(
1667 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
1668 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.IntegerArgumentProto)
1669 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1670 (void) cached_has_bits;
1671
1672 // int32 target = 1;
1673 if (this->_internal_target() != 0) {
1674 target = stream->EnsureSpace(target);
1675 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_target(), target);
1676 }
1677
1678 // repeated int32 vars = 2;
1679 {
1680 int byte_size = _vars_cached_byte_size_.load(std::memory_order_relaxed);
1681 if (byte_size > 0) {
1682 target = stream->WriteInt32Packed(
1683 2, _internal_vars(), byte_size, target);
1684 }
1685 }
1686
1687 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1688 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1689 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1690 }
1691 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.IntegerArgumentProto)
1692 return target;
1693}
1694
1696// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.IntegerArgumentProto)
1697 size_t total_size = 0;
1698
1699 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1700 // Prevent compiler warnings about cached_has_bits being unused
1701 (void) cached_has_bits;
1702
1703 // repeated int32 vars = 2;
1704 {
1705 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1706 Int32Size(this->vars_);
1707 if (data_size > 0) {
1708 total_size += 1 +
1709 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1710 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
1711 }
1712 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
1713 _vars_cached_byte_size_.store(cached_size,
1714 std::memory_order_relaxed);
1715 total_size += data_size;
1716 }
1717
1718 // int32 target = 1;
1719 if (this->_internal_target() != 0) {
1720 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_target());
1721 }
1722
1723 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
1724}
1725
1726const ::PROTOBUF_NAMESPACE_ID::Message::ClassData IntegerArgumentProto::_class_data_ = {
1727 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
1728 IntegerArgumentProto::MergeImpl
1729};
1730const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*IntegerArgumentProto::GetClassData() const { return &_class_data_; }
1731
1732void IntegerArgumentProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
1733 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1734 static_cast<IntegerArgumentProto *>(to)->MergeFrom(
1735 static_cast<const IntegerArgumentProto &>(from));
1736}
1737
1738
1740// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.IntegerArgumentProto)
1741 GOOGLE_DCHECK_NE(&from, this);
1742 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1743 (void) cached_has_bits;
1744
1745 vars_.MergeFrom(from.vars_);
1746 if (from._internal_target() != 0) {
1747 _internal_set_target(from._internal_target());
1748 }
1749 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1750}
1751
1753// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.IntegerArgumentProto)
1754 if (&from == this) return;
1755 Clear();
1756 MergeFrom(from);
1757}
1758
1760 return true;
1761}
1762
1763void IntegerArgumentProto::InternalSwap(IntegerArgumentProto* other) {
1764 using std::swap;
1765 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1766 vars_.InternalSwap(&other->vars_);
1767 swap(target_, other->target_);
1768}
1769
1770::PROTOBUF_NAMESPACE_ID::Metadata IntegerArgumentProto::GetMetadata() const {
1771 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
1774}
1775
1776// ===================================================================
1777
1779 public:
1780};
1781
1782LinearExpressionProto::LinearExpressionProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1783 bool is_message_owned)
1784 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
1785 vars_(arena),
1786 coeffs_(arena) {
1787 SharedCtor();
1788 if (!is_message_owned) {
1789 RegisterArenaDtor(arena);
1790 }
1791 // @@protoc_insertion_point(arena_constructor:operations_research.sat.LinearExpressionProto)
1792}
1794 : ::PROTOBUF_NAMESPACE_ID::Message(),
1795 vars_(from.vars_),
1796 coeffs_(from.coeffs_) {
1797 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1798 offset_ = from.offset_;
1799 // @@protoc_insertion_point(copy_constructor:operations_research.sat.LinearExpressionProto)
1800}
1801
1802void LinearExpressionProto::SharedCtor() {
1803offset_ = int64_t{0};
1804}
1805
1807 // @@protoc_insertion_point(destructor:operations_research.sat.LinearExpressionProto)
1808 if (GetArenaForAllocation() != nullptr) return;
1809 SharedDtor();
1810 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1811}
1812
1813inline void LinearExpressionProto::SharedDtor() {
1814 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
1815}
1816
1817void LinearExpressionProto::ArenaDtor(void* object) {
1818 LinearExpressionProto* _this = reinterpret_cast< LinearExpressionProto* >(object);
1819 (void)_this;
1820}
1821void LinearExpressionProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1822}
1823void LinearExpressionProto::SetCachedSize(int size) const {
1824 _cached_size_.Set(size);
1825}
1826
1828// @@protoc_insertion_point(message_clear_start:operations_research.sat.LinearExpressionProto)
1829 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1830 // Prevent compiler warnings about cached_has_bits being unused
1831 (void) cached_has_bits;
1832
1833 vars_.Clear();
1834 coeffs_.Clear();
1835 offset_ = int64_t{0};
1836 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1837}
1838
1839const char* LinearExpressionProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1840#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1841 while (!ctx->Done(&ptr)) {
1842 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
1843 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1844 switch (tag >> 3) {
1845 // repeated int32 vars = 1;
1846 case 1:
1847 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
1848 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_vars(), ptr, ctx);
1849 CHK_(ptr);
1850 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
1851 _internal_add_vars(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
1852 CHK_(ptr);
1853 } else
1854 goto handle_unusual;
1855 continue;
1856 // repeated int64 coeffs = 2;
1857 case 2:
1858 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
1859 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_coeffs(), ptr, ctx);
1860 CHK_(ptr);
1861 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) {
1862 _internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
1863 CHK_(ptr);
1864 } else
1865 goto handle_unusual;
1866 continue;
1867 // int64 offset = 3;
1868 case 3:
1869 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
1870 offset_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1871 CHK_(ptr);
1872 } else
1873 goto handle_unusual;
1874 continue;
1875 default:
1876 goto handle_unusual;
1877 } // switch
1878 handle_unusual:
1879 if ((tag == 0) || ((tag & 7) == 4)) {
1880 CHK_(ptr);
1881 ctx->SetLastTag(tag);
1882 goto message_done;
1883 }
1884 ptr = UnknownFieldParse(
1885 tag,
1886 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
1887 ptr, ctx);
1888 CHK_(ptr != nullptr);
1889 } // while
1890message_done:
1891 return ptr;
1892failure:
1893 ptr = nullptr;
1894 goto message_done;
1895#undef CHK_
1896}
1897
1898::PROTOBUF_NAMESPACE_ID::uint8* LinearExpressionProto::_InternalSerialize(
1899 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
1900 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.LinearExpressionProto)
1901 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1902 (void) cached_has_bits;
1903
1904 // repeated int32 vars = 1;
1905 {
1906 int byte_size = _vars_cached_byte_size_.load(std::memory_order_relaxed);
1907 if (byte_size > 0) {
1908 target = stream->WriteInt32Packed(
1909 1, _internal_vars(), byte_size, target);
1910 }
1911 }
1912
1913 // repeated int64 coeffs = 2;
1914 {
1915 int byte_size = _coeffs_cached_byte_size_.load(std::memory_order_relaxed);
1916 if (byte_size > 0) {
1917 target = stream->WriteInt64Packed(
1918 2, _internal_coeffs(), byte_size, target);
1919 }
1920 }
1921
1922 // int64 offset = 3;
1923 if (this->_internal_offset() != 0) {
1924 target = stream->EnsureSpace(target);
1925 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(3, this->_internal_offset(), target);
1926 }
1927
1928 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1929 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1930 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1931 }
1932 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.LinearExpressionProto)
1933 return target;
1934}
1935
1937// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.LinearExpressionProto)
1938 size_t total_size = 0;
1939
1940 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1941 // Prevent compiler warnings about cached_has_bits being unused
1942 (void) cached_has_bits;
1943
1944 // repeated int32 vars = 1;
1945 {
1946 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1947 Int32Size(this->vars_);
1948 if (data_size > 0) {
1949 total_size += 1 +
1950 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1951 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
1952 }
1953 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
1954 _vars_cached_byte_size_.store(cached_size,
1955 std::memory_order_relaxed);
1956 total_size += data_size;
1957 }
1958
1959 // repeated int64 coeffs = 2;
1960 {
1961 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1962 Int64Size(this->coeffs_);
1963 if (data_size > 0) {
1964 total_size += 1 +
1965 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1966 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
1967 }
1968 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
1969 _coeffs_cached_byte_size_.store(cached_size,
1970 std::memory_order_relaxed);
1971 total_size += data_size;
1972 }
1973
1974 // int64 offset = 3;
1975 if (this->_internal_offset() != 0) {
1976 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_offset());
1977 }
1978
1979 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
1980}
1981
1982const ::PROTOBUF_NAMESPACE_ID::Message::ClassData LinearExpressionProto::_class_data_ = {
1983 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
1984 LinearExpressionProto::MergeImpl
1985};
1986const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*LinearExpressionProto::GetClassData() const { return &_class_data_; }
1987
1988void LinearExpressionProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
1989 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1990 static_cast<LinearExpressionProto *>(to)->MergeFrom(
1991 static_cast<const LinearExpressionProto &>(from));
1992}
1993
1994
1996// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.LinearExpressionProto)
1997 GOOGLE_DCHECK_NE(&from, this);
1998 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1999 (void) cached_has_bits;
2000
2001 vars_.MergeFrom(from.vars_);
2002 coeffs_.MergeFrom(from.coeffs_);
2003 if (from._internal_offset() != 0) {
2004 _internal_set_offset(from._internal_offset());
2005 }
2006 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2007}
2008
2010// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.LinearExpressionProto)
2011 if (&from == this) return;
2012 Clear();
2013 MergeFrom(from);
2014}
2015
2017 return true;
2018}
2019
2020void LinearExpressionProto::InternalSwap(LinearExpressionProto* other) {
2021 using std::swap;
2022 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2023 vars_.InternalSwap(&other->vars_);
2024 coeffs_.InternalSwap(&other->coeffs_);
2025 swap(offset_, other->offset_);
2026}
2027
2028::PROTOBUF_NAMESPACE_ID::Metadata LinearExpressionProto::GetMetadata() const {
2029 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
2032}
2033
2034// ===================================================================
2035
2037 public:
2038 static const ::operations_research::sat::LinearExpressionProto& target(const LinearArgumentProto* msg);
2039};
2040
2041const ::operations_research::sat::LinearExpressionProto&
2043 return *msg->target_;
2044}
2045LinearArgumentProto::LinearArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
2046 bool is_message_owned)
2047 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
2048 exprs_(arena) {
2049 SharedCtor();
2050 if (!is_message_owned) {
2051 RegisterArenaDtor(arena);
2052 }
2053 // @@protoc_insertion_point(arena_constructor:operations_research.sat.LinearArgumentProto)
2054}
2056 : ::PROTOBUF_NAMESPACE_ID::Message(),
2057 exprs_(from.exprs_) {
2058 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2059 if (from._internal_has_target()) {
2060 target_ = new ::operations_research::sat::LinearExpressionProto(*from.target_);
2061 } else {
2062 target_ = nullptr;
2063 }
2064 // @@protoc_insertion_point(copy_constructor:operations_research.sat.LinearArgumentProto)
2065}
2066
2067void LinearArgumentProto::SharedCtor() {
2068target_ = nullptr;
2069}
2070
2072 // @@protoc_insertion_point(destructor:operations_research.sat.LinearArgumentProto)
2073 if (GetArenaForAllocation() != nullptr) return;
2074 SharedDtor();
2075 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2076}
2077
2078inline void LinearArgumentProto::SharedDtor() {
2079 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
2080 if (this != internal_default_instance()) delete target_;
2081}
2082
2083void LinearArgumentProto::ArenaDtor(void* object) {
2084 LinearArgumentProto* _this = reinterpret_cast< LinearArgumentProto* >(object);
2085 (void)_this;
2086}
2087void LinearArgumentProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
2088}
2089void LinearArgumentProto::SetCachedSize(int size) const {
2090 _cached_size_.Set(size);
2091}
2092
2094// @@protoc_insertion_point(message_clear_start:operations_research.sat.LinearArgumentProto)
2095 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2096 // Prevent compiler warnings about cached_has_bits being unused
2097 (void) cached_has_bits;
2098
2099 exprs_.Clear();
2100 if (GetArenaForAllocation() == nullptr && target_ != nullptr) {
2101 delete target_;
2102 }
2103 target_ = nullptr;
2104 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2105}
2106
2107const char* LinearArgumentProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
2108#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
2109 while (!ctx->Done(&ptr)) {
2110 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
2111 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
2112 switch (tag >> 3) {
2113 // .operations_research.sat.LinearExpressionProto target = 1;
2114 case 1:
2115 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
2116 ptr = ctx->ParseMessage(_internal_mutable_target(), ptr);
2117 CHK_(ptr);
2118 } else
2119 goto handle_unusual;
2120 continue;
2121 // repeated .operations_research.sat.LinearExpressionProto exprs = 2;
2122 case 2:
2123 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
2124 ptr -= 1;
2125 do {
2126 ptr += 1;
2127 ptr = ctx->ParseMessage(_internal_add_exprs(), ptr);
2128 CHK_(ptr);
2129 if (!ctx->DataAvailable(ptr)) break;
2130 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
2131 } else
2132 goto handle_unusual;
2133 continue;
2134 default:
2135 goto handle_unusual;
2136 } // switch
2137 handle_unusual:
2138 if ((tag == 0) || ((tag & 7) == 4)) {
2139 CHK_(ptr);
2140 ctx->SetLastTag(tag);
2141 goto message_done;
2142 }
2143 ptr = UnknownFieldParse(
2144 tag,
2145 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
2146 ptr, ctx);
2147 CHK_(ptr != nullptr);
2148 } // while
2149message_done:
2150 return ptr;
2151failure:
2152 ptr = nullptr;
2153 goto message_done;
2154#undef CHK_
2155}
2156
2157::PROTOBUF_NAMESPACE_ID::uint8* LinearArgumentProto::_InternalSerialize(
2158 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
2159 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.LinearArgumentProto)
2160 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2161 (void) cached_has_bits;
2162
2163 // .operations_research.sat.LinearExpressionProto target = 1;
2164 if (this->_internal_has_target()) {
2165 target = stream->EnsureSpace(target);
2166 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2167 InternalWriteMessage(
2168 1, _Internal::target(this), target, stream);
2169 }
2170
2171 // repeated .operations_research.sat.LinearExpressionProto exprs = 2;
2172 for (unsigned int i = 0,
2173 n = static_cast<unsigned int>(this->_internal_exprs_size()); i < n; i++) {
2174 target = stream->EnsureSpace(target);
2175 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2176 InternalWriteMessage(2, this->_internal_exprs(i), target, stream);
2177 }
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.sat.LinearArgumentProto)
2184 return target;
2185}
2186
2188// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.LinearArgumentProto)
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 // repeated .operations_research.sat.LinearExpressionProto exprs = 2;
2196 total_size += 1UL * this->_internal_exprs_size();
2197 for (const auto& msg : this->exprs_) {
2198 total_size +=
2199 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
2200 }
2201
2202 // .operations_research.sat.LinearExpressionProto target = 1;
2203 if (this->_internal_has_target()) {
2204 total_size += 1 +
2205 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2206 *target_);
2207 }
2208
2209 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
2210}
2211
2212const ::PROTOBUF_NAMESPACE_ID::Message::ClassData LinearArgumentProto::_class_data_ = {
2213 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
2214 LinearArgumentProto::MergeImpl
2215};
2216const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*LinearArgumentProto::GetClassData() const { return &_class_data_; }
2217
2218void LinearArgumentProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
2219 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
2220 static_cast<LinearArgumentProto *>(to)->MergeFrom(
2221 static_cast<const LinearArgumentProto &>(from));
2222}
2223
2224
2226// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.LinearArgumentProto)
2227 GOOGLE_DCHECK_NE(&from, this);
2228 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2229 (void) cached_has_bits;
2230
2231 exprs_.MergeFrom(from.exprs_);
2232 if (from._internal_has_target()) {
2233 _internal_mutable_target()->::operations_research::sat::LinearExpressionProto::MergeFrom(from._internal_target());
2234 }
2235 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2236}
2237
2239// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.LinearArgumentProto)
2240 if (&from == this) return;
2241 Clear();
2242 MergeFrom(from);
2243}
2244
2246 return true;
2247}
2248
2249void LinearArgumentProto::InternalSwap(LinearArgumentProto* other) {
2250 using std::swap;
2251 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2252 exprs_.InternalSwap(&other->exprs_);
2253 swap(target_, other->target_);
2254}
2255
2256::PROTOBUF_NAMESPACE_ID::Metadata LinearArgumentProto::GetMetadata() const {
2257 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
2260}
2261
2262// ===================================================================
2263
2265 public:
2266};
2267
2269 bool is_message_owned)
2270 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
2271 vars_(arena) {
2272 SharedCtor();
2273 if (!is_message_owned) {
2274 RegisterArenaDtor(arena);
2275 }
2276 // @@protoc_insertion_point(arena_constructor:operations_research.sat.AllDifferentConstraintProto)
2277}
2279 : ::PROTOBUF_NAMESPACE_ID::Message(),
2280 vars_(from.vars_) {
2281 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2282 // @@protoc_insertion_point(copy_constructor:operations_research.sat.AllDifferentConstraintProto)
2283}
2284
2285void AllDifferentConstraintProto::SharedCtor() {
2286}
2287
2289 // @@protoc_insertion_point(destructor:operations_research.sat.AllDifferentConstraintProto)
2290 if (GetArenaForAllocation() != nullptr) return;
2291 SharedDtor();
2292 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2293}
2294
2295inline void AllDifferentConstraintProto::SharedDtor() {
2296 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
2297}
2298
2299void AllDifferentConstraintProto::ArenaDtor(void* object) {
2300 AllDifferentConstraintProto* _this = reinterpret_cast< AllDifferentConstraintProto* >(object);
2301 (void)_this;
2302}
2303void AllDifferentConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
2304}
2305void AllDifferentConstraintProto::SetCachedSize(int size) const {
2306 _cached_size_.Set(size);
2307}
2308
2310// @@protoc_insertion_point(message_clear_start:operations_research.sat.AllDifferentConstraintProto)
2311 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2312 // Prevent compiler warnings about cached_has_bits being unused
2313 (void) cached_has_bits;
2314
2315 vars_.Clear();
2316 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2317}
2318
2319const char* AllDifferentConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
2320#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
2321 while (!ctx->Done(&ptr)) {
2322 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
2323 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
2324 switch (tag >> 3) {
2325 // repeated int32 vars = 1;
2326 case 1:
2327 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
2328 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_vars(), ptr, ctx);
2329 CHK_(ptr);
2330 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
2331 _internal_add_vars(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
2332 CHK_(ptr);
2333 } else
2334 goto handle_unusual;
2335 continue;
2336 default:
2337 goto handle_unusual;
2338 } // switch
2339 handle_unusual:
2340 if ((tag == 0) || ((tag & 7) == 4)) {
2341 CHK_(ptr);
2342 ctx->SetLastTag(tag);
2343 goto message_done;
2344 }
2345 ptr = UnknownFieldParse(
2346 tag,
2347 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
2348 ptr, ctx);
2349 CHK_(ptr != nullptr);
2350 } // while
2351message_done:
2352 return ptr;
2353failure:
2354 ptr = nullptr;
2355 goto message_done;
2356#undef CHK_
2357}
2358
2360 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
2361 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.AllDifferentConstraintProto)
2362 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2363 (void) cached_has_bits;
2364
2365 // repeated int32 vars = 1;
2366 {
2367 int byte_size = _vars_cached_byte_size_.load(std::memory_order_relaxed);
2368 if (byte_size > 0) {
2369 target = stream->WriteInt32Packed(
2370 1, _internal_vars(), byte_size, target);
2371 }
2372 }
2373
2374 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2375 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
2376 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
2377 }
2378 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.AllDifferentConstraintProto)
2379 return target;
2380}
2381
2383// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.AllDifferentConstraintProto)
2384 size_t total_size = 0;
2385
2386 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2387 // Prevent compiler warnings about cached_has_bits being unused
2388 (void) cached_has_bits;
2389
2390 // repeated int32 vars = 1;
2391 {
2392 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2393 Int32Size(this->vars_);
2394 if (data_size > 0) {
2395 total_size += 1 +
2396 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2397 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
2398 }
2399 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
2400 _vars_cached_byte_size_.store(cached_size,
2401 std::memory_order_relaxed);
2402 total_size += data_size;
2403 }
2404
2405 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
2406}
2407
2408const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AllDifferentConstraintProto::_class_data_ = {
2409 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
2410 AllDifferentConstraintProto::MergeImpl
2411};
2412const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AllDifferentConstraintProto::GetClassData() const { return &_class_data_; }
2413
2414void AllDifferentConstraintProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
2415 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
2416 static_cast<AllDifferentConstraintProto *>(to)->MergeFrom(
2417 static_cast<const AllDifferentConstraintProto &>(from));
2418}
2419
2420
2422// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.AllDifferentConstraintProto)
2423 GOOGLE_DCHECK_NE(&from, this);
2424 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2425 (void) cached_has_bits;
2426
2427 vars_.MergeFrom(from.vars_);
2428 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2429}
2430
2432// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.AllDifferentConstraintProto)
2433 if (&from == this) return;
2434 Clear();
2435 MergeFrom(from);
2436}
2437
2439 return true;
2440}
2441
2442void AllDifferentConstraintProto::InternalSwap(AllDifferentConstraintProto* other) {
2443 using std::swap;
2444 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2445 vars_.InternalSwap(&other->vars_);
2446}
2447
2448::PROTOBUF_NAMESPACE_ID::Metadata AllDifferentConstraintProto::GetMetadata() const {
2449 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
2452}
2453
2454// ===================================================================
2455
2457 public:
2458};
2459
2460LinearConstraintProto::LinearConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
2461 bool is_message_owned)
2462 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
2463 vars_(arena),
2464 coeffs_(arena),
2465 domain_(arena) {
2466 SharedCtor();
2467 if (!is_message_owned) {
2468 RegisterArenaDtor(arena);
2469 }
2470 // @@protoc_insertion_point(arena_constructor:operations_research.sat.LinearConstraintProto)
2471}
2473 : ::PROTOBUF_NAMESPACE_ID::Message(),
2474 vars_(from.vars_),
2475 coeffs_(from.coeffs_),
2476 domain_(from.domain_) {
2477 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2478 // @@protoc_insertion_point(copy_constructor:operations_research.sat.LinearConstraintProto)
2479}
2480
2481void LinearConstraintProto::SharedCtor() {
2482}
2483
2485 // @@protoc_insertion_point(destructor:operations_research.sat.LinearConstraintProto)
2486 if (GetArenaForAllocation() != nullptr) return;
2487 SharedDtor();
2488 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2489}
2490
2491inline void LinearConstraintProto::SharedDtor() {
2492 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
2493}
2494
2495void LinearConstraintProto::ArenaDtor(void* object) {
2496 LinearConstraintProto* _this = reinterpret_cast< LinearConstraintProto* >(object);
2497 (void)_this;
2498}
2499void LinearConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
2500}
2501void LinearConstraintProto::SetCachedSize(int size) const {
2502 _cached_size_.Set(size);
2503}
2504
2506// @@protoc_insertion_point(message_clear_start:operations_research.sat.LinearConstraintProto)
2507 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2508 // Prevent compiler warnings about cached_has_bits being unused
2509 (void) cached_has_bits;
2510
2511 vars_.Clear();
2512 coeffs_.Clear();
2513 domain_.Clear();
2514 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2515}
2516
2517const char* LinearConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
2518#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
2519 while (!ctx->Done(&ptr)) {
2520 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
2521 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
2522 switch (tag >> 3) {
2523 // repeated int32 vars = 1;
2524 case 1:
2525 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
2526 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_vars(), ptr, ctx);
2527 CHK_(ptr);
2528 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
2529 _internal_add_vars(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
2530 CHK_(ptr);
2531 } else
2532 goto handle_unusual;
2533 continue;
2534 // repeated int64 coeffs = 2;
2535 case 2:
2536 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
2537 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_coeffs(), ptr, ctx);
2538 CHK_(ptr);
2539 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) {
2540 _internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
2541 CHK_(ptr);
2542 } else
2543 goto handle_unusual;
2544 continue;
2545 // repeated int64 domain = 3;
2546 case 3:
2547 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
2548 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_domain(), ptr, ctx);
2549 CHK_(ptr);
2550 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24) {
2551 _internal_add_domain(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
2552 CHK_(ptr);
2553 } else
2554 goto handle_unusual;
2555 continue;
2556 default:
2557 goto handle_unusual;
2558 } // switch
2559 handle_unusual:
2560 if ((tag == 0) || ((tag & 7) == 4)) {
2561 CHK_(ptr);
2562 ctx->SetLastTag(tag);
2563 goto message_done;
2564 }
2565 ptr = UnknownFieldParse(
2566 tag,
2567 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
2568 ptr, ctx);
2569 CHK_(ptr != nullptr);
2570 } // while
2571message_done:
2572 return ptr;
2573failure:
2574 ptr = nullptr;
2575 goto message_done;
2576#undef CHK_
2577}
2578
2579::PROTOBUF_NAMESPACE_ID::uint8* LinearConstraintProto::_InternalSerialize(
2580 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
2581 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.LinearConstraintProto)
2582 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2583 (void) cached_has_bits;
2584
2585 // repeated int32 vars = 1;
2586 {
2587 int byte_size = _vars_cached_byte_size_.load(std::memory_order_relaxed);
2588 if (byte_size > 0) {
2589 target = stream->WriteInt32Packed(
2590 1, _internal_vars(), byte_size, target);
2591 }
2592 }
2593
2594 // repeated int64 coeffs = 2;
2595 {
2596 int byte_size = _coeffs_cached_byte_size_.load(std::memory_order_relaxed);
2597 if (byte_size > 0) {
2598 target = stream->WriteInt64Packed(
2599 2, _internal_coeffs(), byte_size, target);
2600 }
2601 }
2602
2603 // repeated int64 domain = 3;
2604 {
2605 int byte_size = _domain_cached_byte_size_.load(std::memory_order_relaxed);
2606 if (byte_size > 0) {
2607 target = stream->WriteInt64Packed(
2608 3, _internal_domain(), byte_size, target);
2609 }
2610 }
2611
2612 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2613 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
2614 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
2615 }
2616 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.LinearConstraintProto)
2617 return target;
2618}
2619
2621// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.LinearConstraintProto)
2622 size_t total_size = 0;
2623
2624 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2625 // Prevent compiler warnings about cached_has_bits being unused
2626 (void) cached_has_bits;
2627
2628 // repeated int32 vars = 1;
2629 {
2630 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2631 Int32Size(this->vars_);
2632 if (data_size > 0) {
2633 total_size += 1 +
2634 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2635 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
2636 }
2637 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
2638 _vars_cached_byte_size_.store(cached_size,
2639 std::memory_order_relaxed);
2640 total_size += data_size;
2641 }
2642
2643 // repeated int64 coeffs = 2;
2644 {
2645 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2646 Int64Size(this->coeffs_);
2647 if (data_size > 0) {
2648 total_size += 1 +
2649 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2650 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
2651 }
2652 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
2653 _coeffs_cached_byte_size_.store(cached_size,
2654 std::memory_order_relaxed);
2655 total_size += data_size;
2656 }
2657
2658 // repeated int64 domain = 3;
2659 {
2660 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2661 Int64Size(this->domain_);
2662 if (data_size > 0) {
2663 total_size += 1 +
2664 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2665 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
2666 }
2667 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
2668 _domain_cached_byte_size_.store(cached_size,
2669 std::memory_order_relaxed);
2670 total_size += data_size;
2671 }
2672
2673 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
2674}
2675
2676const ::PROTOBUF_NAMESPACE_ID::Message::ClassData LinearConstraintProto::_class_data_ = {
2677 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
2678 LinearConstraintProto::MergeImpl
2679};
2680const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*LinearConstraintProto::GetClassData() const { return &_class_data_; }
2681
2682void LinearConstraintProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
2683 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
2684 static_cast<LinearConstraintProto *>(to)->MergeFrom(
2685 static_cast<const LinearConstraintProto &>(from));
2686}
2687
2688
2690// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.LinearConstraintProto)
2691 GOOGLE_DCHECK_NE(&from, this);
2692 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2693 (void) cached_has_bits;
2694
2695 vars_.MergeFrom(from.vars_);
2696 coeffs_.MergeFrom(from.coeffs_);
2697 domain_.MergeFrom(from.domain_);
2698 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2699}
2700
2702// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.LinearConstraintProto)
2703 if (&from == this) return;
2704 Clear();
2705 MergeFrom(from);
2706}
2707
2709 return true;
2710}
2711
2712void LinearConstraintProto::InternalSwap(LinearConstraintProto* other) {
2713 using std::swap;
2714 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2715 vars_.InternalSwap(&other->vars_);
2716 coeffs_.InternalSwap(&other->coeffs_);
2717 domain_.InternalSwap(&other->domain_);
2718}
2719
2720::PROTOBUF_NAMESPACE_ID::Metadata LinearConstraintProto::GetMetadata() const {
2721 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
2724}
2725
2726// ===================================================================
2727
2729 public:
2730};
2731
2732ElementConstraintProto::ElementConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
2733 bool is_message_owned)
2734 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
2735 vars_(arena) {
2736 SharedCtor();
2737 if (!is_message_owned) {
2738 RegisterArenaDtor(arena);
2739 }
2740 // @@protoc_insertion_point(arena_constructor:operations_research.sat.ElementConstraintProto)
2741}
2743 : ::PROTOBUF_NAMESPACE_ID::Message(),
2744 vars_(from.vars_) {
2745 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2746 ::memcpy(&index_, &from.index_,
2747 static_cast<size_t>(reinterpret_cast<char*>(&target_) -
2748 reinterpret_cast<char*>(&index_)) + sizeof(target_));
2749 // @@protoc_insertion_point(copy_constructor:operations_research.sat.ElementConstraintProto)
2750}
2751
2752void ElementConstraintProto::SharedCtor() {
2753::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
2754 reinterpret_cast<char*>(&index_) - reinterpret_cast<char*>(this)),
2755 0, static_cast<size_t>(reinterpret_cast<char*>(&target_) -
2756 reinterpret_cast<char*>(&index_)) + sizeof(target_));
2757}
2758
2760 // @@protoc_insertion_point(destructor:operations_research.sat.ElementConstraintProto)
2761 if (GetArenaForAllocation() != nullptr) return;
2762 SharedDtor();
2763 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2764}
2765
2766inline void ElementConstraintProto::SharedDtor() {
2767 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
2768}
2769
2770void ElementConstraintProto::ArenaDtor(void* object) {
2771 ElementConstraintProto* _this = reinterpret_cast< ElementConstraintProto* >(object);
2772 (void)_this;
2773}
2774void ElementConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
2775}
2776void ElementConstraintProto::SetCachedSize(int size) const {
2777 _cached_size_.Set(size);
2778}
2779
2781// @@protoc_insertion_point(message_clear_start:operations_research.sat.ElementConstraintProto)
2782 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2783 // Prevent compiler warnings about cached_has_bits being unused
2784 (void) cached_has_bits;
2785
2786 vars_.Clear();
2787 ::memset(&index_, 0, static_cast<size_t>(
2788 reinterpret_cast<char*>(&target_) -
2789 reinterpret_cast<char*>(&index_)) + sizeof(target_));
2790 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2791}
2792
2793const char* ElementConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
2794#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
2795 while (!ctx->Done(&ptr)) {
2796 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
2797 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
2798 switch (tag >> 3) {
2799 // int32 index = 1;
2800 case 1:
2801 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
2802 index_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2803 CHK_(ptr);
2804 } else
2805 goto handle_unusual;
2806 continue;
2807 // int32 target = 2;
2808 case 2:
2809 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
2810 target_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2811 CHK_(ptr);
2812 } else
2813 goto handle_unusual;
2814 continue;
2815 // repeated int32 vars = 3;
2816 case 3:
2817 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
2818 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_vars(), ptr, ctx);
2819 CHK_(ptr);
2820 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24) {
2821 _internal_add_vars(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
2822 CHK_(ptr);
2823 } else
2824 goto handle_unusual;
2825 continue;
2826 default:
2827 goto handle_unusual;
2828 } // switch
2829 handle_unusual:
2830 if ((tag == 0) || ((tag & 7) == 4)) {
2831 CHK_(ptr);
2832 ctx->SetLastTag(tag);
2833 goto message_done;
2834 }
2835 ptr = UnknownFieldParse(
2836 tag,
2837 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
2838 ptr, ctx);
2839 CHK_(ptr != nullptr);
2840 } // while
2841message_done:
2842 return ptr;
2843failure:
2844 ptr = nullptr;
2845 goto message_done;
2846#undef CHK_
2847}
2848
2849::PROTOBUF_NAMESPACE_ID::uint8* ElementConstraintProto::_InternalSerialize(
2850 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
2851 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.ElementConstraintProto)
2852 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2853 (void) cached_has_bits;
2854
2855 // int32 index = 1;
2856 if (this->_internal_index() != 0) {
2857 target = stream->EnsureSpace(target);
2858 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_index(), target);
2859 }
2860
2861 // int32 target = 2;
2862 if (this->_internal_target() != 0) {
2863 target = stream->EnsureSpace(target);
2864 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_target(), target);
2865 }
2866
2867 // repeated int32 vars = 3;
2868 {
2869 int byte_size = _vars_cached_byte_size_.load(std::memory_order_relaxed);
2870 if (byte_size > 0) {
2871 target = stream->WriteInt32Packed(
2872 3, _internal_vars(), byte_size, target);
2873 }
2874 }
2875
2876 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2877 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
2878 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
2879 }
2880 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.ElementConstraintProto)
2881 return target;
2882}
2883
2885// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.ElementConstraintProto)
2886 size_t total_size = 0;
2887
2888 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2889 // Prevent compiler warnings about cached_has_bits being unused
2890 (void) cached_has_bits;
2891
2892 // repeated int32 vars = 3;
2893 {
2894 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2895 Int32Size(this->vars_);
2896 if (data_size > 0) {
2897 total_size += 1 +
2898 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2899 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
2900 }
2901 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
2902 _vars_cached_byte_size_.store(cached_size,
2903 std::memory_order_relaxed);
2904 total_size += data_size;
2905 }
2906
2907 // int32 index = 1;
2908 if (this->_internal_index() != 0) {
2909 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_index());
2910 }
2911
2912 // int32 target = 2;
2913 if (this->_internal_target() != 0) {
2914 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_target());
2915 }
2916
2917 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
2918}
2919
2920const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ElementConstraintProto::_class_data_ = {
2921 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
2922 ElementConstraintProto::MergeImpl
2923};
2924const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ElementConstraintProto::GetClassData() const { return &_class_data_; }
2925
2926void ElementConstraintProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
2927 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
2928 static_cast<ElementConstraintProto *>(to)->MergeFrom(
2929 static_cast<const ElementConstraintProto &>(from));
2930}
2931
2932
2934// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.ElementConstraintProto)
2935 GOOGLE_DCHECK_NE(&from, this);
2936 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2937 (void) cached_has_bits;
2938
2939 vars_.MergeFrom(from.vars_);
2940 if (from._internal_index() != 0) {
2941 _internal_set_index(from._internal_index());
2942 }
2943 if (from._internal_target() != 0) {
2944 _internal_set_target(from._internal_target());
2945 }
2946 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2947}
2948
2950// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.ElementConstraintProto)
2951 if (&from == this) return;
2952 Clear();
2953 MergeFrom(from);
2954}
2955
2957 return true;
2958}
2959
2960void ElementConstraintProto::InternalSwap(ElementConstraintProto* other) {
2961 using std::swap;
2962 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2963 vars_.InternalSwap(&other->vars_);
2964 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
2965 PROTOBUF_FIELD_OFFSET(ElementConstraintProto, target_)
2966 + sizeof(ElementConstraintProto::target_)
2967 - PROTOBUF_FIELD_OFFSET(ElementConstraintProto, index_)>(
2968 reinterpret_cast<char*>(&index_),
2969 reinterpret_cast<char*>(&other->index_));
2970}
2971
2972::PROTOBUF_NAMESPACE_ID::Metadata ElementConstraintProto::GetMetadata() const {
2973 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
2976}
2977
2978// ===================================================================
2979
2981 public:
2982 static const ::operations_research::sat::LinearExpressionProto& start_view(const IntervalConstraintProto* msg);
2983 static const ::operations_research::sat::LinearExpressionProto& end_view(const IntervalConstraintProto* msg);
2984 static const ::operations_research::sat::LinearExpressionProto& size_view(const IntervalConstraintProto* msg);
2985};
2986
2987const ::operations_research::sat::LinearExpressionProto&
2989 return *msg->start_view_;
2990}
2991const ::operations_research::sat::LinearExpressionProto&
2993 return *msg->end_view_;
2994}
2995const ::operations_research::sat::LinearExpressionProto&
2997 return *msg->size_view_;
2998}
2999IntervalConstraintProto::IntervalConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
3000 bool is_message_owned)
3001 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
3002 SharedCtor();
3003 if (!is_message_owned) {
3004 RegisterArenaDtor(arena);
3005 }
3006 // @@protoc_insertion_point(arena_constructor:operations_research.sat.IntervalConstraintProto)
3007}
3009 : ::PROTOBUF_NAMESPACE_ID::Message() {
3010 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3011 if (from._internal_has_start_view()) {
3012 start_view_ = new ::operations_research::sat::LinearExpressionProto(*from.start_view_);
3013 } else {
3014 start_view_ = nullptr;
3015 }
3016 if (from._internal_has_end_view()) {
3017 end_view_ = new ::operations_research::sat::LinearExpressionProto(*from.end_view_);
3018 } else {
3019 end_view_ = nullptr;
3020 }
3021 if (from._internal_has_size_view()) {
3022 size_view_ = new ::operations_research::sat::LinearExpressionProto(*from.size_view_);
3023 } else {
3024 size_view_ = nullptr;
3025 }
3026 ::memcpy(&start_, &from.start_,
3027 static_cast<size_t>(reinterpret_cast<char*>(&size_) -
3028 reinterpret_cast<char*>(&start_)) + sizeof(size_));
3029 // @@protoc_insertion_point(copy_constructor:operations_research.sat.IntervalConstraintProto)
3030}
3031
3032void IntervalConstraintProto::SharedCtor() {
3033::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
3034 reinterpret_cast<char*>(&start_view_) - reinterpret_cast<char*>(this)),
3035 0, static_cast<size_t>(reinterpret_cast<char*>(&size_) -
3036 reinterpret_cast<char*>(&start_view_)) + sizeof(size_));
3037}
3038
3040 // @@protoc_insertion_point(destructor:operations_research.sat.IntervalConstraintProto)
3041 if (GetArenaForAllocation() != nullptr) return;
3042 SharedDtor();
3043 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3044}
3045
3046inline void IntervalConstraintProto::SharedDtor() {
3047 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
3048 if (this != internal_default_instance()) delete start_view_;
3049 if (this != internal_default_instance()) delete end_view_;
3050 if (this != internal_default_instance()) delete size_view_;
3051}
3052
3053void IntervalConstraintProto::ArenaDtor(void* object) {
3054 IntervalConstraintProto* _this = reinterpret_cast< IntervalConstraintProto* >(object);
3055 (void)_this;
3056}
3057void IntervalConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
3058}
3059void IntervalConstraintProto::SetCachedSize(int size) const {
3060 _cached_size_.Set(size);
3061}
3062
3064// @@protoc_insertion_point(message_clear_start:operations_research.sat.IntervalConstraintProto)
3065 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3066 // Prevent compiler warnings about cached_has_bits being unused
3067 (void) cached_has_bits;
3068
3069 if (GetArenaForAllocation() == nullptr && start_view_ != nullptr) {
3070 delete start_view_;
3071 }
3072 start_view_ = nullptr;
3073 if (GetArenaForAllocation() == nullptr && end_view_ != nullptr) {
3074 delete end_view_;
3075 }
3076 end_view_ = nullptr;
3077 if (GetArenaForAllocation() == nullptr && size_view_ != nullptr) {
3078 delete size_view_;
3079 }
3080 size_view_ = nullptr;
3081 ::memset(&start_, 0, static_cast<size_t>(
3082 reinterpret_cast<char*>(&size_) -
3083 reinterpret_cast<char*>(&start_)) + sizeof(size_));
3084 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3085}
3086
3087const char* IntervalConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
3088#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
3089 while (!ctx->Done(&ptr)) {
3090 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
3091 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
3092 switch (tag >> 3) {
3093 // int32 start = 1;
3094 case 1:
3095 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
3096 start_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3097 CHK_(ptr);
3098 } else
3099 goto handle_unusual;
3100 continue;
3101 // int32 end = 2;
3102 case 2:
3103 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
3104 end_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3105 CHK_(ptr);
3106 } else
3107 goto handle_unusual;
3108 continue;
3109 // int32 size = 3;
3110 case 3:
3111 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
3112 size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3113 CHK_(ptr);
3114 } else
3115 goto handle_unusual;
3116 continue;
3117 // .operations_research.sat.LinearExpressionProto start_view = 4;
3118 case 4:
3119 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
3120 ptr = ctx->ParseMessage(_internal_mutable_start_view(), ptr);
3121 CHK_(ptr);
3122 } else
3123 goto handle_unusual;
3124 continue;
3125 // .operations_research.sat.LinearExpressionProto end_view = 5;
3126 case 5:
3127 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
3128 ptr = ctx->ParseMessage(_internal_mutable_end_view(), ptr);
3129 CHK_(ptr);
3130 } else
3131 goto handle_unusual;
3132 continue;
3133 // .operations_research.sat.LinearExpressionProto size_view = 6;
3134 case 6:
3135 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
3136 ptr = ctx->ParseMessage(_internal_mutable_size_view(), ptr);
3137 CHK_(ptr);
3138 } else
3139 goto handle_unusual;
3140 continue;
3141 default:
3142 goto handle_unusual;
3143 } // switch
3144 handle_unusual:
3145 if ((tag == 0) || ((tag & 7) == 4)) {
3146 CHK_(ptr);
3147 ctx->SetLastTag(tag);
3148 goto message_done;
3149 }
3150 ptr = UnknownFieldParse(
3151 tag,
3152 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
3153 ptr, ctx);
3154 CHK_(ptr != nullptr);
3155 } // while
3156message_done:
3157 return ptr;
3158failure:
3159 ptr = nullptr;
3160 goto message_done;
3161#undef CHK_
3162}
3163
3164::PROTOBUF_NAMESPACE_ID::uint8* IntervalConstraintProto::_InternalSerialize(
3165 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
3166 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.IntervalConstraintProto)
3167 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3168 (void) cached_has_bits;
3169
3170 // int32 start = 1;
3171 if (this->_internal_start() != 0) {
3172 target = stream->EnsureSpace(target);
3173 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_start(), target);
3174 }
3175
3176 // int32 end = 2;
3177 if (this->_internal_end() != 0) {
3178 target = stream->EnsureSpace(target);
3179 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_end(), target);
3180 }
3181
3182 // int32 size = 3;
3183 if (this->_internal_size() != 0) {
3184 target = stream->EnsureSpace(target);
3185 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_size(), target);
3186 }
3187
3188 // .operations_research.sat.LinearExpressionProto start_view = 4;
3189 if (this->_internal_has_start_view()) {
3190 target = stream->EnsureSpace(target);
3191 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
3192 InternalWriteMessage(
3193 4, _Internal::start_view(this), target, stream);
3194 }
3195
3196 // .operations_research.sat.LinearExpressionProto end_view = 5;
3197 if (this->_internal_has_end_view()) {
3198 target = stream->EnsureSpace(target);
3199 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
3200 InternalWriteMessage(
3201 5, _Internal::end_view(this), target, stream);
3202 }
3203
3204 // .operations_research.sat.LinearExpressionProto size_view = 6;
3205 if (this->_internal_has_size_view()) {
3206 target = stream->EnsureSpace(target);
3207 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
3208 InternalWriteMessage(
3209 6, _Internal::size_view(this), target, stream);
3210 }
3211
3212 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
3213 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
3214 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
3215 }
3216 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.IntervalConstraintProto)
3217 return target;
3218}
3219
3221// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.IntervalConstraintProto)
3222 size_t total_size = 0;
3223
3224 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3225 // Prevent compiler warnings about cached_has_bits being unused
3226 (void) cached_has_bits;
3227
3228 // .operations_research.sat.LinearExpressionProto start_view = 4;
3229 if (this->_internal_has_start_view()) {
3230 total_size += 1 +
3231 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
3232 *start_view_);
3233 }
3234
3235 // .operations_research.sat.LinearExpressionProto end_view = 5;
3236 if (this->_internal_has_end_view()) {
3237 total_size += 1 +
3238 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
3239 *end_view_);
3240 }
3241
3242 // .operations_research.sat.LinearExpressionProto size_view = 6;
3243 if (this->_internal_has_size_view()) {
3244 total_size += 1 +
3245 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
3246 *size_view_);
3247 }
3248
3249 // int32 start = 1;
3250 if (this->_internal_start() != 0) {
3251 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_start());
3252 }
3253
3254 // int32 end = 2;
3255 if (this->_internal_end() != 0) {
3256 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_end());
3257 }
3258
3259 // int32 size = 3;
3260 if (this->_internal_size() != 0) {
3261 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_size());
3262 }
3263
3264 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
3265}
3266
3267const ::PROTOBUF_NAMESPACE_ID::Message::ClassData IntervalConstraintProto::_class_data_ = {
3268 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
3269 IntervalConstraintProto::MergeImpl
3270};
3271const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*IntervalConstraintProto::GetClassData() const { return &_class_data_; }
3272
3273void IntervalConstraintProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
3274 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
3275 static_cast<IntervalConstraintProto *>(to)->MergeFrom(
3276 static_cast<const IntervalConstraintProto &>(from));
3277}
3278
3279
3281// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.IntervalConstraintProto)
3282 GOOGLE_DCHECK_NE(&from, this);
3283 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3284 (void) cached_has_bits;
3285
3286 if (from._internal_has_start_view()) {
3287 _internal_mutable_start_view()->::operations_research::sat::LinearExpressionProto::MergeFrom(from._internal_start_view());
3288 }
3289 if (from._internal_has_end_view()) {
3290 _internal_mutable_end_view()->::operations_research::sat::LinearExpressionProto::MergeFrom(from._internal_end_view());
3291 }
3292 if (from._internal_has_size_view()) {
3293 _internal_mutable_size_view()->::operations_research::sat::LinearExpressionProto::MergeFrom(from._internal_size_view());
3294 }
3295 if (from._internal_start() != 0) {
3296 _internal_set_start(from._internal_start());
3297 }
3298 if (from._internal_end() != 0) {
3299 _internal_set_end(from._internal_end());
3300 }
3301 if (from._internal_size() != 0) {
3302 _internal_set_size(from._internal_size());
3303 }
3304 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3305}
3306
3308// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.IntervalConstraintProto)
3309 if (&from == this) return;
3310 Clear();
3311 MergeFrom(from);
3312}
3313
3315 return true;
3316}
3317
3318void IntervalConstraintProto::InternalSwap(IntervalConstraintProto* other) {
3319 using std::swap;
3320 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
3321 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
3322 PROTOBUF_FIELD_OFFSET(IntervalConstraintProto, size_)
3323 + sizeof(IntervalConstraintProto::size_)
3324 - PROTOBUF_FIELD_OFFSET(IntervalConstraintProto, start_view_)>(
3325 reinterpret_cast<char*>(&start_view_),
3326 reinterpret_cast<char*>(&other->start_view_));
3327}
3328
3329::PROTOBUF_NAMESPACE_ID::Metadata IntervalConstraintProto::GetMetadata() const {
3330 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
3333}
3334
3335// ===================================================================
3336
3338 public:
3339};
3340
3341NoOverlapConstraintProto::NoOverlapConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
3342 bool is_message_owned)
3343 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
3344 intervals_(arena) {
3345 SharedCtor();
3346 if (!is_message_owned) {
3347 RegisterArenaDtor(arena);
3348 }
3349 // @@protoc_insertion_point(arena_constructor:operations_research.sat.NoOverlapConstraintProto)
3350}
3352 : ::PROTOBUF_NAMESPACE_ID::Message(),
3353 intervals_(from.intervals_) {
3354 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3355 // @@protoc_insertion_point(copy_constructor:operations_research.sat.NoOverlapConstraintProto)
3356}
3357
3358void NoOverlapConstraintProto::SharedCtor() {
3359}
3360
3362 // @@protoc_insertion_point(destructor:operations_research.sat.NoOverlapConstraintProto)
3363 if (GetArenaForAllocation() != nullptr) return;
3364 SharedDtor();
3365 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3366}
3367
3368inline void NoOverlapConstraintProto::SharedDtor() {
3369 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
3370}
3371
3372void NoOverlapConstraintProto::ArenaDtor(void* object) {
3373 NoOverlapConstraintProto* _this = reinterpret_cast< NoOverlapConstraintProto* >(object);
3374 (void)_this;
3375}
3376void NoOverlapConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
3377}
3378void NoOverlapConstraintProto::SetCachedSize(int size) const {
3379 _cached_size_.Set(size);
3380}
3381
3383// @@protoc_insertion_point(message_clear_start:operations_research.sat.NoOverlapConstraintProto)
3384 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3385 // Prevent compiler warnings about cached_has_bits being unused
3386 (void) cached_has_bits;
3387
3388 intervals_.Clear();
3389 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3390}
3391
3392const char* NoOverlapConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
3393#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
3394 while (!ctx->Done(&ptr)) {
3395 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
3396 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
3397 switch (tag >> 3) {
3398 // repeated int32 intervals = 1;
3399 case 1:
3400 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
3401 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_intervals(), ptr, ctx);
3402 CHK_(ptr);
3403 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
3404 _internal_add_intervals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
3405 CHK_(ptr);
3406 } else
3407 goto handle_unusual;
3408 continue;
3409 default:
3410 goto handle_unusual;
3411 } // switch
3412 handle_unusual:
3413 if ((tag == 0) || ((tag & 7) == 4)) {
3414 CHK_(ptr);
3415 ctx->SetLastTag(tag);
3416 goto message_done;
3417 }
3418 ptr = UnknownFieldParse(
3419 tag,
3420 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
3421 ptr, ctx);
3422 CHK_(ptr != nullptr);
3423 } // while
3424message_done:
3425 return ptr;
3426failure:
3427 ptr = nullptr;
3428 goto message_done;
3429#undef CHK_
3430}
3431
3432::PROTOBUF_NAMESPACE_ID::uint8* NoOverlapConstraintProto::_InternalSerialize(
3433 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
3434 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.NoOverlapConstraintProto)
3435 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3436 (void) cached_has_bits;
3437
3438 // repeated int32 intervals = 1;
3439 {
3440 int byte_size = _intervals_cached_byte_size_.load(std::memory_order_relaxed);
3441 if (byte_size > 0) {
3442 target = stream->WriteInt32Packed(
3443 1, _internal_intervals(), byte_size, target);
3444 }
3445 }
3446
3447 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
3448 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
3449 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
3450 }
3451 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.NoOverlapConstraintProto)
3452 return target;
3453}
3454
3456// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.NoOverlapConstraintProto)
3457 size_t total_size = 0;
3458
3459 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3460 // Prevent compiler warnings about cached_has_bits being unused
3461 (void) cached_has_bits;
3462
3463 // repeated int32 intervals = 1;
3464 {
3465 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
3466 Int32Size(this->intervals_);
3467 if (data_size > 0) {
3468 total_size += 1 +
3469 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
3470 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
3471 }
3472 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
3473 _intervals_cached_byte_size_.store(cached_size,
3474 std::memory_order_relaxed);
3475 total_size += data_size;
3476 }
3477
3478 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
3479}
3480
3481const ::PROTOBUF_NAMESPACE_ID::Message::ClassData NoOverlapConstraintProto::_class_data_ = {
3482 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
3483 NoOverlapConstraintProto::MergeImpl
3484};
3485const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*NoOverlapConstraintProto::GetClassData() const { return &_class_data_; }
3486
3487void NoOverlapConstraintProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
3488 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
3489 static_cast<NoOverlapConstraintProto *>(to)->MergeFrom(
3490 static_cast<const NoOverlapConstraintProto &>(from));
3491}
3492
3493
3495// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.NoOverlapConstraintProto)
3496 GOOGLE_DCHECK_NE(&from, this);
3497 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3498 (void) cached_has_bits;
3499
3500 intervals_.MergeFrom(from.intervals_);
3501 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3502}
3503
3505// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.NoOverlapConstraintProto)
3506 if (&from == this) return;
3507 Clear();
3508 MergeFrom(from);
3509}
3510
3512 return true;
3513}
3514
3515void NoOverlapConstraintProto::InternalSwap(NoOverlapConstraintProto* other) {
3516 using std::swap;
3517 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
3518 intervals_.InternalSwap(&other->intervals_);
3519}
3520
3521::PROTOBUF_NAMESPACE_ID::Metadata NoOverlapConstraintProto::GetMetadata() const {
3522 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
3525}
3526
3527// ===================================================================
3528
3530 public:
3531};
3532
3534 bool is_message_owned)
3535 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
3536 x_intervals_(arena),
3537 y_intervals_(arena) {
3538 SharedCtor();
3539 if (!is_message_owned) {
3540 RegisterArenaDtor(arena);
3541 }
3542 // @@protoc_insertion_point(arena_constructor:operations_research.sat.NoOverlap2DConstraintProto)
3543}
3545 : ::PROTOBUF_NAMESPACE_ID::Message(),
3546 x_intervals_(from.x_intervals_),
3547 y_intervals_(from.y_intervals_) {
3548 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3549 boxes_with_null_area_can_overlap_ = from.boxes_with_null_area_can_overlap_;
3550 // @@protoc_insertion_point(copy_constructor:operations_research.sat.NoOverlap2DConstraintProto)
3551}
3552
3553void NoOverlap2DConstraintProto::SharedCtor() {
3554boxes_with_null_area_can_overlap_ = false;
3555}
3556
3558 // @@protoc_insertion_point(destructor:operations_research.sat.NoOverlap2DConstraintProto)
3559 if (GetArenaForAllocation() != nullptr) return;
3560 SharedDtor();
3561 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3562}
3563
3564inline void NoOverlap2DConstraintProto::SharedDtor() {
3565 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
3566}
3567
3568void NoOverlap2DConstraintProto::ArenaDtor(void* object) {
3569 NoOverlap2DConstraintProto* _this = reinterpret_cast< NoOverlap2DConstraintProto* >(object);
3570 (void)_this;
3571}
3572void NoOverlap2DConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
3573}
3574void NoOverlap2DConstraintProto::SetCachedSize(int size) const {
3575 _cached_size_.Set(size);
3576}
3577
3579// @@protoc_insertion_point(message_clear_start:operations_research.sat.NoOverlap2DConstraintProto)
3580 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3581 // Prevent compiler warnings about cached_has_bits being unused
3582 (void) cached_has_bits;
3583
3584 x_intervals_.Clear();
3585 y_intervals_.Clear();
3586 boxes_with_null_area_can_overlap_ = false;
3587 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3588}
3589
3590const char* NoOverlap2DConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
3591#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
3592 while (!ctx->Done(&ptr)) {
3593 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
3594 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
3595 switch (tag >> 3) {
3596 // repeated int32 x_intervals = 1;
3597 case 1:
3598 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
3599 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_x_intervals(), ptr, ctx);
3600 CHK_(ptr);
3601 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
3602 _internal_add_x_intervals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
3603 CHK_(ptr);
3604 } else
3605 goto handle_unusual;
3606 continue;
3607 // repeated int32 y_intervals = 2;
3608 case 2:
3609 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
3610 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_y_intervals(), ptr, ctx);
3611 CHK_(ptr);
3612 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) {
3613 _internal_add_y_intervals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
3614 CHK_(ptr);
3615 } else
3616 goto handle_unusual;
3617 continue;
3618 // bool boxes_with_null_area_can_overlap = 3;
3619 case 3:
3620 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
3621 boxes_with_null_area_can_overlap_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3622 CHK_(ptr);
3623 } else
3624 goto handle_unusual;
3625 continue;
3626 default:
3627 goto handle_unusual;
3628 } // switch
3629 handle_unusual:
3630 if ((tag == 0) || ((tag & 7) == 4)) {
3631 CHK_(ptr);
3632 ctx->SetLastTag(tag);
3633 goto message_done;
3634 }
3635 ptr = UnknownFieldParse(
3636 tag,
3637 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
3638 ptr, ctx);
3639 CHK_(ptr != nullptr);
3640 } // while
3641message_done:
3642 return ptr;
3643failure:
3644 ptr = nullptr;
3645 goto message_done;
3646#undef CHK_
3647}
3648
3650 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
3651 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.NoOverlap2DConstraintProto)
3652 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3653 (void) cached_has_bits;
3654
3655 // repeated int32 x_intervals = 1;
3656 {
3657 int byte_size = _x_intervals_cached_byte_size_.load(std::memory_order_relaxed);
3658 if (byte_size > 0) {
3659 target = stream->WriteInt32Packed(
3660 1, _internal_x_intervals(), byte_size, target);
3661 }
3662 }
3663
3664 // repeated int32 y_intervals = 2;
3665 {
3666 int byte_size = _y_intervals_cached_byte_size_.load(std::memory_order_relaxed);
3667 if (byte_size > 0) {
3668 target = stream->WriteInt32Packed(
3669 2, _internal_y_intervals(), byte_size, target);
3670 }
3671 }
3672
3673 // bool boxes_with_null_area_can_overlap = 3;
3674 if (this->_internal_boxes_with_null_area_can_overlap() != 0) {
3675 target = stream->EnsureSpace(target);
3676 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_boxes_with_null_area_can_overlap(), target);
3677 }
3678
3679 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
3680 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
3681 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
3682 }
3683 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.NoOverlap2DConstraintProto)
3684 return target;
3685}
3686
3688// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.NoOverlap2DConstraintProto)
3689 size_t total_size = 0;
3690
3691 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3692 // Prevent compiler warnings about cached_has_bits being unused
3693 (void) cached_has_bits;
3694
3695 // repeated int32 x_intervals = 1;
3696 {
3697 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
3698 Int32Size(this->x_intervals_);
3699 if (data_size > 0) {
3700 total_size += 1 +
3701 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
3702 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
3703 }
3704 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
3705 _x_intervals_cached_byte_size_.store(cached_size,
3706 std::memory_order_relaxed);
3707 total_size += data_size;
3708 }
3709
3710 // repeated int32 y_intervals = 2;
3711 {
3712 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
3713 Int32Size(this->y_intervals_);
3714 if (data_size > 0) {
3715 total_size += 1 +
3716 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
3717 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
3718 }
3719 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
3720 _y_intervals_cached_byte_size_.store(cached_size,
3721 std::memory_order_relaxed);
3722 total_size += data_size;
3723 }
3724
3725 // bool boxes_with_null_area_can_overlap = 3;
3726 if (this->_internal_boxes_with_null_area_can_overlap() != 0) {
3727 total_size += 1 + 1;
3728 }
3729
3730 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
3731}
3732
3733const ::PROTOBUF_NAMESPACE_ID::Message::ClassData NoOverlap2DConstraintProto::_class_data_ = {
3734 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
3735 NoOverlap2DConstraintProto::MergeImpl
3736};
3737const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*NoOverlap2DConstraintProto::GetClassData() const { return &_class_data_; }
3738
3739void NoOverlap2DConstraintProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
3740 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
3741 static_cast<NoOverlap2DConstraintProto *>(to)->MergeFrom(
3742 static_cast<const NoOverlap2DConstraintProto &>(from));
3743}
3744
3745
3747// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.NoOverlap2DConstraintProto)
3748 GOOGLE_DCHECK_NE(&from, this);
3749 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3750 (void) cached_has_bits;
3751
3752 x_intervals_.MergeFrom(from.x_intervals_);
3753 y_intervals_.MergeFrom(from.y_intervals_);
3754 if (from._internal_boxes_with_null_area_can_overlap() != 0) {
3755 _internal_set_boxes_with_null_area_can_overlap(from._internal_boxes_with_null_area_can_overlap());
3756 }
3757 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3758}
3759
3761// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.NoOverlap2DConstraintProto)
3762 if (&from == this) return;
3763 Clear();
3764 MergeFrom(from);
3765}
3766
3768 return true;
3769}
3770
3771void NoOverlap2DConstraintProto::InternalSwap(NoOverlap2DConstraintProto* other) {
3772 using std::swap;
3773 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
3774 x_intervals_.InternalSwap(&other->x_intervals_);
3775 y_intervals_.InternalSwap(&other->y_intervals_);
3776 swap(boxes_with_null_area_can_overlap_, other->boxes_with_null_area_can_overlap_);
3777}
3778
3779::PROTOBUF_NAMESPACE_ID::Metadata NoOverlap2DConstraintProto::GetMetadata() const {
3780 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
3783}
3784
3785// ===================================================================
3786
3788 public:
3789};
3790
3791CumulativeConstraintProto::CumulativeConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
3792 bool is_message_owned)
3793 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
3794 intervals_(arena),
3795 demands_(arena),
3796 energies_(arena) {
3797 SharedCtor();
3798 if (!is_message_owned) {
3799 RegisterArenaDtor(arena);
3800 }
3801 // @@protoc_insertion_point(arena_constructor:operations_research.sat.CumulativeConstraintProto)
3802}
3804 : ::PROTOBUF_NAMESPACE_ID::Message(),
3805 intervals_(from.intervals_),
3806 demands_(from.demands_),
3807 energies_(from.energies_) {
3808 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3809 capacity_ = from.capacity_;
3810 // @@protoc_insertion_point(copy_constructor:operations_research.sat.CumulativeConstraintProto)
3811}
3812
3813void CumulativeConstraintProto::SharedCtor() {
3814capacity_ = 0;
3815}
3816
3818 // @@protoc_insertion_point(destructor:operations_research.sat.CumulativeConstraintProto)
3819 if (GetArenaForAllocation() != nullptr) return;
3820 SharedDtor();
3821 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3822}
3823
3824inline void CumulativeConstraintProto::SharedDtor() {
3825 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
3826}
3827
3828void CumulativeConstraintProto::ArenaDtor(void* object) {
3829 CumulativeConstraintProto* _this = reinterpret_cast< CumulativeConstraintProto* >(object);
3830 (void)_this;
3831}
3832void CumulativeConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
3833}
3834void CumulativeConstraintProto::SetCachedSize(int size) const {
3835 _cached_size_.Set(size);
3836}
3837
3839// @@protoc_insertion_point(message_clear_start:operations_research.sat.CumulativeConstraintProto)
3840 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3841 // Prevent compiler warnings about cached_has_bits being unused
3842 (void) cached_has_bits;
3843
3844 intervals_.Clear();
3845 demands_.Clear();
3846 energies_.Clear();
3847 capacity_ = 0;
3848 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3849}
3850
3851const char* CumulativeConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
3852#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
3853 while (!ctx->Done(&ptr)) {
3854 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
3855 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
3856 switch (tag >> 3) {
3857 // int32 capacity = 1;
3858 case 1:
3859 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
3860 capacity_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3861 CHK_(ptr);
3862 } else
3863 goto handle_unusual;
3864 continue;
3865 // repeated int32 intervals = 2;
3866 case 2:
3867 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
3868 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_intervals(), ptr, ctx);
3869 CHK_(ptr);
3870 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) {
3871 _internal_add_intervals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
3872 CHK_(ptr);
3873 } else
3874 goto handle_unusual;
3875 continue;
3876 // repeated int32 demands = 3;
3877 case 3:
3878 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
3879 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_demands(), ptr, ctx);
3880 CHK_(ptr);
3881 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24) {
3882 _internal_add_demands(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
3883 CHK_(ptr);
3884 } else
3885 goto handle_unusual;
3886 continue;
3887 // repeated .operations_research.sat.LinearExpressionProto energies = 4;
3888 case 4:
3889 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
3890 ptr -= 1;
3891 do {
3892 ptr += 1;
3893 ptr = ctx->ParseMessage(_internal_add_energies(), ptr);
3894 CHK_(ptr);
3895 if (!ctx->DataAvailable(ptr)) break;
3896 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
3897 } else
3898 goto handle_unusual;
3899 continue;
3900 default:
3901 goto handle_unusual;
3902 } // switch
3903 handle_unusual:
3904 if ((tag == 0) || ((tag & 7) == 4)) {
3905 CHK_(ptr);
3906 ctx->SetLastTag(tag);
3907 goto message_done;
3908 }
3909 ptr = UnknownFieldParse(
3910 tag,
3911 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
3912 ptr, ctx);
3913 CHK_(ptr != nullptr);
3914 } // while
3915message_done:
3916 return ptr;
3917failure:
3918 ptr = nullptr;
3919 goto message_done;
3920#undef CHK_
3921}
3922
3924 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
3925 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.CumulativeConstraintProto)
3926 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3927 (void) cached_has_bits;
3928
3929 // int32 capacity = 1;
3930 if (this->_internal_capacity() != 0) {
3931 target = stream->EnsureSpace(target);
3932 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_capacity(), target);
3933 }
3934
3935 // repeated int32 intervals = 2;
3936 {
3937 int byte_size = _intervals_cached_byte_size_.load(std::memory_order_relaxed);
3938 if (byte_size > 0) {
3939 target = stream->WriteInt32Packed(
3940 2, _internal_intervals(), byte_size, target);
3941 }
3942 }
3943
3944 // repeated int32 demands = 3;
3945 {
3946 int byte_size = _demands_cached_byte_size_.load(std::memory_order_relaxed);
3947 if (byte_size > 0) {
3948 target = stream->WriteInt32Packed(
3949 3, _internal_demands(), byte_size, target);
3950 }
3951 }
3952
3953 // repeated .operations_research.sat.LinearExpressionProto energies = 4;
3954 for (unsigned int i = 0,
3955 n = static_cast<unsigned int>(this->_internal_energies_size()); i < n; i++) {
3956 target = stream->EnsureSpace(target);
3957 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
3958 InternalWriteMessage(4, this->_internal_energies(i), target, stream);
3959 }
3960
3961 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
3962 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
3963 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
3964 }
3965 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.CumulativeConstraintProto)
3966 return target;
3967}
3968
3970// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.CumulativeConstraintProto)
3971 size_t total_size = 0;
3972
3973 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3974 // Prevent compiler warnings about cached_has_bits being unused
3975 (void) cached_has_bits;
3976
3977 // repeated int32 intervals = 2;
3978 {
3979 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
3980 Int32Size(this->intervals_);
3981 if (data_size > 0) {
3982 total_size += 1 +
3983 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
3984 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
3985 }
3986 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
3987 _intervals_cached_byte_size_.store(cached_size,
3988 std::memory_order_relaxed);
3989 total_size += data_size;
3990 }
3991
3992 // repeated int32 demands = 3;
3993 {
3994 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
3995 Int32Size(this->demands_);
3996 if (data_size > 0) {
3997 total_size += 1 +
3998 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
3999 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
4000 }
4001 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4002 _demands_cached_byte_size_.store(cached_size,
4003 std::memory_order_relaxed);
4004 total_size += data_size;
4005 }
4006
4007 // repeated .operations_research.sat.LinearExpressionProto energies = 4;
4008 total_size += 1UL * this->_internal_energies_size();
4009 for (const auto& msg : this->energies_) {
4010 total_size +=
4011 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
4012 }
4013
4014 // int32 capacity = 1;
4015 if (this->_internal_capacity() != 0) {
4016 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_capacity());
4017 }
4018
4019 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
4020}
4021
4022const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CumulativeConstraintProto::_class_data_ = {
4023 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
4024 CumulativeConstraintProto::MergeImpl
4025};
4026const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CumulativeConstraintProto::GetClassData() const { return &_class_data_; }
4027
4028void CumulativeConstraintProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
4029 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
4030 static_cast<CumulativeConstraintProto *>(to)->MergeFrom(
4031 static_cast<const CumulativeConstraintProto &>(from));
4032}
4033
4034
4036// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.CumulativeConstraintProto)
4037 GOOGLE_DCHECK_NE(&from, this);
4038 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4039 (void) cached_has_bits;
4040
4041 intervals_.MergeFrom(from.intervals_);
4042 demands_.MergeFrom(from.demands_);
4043 energies_.MergeFrom(from.energies_);
4044 if (from._internal_capacity() != 0) {
4045 _internal_set_capacity(from._internal_capacity());
4046 }
4047 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
4048}
4049
4051// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.CumulativeConstraintProto)
4052 if (&from == this) return;
4053 Clear();
4054 MergeFrom(from);
4055}
4056
4058 return true;
4059}
4060
4061void CumulativeConstraintProto::InternalSwap(CumulativeConstraintProto* other) {
4062 using std::swap;
4063 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
4064 intervals_.InternalSwap(&other->intervals_);
4065 demands_.InternalSwap(&other->demands_);
4066 energies_.InternalSwap(&other->energies_);
4067 swap(capacity_, other->capacity_);
4068}
4069
4070::PROTOBUF_NAMESPACE_ID::Metadata CumulativeConstraintProto::GetMetadata() const {
4071 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
4074}
4075
4076// ===================================================================
4077
4079 public:
4080};
4081
4082ReservoirConstraintProto::ReservoirConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
4083 bool is_message_owned)
4084 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
4085 times_(arena),
4086 demands_(arena),
4087 actives_(arena) {
4088 SharedCtor();
4089 if (!is_message_owned) {
4090 RegisterArenaDtor(arena);
4091 }
4092 // @@protoc_insertion_point(arena_constructor:operations_research.sat.ReservoirConstraintProto)
4093}
4095 : ::PROTOBUF_NAMESPACE_ID::Message(),
4096 times_(from.times_),
4097 demands_(from.demands_),
4098 actives_(from.actives_) {
4099 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
4100 ::memcpy(&min_level_, &from.min_level_,
4101 static_cast<size_t>(reinterpret_cast<char*>(&max_level_) -
4102 reinterpret_cast<char*>(&min_level_)) + sizeof(max_level_));
4103 // @@protoc_insertion_point(copy_constructor:operations_research.sat.ReservoirConstraintProto)
4104}
4105
4106void ReservoirConstraintProto::SharedCtor() {
4107::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
4108 reinterpret_cast<char*>(&min_level_) - reinterpret_cast<char*>(this)),
4109 0, static_cast<size_t>(reinterpret_cast<char*>(&max_level_) -
4110 reinterpret_cast<char*>(&min_level_)) + sizeof(max_level_));
4111}
4112
4114 // @@protoc_insertion_point(destructor:operations_research.sat.ReservoirConstraintProto)
4115 if (GetArenaForAllocation() != nullptr) return;
4116 SharedDtor();
4117 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4118}
4119
4120inline void ReservoirConstraintProto::SharedDtor() {
4121 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
4122}
4123
4124void ReservoirConstraintProto::ArenaDtor(void* object) {
4125 ReservoirConstraintProto* _this = reinterpret_cast< ReservoirConstraintProto* >(object);
4126 (void)_this;
4127}
4128void ReservoirConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
4129}
4130void ReservoirConstraintProto::SetCachedSize(int size) const {
4131 _cached_size_.Set(size);
4132}
4133
4135// @@protoc_insertion_point(message_clear_start:operations_research.sat.ReservoirConstraintProto)
4136 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4137 // Prevent compiler warnings about cached_has_bits being unused
4138 (void) cached_has_bits;
4139
4140 times_.Clear();
4141 demands_.Clear();
4142 actives_.Clear();
4143 ::memset(&min_level_, 0, static_cast<size_t>(
4144 reinterpret_cast<char*>(&max_level_) -
4145 reinterpret_cast<char*>(&min_level_)) + sizeof(max_level_));
4146 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4147}
4148
4149const char* ReservoirConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
4150#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
4151 while (!ctx->Done(&ptr)) {
4152 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
4153 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
4154 switch (tag >> 3) {
4155 // int64 min_level = 1;
4156 case 1:
4157 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
4158 min_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
4159 CHK_(ptr);
4160 } else
4161 goto handle_unusual;
4162 continue;
4163 // int64 max_level = 2;
4164 case 2:
4165 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
4166 max_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
4167 CHK_(ptr);
4168 } else
4169 goto handle_unusual;
4170 continue;
4171 // repeated int32 times = 3;
4172 case 3:
4173 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
4174 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_times(), ptr, ctx);
4175 CHK_(ptr);
4176 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24) {
4177 _internal_add_times(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
4178 CHK_(ptr);
4179 } else
4180 goto handle_unusual;
4181 continue;
4182 // repeated int64 demands = 4;
4183 case 4:
4184 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
4185 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_demands(), ptr, ctx);
4186 CHK_(ptr);
4187 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32) {
4188 _internal_add_demands(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
4189 CHK_(ptr);
4190 } else
4191 goto handle_unusual;
4192 continue;
4193 // repeated int32 actives = 5;
4194 case 5:
4195 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
4196 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_actives(), ptr, ctx);
4197 CHK_(ptr);
4198 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40) {
4199 _internal_add_actives(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
4200 CHK_(ptr);
4201 } else
4202 goto handle_unusual;
4203 continue;
4204 default:
4205 goto handle_unusual;
4206 } // switch
4207 handle_unusual:
4208 if ((tag == 0) || ((tag & 7) == 4)) {
4209 CHK_(ptr);
4210 ctx->SetLastTag(tag);
4211 goto message_done;
4212 }
4213 ptr = UnknownFieldParse(
4214 tag,
4215 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
4216 ptr, ctx);
4217 CHK_(ptr != nullptr);
4218 } // while
4219message_done:
4220 return ptr;
4221failure:
4222 ptr = nullptr;
4223 goto message_done;
4224#undef CHK_
4225}
4226
4227::PROTOBUF_NAMESPACE_ID::uint8* ReservoirConstraintProto::_InternalSerialize(
4228 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
4229 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.ReservoirConstraintProto)
4230 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4231 (void) cached_has_bits;
4232
4233 // int64 min_level = 1;
4234 if (this->_internal_min_level() != 0) {
4235 target = stream->EnsureSpace(target);
4236 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(1, this->_internal_min_level(), target);
4237 }
4238
4239 // int64 max_level = 2;
4240 if (this->_internal_max_level() != 0) {
4241 target = stream->EnsureSpace(target);
4242 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->_internal_max_level(), target);
4243 }
4244
4245 // repeated int32 times = 3;
4246 {
4247 int byte_size = _times_cached_byte_size_.load(std::memory_order_relaxed);
4248 if (byte_size > 0) {
4249 target = stream->WriteInt32Packed(
4250 3, _internal_times(), byte_size, target);
4251 }
4252 }
4253
4254 // repeated int64 demands = 4;
4255 {
4256 int byte_size = _demands_cached_byte_size_.load(std::memory_order_relaxed);
4257 if (byte_size > 0) {
4258 target = stream->WriteInt64Packed(
4259 4, _internal_demands(), byte_size, target);
4260 }
4261 }
4262
4263 // repeated int32 actives = 5;
4264 {
4265 int byte_size = _actives_cached_byte_size_.load(std::memory_order_relaxed);
4266 if (byte_size > 0) {
4267 target = stream->WriteInt32Packed(
4268 5, _internal_actives(), byte_size, target);
4269 }
4270 }
4271
4272 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
4273 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
4274 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
4275 }
4276 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.ReservoirConstraintProto)
4277 return target;
4278}
4279
4281// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.ReservoirConstraintProto)
4282 size_t total_size = 0;
4283
4284 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4285 // Prevent compiler warnings about cached_has_bits being unused
4286 (void) cached_has_bits;
4287
4288 // repeated int32 times = 3;
4289 {
4290 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4291 Int32Size(this->times_);
4292 if (data_size > 0) {
4293 total_size += 1 +
4294 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4295 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
4296 }
4297 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4298 _times_cached_byte_size_.store(cached_size,
4299 std::memory_order_relaxed);
4300 total_size += data_size;
4301 }
4302
4303 // repeated int64 demands = 4;
4304 {
4305 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4306 Int64Size(this->demands_);
4307 if (data_size > 0) {
4308 total_size += 1 +
4309 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4310 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
4311 }
4312 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4313 _demands_cached_byte_size_.store(cached_size,
4314 std::memory_order_relaxed);
4315 total_size += data_size;
4316 }
4317
4318 // repeated int32 actives = 5;
4319 {
4320 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4321 Int32Size(this->actives_);
4322 if (data_size > 0) {
4323 total_size += 1 +
4324 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4325 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
4326 }
4327 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4328 _actives_cached_byte_size_.store(cached_size,
4329 std::memory_order_relaxed);
4330 total_size += data_size;
4331 }
4332
4333 // int64 min_level = 1;
4334 if (this->_internal_min_level() != 0) {
4335 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_min_level());
4336 }
4337
4338 // int64 max_level = 2;
4339 if (this->_internal_max_level() != 0) {
4340 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_max_level());
4341 }
4342
4343 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
4344}
4345
4346const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ReservoirConstraintProto::_class_data_ = {
4347 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
4348 ReservoirConstraintProto::MergeImpl
4349};
4350const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ReservoirConstraintProto::GetClassData() const { return &_class_data_; }
4351
4352void ReservoirConstraintProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
4353 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
4354 static_cast<ReservoirConstraintProto *>(to)->MergeFrom(
4355 static_cast<const ReservoirConstraintProto &>(from));
4356}
4357
4358
4360// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.ReservoirConstraintProto)
4361 GOOGLE_DCHECK_NE(&from, this);
4362 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4363 (void) cached_has_bits;
4364
4365 times_.MergeFrom(from.times_);
4366 demands_.MergeFrom(from.demands_);
4367 actives_.MergeFrom(from.actives_);
4368 if (from._internal_min_level() != 0) {
4369 _internal_set_min_level(from._internal_min_level());
4370 }
4371 if (from._internal_max_level() != 0) {
4372 _internal_set_max_level(from._internal_max_level());
4373 }
4374 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
4375}
4376
4378// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.ReservoirConstraintProto)
4379 if (&from == this) return;
4380 Clear();
4381 MergeFrom(from);
4382}
4383
4385 return true;
4386}
4387
4388void ReservoirConstraintProto::InternalSwap(ReservoirConstraintProto* other) {
4389 using std::swap;
4390 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
4391 times_.InternalSwap(&other->times_);
4392 demands_.InternalSwap(&other->demands_);
4393 actives_.InternalSwap(&other->actives_);
4394 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
4395 PROTOBUF_FIELD_OFFSET(ReservoirConstraintProto, max_level_)
4396 + sizeof(ReservoirConstraintProto::max_level_)
4397 - PROTOBUF_FIELD_OFFSET(ReservoirConstraintProto, min_level_)>(
4398 reinterpret_cast<char*>(&min_level_),
4399 reinterpret_cast<char*>(&other->min_level_));
4400}
4401
4402::PROTOBUF_NAMESPACE_ID::Metadata ReservoirConstraintProto::GetMetadata() const {
4403 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
4406}
4407
4408// ===================================================================
4409
4411 public:
4412};
4413
4414CircuitConstraintProto::CircuitConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
4415 bool is_message_owned)
4416 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
4417 tails_(arena),
4418 heads_(arena),
4419 literals_(arena) {
4420 SharedCtor();
4421 if (!is_message_owned) {
4422 RegisterArenaDtor(arena);
4423 }
4424 // @@protoc_insertion_point(arena_constructor:operations_research.sat.CircuitConstraintProto)
4425}
4427 : ::PROTOBUF_NAMESPACE_ID::Message(),
4428 tails_(from.tails_),
4429 heads_(from.heads_),
4430 literals_(from.literals_) {
4431 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
4432 // @@protoc_insertion_point(copy_constructor:operations_research.sat.CircuitConstraintProto)
4433}
4434
4435void CircuitConstraintProto::SharedCtor() {
4436}
4437
4439 // @@protoc_insertion_point(destructor:operations_research.sat.CircuitConstraintProto)
4440 if (GetArenaForAllocation() != nullptr) return;
4441 SharedDtor();
4442 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4443}
4444
4445inline void CircuitConstraintProto::SharedDtor() {
4446 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
4447}
4448
4449void CircuitConstraintProto::ArenaDtor(void* object) {
4450 CircuitConstraintProto* _this = reinterpret_cast< CircuitConstraintProto* >(object);
4451 (void)_this;
4452}
4453void CircuitConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
4454}
4455void CircuitConstraintProto::SetCachedSize(int size) const {
4456 _cached_size_.Set(size);
4457}
4458
4460// @@protoc_insertion_point(message_clear_start:operations_research.sat.CircuitConstraintProto)
4461 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4462 // Prevent compiler warnings about cached_has_bits being unused
4463 (void) cached_has_bits;
4464
4465 tails_.Clear();
4466 heads_.Clear();
4467 literals_.Clear();
4468 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4469}
4470
4471const char* CircuitConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
4472#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
4473 while (!ctx->Done(&ptr)) {
4474 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
4475 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
4476 switch (tag >> 3) {
4477 // repeated int32 tails = 3;
4478 case 3:
4479 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
4480 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_tails(), ptr, ctx);
4481 CHK_(ptr);
4482 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24) {
4483 _internal_add_tails(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
4484 CHK_(ptr);
4485 } else
4486 goto handle_unusual;
4487 continue;
4488 // repeated int32 heads = 4;
4489 case 4:
4490 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
4491 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_heads(), ptr, ctx);
4492 CHK_(ptr);
4493 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32) {
4494 _internal_add_heads(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
4495 CHK_(ptr);
4496 } else
4497 goto handle_unusual;
4498 continue;
4499 // repeated int32 literals = 5;
4500 case 5:
4501 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
4502 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_literals(), ptr, ctx);
4503 CHK_(ptr);
4504 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40) {
4505 _internal_add_literals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
4506 CHK_(ptr);
4507 } else
4508 goto handle_unusual;
4509 continue;
4510 default:
4511 goto handle_unusual;
4512 } // switch
4513 handle_unusual:
4514 if ((tag == 0) || ((tag & 7) == 4)) {
4515 CHK_(ptr);
4516 ctx->SetLastTag(tag);
4517 goto message_done;
4518 }
4519 ptr = UnknownFieldParse(
4520 tag,
4521 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
4522 ptr, ctx);
4523 CHK_(ptr != nullptr);
4524 } // while
4525message_done:
4526 return ptr;
4527failure:
4528 ptr = nullptr;
4529 goto message_done;
4530#undef CHK_
4531}
4532
4533::PROTOBUF_NAMESPACE_ID::uint8* CircuitConstraintProto::_InternalSerialize(
4534 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
4535 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.CircuitConstraintProto)
4536 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4537 (void) cached_has_bits;
4538
4539 // repeated int32 tails = 3;
4540 {
4541 int byte_size = _tails_cached_byte_size_.load(std::memory_order_relaxed);
4542 if (byte_size > 0) {
4543 target = stream->WriteInt32Packed(
4544 3, _internal_tails(), byte_size, target);
4545 }
4546 }
4547
4548 // repeated int32 heads = 4;
4549 {
4550 int byte_size = _heads_cached_byte_size_.load(std::memory_order_relaxed);
4551 if (byte_size > 0) {
4552 target = stream->WriteInt32Packed(
4553 4, _internal_heads(), byte_size, target);
4554 }
4555 }
4556
4557 // repeated int32 literals = 5;
4558 {
4559 int byte_size = _literals_cached_byte_size_.load(std::memory_order_relaxed);
4560 if (byte_size > 0) {
4561 target = stream->WriteInt32Packed(
4562 5, _internal_literals(), byte_size, target);
4563 }
4564 }
4565
4566 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
4567 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
4568 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
4569 }
4570 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.CircuitConstraintProto)
4571 return target;
4572}
4573
4575// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.CircuitConstraintProto)
4576 size_t total_size = 0;
4577
4578 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4579 // Prevent compiler warnings about cached_has_bits being unused
4580 (void) cached_has_bits;
4581
4582 // repeated int32 tails = 3;
4583 {
4584 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4585 Int32Size(this->tails_);
4586 if (data_size > 0) {
4587 total_size += 1 +
4588 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4589 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
4590 }
4591 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4592 _tails_cached_byte_size_.store(cached_size,
4593 std::memory_order_relaxed);
4594 total_size += data_size;
4595 }
4596
4597 // repeated int32 heads = 4;
4598 {
4599 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4600 Int32Size(this->heads_);
4601 if (data_size > 0) {
4602 total_size += 1 +
4603 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4604 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
4605 }
4606 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4607 _heads_cached_byte_size_.store(cached_size,
4608 std::memory_order_relaxed);
4609 total_size += data_size;
4610 }
4611
4612 // repeated int32 literals = 5;
4613 {
4614 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4615 Int32Size(this->literals_);
4616 if (data_size > 0) {
4617 total_size += 1 +
4618 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4619 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
4620 }
4621 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4622 _literals_cached_byte_size_.store(cached_size,
4623 std::memory_order_relaxed);
4624 total_size += data_size;
4625 }
4626
4627 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
4628}
4629
4630const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CircuitConstraintProto::_class_data_ = {
4631 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
4632 CircuitConstraintProto::MergeImpl
4633};
4634const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CircuitConstraintProto::GetClassData() const { return &_class_data_; }
4635
4636void CircuitConstraintProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
4637 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
4638 static_cast<CircuitConstraintProto *>(to)->MergeFrom(
4639 static_cast<const CircuitConstraintProto &>(from));
4640}
4641
4642
4644// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.CircuitConstraintProto)
4645 GOOGLE_DCHECK_NE(&from, this);
4646 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4647 (void) cached_has_bits;
4648
4649 tails_.MergeFrom(from.tails_);
4650 heads_.MergeFrom(from.heads_);
4651 literals_.MergeFrom(from.literals_);
4652 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
4653}
4654
4656// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.CircuitConstraintProto)
4657 if (&from == this) return;
4658 Clear();
4659 MergeFrom(from);
4660}
4661
4663 return true;
4664}
4665
4666void CircuitConstraintProto::InternalSwap(CircuitConstraintProto* other) {
4667 using std::swap;
4668 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
4669 tails_.InternalSwap(&other->tails_);
4670 heads_.InternalSwap(&other->heads_);
4671 literals_.InternalSwap(&other->literals_);
4672}
4673
4674::PROTOBUF_NAMESPACE_ID::Metadata CircuitConstraintProto::GetMetadata() const {
4675 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
4678}
4679
4680// ===================================================================
4681
4683 public:
4684};
4685
4686RoutesConstraintProto::RoutesConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
4687 bool is_message_owned)
4688 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
4689 tails_(arena),
4690 heads_(arena),
4691 literals_(arena),
4692 demands_(arena) {
4693 SharedCtor();
4694 if (!is_message_owned) {
4695 RegisterArenaDtor(arena);
4696 }
4697 // @@protoc_insertion_point(arena_constructor:operations_research.sat.RoutesConstraintProto)
4698}
4700 : ::PROTOBUF_NAMESPACE_ID::Message(),
4701 tails_(from.tails_),
4702 heads_(from.heads_),
4703 literals_(from.literals_),
4704 demands_(from.demands_) {
4705 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
4706 capacity_ = from.capacity_;
4707 // @@protoc_insertion_point(copy_constructor:operations_research.sat.RoutesConstraintProto)
4708}
4709
4710void RoutesConstraintProto::SharedCtor() {
4711capacity_ = int64_t{0};
4712}
4713
4715 // @@protoc_insertion_point(destructor:operations_research.sat.RoutesConstraintProto)
4716 if (GetArenaForAllocation() != nullptr) return;
4717 SharedDtor();
4718 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4719}
4720
4721inline void RoutesConstraintProto::SharedDtor() {
4722 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
4723}
4724
4725void RoutesConstraintProto::ArenaDtor(void* object) {
4726 RoutesConstraintProto* _this = reinterpret_cast< RoutesConstraintProto* >(object);
4727 (void)_this;
4728}
4729void RoutesConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
4730}
4731void RoutesConstraintProto::SetCachedSize(int size) const {
4732 _cached_size_.Set(size);
4733}
4734
4736// @@protoc_insertion_point(message_clear_start:operations_research.sat.RoutesConstraintProto)
4737 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4738 // Prevent compiler warnings about cached_has_bits being unused
4739 (void) cached_has_bits;
4740
4741 tails_.Clear();
4742 heads_.Clear();
4743 literals_.Clear();
4744 demands_.Clear();
4745 capacity_ = int64_t{0};
4746 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4747}
4748
4749const char* RoutesConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
4750#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
4751 while (!ctx->Done(&ptr)) {
4752 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
4753 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
4754 switch (tag >> 3) {
4755 // repeated int32 tails = 1;
4756 case 1:
4757 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
4758 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_tails(), ptr, ctx);
4759 CHK_(ptr);
4760 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
4761 _internal_add_tails(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
4762 CHK_(ptr);
4763 } else
4764 goto handle_unusual;
4765 continue;
4766 // repeated int32 heads = 2;
4767 case 2:
4768 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
4769 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_heads(), ptr, ctx);
4770 CHK_(ptr);
4771 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) {
4772 _internal_add_heads(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
4773 CHK_(ptr);
4774 } else
4775 goto handle_unusual;
4776 continue;
4777 // repeated int32 literals = 3;
4778 case 3:
4779 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
4780 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_literals(), ptr, ctx);
4781 CHK_(ptr);
4782 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24) {
4783 _internal_add_literals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
4784 CHK_(ptr);
4785 } else
4786 goto handle_unusual;
4787 continue;
4788 // repeated int32 demands = 4;
4789 case 4:
4790 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
4791 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_demands(), ptr, ctx);
4792 CHK_(ptr);
4793 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32) {
4794 _internal_add_demands(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
4795 CHK_(ptr);
4796 } else
4797 goto handle_unusual;
4798 continue;
4799 // int64 capacity = 5;
4800 case 5:
4801 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
4802 capacity_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
4803 CHK_(ptr);
4804 } else
4805 goto handle_unusual;
4806 continue;
4807 default:
4808 goto handle_unusual;
4809 } // switch
4810 handle_unusual:
4811 if ((tag == 0) || ((tag & 7) == 4)) {
4812 CHK_(ptr);
4813 ctx->SetLastTag(tag);
4814 goto message_done;
4815 }
4816 ptr = UnknownFieldParse(
4817 tag,
4818 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
4819 ptr, ctx);
4820 CHK_(ptr != nullptr);
4821 } // while
4822message_done:
4823 return ptr;
4824failure:
4825 ptr = nullptr;
4826 goto message_done;
4827#undef CHK_
4828}
4829
4830::PROTOBUF_NAMESPACE_ID::uint8* RoutesConstraintProto::_InternalSerialize(
4831 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
4832 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.RoutesConstraintProto)
4833 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4834 (void) cached_has_bits;
4835
4836 // repeated int32 tails = 1;
4837 {
4838 int byte_size = _tails_cached_byte_size_.load(std::memory_order_relaxed);
4839 if (byte_size > 0) {
4840 target = stream->WriteInt32Packed(
4841 1, _internal_tails(), byte_size, target);
4842 }
4843 }
4844
4845 // repeated int32 heads = 2;
4846 {
4847 int byte_size = _heads_cached_byte_size_.load(std::memory_order_relaxed);
4848 if (byte_size > 0) {
4849 target = stream->WriteInt32Packed(
4850 2, _internal_heads(), byte_size, target);
4851 }
4852 }
4853
4854 // repeated int32 literals = 3;
4855 {
4856 int byte_size = _literals_cached_byte_size_.load(std::memory_order_relaxed);
4857 if (byte_size > 0) {
4858 target = stream->WriteInt32Packed(
4859 3, _internal_literals(), byte_size, target);
4860 }
4861 }
4862
4863 // repeated int32 demands = 4;
4864 {
4865 int byte_size = _demands_cached_byte_size_.load(std::memory_order_relaxed);
4866 if (byte_size > 0) {
4867 target = stream->WriteInt32Packed(
4868 4, _internal_demands(), byte_size, target);
4869 }
4870 }
4871
4872 // int64 capacity = 5;
4873 if (this->_internal_capacity() != 0) {
4874 target = stream->EnsureSpace(target);
4875 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(5, this->_internal_capacity(), target);
4876 }
4877
4878 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
4879 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
4880 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
4881 }
4882 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.RoutesConstraintProto)
4883 return target;
4884}
4885
4887// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.RoutesConstraintProto)
4888 size_t total_size = 0;
4889
4890 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4891 // Prevent compiler warnings about cached_has_bits being unused
4892 (void) cached_has_bits;
4893
4894 // repeated int32 tails = 1;
4895 {
4896 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4897 Int32Size(this->tails_);
4898 if (data_size > 0) {
4899 total_size += 1 +
4900 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4901 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
4902 }
4903 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4904 _tails_cached_byte_size_.store(cached_size,
4905 std::memory_order_relaxed);
4906 total_size += data_size;
4907 }
4908
4909 // repeated int32 heads = 2;
4910 {
4911 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4912 Int32Size(this->heads_);
4913 if (data_size > 0) {
4914 total_size += 1 +
4915 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4916 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
4917 }
4918 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4919 _heads_cached_byte_size_.store(cached_size,
4920 std::memory_order_relaxed);
4921 total_size += data_size;
4922 }
4923
4924 // repeated int32 literals = 3;
4925 {
4926 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4927 Int32Size(this->literals_);
4928 if (data_size > 0) {
4929 total_size += 1 +
4930 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4931 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
4932 }
4933 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4934 _literals_cached_byte_size_.store(cached_size,
4935 std::memory_order_relaxed);
4936 total_size += data_size;
4937 }
4938
4939 // repeated int32 demands = 4;
4940 {
4941 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4942 Int32Size(this->demands_);
4943 if (data_size > 0) {
4944 total_size += 1 +
4945 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4946 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
4947 }
4948 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4949 _demands_cached_byte_size_.store(cached_size,
4950 std::memory_order_relaxed);
4951 total_size += data_size;
4952 }
4953
4954 // int64 capacity = 5;
4955 if (this->_internal_capacity() != 0) {
4956 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_capacity());
4957 }
4958
4959 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
4960}
4961
4962const ::PROTOBUF_NAMESPACE_ID::Message::ClassData RoutesConstraintProto::_class_data_ = {
4963 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
4964 RoutesConstraintProto::MergeImpl
4965};
4966const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RoutesConstraintProto::GetClassData() const { return &_class_data_; }
4967
4968void RoutesConstraintProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
4969 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
4970 static_cast<RoutesConstraintProto *>(to)->MergeFrom(
4971 static_cast<const RoutesConstraintProto &>(from));
4972}
4973
4974
4976// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.RoutesConstraintProto)
4977 GOOGLE_DCHECK_NE(&from, this);
4978 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4979 (void) cached_has_bits;
4980
4981 tails_.MergeFrom(from.tails_);
4982 heads_.MergeFrom(from.heads_);
4983 literals_.MergeFrom(from.literals_);
4984 demands_.MergeFrom(from.demands_);
4985 if (from._internal_capacity() != 0) {
4986 _internal_set_capacity(from._internal_capacity());
4987 }
4988 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
4989}
4990
4992// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.RoutesConstraintProto)
4993 if (&from == this) return;
4994 Clear();
4995 MergeFrom(from);
4996}
4997
4999 return true;
5000}
5001
5002void RoutesConstraintProto::InternalSwap(RoutesConstraintProto* other) {
5003 using std::swap;
5004 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
5005 tails_.InternalSwap(&other->tails_);
5006 heads_.InternalSwap(&other->heads_);
5007 literals_.InternalSwap(&other->literals_);
5008 demands_.InternalSwap(&other->demands_);
5009 swap(capacity_, other->capacity_);
5010}
5011
5012::PROTOBUF_NAMESPACE_ID::Metadata RoutesConstraintProto::GetMetadata() const {
5013 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
5016}
5017
5018// ===================================================================
5019
5021 public:
5022};
5023
5024TableConstraintProto::TableConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
5025 bool is_message_owned)
5026 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
5027 vars_(arena),
5028 values_(arena) {
5029 SharedCtor();
5030 if (!is_message_owned) {
5031 RegisterArenaDtor(arena);
5032 }
5033 // @@protoc_insertion_point(arena_constructor:operations_research.sat.TableConstraintProto)
5034}
5036 : ::PROTOBUF_NAMESPACE_ID::Message(),
5037 vars_(from.vars_),
5038 values_(from.values_) {
5039 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
5040 negated_ = from.negated_;
5041 // @@protoc_insertion_point(copy_constructor:operations_research.sat.TableConstraintProto)
5042}
5043
5044void TableConstraintProto::SharedCtor() {
5045negated_ = false;
5046}
5047
5049 // @@protoc_insertion_point(destructor:operations_research.sat.TableConstraintProto)
5050 if (GetArenaForAllocation() != nullptr) return;
5051 SharedDtor();
5052 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
5053}
5054
5055inline void TableConstraintProto::SharedDtor() {
5056 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
5057}
5058
5059void TableConstraintProto::ArenaDtor(void* object) {
5060 TableConstraintProto* _this = reinterpret_cast< TableConstraintProto* >(object);
5061 (void)_this;
5062}
5063void TableConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
5064}
5065void TableConstraintProto::SetCachedSize(int size) const {
5066 _cached_size_.Set(size);
5067}
5068
5070// @@protoc_insertion_point(message_clear_start:operations_research.sat.TableConstraintProto)
5071 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5072 // Prevent compiler warnings about cached_has_bits being unused
5073 (void) cached_has_bits;
5074
5075 vars_.Clear();
5076 values_.Clear();
5077 negated_ = false;
5078 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
5079}
5080
5081const char* TableConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
5082#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
5083 while (!ctx->Done(&ptr)) {
5084 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
5085 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
5086 switch (tag >> 3) {
5087 // repeated int32 vars = 1;
5088 case 1:
5089 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
5090 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_vars(), ptr, ctx);
5091 CHK_(ptr);
5092 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
5093 _internal_add_vars(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
5094 CHK_(ptr);
5095 } else
5096 goto handle_unusual;
5097 continue;
5098 // repeated int64 values = 2;
5099 case 2:
5100 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
5101 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_values(), ptr, ctx);
5102 CHK_(ptr);
5103 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) {
5104 _internal_add_values(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
5105 CHK_(ptr);
5106 } else
5107 goto handle_unusual;
5108 continue;
5109 // bool negated = 3;
5110 case 3:
5111 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
5112 negated_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
5113 CHK_(ptr);
5114 } else
5115 goto handle_unusual;
5116 continue;
5117 default:
5118 goto handle_unusual;
5119 } // switch
5120 handle_unusual:
5121 if ((tag == 0) || ((tag & 7) == 4)) {
5122 CHK_(ptr);
5123 ctx->SetLastTag(tag);
5124 goto message_done;
5125 }
5126 ptr = UnknownFieldParse(
5127 tag,
5128 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
5129 ptr, ctx);
5130 CHK_(ptr != nullptr);
5131 } // while
5132message_done:
5133 return ptr;
5134failure:
5135 ptr = nullptr;
5136 goto message_done;
5137#undef CHK_
5138}
5139
5140::PROTOBUF_NAMESPACE_ID::uint8* TableConstraintProto::_InternalSerialize(
5141 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
5142 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.TableConstraintProto)
5143 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5144 (void) cached_has_bits;
5145
5146 // repeated int32 vars = 1;
5147 {
5148 int byte_size = _vars_cached_byte_size_.load(std::memory_order_relaxed);
5149 if (byte_size > 0) {
5150 target = stream->WriteInt32Packed(
5151 1, _internal_vars(), byte_size, target);
5152 }
5153 }
5154
5155 // repeated int64 values = 2;
5156 {
5157 int byte_size = _values_cached_byte_size_.load(std::memory_order_relaxed);
5158 if (byte_size > 0) {
5159 target = stream->WriteInt64Packed(
5160 2, _internal_values(), byte_size, target);
5161 }
5162 }
5163
5164 // bool negated = 3;
5165 if (this->_internal_negated() != 0) {
5166 target = stream->EnsureSpace(target);
5167 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_negated(), target);
5168 }
5169
5170 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
5171 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
5172 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
5173 }
5174 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.TableConstraintProto)
5175 return target;
5176}
5177
5179// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.TableConstraintProto)
5180 size_t total_size = 0;
5181
5182 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5183 // Prevent compiler warnings about cached_has_bits being unused
5184 (void) cached_has_bits;
5185
5186 // repeated int32 vars = 1;
5187 {
5188 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5189 Int32Size(this->vars_);
5190 if (data_size > 0) {
5191 total_size += 1 +
5192 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5193 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
5194 }
5195 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
5196 _vars_cached_byte_size_.store(cached_size,
5197 std::memory_order_relaxed);
5198 total_size += data_size;
5199 }
5200
5201 // repeated int64 values = 2;
5202 {
5203 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5204 Int64Size(this->values_);
5205 if (data_size > 0) {
5206 total_size += 1 +
5207 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5208 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
5209 }
5210 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
5211 _values_cached_byte_size_.store(cached_size,
5212 std::memory_order_relaxed);
5213 total_size += data_size;
5214 }
5215
5216 // bool negated = 3;
5217 if (this->_internal_negated() != 0) {
5218 total_size += 1 + 1;
5219 }
5220
5221 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
5222}
5223
5224const ::PROTOBUF_NAMESPACE_ID::Message::ClassData TableConstraintProto::_class_data_ = {
5225 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
5226 TableConstraintProto::MergeImpl
5227};
5228const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*TableConstraintProto::GetClassData() const { return &_class_data_; }
5229
5230void TableConstraintProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
5231 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
5232 static_cast<TableConstraintProto *>(to)->MergeFrom(
5233 static_cast<const TableConstraintProto &>(from));
5234}
5235
5236
5238// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.TableConstraintProto)
5239 GOOGLE_DCHECK_NE(&from, this);
5240 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5241 (void) cached_has_bits;
5242
5243 vars_.MergeFrom(from.vars_);
5244 values_.MergeFrom(from.values_);
5245 if (from._internal_negated() != 0) {
5246 _internal_set_negated(from._internal_negated());
5247 }
5248 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
5249}
5250
5252// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.TableConstraintProto)
5253 if (&from == this) return;
5254 Clear();
5255 MergeFrom(from);
5256}
5257
5259 return true;
5260}
5261
5262void TableConstraintProto::InternalSwap(TableConstraintProto* other) {
5263 using std::swap;
5264 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
5265 vars_.InternalSwap(&other->vars_);
5266 values_.InternalSwap(&other->values_);
5267 swap(negated_, other->negated_);
5268}
5269
5270::PROTOBUF_NAMESPACE_ID::Metadata TableConstraintProto::GetMetadata() const {
5271 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
5274}
5275
5276// ===================================================================
5277
5279 public:
5280};
5281
5282InverseConstraintProto::InverseConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
5283 bool is_message_owned)
5284 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
5285 f_direct_(arena),
5286 f_inverse_(arena) {
5287 SharedCtor();
5288 if (!is_message_owned) {
5289 RegisterArenaDtor(arena);
5290 }
5291 // @@protoc_insertion_point(arena_constructor:operations_research.sat.InverseConstraintProto)
5292}
5294 : ::PROTOBUF_NAMESPACE_ID::Message(),
5295 f_direct_(from.f_direct_),
5296 f_inverse_(from.f_inverse_) {
5297 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
5298 // @@protoc_insertion_point(copy_constructor:operations_research.sat.InverseConstraintProto)
5299}
5300
5301void InverseConstraintProto::SharedCtor() {
5302}
5303
5305 // @@protoc_insertion_point(destructor:operations_research.sat.InverseConstraintProto)
5306 if (GetArenaForAllocation() != nullptr) return;
5307 SharedDtor();
5308 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
5309}
5310
5311inline void InverseConstraintProto::SharedDtor() {
5312 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
5313}
5314
5315void InverseConstraintProto::ArenaDtor(void* object) {
5316 InverseConstraintProto* _this = reinterpret_cast< InverseConstraintProto* >(object);
5317 (void)_this;
5318}
5319void InverseConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
5320}
5321void InverseConstraintProto::SetCachedSize(int size) const {
5322 _cached_size_.Set(size);
5323}
5324
5326// @@protoc_insertion_point(message_clear_start:operations_research.sat.InverseConstraintProto)
5327 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5328 // Prevent compiler warnings about cached_has_bits being unused
5329 (void) cached_has_bits;
5330
5331 f_direct_.Clear();
5332 f_inverse_.Clear();
5333 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
5334}
5335
5336const char* InverseConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
5337#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
5338 while (!ctx->Done(&ptr)) {
5339 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
5340 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
5341 switch (tag >> 3) {
5342 // repeated int32 f_direct = 1;
5343 case 1:
5344 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
5345 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_f_direct(), ptr, ctx);
5346 CHK_(ptr);
5347 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
5348 _internal_add_f_direct(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
5349 CHK_(ptr);
5350 } else
5351 goto handle_unusual;
5352 continue;
5353 // repeated int32 f_inverse = 2;
5354 case 2:
5355 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
5356 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_f_inverse(), ptr, ctx);
5357 CHK_(ptr);
5358 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) {
5359 _internal_add_f_inverse(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
5360 CHK_(ptr);
5361 } else
5362 goto handle_unusual;
5363 continue;
5364 default:
5365 goto handle_unusual;
5366 } // switch
5367 handle_unusual:
5368 if ((tag == 0) || ((tag & 7) == 4)) {
5369 CHK_(ptr);
5370 ctx->SetLastTag(tag);
5371 goto message_done;
5372 }
5373 ptr = UnknownFieldParse(
5374 tag,
5375 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
5376 ptr, ctx);
5377 CHK_(ptr != nullptr);
5378 } // while
5379message_done:
5380 return ptr;
5381failure:
5382 ptr = nullptr;
5383 goto message_done;
5384#undef CHK_
5385}
5386
5387::PROTOBUF_NAMESPACE_ID::uint8* InverseConstraintProto::_InternalSerialize(
5388 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
5389 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.InverseConstraintProto)
5390 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5391 (void) cached_has_bits;
5392
5393 // repeated int32 f_direct = 1;
5394 {
5395 int byte_size = _f_direct_cached_byte_size_.load(std::memory_order_relaxed);
5396 if (byte_size > 0) {
5397 target = stream->WriteInt32Packed(
5398 1, _internal_f_direct(), byte_size, target);
5399 }
5400 }
5401
5402 // repeated int32 f_inverse = 2;
5403 {
5404 int byte_size = _f_inverse_cached_byte_size_.load(std::memory_order_relaxed);
5405 if (byte_size > 0) {
5406 target = stream->WriteInt32Packed(
5407 2, _internal_f_inverse(), byte_size, target);
5408 }
5409 }
5410
5411 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
5412 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
5413 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
5414 }
5415 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.InverseConstraintProto)
5416 return target;
5417}
5418
5420// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.InverseConstraintProto)
5421 size_t total_size = 0;
5422
5423 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5424 // Prevent compiler warnings about cached_has_bits being unused
5425 (void) cached_has_bits;
5426
5427 // repeated int32 f_direct = 1;
5428 {
5429 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5430 Int32Size(this->f_direct_);
5431 if (data_size > 0) {
5432 total_size += 1 +
5433 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5434 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
5435 }
5436 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
5437 _f_direct_cached_byte_size_.store(cached_size,
5438 std::memory_order_relaxed);
5439 total_size += data_size;
5440 }
5441
5442 // repeated int32 f_inverse = 2;
5443 {
5444 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5445 Int32Size(this->f_inverse_);
5446 if (data_size > 0) {
5447 total_size += 1 +
5448 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5449 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
5450 }
5451 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
5452 _f_inverse_cached_byte_size_.store(cached_size,
5453 std::memory_order_relaxed);
5454 total_size += data_size;
5455 }
5456
5457 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
5458}
5459
5460const ::PROTOBUF_NAMESPACE_ID::Message::ClassData InverseConstraintProto::_class_data_ = {
5461 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
5462 InverseConstraintProto::MergeImpl
5463};
5464const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*InverseConstraintProto::GetClassData() const { return &_class_data_; }
5465
5466void InverseConstraintProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
5467 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
5468 static_cast<InverseConstraintProto *>(to)->MergeFrom(
5469 static_cast<const InverseConstraintProto &>(from));
5470}
5471
5472
5474// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.InverseConstraintProto)
5475 GOOGLE_DCHECK_NE(&from, this);
5476 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5477 (void) cached_has_bits;
5478
5479 f_direct_.MergeFrom(from.f_direct_);
5480 f_inverse_.MergeFrom(from.f_inverse_);
5481 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
5482}
5483
5485// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.InverseConstraintProto)
5486 if (&from == this) return;
5487 Clear();
5488 MergeFrom(from);
5489}
5490
5492 return true;
5493}
5494
5495void InverseConstraintProto::InternalSwap(InverseConstraintProto* other) {
5496 using std::swap;
5497 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
5498 f_direct_.InternalSwap(&other->f_direct_);
5499 f_inverse_.InternalSwap(&other->f_inverse_);
5500}
5501
5502::PROTOBUF_NAMESPACE_ID::Metadata InverseConstraintProto::GetMetadata() const {
5503 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
5506}
5507
5508// ===================================================================
5509
5511 public:
5512};
5513
5514AutomatonConstraintProto::AutomatonConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
5515 bool is_message_owned)
5516 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
5517 final_states_(arena),
5518 transition_tail_(arena),
5519 transition_head_(arena),
5520 transition_label_(arena),
5521 vars_(arena) {
5522 SharedCtor();
5523 if (!is_message_owned) {
5524 RegisterArenaDtor(arena);
5525 }
5526 // @@protoc_insertion_point(arena_constructor:operations_research.sat.AutomatonConstraintProto)
5527}
5529 : ::PROTOBUF_NAMESPACE_ID::Message(),
5530 final_states_(from.final_states_),
5531 transition_tail_(from.transition_tail_),
5532 transition_head_(from.transition_head_),
5533 transition_label_(from.transition_label_),
5534 vars_(from.vars_) {
5535 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
5536 starting_state_ = from.starting_state_;
5537 // @@protoc_insertion_point(copy_constructor:operations_research.sat.AutomatonConstraintProto)
5538}
5539
5540void AutomatonConstraintProto::SharedCtor() {
5541starting_state_ = int64_t{0};
5542}
5543
5545 // @@protoc_insertion_point(destructor:operations_research.sat.AutomatonConstraintProto)
5546 if (GetArenaForAllocation() != nullptr) return;
5547 SharedDtor();
5548 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
5549}
5550
5551inline void AutomatonConstraintProto::SharedDtor() {
5552 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
5553}
5554
5555void AutomatonConstraintProto::ArenaDtor(void* object) {
5556 AutomatonConstraintProto* _this = reinterpret_cast< AutomatonConstraintProto* >(object);
5557 (void)_this;
5558}
5559void AutomatonConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
5560}
5561void AutomatonConstraintProto::SetCachedSize(int size) const {
5562 _cached_size_.Set(size);
5563}
5564
5566// @@protoc_insertion_point(message_clear_start:operations_research.sat.AutomatonConstraintProto)
5567 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5568 // Prevent compiler warnings about cached_has_bits being unused
5569 (void) cached_has_bits;
5570
5571 final_states_.Clear();
5572 transition_tail_.Clear();
5573 transition_head_.Clear();
5574 transition_label_.Clear();
5575 vars_.Clear();
5576 starting_state_ = int64_t{0};
5577 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
5578}
5579
5580const char* AutomatonConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
5581#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
5582 while (!ctx->Done(&ptr)) {
5583 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
5584 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
5585 switch (tag >> 3) {
5586 // int64 starting_state = 2;
5587 case 2:
5588 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
5589 starting_state_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
5590 CHK_(ptr);
5591 } else
5592 goto handle_unusual;
5593 continue;
5594 // repeated int64 final_states = 3;
5595 case 3:
5596 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
5597 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_final_states(), ptr, ctx);
5598 CHK_(ptr);
5599 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24) {
5600 _internal_add_final_states(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
5601 CHK_(ptr);
5602 } else
5603 goto handle_unusual;
5604 continue;
5605 // repeated int64 transition_tail = 4;
5606 case 4:
5607 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
5608 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_transition_tail(), ptr, ctx);
5609 CHK_(ptr);
5610 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32) {
5611 _internal_add_transition_tail(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
5612 CHK_(ptr);
5613 } else
5614 goto handle_unusual;
5615 continue;
5616 // repeated int64 transition_head = 5;
5617 case 5:
5618 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
5619 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_transition_head(), ptr, ctx);
5620 CHK_(ptr);
5621 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40) {
5622 _internal_add_transition_head(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
5623 CHK_(ptr);
5624 } else
5625 goto handle_unusual;
5626 continue;
5627 // repeated int64 transition_label = 6;
5628 case 6:
5629 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
5630 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_transition_label(), ptr, ctx);
5631 CHK_(ptr);
5632 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48) {
5633 _internal_add_transition_label(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
5634 CHK_(ptr);
5635 } else
5636 goto handle_unusual;
5637 continue;
5638 // repeated int32 vars = 7;
5639 case 7:
5640 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
5641 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_vars(), ptr, ctx);
5642 CHK_(ptr);
5643 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56) {
5644 _internal_add_vars(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
5645 CHK_(ptr);
5646 } else
5647 goto handle_unusual;
5648 continue;
5649 default:
5650 goto handle_unusual;
5651 } // switch
5652 handle_unusual:
5653 if ((tag == 0) || ((tag & 7) == 4)) {
5654 CHK_(ptr);
5655 ctx->SetLastTag(tag);
5656 goto message_done;
5657 }
5658 ptr = UnknownFieldParse(
5659 tag,
5660 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
5661 ptr, ctx);
5662 CHK_(ptr != nullptr);
5663 } // while
5664message_done:
5665 return ptr;
5666failure:
5667 ptr = nullptr;
5668 goto message_done;
5669#undef CHK_
5670}
5671
5672::PROTOBUF_NAMESPACE_ID::uint8* AutomatonConstraintProto::_InternalSerialize(
5673 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
5674 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.AutomatonConstraintProto)
5675 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5676 (void) cached_has_bits;
5677
5678 // int64 starting_state = 2;
5679 if (this->_internal_starting_state() != 0) {
5680 target = stream->EnsureSpace(target);
5681 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->_internal_starting_state(), target);
5682 }
5683
5684 // repeated int64 final_states = 3;
5685 {
5686 int byte_size = _final_states_cached_byte_size_.load(std::memory_order_relaxed);
5687 if (byte_size > 0) {
5688 target = stream->WriteInt64Packed(
5689 3, _internal_final_states(), byte_size, target);
5690 }
5691 }
5692
5693 // repeated int64 transition_tail = 4;
5694 {
5695 int byte_size = _transition_tail_cached_byte_size_.load(std::memory_order_relaxed);
5696 if (byte_size > 0) {
5697 target = stream->WriteInt64Packed(
5698 4, _internal_transition_tail(), byte_size, target);
5699 }
5700 }
5701
5702 // repeated int64 transition_head = 5;
5703 {
5704 int byte_size = _transition_head_cached_byte_size_.load(std::memory_order_relaxed);
5705 if (byte_size > 0) {
5706 target = stream->WriteInt64Packed(
5707 5, _internal_transition_head(), byte_size, target);
5708 }
5709 }
5710
5711 // repeated int64 transition_label = 6;
5712 {
5713 int byte_size = _transition_label_cached_byte_size_.load(std::memory_order_relaxed);
5714 if (byte_size > 0) {
5715 target = stream->WriteInt64Packed(
5716 6, _internal_transition_label(), byte_size, target);
5717 }
5718 }
5719
5720 // repeated int32 vars = 7;
5721 {
5722 int byte_size = _vars_cached_byte_size_.load(std::memory_order_relaxed);
5723 if (byte_size > 0) {
5724 target = stream->WriteInt32Packed(
5725 7, _internal_vars(), byte_size, target);
5726 }
5727 }
5728
5729 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
5730 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
5731 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
5732 }
5733 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.AutomatonConstraintProto)
5734 return target;
5735}
5736
5738// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.AutomatonConstraintProto)
5739 size_t total_size = 0;
5740
5741 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5742 // Prevent compiler warnings about cached_has_bits being unused
5743 (void) cached_has_bits;
5744
5745 // repeated int64 final_states = 3;
5746 {
5747 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5748 Int64Size(this->final_states_);
5749 if (data_size > 0) {
5750 total_size += 1 +
5751 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5752 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
5753 }
5754 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
5755 _final_states_cached_byte_size_.store(cached_size,
5756 std::memory_order_relaxed);
5757 total_size += data_size;
5758 }
5759
5760 // repeated int64 transition_tail = 4;
5761 {
5762 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5763 Int64Size(this->transition_tail_);
5764 if (data_size > 0) {
5765 total_size += 1 +
5766 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5767 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
5768 }
5769 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
5770 _transition_tail_cached_byte_size_.store(cached_size,
5771 std::memory_order_relaxed);
5772 total_size += data_size;
5773 }
5774
5775 // repeated int64 transition_head = 5;
5776 {
5777 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5778 Int64Size(this->transition_head_);
5779 if (data_size > 0) {
5780 total_size += 1 +
5781 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5782 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
5783 }
5784 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
5785 _transition_head_cached_byte_size_.store(cached_size,
5786 std::memory_order_relaxed);
5787 total_size += data_size;
5788 }
5789
5790 // repeated int64 transition_label = 6;
5791 {
5792 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5793 Int64Size(this->transition_label_);
5794 if (data_size > 0) {
5795 total_size += 1 +
5796 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5797 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
5798 }
5799 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
5800 _transition_label_cached_byte_size_.store(cached_size,
5801 std::memory_order_relaxed);
5802 total_size += data_size;
5803 }
5804
5805 // repeated int32 vars = 7;
5806 {
5807 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5808 Int32Size(this->vars_);
5809 if (data_size > 0) {
5810 total_size += 1 +
5811 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5812 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
5813 }
5814 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
5815 _vars_cached_byte_size_.store(cached_size,
5816 std::memory_order_relaxed);
5817 total_size += data_size;
5818 }
5819
5820 // int64 starting_state = 2;
5821 if (this->_internal_starting_state() != 0) {
5822 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_starting_state());
5823 }
5824
5825 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
5826}
5827
5828const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AutomatonConstraintProto::_class_data_ = {
5829 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
5830 AutomatonConstraintProto::MergeImpl
5831};
5832const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AutomatonConstraintProto::GetClassData() const { return &_class_data_; }
5833
5834void AutomatonConstraintProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
5835 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
5836 static_cast<AutomatonConstraintProto *>(to)->MergeFrom(
5837 static_cast<const AutomatonConstraintProto &>(from));
5838}
5839
5840
5842// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.AutomatonConstraintProto)
5843 GOOGLE_DCHECK_NE(&from, this);
5844 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5845 (void) cached_has_bits;
5846
5847 final_states_.MergeFrom(from.final_states_);
5848 transition_tail_.MergeFrom(from.transition_tail_);
5849 transition_head_.MergeFrom(from.transition_head_);
5850 transition_label_.MergeFrom(from.transition_label_);
5851 vars_.MergeFrom(from.vars_);
5852 if (from._internal_starting_state() != 0) {
5853 _internal_set_starting_state(from._internal_starting_state());
5854 }
5855 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
5856}
5857
5859// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.AutomatonConstraintProto)
5860 if (&from == this) return;
5861 Clear();
5862 MergeFrom(from);
5863}
5864
5866 return true;
5867}
5868
5869void AutomatonConstraintProto::InternalSwap(AutomatonConstraintProto* other) {
5870 using std::swap;
5871 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
5872 final_states_.InternalSwap(&other->final_states_);
5873 transition_tail_.InternalSwap(&other->transition_tail_);
5874 transition_head_.InternalSwap(&other->transition_head_);
5875 transition_label_.InternalSwap(&other->transition_label_);
5876 vars_.InternalSwap(&other->vars_);
5877 swap(starting_state_, other->starting_state_);
5878}
5879
5880::PROTOBUF_NAMESPACE_ID::Metadata AutomatonConstraintProto::GetMetadata() const {
5881 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
5884}
5885
5886// ===================================================================
5887
5889 public:
5890};
5891
5892ListOfVariablesProto::ListOfVariablesProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
5893 bool is_message_owned)
5894 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
5895 vars_(arena) {
5896 SharedCtor();
5897 if (!is_message_owned) {
5898 RegisterArenaDtor(arena);
5899 }
5900 // @@protoc_insertion_point(arena_constructor:operations_research.sat.ListOfVariablesProto)
5901}
5903 : ::PROTOBUF_NAMESPACE_ID::Message(),
5904 vars_(from.vars_) {
5905 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
5906 // @@protoc_insertion_point(copy_constructor:operations_research.sat.ListOfVariablesProto)
5907}
5908
5909void ListOfVariablesProto::SharedCtor() {
5910}
5911
5913 // @@protoc_insertion_point(destructor:operations_research.sat.ListOfVariablesProto)
5914 if (GetArenaForAllocation() != nullptr) return;
5915 SharedDtor();
5916 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
5917}
5918
5919inline void ListOfVariablesProto::SharedDtor() {
5920 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
5921}
5922
5923void ListOfVariablesProto::ArenaDtor(void* object) {
5924 ListOfVariablesProto* _this = reinterpret_cast< ListOfVariablesProto* >(object);
5925 (void)_this;
5926}
5927void ListOfVariablesProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
5928}
5929void ListOfVariablesProto::SetCachedSize(int size) const {
5930 _cached_size_.Set(size);
5931}
5932
5934// @@protoc_insertion_point(message_clear_start:operations_research.sat.ListOfVariablesProto)
5935 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5936 // Prevent compiler warnings about cached_has_bits being unused
5937 (void) cached_has_bits;
5938
5939 vars_.Clear();
5940 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
5941}
5942
5943const char* ListOfVariablesProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
5944#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
5945 while (!ctx->Done(&ptr)) {
5946 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
5947 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
5948 switch (tag >> 3) {
5949 // repeated int32 vars = 1;
5950 case 1:
5951 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
5952 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_vars(), ptr, ctx);
5953 CHK_(ptr);
5954 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
5955 _internal_add_vars(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
5956 CHK_(ptr);
5957 } else
5958 goto handle_unusual;
5959 continue;
5960 default:
5961 goto handle_unusual;
5962 } // switch
5963 handle_unusual:
5964 if ((tag == 0) || ((tag & 7) == 4)) {
5965 CHK_(ptr);
5966 ctx->SetLastTag(tag);
5967 goto message_done;
5968 }
5969 ptr = UnknownFieldParse(
5970 tag,
5971 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
5972 ptr, ctx);
5973 CHK_(ptr != nullptr);
5974 } // while
5975message_done:
5976 return ptr;
5977failure:
5978 ptr = nullptr;
5979 goto message_done;
5980#undef CHK_
5981}
5982
5983::PROTOBUF_NAMESPACE_ID::uint8* ListOfVariablesProto::_InternalSerialize(
5984 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
5985 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.ListOfVariablesProto)
5986 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5987 (void) cached_has_bits;
5988
5989 // repeated int32 vars = 1;
5990 {
5991 int byte_size = _vars_cached_byte_size_.load(std::memory_order_relaxed);
5992 if (byte_size > 0) {
5993 target = stream->WriteInt32Packed(
5994 1, _internal_vars(), byte_size, target);
5995 }
5996 }
5997
5998 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
5999 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
6000 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
6001 }
6002 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.ListOfVariablesProto)
6003 return target;
6004}
6005
6007// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.ListOfVariablesProto)
6008 size_t total_size = 0;
6009
6010 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
6011 // Prevent compiler warnings about cached_has_bits being unused
6012 (void) cached_has_bits;
6013
6014 // repeated int32 vars = 1;
6015 {
6016 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6017 Int32Size(this->vars_);
6018 if (data_size > 0) {
6019 total_size += 1 +
6020 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
6021 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
6022 }
6023 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
6024 _vars_cached_byte_size_.store(cached_size,
6025 std::memory_order_relaxed);
6026 total_size += data_size;
6027 }
6028
6029 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
6030}
6031
6032const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ListOfVariablesProto::_class_data_ = {
6033 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
6034 ListOfVariablesProto::MergeImpl
6035};
6036const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ListOfVariablesProto::GetClassData() const { return &_class_data_; }
6037
6038void ListOfVariablesProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
6039 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
6040 static_cast<ListOfVariablesProto *>(to)->MergeFrom(
6041 static_cast<const ListOfVariablesProto &>(from));
6042}
6043
6044
6046// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.ListOfVariablesProto)
6047 GOOGLE_DCHECK_NE(&from, this);
6048 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
6049 (void) cached_has_bits;
6050
6051 vars_.MergeFrom(from.vars_);
6052 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
6053}
6054
6056// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.ListOfVariablesProto)
6057 if (&from == this) return;
6058 Clear();
6059 MergeFrom(from);
6060}
6061
6063 return true;
6064}
6065
6066void ListOfVariablesProto::InternalSwap(ListOfVariablesProto* other) {
6067 using std::swap;
6068 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
6069 vars_.InternalSwap(&other->vars_);
6070}
6071
6072::PROTOBUF_NAMESPACE_ID::Metadata ListOfVariablesProto::GetMetadata() const {
6073 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
6076}
6077
6078// ===================================================================
6079
6081 public:
6082 static const ::operations_research::sat::BoolArgumentProto& bool_or(const ConstraintProto* msg);
6083 static const ::operations_research::sat::BoolArgumentProto& bool_and(const ConstraintProto* msg);
6084 static const ::operations_research::sat::BoolArgumentProto& at_most_one(const ConstraintProto* msg);
6085 static const ::operations_research::sat::BoolArgumentProto& exactly_one(const ConstraintProto* msg);
6086 static const ::operations_research::sat::BoolArgumentProto& bool_xor(const ConstraintProto* msg);
6087 static const ::operations_research::sat::IntegerArgumentProto& int_div(const ConstraintProto* msg);
6088 static const ::operations_research::sat::IntegerArgumentProto& int_mod(const ConstraintProto* msg);
6089 static const ::operations_research::sat::IntegerArgumentProto& int_max(const ConstraintProto* msg);
6090 static const ::operations_research::sat::LinearArgumentProto& lin_max(const ConstraintProto* msg);
6091 static const ::operations_research::sat::IntegerArgumentProto& int_min(const ConstraintProto* msg);
6092 static const ::operations_research::sat::LinearArgumentProto& lin_min(const ConstraintProto* msg);
6093 static const ::operations_research::sat::IntegerArgumentProto& int_prod(const ConstraintProto* msg);
6094 static const ::operations_research::sat::LinearConstraintProto& linear(const ConstraintProto* msg);
6095 static const ::operations_research::sat::AllDifferentConstraintProto& all_diff(const ConstraintProto* msg);
6096 static const ::operations_research::sat::ElementConstraintProto& element(const ConstraintProto* msg);
6097 static const ::operations_research::sat::CircuitConstraintProto& circuit(const ConstraintProto* msg);
6098 static const ::operations_research::sat::RoutesConstraintProto& routes(const ConstraintProto* msg);
6099 static const ::operations_research::sat::TableConstraintProto& table(const ConstraintProto* msg);
6100 static const ::operations_research::sat::AutomatonConstraintProto& automaton(const ConstraintProto* msg);
6101 static const ::operations_research::sat::InverseConstraintProto& inverse(const ConstraintProto* msg);
6102 static const ::operations_research::sat::ReservoirConstraintProto& reservoir(const ConstraintProto* msg);
6103 static const ::operations_research::sat::IntervalConstraintProto& interval(const ConstraintProto* msg);
6104 static const ::operations_research::sat::NoOverlapConstraintProto& no_overlap(const ConstraintProto* msg);
6105 static const ::operations_research::sat::NoOverlap2DConstraintProto& no_overlap_2d(const ConstraintProto* msg);
6106 static const ::operations_research::sat::CumulativeConstraintProto& cumulative(const ConstraintProto* msg);
6107 static const ::operations_research::sat::ListOfVariablesProto& dummy_constraint(const ConstraintProto* msg);
6108};
6109
6110const ::operations_research::sat::BoolArgumentProto&
6112 return *msg->constraint_.bool_or_;
6113}
6114const ::operations_research::sat::BoolArgumentProto&
6116 return *msg->constraint_.bool_and_;
6117}
6118const ::operations_research::sat::BoolArgumentProto&
6120 return *msg->constraint_.at_most_one_;
6121}
6122const ::operations_research::sat::BoolArgumentProto&
6124 return *msg->constraint_.exactly_one_;
6125}
6126const ::operations_research::sat::BoolArgumentProto&
6128 return *msg->constraint_.bool_xor_;
6129}
6130const ::operations_research::sat::IntegerArgumentProto&
6132 return *msg->constraint_.int_div_;
6133}
6134const ::operations_research::sat::IntegerArgumentProto&
6136 return *msg->constraint_.int_mod_;
6137}
6138const ::operations_research::sat::IntegerArgumentProto&
6140 return *msg->constraint_.int_max_;
6141}
6142const ::operations_research::sat::LinearArgumentProto&
6144 return *msg->constraint_.lin_max_;
6145}
6146const ::operations_research::sat::IntegerArgumentProto&
6148 return *msg->constraint_.int_min_;
6149}
6150const ::operations_research::sat::LinearArgumentProto&
6152 return *msg->constraint_.lin_min_;
6153}
6154const ::operations_research::sat::IntegerArgumentProto&
6156 return *msg->constraint_.int_prod_;
6157}
6158const ::operations_research::sat::LinearConstraintProto&
6160 return *msg->constraint_.linear_;
6161}
6162const ::operations_research::sat::AllDifferentConstraintProto&
6164 return *msg->constraint_.all_diff_;
6165}
6166const ::operations_research::sat::ElementConstraintProto&
6168 return *msg->constraint_.element_;
6169}
6170const ::operations_research::sat::CircuitConstraintProto&
6172 return *msg->constraint_.circuit_;
6173}
6174const ::operations_research::sat::RoutesConstraintProto&
6176 return *msg->constraint_.routes_;
6177}
6178const ::operations_research::sat::TableConstraintProto&
6180 return *msg->constraint_.table_;
6181}
6182const ::operations_research::sat::AutomatonConstraintProto&
6184 return *msg->constraint_.automaton_;
6185}
6186const ::operations_research::sat::InverseConstraintProto&
6188 return *msg->constraint_.inverse_;
6189}
6190const ::operations_research::sat::ReservoirConstraintProto&
6192 return *msg->constraint_.reservoir_;
6193}
6194const ::operations_research::sat::IntervalConstraintProto&
6196 return *msg->constraint_.interval_;
6197}
6198const ::operations_research::sat::NoOverlapConstraintProto&
6200 return *msg->constraint_.no_overlap_;
6201}
6202const ::operations_research::sat::NoOverlap2DConstraintProto&
6204 return *msg->constraint_.no_overlap_2d_;
6205}
6206const ::operations_research::sat::CumulativeConstraintProto&
6208 return *msg->constraint_.cumulative_;
6209}
6210const ::operations_research::sat::ListOfVariablesProto&
6212 return *msg->constraint_.dummy_constraint_;
6213}
6215 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6217 if (bool_or) {
6218 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6219 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::BoolArgumentProto>::GetOwningArena(bool_or);
6220 if (message_arena != submessage_arena) {
6221 bool_or = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6222 message_arena, bool_or, submessage_arena);
6223 }
6224 set_has_bool_or();
6225 constraint_.bool_or_ = bool_or;
6226 }
6227 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.bool_or)
6228}
6230 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6232 if (bool_and) {
6233 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6234 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::BoolArgumentProto>::GetOwningArena(bool_and);
6235 if (message_arena != submessage_arena) {
6236 bool_and = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6237 message_arena, bool_and, submessage_arena);
6238 }
6239 set_has_bool_and();
6240 constraint_.bool_and_ = bool_and;
6241 }
6242 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.bool_and)
6243}
6245 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6247 if (at_most_one) {
6248 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6249 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::BoolArgumentProto>::GetOwningArena(at_most_one);
6250 if (message_arena != submessage_arena) {
6251 at_most_one = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6252 message_arena, at_most_one, submessage_arena);
6253 }
6254 set_has_at_most_one();
6255 constraint_.at_most_one_ = at_most_one;
6256 }
6257 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.at_most_one)
6258}
6260 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6262 if (exactly_one) {
6263 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6264 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::BoolArgumentProto>::GetOwningArena(exactly_one);
6265 if (message_arena != submessage_arena) {
6266 exactly_one = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6267 message_arena, exactly_one, submessage_arena);
6268 }
6269 set_has_exactly_one();
6270 constraint_.exactly_one_ = exactly_one;
6271 }
6272 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.exactly_one)
6273}
6275 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6277 if (bool_xor) {
6278 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6279 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::BoolArgumentProto>::GetOwningArena(bool_xor);
6280 if (message_arena != submessage_arena) {
6281 bool_xor = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6282 message_arena, bool_xor, submessage_arena);
6283 }
6284 set_has_bool_xor();
6285 constraint_.bool_xor_ = bool_xor;
6286 }
6287 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.bool_xor)
6288}
6290 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6292 if (int_div) {
6293 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6294 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::IntegerArgumentProto>::GetOwningArena(int_div);
6295 if (message_arena != submessage_arena) {
6296 int_div = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6297 message_arena, int_div, submessage_arena);
6298 }
6299 set_has_int_div();
6300 constraint_.int_div_ = int_div;
6301 }
6302 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.int_div)
6303}
6305 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6307 if (int_mod) {
6308 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6309 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::IntegerArgumentProto>::GetOwningArena(int_mod);
6310 if (message_arena != submessage_arena) {
6311 int_mod = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6312 message_arena, int_mod, submessage_arena);
6313 }
6314 set_has_int_mod();
6315 constraint_.int_mod_ = int_mod;
6316 }
6317 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.int_mod)
6318}
6320 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6322 if (int_max) {
6323 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6324 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::IntegerArgumentProto>::GetOwningArena(int_max);
6325 if (message_arena != submessage_arena) {
6326 int_max = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6327 message_arena, int_max, submessage_arena);
6328 }
6329 set_has_int_max();
6330 constraint_.int_max_ = int_max;
6331 }
6332 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.int_max)
6333}
6335 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6337 if (lin_max) {
6338 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6339 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::LinearArgumentProto>::GetOwningArena(lin_max);
6340 if (message_arena != submessage_arena) {
6341 lin_max = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6342 message_arena, lin_max, submessage_arena);
6343 }
6344 set_has_lin_max();
6345 constraint_.lin_max_ = lin_max;
6346 }
6347 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.lin_max)
6348}
6350 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6352 if (int_min) {
6353 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6354 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::IntegerArgumentProto>::GetOwningArena(int_min);
6355 if (message_arena != submessage_arena) {
6356 int_min = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6357 message_arena, int_min, submessage_arena);
6358 }
6359 set_has_int_min();
6360 constraint_.int_min_ = int_min;
6361 }
6362 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.int_min)
6363}
6365 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6367 if (lin_min) {
6368 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6369 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::LinearArgumentProto>::GetOwningArena(lin_min);
6370 if (message_arena != submessage_arena) {
6371 lin_min = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6372 message_arena, lin_min, submessage_arena);
6373 }
6374 set_has_lin_min();
6375 constraint_.lin_min_ = lin_min;
6376 }
6377 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.lin_min)
6378}
6380 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6382 if (int_prod) {
6383 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6384 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::IntegerArgumentProto>::GetOwningArena(int_prod);
6385 if (message_arena != submessage_arena) {
6386 int_prod = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6387 message_arena, int_prod, submessage_arena);
6388 }
6389 set_has_int_prod();
6390 constraint_.int_prod_ = int_prod;
6391 }
6392 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.int_prod)
6393}
6395 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6397 if (linear) {
6398 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6399 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::LinearConstraintProto>::GetOwningArena(linear);
6400 if (message_arena != submessage_arena) {
6401 linear = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6402 message_arena, linear, submessage_arena);
6403 }
6404 set_has_linear();
6405 constraint_.linear_ = linear;
6406 }
6407 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.linear)
6408}
6410 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6412 if (all_diff) {
6413 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6414 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::AllDifferentConstraintProto>::GetOwningArena(all_diff);
6415 if (message_arena != submessage_arena) {
6416 all_diff = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6417 message_arena, all_diff, submessage_arena);
6418 }
6419 set_has_all_diff();
6420 constraint_.all_diff_ = all_diff;
6421 }
6422 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.all_diff)
6423}
6425 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6427 if (element) {
6428 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6429 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::ElementConstraintProto>::GetOwningArena(element);
6430 if (message_arena != submessage_arena) {
6431 element = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6432 message_arena, element, submessage_arena);
6433 }
6434 set_has_element();
6435 constraint_.element_ = element;
6436 }
6437 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.element)
6438}
6440 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6442 if (circuit) {
6443 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6444 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::CircuitConstraintProto>::GetOwningArena(circuit);
6445 if (message_arena != submessage_arena) {
6446 circuit = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6447 message_arena, circuit, submessage_arena);
6448 }
6449 set_has_circuit();
6450 constraint_.circuit_ = circuit;
6451 }
6452 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.circuit)
6453}
6455 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6457 if (routes) {
6458 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6459 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::RoutesConstraintProto>::GetOwningArena(routes);
6460 if (message_arena != submessage_arena) {
6461 routes = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6462 message_arena, routes, submessage_arena);
6463 }
6464 set_has_routes();
6465 constraint_.routes_ = routes;
6466 }
6467 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.routes)
6468}
6470 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6472 if (table) {
6473 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6474 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::TableConstraintProto>::GetOwningArena(table);
6475 if (message_arena != submessage_arena) {
6476 table = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6477 message_arena, table, submessage_arena);
6478 }
6479 set_has_table();
6480 constraint_.table_ = table;
6481 }
6482 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.table)
6483}
6485 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6487 if (automaton) {
6488 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6489 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::AutomatonConstraintProto>::GetOwningArena(automaton);
6490 if (message_arena != submessage_arena) {
6491 automaton = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6492 message_arena, automaton, submessage_arena);
6493 }
6494 set_has_automaton();
6495 constraint_.automaton_ = automaton;
6496 }
6497 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.automaton)
6498}
6500 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6502 if (inverse) {
6503 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6504 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::InverseConstraintProto>::GetOwningArena(inverse);
6505 if (message_arena != submessage_arena) {
6506 inverse = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6507 message_arena, inverse, submessage_arena);
6508 }
6509 set_has_inverse();
6510 constraint_.inverse_ = inverse;
6511 }
6512 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.inverse)
6513}
6515 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6517 if (reservoir) {
6518 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6519 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::ReservoirConstraintProto>::GetOwningArena(reservoir);
6520 if (message_arena != submessage_arena) {
6521 reservoir = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6522 message_arena, reservoir, submessage_arena);
6523 }
6524 set_has_reservoir();
6525 constraint_.reservoir_ = reservoir;
6526 }
6527 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.reservoir)
6528}
6530 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6532 if (interval) {
6533 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6534 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::IntervalConstraintProto>::GetOwningArena(interval);
6535 if (message_arena != submessage_arena) {
6536 interval = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6537 message_arena, interval, submessage_arena);
6538 }
6539 set_has_interval();
6540 constraint_.interval_ = interval;
6541 }
6542 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.interval)
6543}
6545 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6547 if (no_overlap) {
6548 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6549 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::NoOverlapConstraintProto>::GetOwningArena(no_overlap);
6550 if (message_arena != submessage_arena) {
6551 no_overlap = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6552 message_arena, no_overlap, submessage_arena);
6553 }
6554 set_has_no_overlap();
6555 constraint_.no_overlap_ = no_overlap;
6556 }
6557 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.no_overlap)
6558}
6560 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6562 if (no_overlap_2d) {
6563 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6564 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::NoOverlap2DConstraintProto>::GetOwningArena(no_overlap_2d);
6565 if (message_arena != submessage_arena) {
6566 no_overlap_2d = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6567 message_arena, no_overlap_2d, submessage_arena);
6568 }
6569 set_has_no_overlap_2d();
6570 constraint_.no_overlap_2d_ = no_overlap_2d;
6571 }
6572 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.no_overlap_2d)
6573}
6575 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6577 if (cumulative) {
6578 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6579 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::CumulativeConstraintProto>::GetOwningArena(cumulative);
6580 if (message_arena != submessage_arena) {
6581 cumulative = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6582 message_arena, cumulative, submessage_arena);
6583 }
6584 set_has_cumulative();
6585 constraint_.cumulative_ = cumulative;
6586 }
6587 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.cumulative)
6588}
6590 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6592 if (dummy_constraint) {
6593 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6594 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::ListOfVariablesProto>::GetOwningArena(dummy_constraint);
6595 if (message_arena != submessage_arena) {
6596 dummy_constraint = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6597 message_arena, dummy_constraint, submessage_arena);
6598 }
6599 set_has_dummy_constraint();
6600 constraint_.dummy_constraint_ = dummy_constraint;
6601 }
6602 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.dummy_constraint)
6603}
6604ConstraintProto::ConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
6605 bool is_message_owned)
6606 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
6607 enforcement_literal_(arena) {
6608 SharedCtor();
6609 if (!is_message_owned) {
6610 RegisterArenaDtor(arena);
6611 }
6612 // @@protoc_insertion_point(arena_constructor:operations_research.sat.ConstraintProto)
6613}
6615 : ::PROTOBUF_NAMESPACE_ID::Message(),
6616 enforcement_literal_(from.enforcement_literal_) {
6617 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
6618 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
6619 if (!from._internal_name().empty()) {
6620 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
6621 GetArenaForAllocation());
6622 }
6623 clear_has_constraint();
6624 switch (from.constraint_case()) {
6625 case kBoolOr: {
6626 _internal_mutable_bool_or()->::operations_research::sat::BoolArgumentProto::MergeFrom(from._internal_bool_or());
6627 break;
6628 }
6629 case kBoolAnd: {
6630 _internal_mutable_bool_and()->::operations_research::sat::BoolArgumentProto::MergeFrom(from._internal_bool_and());
6631 break;
6632 }
6633 case kAtMostOne: {
6634 _internal_mutable_at_most_one()->::operations_research::sat::BoolArgumentProto::MergeFrom(from._internal_at_most_one());
6635 break;
6636 }
6637 case kExactlyOne: {
6638 _internal_mutable_exactly_one()->::operations_research::sat::BoolArgumentProto::MergeFrom(from._internal_exactly_one());
6639 break;
6640 }
6641 case kBoolXor: {
6642 _internal_mutable_bool_xor()->::operations_research::sat::BoolArgumentProto::MergeFrom(from._internal_bool_xor());
6643 break;
6644 }
6645 case kIntDiv: {
6646 _internal_mutable_int_div()->::operations_research::sat::IntegerArgumentProto::MergeFrom(from._internal_int_div());
6647 break;
6648 }
6649 case kIntMod: {
6650 _internal_mutable_int_mod()->::operations_research::sat::IntegerArgumentProto::MergeFrom(from._internal_int_mod());
6651 break;
6652 }
6653 case kIntMax: {
6654 _internal_mutable_int_max()->::operations_research::sat::IntegerArgumentProto::MergeFrom(from._internal_int_max());
6655 break;
6656 }
6657 case kLinMax: {
6658 _internal_mutable_lin_max()->::operations_research::sat::LinearArgumentProto::MergeFrom(from._internal_lin_max());
6659 break;
6660 }
6661 case kIntMin: {
6662 _internal_mutable_int_min()->::operations_research::sat::IntegerArgumentProto::MergeFrom(from._internal_int_min());
6663 break;
6664 }
6665 case kLinMin: {
6666 _internal_mutable_lin_min()->::operations_research::sat::LinearArgumentProto::MergeFrom(from._internal_lin_min());
6667 break;
6668 }
6669 case kIntProd: {
6670 _internal_mutable_int_prod()->::operations_research::sat::IntegerArgumentProto::MergeFrom(from._internal_int_prod());
6671 break;
6672 }
6673 case kLinear: {
6674 _internal_mutable_linear()->::operations_research::sat::LinearConstraintProto::MergeFrom(from._internal_linear());
6675 break;
6676 }
6677 case kAllDiff: {
6678 _internal_mutable_all_diff()->::operations_research::sat::AllDifferentConstraintProto::MergeFrom(from._internal_all_diff());
6679 break;
6680 }
6681 case kElement: {
6682 _internal_mutable_element()->::operations_research::sat::ElementConstraintProto::MergeFrom(from._internal_element());
6683 break;
6684 }
6685 case kCircuit: {
6686 _internal_mutable_circuit()->::operations_research::sat::CircuitConstraintProto::MergeFrom(from._internal_circuit());
6687 break;
6688 }
6689 case kRoutes: {
6690 _internal_mutable_routes()->::operations_research::sat::RoutesConstraintProto::MergeFrom(from._internal_routes());
6691 break;
6692 }
6693 case kTable: {
6694 _internal_mutable_table()->::operations_research::sat::TableConstraintProto::MergeFrom(from._internal_table());
6695 break;
6696 }
6697 case kAutomaton: {
6698 _internal_mutable_automaton()->::operations_research::sat::AutomatonConstraintProto::MergeFrom(from._internal_automaton());
6699 break;
6700 }
6701 case kInverse: {
6702 _internal_mutable_inverse()->::operations_research::sat::InverseConstraintProto::MergeFrom(from._internal_inverse());
6703 break;
6704 }
6705 case kReservoir: {
6706 _internal_mutable_reservoir()->::operations_research::sat::ReservoirConstraintProto::MergeFrom(from._internal_reservoir());
6707 break;
6708 }
6709 case kInterval: {
6710 _internal_mutable_interval()->::operations_research::sat::IntervalConstraintProto::MergeFrom(from._internal_interval());
6711 break;
6712 }
6713 case kNoOverlap: {
6714 _internal_mutable_no_overlap()->::operations_research::sat::NoOverlapConstraintProto::MergeFrom(from._internal_no_overlap());
6715 break;
6716 }
6717 case kNoOverlap2D: {
6718 _internal_mutable_no_overlap_2d()->::operations_research::sat::NoOverlap2DConstraintProto::MergeFrom(from._internal_no_overlap_2d());
6719 break;
6720 }
6721 case kCumulative: {
6722 _internal_mutable_cumulative()->::operations_research::sat::CumulativeConstraintProto::MergeFrom(from._internal_cumulative());
6723 break;
6724 }
6725 case kDummyConstraint: {
6726 _internal_mutable_dummy_constraint()->::operations_research::sat::ListOfVariablesProto::MergeFrom(from._internal_dummy_constraint());
6727 break;
6728 }
6729 case CONSTRAINT_NOT_SET: {
6730 break;
6731 }
6732 }
6733 // @@protoc_insertion_point(copy_constructor:operations_research.sat.ConstraintProto)
6734}
6735
6736void ConstraintProto::SharedCtor() {
6737name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
6738clear_has_constraint();
6739}
6740
6742 // @@protoc_insertion_point(destructor:operations_research.sat.ConstraintProto)
6743 if (GetArenaForAllocation() != nullptr) return;
6744 SharedDtor();
6745 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
6746}
6747
6748inline void ConstraintProto::SharedDtor() {
6749 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
6750 name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
6751 if (has_constraint()) {
6753 }
6754}
6755
6756void ConstraintProto::ArenaDtor(void* object) {
6757 ConstraintProto* _this = reinterpret_cast< ConstraintProto* >(object);
6758 (void)_this;
6759}
6760void ConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
6761}
6762void ConstraintProto::SetCachedSize(int size) const {
6763 _cached_size_.Set(size);
6764}
6765
6767// @@protoc_insertion_point(one_of_clear_start:operations_research.sat.ConstraintProto)
6768 switch (constraint_case()) {
6769 case kBoolOr: {
6770 if (GetArenaForAllocation() == nullptr) {
6771 delete constraint_.bool_or_;
6772 }
6773 break;
6774 }
6775 case kBoolAnd: {
6776 if (GetArenaForAllocation() == nullptr) {
6777 delete constraint_.bool_and_;
6778 }
6779 break;
6780 }
6781 case kAtMostOne: {
6782 if (GetArenaForAllocation() == nullptr) {
6783 delete constraint_.at_most_one_;
6784 }
6785 break;
6786 }
6787 case kExactlyOne: {
6788 if (GetArenaForAllocation() == nullptr) {
6789 delete constraint_.exactly_one_;
6790 }
6791 break;
6792 }
6793 case kBoolXor: {
6794 if (GetArenaForAllocation() == nullptr) {
6795 delete constraint_.bool_xor_;
6796 }
6797 break;
6798 }
6799 case kIntDiv: {
6800 if (GetArenaForAllocation() == nullptr) {
6801 delete constraint_.int_div_;
6802 }
6803 break;
6804 }
6805 case kIntMod: {
6806 if (GetArenaForAllocation() == nullptr) {
6807 delete constraint_.int_mod_;
6808 }
6809 break;
6810 }
6811 case kIntMax: {
6812 if (GetArenaForAllocation() == nullptr) {
6813 delete constraint_.int_max_;
6814 }
6815 break;
6816 }
6817 case kLinMax: {
6818 if (GetArenaForAllocation() == nullptr) {
6819 delete constraint_.lin_max_;
6820 }
6821 break;
6822 }
6823 case kIntMin: {
6824 if (GetArenaForAllocation() == nullptr) {
6825 delete constraint_.int_min_;
6826 }
6827 break;
6828 }
6829 case kLinMin: {
6830 if (GetArenaForAllocation() == nullptr) {
6831 delete constraint_.lin_min_;
6832 }
6833 break;
6834 }
6835 case kIntProd: {
6836 if (GetArenaForAllocation() == nullptr) {
6837 delete constraint_.int_prod_;
6838 }
6839 break;
6840 }
6841 case kLinear: {
6842 if (GetArenaForAllocation() == nullptr) {
6843 delete constraint_.linear_;
6844 }
6845 break;
6846 }
6847 case kAllDiff: {
6848 if (GetArenaForAllocation() == nullptr) {
6849 delete constraint_.all_diff_;
6850 }
6851 break;
6852 }
6853 case kElement: {
6854 if (GetArenaForAllocation() == nullptr) {
6855 delete constraint_.element_;
6856 }
6857 break;
6858 }
6859 case kCircuit: {
6860 if (GetArenaForAllocation() == nullptr) {
6861 delete constraint_.circuit_;
6862 }
6863 break;
6864 }
6865 case kRoutes: {
6866 if (GetArenaForAllocation() == nullptr) {
6867 delete constraint_.routes_;
6868 }
6869 break;
6870 }
6871 case kTable: {
6872 if (GetArenaForAllocation() == nullptr) {
6873 delete constraint_.table_;
6874 }
6875 break;
6876 }
6877 case kAutomaton: {
6878 if (GetArenaForAllocation() == nullptr) {
6879 delete constraint_.automaton_;
6880 }
6881 break;
6882 }
6883 case kInverse: {
6884 if (GetArenaForAllocation() == nullptr) {
6885 delete constraint_.inverse_;
6886 }
6887 break;
6888 }
6889 case kReservoir: {
6890 if (GetArenaForAllocation() == nullptr) {
6891 delete constraint_.reservoir_;
6892 }
6893 break;
6894 }
6895 case kInterval: {
6896 if (GetArenaForAllocation() == nullptr) {
6897 delete constraint_.interval_;
6898 }
6899 break;
6900 }
6901 case kNoOverlap: {
6902 if (GetArenaForAllocation() == nullptr) {
6903 delete constraint_.no_overlap_;
6904 }
6905 break;
6906 }
6907 case kNoOverlap2D: {
6908 if (GetArenaForAllocation() == nullptr) {
6909 delete constraint_.no_overlap_2d_;
6910 }
6911 break;
6912 }
6913 case kCumulative: {
6914 if (GetArenaForAllocation() == nullptr) {
6915 delete constraint_.cumulative_;
6916 }
6917 break;
6918 }
6919 case kDummyConstraint: {
6920 if (GetArenaForAllocation() == nullptr) {
6921 delete constraint_.dummy_constraint_;
6922 }
6923 break;
6924 }
6925 case CONSTRAINT_NOT_SET: {
6926 break;
6927 }
6928 }
6929 _oneof_case_[0] = CONSTRAINT_NOT_SET;
6930}
6931
6932
6934// @@protoc_insertion_point(message_clear_start:operations_research.sat.ConstraintProto)
6935 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
6936 // Prevent compiler warnings about cached_has_bits being unused
6937 (void) cached_has_bits;
6938
6939 enforcement_literal_.Clear();
6940 name_.ClearToEmpty();
6942 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
6943}
6944
6945const char* ConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
6946#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
6947 while (!ctx->Done(&ptr)) {
6948 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
6949 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
6950 switch (tag >> 3) {
6951 // string name = 1;
6952 case 1:
6953 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
6954 auto str = _internal_mutable_name();
6955 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
6956 CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.sat.ConstraintProto.name"));
6957 CHK_(ptr);
6958 } else
6959 goto handle_unusual;
6960 continue;
6961 // repeated int32 enforcement_literal = 2;
6962 case 2:
6963 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
6964 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_enforcement_literal(), ptr, ctx);
6965 CHK_(ptr);
6966 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) {
6967 _internal_add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
6968 CHK_(ptr);
6969 } else
6970 goto handle_unusual;
6971 continue;
6972 // .operations_research.sat.BoolArgumentProto bool_or = 3;
6973 case 3:
6974 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
6975 ptr = ctx->ParseMessage(_internal_mutable_bool_or(), ptr);
6976 CHK_(ptr);
6977 } else
6978 goto handle_unusual;
6979 continue;
6980 // .operations_research.sat.BoolArgumentProto bool_and = 4;
6981 case 4:
6982 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
6983 ptr = ctx->ParseMessage(_internal_mutable_bool_and(), ptr);
6984 CHK_(ptr);
6985 } else
6986 goto handle_unusual;
6987 continue;
6988 // .operations_research.sat.BoolArgumentProto bool_xor = 5;
6989 case 5:
6990 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
6991 ptr = ctx->ParseMessage(_internal_mutable_bool_xor(), ptr);
6992 CHK_(ptr);
6993 } else
6994 goto handle_unusual;
6995 continue;
6996 // .operations_research.sat.IntegerArgumentProto int_div = 7;
6997 case 7:
6998 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
6999 ptr = ctx->ParseMessage(_internal_mutable_int_div(), ptr);
7000 CHK_(ptr);
7001 } else
7002 goto handle_unusual;
7003 continue;
7004 // .operations_research.sat.IntegerArgumentProto int_mod = 8;
7005 case 8:
7006 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
7007 ptr = ctx->ParseMessage(_internal_mutable_int_mod(), ptr);
7008 CHK_(ptr);
7009 } else
7010 goto handle_unusual;
7011 continue;
7012 // .operations_research.sat.IntegerArgumentProto int_max = 9;
7013 case 9:
7014 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
7015 ptr = ctx->ParseMessage(_internal_mutable_int_max(), ptr);
7016 CHK_(ptr);
7017 } else
7018 goto handle_unusual;
7019 continue;
7020 // .operations_research.sat.IntegerArgumentProto int_min = 10;
7021 case 10:
7022 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) {
7023 ptr = ctx->ParseMessage(_internal_mutable_int_min(), ptr);
7024 CHK_(ptr);
7025 } else
7026 goto handle_unusual;
7027 continue;
7028 // .operations_research.sat.IntegerArgumentProto int_prod = 11;
7029 case 11:
7030 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) {
7031 ptr = ctx->ParseMessage(_internal_mutable_int_prod(), ptr);
7032 CHK_(ptr);
7033 } else
7034 goto handle_unusual;
7035 continue;
7036 // .operations_research.sat.LinearConstraintProto linear = 12;
7037 case 12:
7038 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 98)) {
7039 ptr = ctx->ParseMessage(_internal_mutable_linear(), ptr);
7040 CHK_(ptr);
7041 } else
7042 goto handle_unusual;
7043 continue;
7044 // .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
7045 case 13:
7046 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 106)) {
7047 ptr = ctx->ParseMessage(_internal_mutable_all_diff(), ptr);
7048 CHK_(ptr);
7049 } else
7050 goto handle_unusual;
7051 continue;
7052 // .operations_research.sat.ElementConstraintProto element = 14;
7053 case 14:
7054 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 114)) {
7055 ptr = ctx->ParseMessage(_internal_mutable_element(), ptr);
7056 CHK_(ptr);
7057 } else
7058 goto handle_unusual;
7059 continue;
7060 // .operations_research.sat.CircuitConstraintProto circuit = 15;
7061 case 15:
7062 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 122)) {
7063 ptr = ctx->ParseMessage(_internal_mutable_circuit(), ptr);
7064 CHK_(ptr);
7065 } else
7066 goto handle_unusual;
7067 continue;
7068 // .operations_research.sat.TableConstraintProto table = 16;
7069 case 16:
7070 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 130)) {
7071 ptr = ctx->ParseMessage(_internal_mutable_table(), ptr);
7072 CHK_(ptr);
7073 } else
7074 goto handle_unusual;
7075 continue;
7076 // .operations_research.sat.AutomatonConstraintProto automaton = 17;
7077 case 17:
7078 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 138)) {
7079 ptr = ctx->ParseMessage(_internal_mutable_automaton(), ptr);
7080 CHK_(ptr);
7081 } else
7082 goto handle_unusual;
7083 continue;
7084 // .operations_research.sat.InverseConstraintProto inverse = 18;
7085 case 18:
7086 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 146)) {
7087 ptr = ctx->ParseMessage(_internal_mutable_inverse(), ptr);
7088 CHK_(ptr);
7089 } else
7090 goto handle_unusual;
7091 continue;
7092 // .operations_research.sat.IntervalConstraintProto interval = 19;
7093 case 19:
7094 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 154)) {
7095 ptr = ctx->ParseMessage(_internal_mutable_interval(), ptr);
7096 CHK_(ptr);
7097 } else
7098 goto handle_unusual;
7099 continue;
7100 // .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
7101 case 20:
7102 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 162)) {
7103 ptr = ctx->ParseMessage(_internal_mutable_no_overlap(), ptr);
7104 CHK_(ptr);
7105 } else
7106 goto handle_unusual;
7107 continue;
7108 // .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
7109 case 21:
7110 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 170)) {
7111 ptr = ctx->ParseMessage(_internal_mutable_no_overlap_2d(), ptr);
7112 CHK_(ptr);
7113 } else
7114 goto handle_unusual;
7115 continue;
7116 // .operations_research.sat.CumulativeConstraintProto cumulative = 22;
7117 case 22:
7118 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 178)) {
7119 ptr = ctx->ParseMessage(_internal_mutable_cumulative(), ptr);
7120 CHK_(ptr);
7121 } else
7122 goto handle_unusual;
7123 continue;
7124 // .operations_research.sat.RoutesConstraintProto routes = 23;
7125 case 23:
7126 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 186)) {
7127 ptr = ctx->ParseMessage(_internal_mutable_routes(), ptr);
7128 CHK_(ptr);
7129 } else
7130 goto handle_unusual;
7131 continue;
7132 // .operations_research.sat.ReservoirConstraintProto reservoir = 24;
7133 case 24:
7134 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 194)) {
7135 ptr = ctx->ParseMessage(_internal_mutable_reservoir(), ptr);
7136 CHK_(ptr);
7137 } else
7138 goto handle_unusual;
7139 continue;
7140 // .operations_research.sat.BoolArgumentProto at_most_one = 26;
7141 case 26:
7142 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 210)) {
7143 ptr = ctx->ParseMessage(_internal_mutable_at_most_one(), ptr);
7144 CHK_(ptr);
7145 } else
7146 goto handle_unusual;
7147 continue;
7148 // .operations_research.sat.LinearArgumentProto lin_max = 27;
7149 case 27:
7150 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 218)) {
7151 ptr = ctx->ParseMessage(_internal_mutable_lin_max(), ptr);
7152 CHK_(ptr);
7153 } else
7154 goto handle_unusual;
7155 continue;
7156 // .operations_research.sat.LinearArgumentProto lin_min = 28;
7157 case 28:
7158 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 226)) {
7159 ptr = ctx->ParseMessage(_internal_mutable_lin_min(), ptr);
7160 CHK_(ptr);
7161 } else
7162 goto handle_unusual;
7163 continue;
7164 // .operations_research.sat.BoolArgumentProto exactly_one = 29;
7165 case 29:
7166 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 234)) {
7167 ptr = ctx->ParseMessage(_internal_mutable_exactly_one(), ptr);
7168 CHK_(ptr);
7169 } else
7170 goto handle_unusual;
7171 continue;
7172 // .operations_research.sat.ListOfVariablesProto dummy_constraint = 30;
7173 case 30:
7174 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 242)) {
7175 ptr = ctx->ParseMessage(_internal_mutable_dummy_constraint(), ptr);
7176 CHK_(ptr);
7177 } else
7178 goto handle_unusual;
7179 continue;
7180 default:
7181 goto handle_unusual;
7182 } // switch
7183 handle_unusual:
7184 if ((tag == 0) || ((tag & 7) == 4)) {
7185 CHK_(ptr);
7186 ctx->SetLastTag(tag);
7187 goto message_done;
7188 }
7189 ptr = UnknownFieldParse(
7190 tag,
7191 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
7192 ptr, ctx);
7193 CHK_(ptr != nullptr);
7194 } // while
7195message_done:
7196 return ptr;
7197failure:
7198 ptr = nullptr;
7199 goto message_done;
7200#undef CHK_
7201}
7202
7203::PROTOBUF_NAMESPACE_ID::uint8* ConstraintProto::_InternalSerialize(
7204 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
7205 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.ConstraintProto)
7206 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
7207 (void) cached_has_bits;
7208
7209 // string name = 1;
7210 if (!this->_internal_name().empty()) {
7211 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
7212 this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
7213 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
7214 "operations_research.sat.ConstraintProto.name");
7215 target = stream->WriteStringMaybeAliased(
7216 1, this->_internal_name(), target);
7217 }
7218
7219 // repeated int32 enforcement_literal = 2;
7220 {
7221 int byte_size = _enforcement_literal_cached_byte_size_.load(std::memory_order_relaxed);
7222 if (byte_size > 0) {
7223 target = stream->WriteInt32Packed(
7224 2, _internal_enforcement_literal(), byte_size, target);
7225 }
7226 }
7227
7228 // .operations_research.sat.BoolArgumentProto bool_or = 3;
7229 if (_internal_has_bool_or()) {
7230 target = stream->EnsureSpace(target);
7231 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7232 InternalWriteMessage(
7233 3, _Internal::bool_or(this), target, stream);
7234 }
7235
7236 // .operations_research.sat.BoolArgumentProto bool_and = 4;
7237 if (_internal_has_bool_and()) {
7238 target = stream->EnsureSpace(target);
7239 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7240 InternalWriteMessage(
7241 4, _Internal::bool_and(this), target, stream);
7242 }
7243
7244 // .operations_research.sat.BoolArgumentProto bool_xor = 5;
7245 if (_internal_has_bool_xor()) {
7246 target = stream->EnsureSpace(target);
7247 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7248 InternalWriteMessage(
7249 5, _Internal::bool_xor(this), target, stream);
7250 }
7251
7252 // .operations_research.sat.IntegerArgumentProto int_div = 7;
7253 if (_internal_has_int_div()) {
7254 target = stream->EnsureSpace(target);
7255 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7256 InternalWriteMessage(
7257 7, _Internal::int_div(this), target, stream);
7258 }
7259
7260 // .operations_research.sat.IntegerArgumentProto int_mod = 8;
7261 if (_internal_has_int_mod()) {
7262 target = stream->EnsureSpace(target);
7263 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7264 InternalWriteMessage(
7265 8, _Internal::int_mod(this), target, stream);
7266 }
7267
7268 // .operations_research.sat.IntegerArgumentProto int_max = 9;
7269 if (_internal_has_int_max()) {
7270 target = stream->EnsureSpace(target);
7271 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7272 InternalWriteMessage(
7273 9, _Internal::int_max(this), target, stream);
7274 }
7275
7276 // .operations_research.sat.IntegerArgumentProto int_min = 10;
7277 if (_internal_has_int_min()) {
7278 target = stream->EnsureSpace(target);
7279 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7280 InternalWriteMessage(
7281 10, _Internal::int_min(this), target, stream);
7282 }
7283
7284 // .operations_research.sat.IntegerArgumentProto int_prod = 11;
7285 if (_internal_has_int_prod()) {
7286 target = stream->EnsureSpace(target);
7287 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7288 InternalWriteMessage(
7289 11, _Internal::int_prod(this), target, stream);
7290 }
7291
7292 // .operations_research.sat.LinearConstraintProto linear = 12;
7293 if (_internal_has_linear()) {
7294 target = stream->EnsureSpace(target);
7295 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7296 InternalWriteMessage(
7297 12, _Internal::linear(this), target, stream);
7298 }
7299
7300 // .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
7301 if (_internal_has_all_diff()) {
7302 target = stream->EnsureSpace(target);
7303 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7304 InternalWriteMessage(
7305 13, _Internal::all_diff(this), target, stream);
7306 }
7307
7308 // .operations_research.sat.ElementConstraintProto element = 14;
7309 if (_internal_has_element()) {
7310 target = stream->EnsureSpace(target);
7311 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7312 InternalWriteMessage(
7313 14, _Internal::element(this), target, stream);
7314 }
7315
7316 // .operations_research.sat.CircuitConstraintProto circuit = 15;
7317 if (_internal_has_circuit()) {
7318 target = stream->EnsureSpace(target);
7319 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7320 InternalWriteMessage(
7321 15, _Internal::circuit(this), target, stream);
7322 }
7323
7324 // .operations_research.sat.TableConstraintProto table = 16;
7325 if (_internal_has_table()) {
7326 target = stream->EnsureSpace(target);
7327 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7328 InternalWriteMessage(
7329 16, _Internal::table(this), target, stream);
7330 }
7331
7332 // .operations_research.sat.AutomatonConstraintProto automaton = 17;
7333 if (_internal_has_automaton()) {
7334 target = stream->EnsureSpace(target);
7335 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7336 InternalWriteMessage(
7337 17, _Internal::automaton(this), target, stream);
7338 }
7339
7340 // .operations_research.sat.InverseConstraintProto inverse = 18;
7341 if (_internal_has_inverse()) {
7342 target = stream->EnsureSpace(target);
7343 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7344 InternalWriteMessage(
7345 18, _Internal::inverse(this), target, stream);
7346 }
7347
7348 // .operations_research.sat.IntervalConstraintProto interval = 19;
7349 if (_internal_has_interval()) {
7350 target = stream->EnsureSpace(target);
7351 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7352 InternalWriteMessage(
7353 19, _Internal::interval(this), target, stream);
7354 }
7355
7356 // .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
7357 if (_internal_has_no_overlap()) {
7358 target = stream->EnsureSpace(target);
7359 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7360 InternalWriteMessage(
7361 20, _Internal::no_overlap(this), target, stream);
7362 }
7363
7364 // .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
7365 if (_internal_has_no_overlap_2d()) {
7366 target = stream->EnsureSpace(target);
7367 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7368 InternalWriteMessage(
7369 21, _Internal::no_overlap_2d(this), target, stream);
7370 }
7371
7372 // .operations_research.sat.CumulativeConstraintProto cumulative = 22;
7373 if (_internal_has_cumulative()) {
7374 target = stream->EnsureSpace(target);
7375 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7376 InternalWriteMessage(
7377 22, _Internal::cumulative(this), target, stream);
7378 }
7379
7380 // .operations_research.sat.RoutesConstraintProto routes = 23;
7381 if (_internal_has_routes()) {
7382 target = stream->EnsureSpace(target);
7383 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7384 InternalWriteMessage(
7385 23, _Internal::routes(this), target, stream);
7386 }
7387
7388 // .operations_research.sat.ReservoirConstraintProto reservoir = 24;
7389 if (_internal_has_reservoir()) {
7390 target = stream->EnsureSpace(target);
7391 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7392 InternalWriteMessage(
7393 24, _Internal::reservoir(this), target, stream);
7394 }
7395
7396 // .operations_research.sat.BoolArgumentProto at_most_one = 26;
7397 if (_internal_has_at_most_one()) {
7398 target = stream->EnsureSpace(target);
7399 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7400 InternalWriteMessage(
7401 26, _Internal::at_most_one(this), target, stream);
7402 }
7403
7404 // .operations_research.sat.LinearArgumentProto lin_max = 27;
7405 if (_internal_has_lin_max()) {
7406 target = stream->EnsureSpace(target);
7407 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7408 InternalWriteMessage(
7409 27, _Internal::lin_max(this), target, stream);
7410 }
7411
7412 // .operations_research.sat.LinearArgumentProto lin_min = 28;
7413 if (_internal_has_lin_min()) {
7414 target = stream->EnsureSpace(target);
7415 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7416 InternalWriteMessage(
7417 28, _Internal::lin_min(this), target, stream);
7418 }
7419
7420 // .operations_research.sat.BoolArgumentProto exactly_one = 29;
7421 if (_internal_has_exactly_one()) {
7422 target = stream->EnsureSpace(target);
7423 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7424 InternalWriteMessage(
7425 29, _Internal::exactly_one(this), target, stream);
7426 }
7427
7428 // .operations_research.sat.ListOfVariablesProto dummy_constraint = 30;
7429 if (_internal_has_dummy_constraint()) {
7430 target = stream->EnsureSpace(target);
7431 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7432 InternalWriteMessage(
7433 30, _Internal::dummy_constraint(this), target, stream);
7434 }
7435
7436 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
7437 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
7438 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
7439 }
7440 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.ConstraintProto)
7441 return target;
7442}
7443
7445// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.ConstraintProto)
7446 size_t total_size = 0;
7447
7448 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
7449 // Prevent compiler warnings about cached_has_bits being unused
7450 (void) cached_has_bits;
7451
7452 // repeated int32 enforcement_literal = 2;
7453 {
7454 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7455 Int32Size(this->enforcement_literal_);
7456 if (data_size > 0) {
7457 total_size += 1 +
7458 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
7459 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
7460 }
7461 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
7462 _enforcement_literal_cached_byte_size_.store(cached_size,
7463 std::memory_order_relaxed);
7464 total_size += data_size;
7465 }
7466
7467 // string name = 1;
7468 if (!this->_internal_name().empty()) {
7469 total_size += 1 +
7470 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
7471 this->_internal_name());
7472 }
7473
7474 switch (constraint_case()) {
7475 // .operations_research.sat.BoolArgumentProto bool_or = 3;
7476 case kBoolOr: {
7477 total_size += 1 +
7478 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7479 *constraint_.bool_or_);
7480 break;
7481 }
7482 // .operations_research.sat.BoolArgumentProto bool_and = 4;
7483 case kBoolAnd: {
7484 total_size += 1 +
7485 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7486 *constraint_.bool_and_);
7487 break;
7488 }
7489 // .operations_research.sat.BoolArgumentProto at_most_one = 26;
7490 case kAtMostOne: {
7491 total_size += 2 +
7492 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7493 *constraint_.at_most_one_);
7494 break;
7495 }
7496 // .operations_research.sat.BoolArgumentProto exactly_one = 29;
7497 case kExactlyOne: {
7498 total_size += 2 +
7499 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7500 *constraint_.exactly_one_);
7501 break;
7502 }
7503 // .operations_research.sat.BoolArgumentProto bool_xor = 5;
7504 case kBoolXor: {
7505 total_size += 1 +
7506 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7507 *constraint_.bool_xor_);
7508 break;
7509 }
7510 // .operations_research.sat.IntegerArgumentProto int_div = 7;
7511 case kIntDiv: {
7512 total_size += 1 +
7513 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7514 *constraint_.int_div_);
7515 break;
7516 }
7517 // .operations_research.sat.IntegerArgumentProto int_mod = 8;
7518 case kIntMod: {
7519 total_size += 1 +
7520 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7521 *constraint_.int_mod_);
7522 break;
7523 }
7524 // .operations_research.sat.IntegerArgumentProto int_max = 9;
7525 case kIntMax: {
7526 total_size += 1 +
7527 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7528 *constraint_.int_max_);
7529 break;
7530 }
7531 // .operations_research.sat.LinearArgumentProto lin_max = 27;
7532 case kLinMax: {
7533 total_size += 2 +
7534 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7535 *constraint_.lin_max_);
7536 break;
7537 }
7538 // .operations_research.sat.IntegerArgumentProto int_min = 10;
7539 case kIntMin: {
7540 total_size += 1 +
7541 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7542 *constraint_.int_min_);
7543 break;
7544 }
7545 // .operations_research.sat.LinearArgumentProto lin_min = 28;
7546 case kLinMin: {
7547 total_size += 2 +
7548 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7549 *constraint_.lin_min_);
7550 break;
7551 }
7552 // .operations_research.sat.IntegerArgumentProto int_prod = 11;
7553 case kIntProd: {
7554 total_size += 1 +
7555 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7556 *constraint_.int_prod_);
7557 break;
7558 }
7559 // .operations_research.sat.LinearConstraintProto linear = 12;
7560 case kLinear: {
7561 total_size += 1 +
7562 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7563 *constraint_.linear_);
7564 break;
7565 }
7566 // .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
7567 case kAllDiff: {
7568 total_size += 1 +
7569 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7570 *constraint_.all_diff_);
7571 break;
7572 }
7573 // .operations_research.sat.ElementConstraintProto element = 14;
7574 case kElement: {
7575 total_size += 1 +
7576 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7577 *constraint_.element_);
7578 break;
7579 }
7580 // .operations_research.sat.CircuitConstraintProto circuit = 15;
7581 case kCircuit: {
7582 total_size += 1 +
7583 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7584 *constraint_.circuit_);
7585 break;
7586 }
7587 // .operations_research.sat.RoutesConstraintProto routes = 23;
7588 case kRoutes: {
7589 total_size += 2 +
7590 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7591 *constraint_.routes_);
7592 break;
7593 }
7594 // .operations_research.sat.TableConstraintProto table = 16;
7595 case kTable: {
7596 total_size += 2 +
7597 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7598 *constraint_.table_);
7599 break;
7600 }
7601 // .operations_research.sat.AutomatonConstraintProto automaton = 17;
7602 case kAutomaton: {
7603 total_size += 2 +
7604 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7605 *constraint_.automaton_);
7606 break;
7607 }
7608 // .operations_research.sat.InverseConstraintProto inverse = 18;
7609 case kInverse: {
7610 total_size += 2 +
7611 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7612 *constraint_.inverse_);
7613 break;
7614 }
7615 // .operations_research.sat.ReservoirConstraintProto reservoir = 24;
7616 case kReservoir: {
7617 total_size += 2 +
7618 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7619 *constraint_.reservoir_);
7620 break;
7621 }
7622 // .operations_research.sat.IntervalConstraintProto interval = 19;
7623 case kInterval: {
7624 total_size += 2 +
7625 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7626 *constraint_.interval_);
7627 break;
7628 }
7629 // .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
7630 case kNoOverlap: {
7631 total_size += 2 +
7632 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7633 *constraint_.no_overlap_);
7634 break;
7635 }
7636 // .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
7637 case kNoOverlap2D: {
7638 total_size += 2 +
7639 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7640 *constraint_.no_overlap_2d_);
7641 break;
7642 }
7643 // .operations_research.sat.CumulativeConstraintProto cumulative = 22;
7644 case kCumulative: {
7645 total_size += 2 +
7646 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7647 *constraint_.cumulative_);
7648 break;
7649 }
7650 // .operations_research.sat.ListOfVariablesProto dummy_constraint = 30;
7651 case kDummyConstraint: {
7652 total_size += 2 +
7653 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7654 *constraint_.dummy_constraint_);
7655 break;
7656 }
7657 case CONSTRAINT_NOT_SET: {
7658 break;
7659 }
7660 }
7661 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
7662}
7663
7664const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ConstraintProto::_class_data_ = {
7665 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
7666 ConstraintProto::MergeImpl
7667};
7668const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ConstraintProto::GetClassData() const { return &_class_data_; }
7669
7670void ConstraintProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
7671 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
7672 static_cast<ConstraintProto *>(to)->MergeFrom(
7673 static_cast<const ConstraintProto &>(from));
7674}
7675
7676
7678// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.ConstraintProto)
7679 GOOGLE_DCHECK_NE(&from, this);
7680 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
7681 (void) cached_has_bits;
7682
7683 enforcement_literal_.MergeFrom(from.enforcement_literal_);
7684 if (!from._internal_name().empty()) {
7685 _internal_set_name(from._internal_name());
7686 }
7687 switch (from.constraint_case()) {
7688 case kBoolOr: {
7689 _internal_mutable_bool_or()->::operations_research::sat::BoolArgumentProto::MergeFrom(from._internal_bool_or());
7690 break;
7691 }
7692 case kBoolAnd: {
7693 _internal_mutable_bool_and()->::operations_research::sat::BoolArgumentProto::MergeFrom(from._internal_bool_and());
7694 break;
7695 }
7696 case kAtMostOne: {
7697 _internal_mutable_at_most_one()->::operations_research::sat::BoolArgumentProto::MergeFrom(from._internal_at_most_one());
7698 break;
7699 }
7700 case kExactlyOne: {
7701 _internal_mutable_exactly_one()->::operations_research::sat::BoolArgumentProto::MergeFrom(from._internal_exactly_one());
7702 break;
7703 }
7704 case kBoolXor: {
7705 _internal_mutable_bool_xor()->::operations_research::sat::BoolArgumentProto::MergeFrom(from._internal_bool_xor());
7706 break;
7707 }
7708 case kIntDiv: {
7709 _internal_mutable_int_div()->::operations_research::sat::IntegerArgumentProto::MergeFrom(from._internal_int_div());
7710 break;
7711 }
7712 case kIntMod: {
7713 _internal_mutable_int_mod()->::operations_research::sat::IntegerArgumentProto::MergeFrom(from._internal_int_mod());
7714 break;
7715 }
7716 case kIntMax: {
7717 _internal_mutable_int_max()->::operations_research::sat::IntegerArgumentProto::MergeFrom(from._internal_int_max());
7718 break;
7719 }
7720 case kLinMax: {
7721 _internal_mutable_lin_max()->::operations_research::sat::LinearArgumentProto::MergeFrom(from._internal_lin_max());
7722 break;
7723 }
7724 case kIntMin: {
7725 _internal_mutable_int_min()->::operations_research::sat::IntegerArgumentProto::MergeFrom(from._internal_int_min());
7726 break;
7727 }
7728 case kLinMin: {
7729 _internal_mutable_lin_min()->::operations_research::sat::LinearArgumentProto::MergeFrom(from._internal_lin_min());
7730 break;
7731 }
7732 case kIntProd: {
7733 _internal_mutable_int_prod()->::operations_research::sat::IntegerArgumentProto::MergeFrom(from._internal_int_prod());
7734 break;
7735 }
7736 case kLinear: {
7737 _internal_mutable_linear()->::operations_research::sat::LinearConstraintProto::MergeFrom(from._internal_linear());
7738 break;
7739 }
7740 case kAllDiff: {
7741 _internal_mutable_all_diff()->::operations_research::sat::AllDifferentConstraintProto::MergeFrom(from._internal_all_diff());
7742 break;
7743 }
7744 case kElement: {
7745 _internal_mutable_element()->::operations_research::sat::ElementConstraintProto::MergeFrom(from._internal_element());
7746 break;
7747 }
7748 case kCircuit: {
7749 _internal_mutable_circuit()->::operations_research::sat::CircuitConstraintProto::MergeFrom(from._internal_circuit());
7750 break;
7751 }
7752 case kRoutes: {
7753 _internal_mutable_routes()->::operations_research::sat::RoutesConstraintProto::MergeFrom(from._internal_routes());
7754 break;
7755 }
7756 case kTable: {
7757 _internal_mutable_table()->::operations_research::sat::TableConstraintProto::MergeFrom(from._internal_table());
7758 break;
7759 }
7760 case kAutomaton: {
7761 _internal_mutable_automaton()->::operations_research::sat::AutomatonConstraintProto::MergeFrom(from._internal_automaton());
7762 break;
7763 }
7764 case kInverse: {
7765 _internal_mutable_inverse()->::operations_research::sat::InverseConstraintProto::MergeFrom(from._internal_inverse());
7766 break;
7767 }
7768 case kReservoir: {
7769 _internal_mutable_reservoir()->::operations_research::sat::ReservoirConstraintProto::MergeFrom(from._internal_reservoir());
7770 break;
7771 }
7772 case kInterval: {
7773 _internal_mutable_interval()->::operations_research::sat::IntervalConstraintProto::MergeFrom(from._internal_interval());
7774 break;
7775 }
7776 case kNoOverlap: {
7777 _internal_mutable_no_overlap()->::operations_research::sat::NoOverlapConstraintProto::MergeFrom(from._internal_no_overlap());
7778 break;
7779 }
7780 case kNoOverlap2D: {
7781 _internal_mutable_no_overlap_2d()->::operations_research::sat::NoOverlap2DConstraintProto::MergeFrom(from._internal_no_overlap_2d());
7782 break;
7783 }
7784 case kCumulative: {
7785 _internal_mutable_cumulative()->::operations_research::sat::CumulativeConstraintProto::MergeFrom(from._internal_cumulative());
7786 break;
7787 }
7788 case kDummyConstraint: {
7789 _internal_mutable_dummy_constraint()->::operations_research::sat::ListOfVariablesProto::MergeFrom(from._internal_dummy_constraint());
7790 break;
7791 }
7792 case CONSTRAINT_NOT_SET: {
7793 break;
7794 }
7795 }
7796 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
7797}
7798
7800// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.ConstraintProto)
7801 if (&from == this) return;
7802 Clear();
7803 MergeFrom(from);
7804}
7805
7807 return true;
7808}
7809
7810void ConstraintProto::InternalSwap(ConstraintProto* other) {
7811 using std::swap;
7812 auto* lhs_arena = GetArenaForAllocation();
7813 auto* rhs_arena = other->GetArenaForAllocation();
7814 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
7815 enforcement_literal_.InternalSwap(&other->enforcement_literal_);
7816 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
7817 &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
7818 &name_, lhs_arena,
7819 &other->name_, rhs_arena
7820 );
7821 swap(constraint_, other->constraint_);
7822 swap(_oneof_case_[0], other->_oneof_case_[0]);
7823}
7824
7825::PROTOBUF_NAMESPACE_ID::Metadata ConstraintProto::GetMetadata() const {
7826 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
7829}
7830
7831// ===================================================================
7832
7834 public:
7835};
7836
7837CpObjectiveProto::CpObjectiveProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
7838 bool is_message_owned)
7839 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
7840 vars_(arena),
7841 coeffs_(arena),
7842 domain_(arena) {
7843 SharedCtor();
7844 if (!is_message_owned) {
7845 RegisterArenaDtor(arena);
7846 }
7847 // @@protoc_insertion_point(arena_constructor:operations_research.sat.CpObjectiveProto)
7848}
7850 : ::PROTOBUF_NAMESPACE_ID::Message(),
7851 vars_(from.vars_),
7852 coeffs_(from.coeffs_),
7853 domain_(from.domain_) {
7854 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
7855 ::memcpy(&offset_, &from.offset_,
7856 static_cast<size_t>(reinterpret_cast<char*>(&scaling_factor_) -
7857 reinterpret_cast<char*>(&offset_)) + sizeof(scaling_factor_));
7858 // @@protoc_insertion_point(copy_constructor:operations_research.sat.CpObjectiveProto)
7859}
7860
7861void CpObjectiveProto::SharedCtor() {
7862::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
7863 reinterpret_cast<char*>(&offset_) - reinterpret_cast<char*>(this)),
7864 0, static_cast<size_t>(reinterpret_cast<char*>(&scaling_factor_) -
7865 reinterpret_cast<char*>(&offset_)) + sizeof(scaling_factor_));
7866}
7867
7869 // @@protoc_insertion_point(destructor:operations_research.sat.CpObjectiveProto)
7870 if (GetArenaForAllocation() != nullptr) return;
7871 SharedDtor();
7872 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
7873}
7874
7875inline void CpObjectiveProto::SharedDtor() {
7876 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
7877}
7878
7879void CpObjectiveProto::ArenaDtor(void* object) {
7880 CpObjectiveProto* _this = reinterpret_cast< CpObjectiveProto* >(object);
7881 (void)_this;
7882}
7883void CpObjectiveProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
7884}
7885void CpObjectiveProto::SetCachedSize(int size) const {
7886 _cached_size_.Set(size);
7887}
7888
7890// @@protoc_insertion_point(message_clear_start:operations_research.sat.CpObjectiveProto)
7891 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
7892 // Prevent compiler warnings about cached_has_bits being unused
7893 (void) cached_has_bits;
7894
7895 vars_.Clear();
7896 coeffs_.Clear();
7897 domain_.Clear();
7898 ::memset(&offset_, 0, static_cast<size_t>(
7899 reinterpret_cast<char*>(&scaling_factor_) -
7900 reinterpret_cast<char*>(&offset_)) + sizeof(scaling_factor_));
7901 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
7902}
7903
7904const char* CpObjectiveProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
7905#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
7906 while (!ctx->Done(&ptr)) {
7907 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
7908 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
7909 switch (tag >> 3) {
7910 // repeated int32 vars = 1;
7911 case 1:
7912 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
7913 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_vars(), ptr, ctx);
7914 CHK_(ptr);
7915 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
7916 _internal_add_vars(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
7917 CHK_(ptr);
7918 } else
7919 goto handle_unusual;
7920 continue;
7921 // double offset = 2;
7922 case 2:
7923 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 17)) {
7924 offset_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
7925 ptr += sizeof(double);
7926 } else
7927 goto handle_unusual;
7928 continue;
7929 // double scaling_factor = 3;
7930 case 3:
7931 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 25)) {
7932 scaling_factor_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
7933 ptr += sizeof(double);
7934 } else
7935 goto handle_unusual;
7936 continue;
7937 // repeated int64 coeffs = 4;
7938 case 4:
7939 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
7940 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_coeffs(), ptr, ctx);
7941 CHK_(ptr);
7942 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32) {
7943 _internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
7944 CHK_(ptr);
7945 } else
7946 goto handle_unusual;
7947 continue;
7948 // repeated int64 domain = 5;
7949 case 5:
7950 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
7951 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_domain(), ptr, ctx);
7952 CHK_(ptr);
7953 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40) {
7954 _internal_add_domain(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
7955 CHK_(ptr);
7956 } else
7957 goto handle_unusual;
7958 continue;
7959 default:
7960 goto handle_unusual;
7961 } // switch
7962 handle_unusual:
7963 if ((tag == 0) || ((tag & 7) == 4)) {
7964 CHK_(ptr);
7965 ctx->SetLastTag(tag);
7966 goto message_done;
7967 }
7968 ptr = UnknownFieldParse(
7969 tag,
7970 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
7971 ptr, ctx);
7972 CHK_(ptr != nullptr);
7973 } // while
7974message_done:
7975 return ptr;
7976failure:
7977 ptr = nullptr;
7978 goto message_done;
7979#undef CHK_
7980}
7981
7982::PROTOBUF_NAMESPACE_ID::uint8* CpObjectiveProto::_InternalSerialize(
7983 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
7984 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.CpObjectiveProto)
7985 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
7986 (void) cached_has_bits;
7987
7988 // repeated int32 vars = 1;
7989 {
7990 int byte_size = _vars_cached_byte_size_.load(std::memory_order_relaxed);
7991 if (byte_size > 0) {
7992 target = stream->WriteInt32Packed(
7993 1, _internal_vars(), byte_size, target);
7994 }
7995 }
7996
7997 // double offset = 2;
7998 if (!(this->_internal_offset() <= 0 && this->_internal_offset() >= 0)) {
7999 target = stream->EnsureSpace(target);
8000 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(2, this->_internal_offset(), target);
8001 }
8002
8003 // double scaling_factor = 3;
8004 if (!(this->_internal_scaling_factor() <= 0 && this->_internal_scaling_factor() >= 0)) {
8005 target = stream->EnsureSpace(target);
8006 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(3, this->_internal_scaling_factor(), target);
8007 }
8008
8009 // repeated int64 coeffs = 4;
8010 {
8011 int byte_size = _coeffs_cached_byte_size_.load(std::memory_order_relaxed);
8012 if (byte_size > 0) {
8013 target = stream->WriteInt64Packed(
8014 4, _internal_coeffs(), byte_size, target);
8015 }
8016 }
8017
8018 // repeated int64 domain = 5;
8019 {
8020 int byte_size = _domain_cached_byte_size_.load(std::memory_order_relaxed);
8021 if (byte_size > 0) {
8022 target = stream->WriteInt64Packed(
8023 5, _internal_domain(), byte_size, target);
8024 }
8025 }
8026
8027 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
8028 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
8029 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
8030 }
8031 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.CpObjectiveProto)
8032 return target;
8033}
8034
8036// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.CpObjectiveProto)
8037 size_t total_size = 0;
8038
8039 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
8040 // Prevent compiler warnings about cached_has_bits being unused
8041 (void) cached_has_bits;
8042
8043 // repeated int32 vars = 1;
8044 {
8045 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
8046 Int32Size(this->vars_);
8047 if (data_size > 0) {
8048 total_size += 1 +
8049 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
8050 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
8051 }
8052 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
8053 _vars_cached_byte_size_.store(cached_size,
8054 std::memory_order_relaxed);
8055 total_size += data_size;
8056 }
8057
8058 // repeated int64 coeffs = 4;
8059 {
8060 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
8061 Int64Size(this->coeffs_);
8062 if (data_size > 0) {
8063 total_size += 1 +
8064 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
8065 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
8066 }
8067 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
8068 _coeffs_cached_byte_size_.store(cached_size,
8069 std::memory_order_relaxed);
8070 total_size += data_size;
8071 }
8072
8073 // repeated int64 domain = 5;
8074 {
8075 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
8076 Int64Size(this->domain_);
8077 if (data_size > 0) {
8078 total_size += 1 +
8079 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
8080 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
8081 }
8082 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
8083 _domain_cached_byte_size_.store(cached_size,
8084 std::memory_order_relaxed);
8085 total_size += data_size;
8086 }
8087
8088 // double offset = 2;
8089 if (!(this->_internal_offset() <= 0 && this->_internal_offset() >= 0)) {
8090 total_size += 1 + 8;
8091 }
8092
8093 // double scaling_factor = 3;
8094 if (!(this->_internal_scaling_factor() <= 0 && this->_internal_scaling_factor() >= 0)) {
8095 total_size += 1 + 8;
8096 }
8097
8098 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
8099}
8100
8101const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CpObjectiveProto::_class_data_ = {
8102 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
8103 CpObjectiveProto::MergeImpl
8104};
8105const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CpObjectiveProto::GetClassData() const { return &_class_data_; }
8106
8107void CpObjectiveProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
8108 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
8109 static_cast<CpObjectiveProto *>(to)->MergeFrom(
8110 static_cast<const CpObjectiveProto &>(from));
8111}
8112
8113
8115// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.CpObjectiveProto)
8116 GOOGLE_DCHECK_NE(&from, this);
8117 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
8118 (void) cached_has_bits;
8119
8120 vars_.MergeFrom(from.vars_);
8121 coeffs_.MergeFrom(from.coeffs_);
8122 domain_.MergeFrom(from.domain_);
8123 if (!(from._internal_offset() <= 0 && from._internal_offset() >= 0)) {
8124 _internal_set_offset(from._internal_offset());
8125 }
8126 if (!(from._internal_scaling_factor() <= 0 && from._internal_scaling_factor() >= 0)) {
8127 _internal_set_scaling_factor(from._internal_scaling_factor());
8128 }
8129 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
8130}
8131
8133// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.CpObjectiveProto)
8134 if (&from == this) return;
8135 Clear();
8136 MergeFrom(from);
8137}
8138
8140 return true;
8141}
8142
8143void CpObjectiveProto::InternalSwap(CpObjectiveProto* other) {
8144 using std::swap;
8145 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
8146 vars_.InternalSwap(&other->vars_);
8147 coeffs_.InternalSwap(&other->coeffs_);
8148 domain_.InternalSwap(&other->domain_);
8149 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
8150 PROTOBUF_FIELD_OFFSET(CpObjectiveProto, scaling_factor_)
8151 + sizeof(CpObjectiveProto::scaling_factor_)
8152 - PROTOBUF_FIELD_OFFSET(CpObjectiveProto, offset_)>(
8153 reinterpret_cast<char*>(&offset_),
8154 reinterpret_cast<char*>(&other->offset_));
8155}
8156
8157::PROTOBUF_NAMESPACE_ID::Metadata CpObjectiveProto::GetMetadata() const {
8158 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
8161}
8162
8163// ===================================================================
8164
8166 public:
8167};
8168
8170 bool is_message_owned)
8171 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
8172 SharedCtor();
8173 if (!is_message_owned) {
8174 RegisterArenaDtor(arena);
8175 }
8176 // @@protoc_insertion_point(arena_constructor:operations_research.sat.DecisionStrategyProto.AffineTransformation)
8177}
8179 : ::PROTOBUF_NAMESPACE_ID::Message() {
8180 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
8181 ::memcpy(&offset_, &from.offset_,
8182 static_cast<size_t>(reinterpret_cast<char*>(&index_) -
8183 reinterpret_cast<char*>(&offset_)) + sizeof(index_));
8184 // @@protoc_insertion_point(copy_constructor:operations_research.sat.DecisionStrategyProto.AffineTransformation)
8185}
8186
8187void DecisionStrategyProto_AffineTransformation::SharedCtor() {
8188::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
8189 reinterpret_cast<char*>(&offset_) - reinterpret_cast<char*>(this)),
8190 0, static_cast<size_t>(reinterpret_cast<char*>(&index_) -
8191 reinterpret_cast<char*>(&offset_)) + sizeof(index_));
8192}
8193
8195 // @@protoc_insertion_point(destructor:operations_research.sat.DecisionStrategyProto.AffineTransformation)
8196 if (GetArenaForAllocation() != nullptr) return;
8197 SharedDtor();
8198 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
8199}
8200
8201inline void DecisionStrategyProto_AffineTransformation::SharedDtor() {
8202 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
8203}
8204
8205void DecisionStrategyProto_AffineTransformation::ArenaDtor(void* object) {
8207 (void)_this;
8208}
8209void DecisionStrategyProto_AffineTransformation::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
8210}
8211void DecisionStrategyProto_AffineTransformation::SetCachedSize(int size) const {
8212 _cached_size_.Set(size);
8213}
8214
8216// @@protoc_insertion_point(message_clear_start:operations_research.sat.DecisionStrategyProto.AffineTransformation)
8217 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
8218 // Prevent compiler warnings about cached_has_bits being unused
8219 (void) cached_has_bits;
8220
8221 ::memset(&offset_, 0, static_cast<size_t>(
8222 reinterpret_cast<char*>(&index_) -
8223 reinterpret_cast<char*>(&offset_)) + sizeof(index_));
8224 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
8225}
8226
8227const char* DecisionStrategyProto_AffineTransformation::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
8228#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
8229 while (!ctx->Done(&ptr)) {
8230 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
8231 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
8232 switch (tag >> 3) {
8233 // int32 index = 1;
8234 case 1:
8235 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
8236 index_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
8237 CHK_(ptr);
8238 } else
8239 goto handle_unusual;
8240 continue;
8241 // int64 offset = 2;
8242 case 2:
8243 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
8244 offset_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
8245 CHK_(ptr);
8246 } else
8247 goto handle_unusual;
8248 continue;
8249 // int64 positive_coeff = 3;
8250 case 3:
8251 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
8252 positive_coeff_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
8253 CHK_(ptr);
8254 } else
8255 goto handle_unusual;
8256 continue;
8257 default:
8258 goto handle_unusual;
8259 } // switch
8260 handle_unusual:
8261 if ((tag == 0) || ((tag & 7) == 4)) {
8262 CHK_(ptr);
8263 ctx->SetLastTag(tag);
8264 goto message_done;
8265 }
8266 ptr = UnknownFieldParse(
8267 tag,
8268 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
8269 ptr, ctx);
8270 CHK_(ptr != nullptr);
8271 } // while
8272message_done:
8273 return ptr;
8274failure:
8275 ptr = nullptr;
8276 goto message_done;
8277#undef CHK_
8278}
8279
8281 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
8282 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.DecisionStrategyProto.AffineTransformation)
8283 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
8284 (void) cached_has_bits;
8285
8286 // int32 index = 1;
8287 if (this->_internal_index() != 0) {
8288 target = stream->EnsureSpace(target);
8289 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_index(), target);
8290 }
8291
8292 // int64 offset = 2;
8293 if (this->_internal_offset() != 0) {
8294 target = stream->EnsureSpace(target);
8295 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->_internal_offset(), target);
8296 }
8297
8298 // int64 positive_coeff = 3;
8299 if (this->_internal_positive_coeff() != 0) {
8300 target = stream->EnsureSpace(target);
8301 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(3, this->_internal_positive_coeff(), target);
8302 }
8303
8304 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
8305 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
8306 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
8307 }
8308 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.DecisionStrategyProto.AffineTransformation)
8309 return target;
8310}
8311
8313// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.DecisionStrategyProto.AffineTransformation)
8314 size_t total_size = 0;
8315
8316 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
8317 // Prevent compiler warnings about cached_has_bits being unused
8318 (void) cached_has_bits;
8319
8320 // int64 offset = 2;
8321 if (this->_internal_offset() != 0) {
8322 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_offset());
8323 }
8324
8325 // int64 positive_coeff = 3;
8326 if (this->_internal_positive_coeff() != 0) {
8327 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_positive_coeff());
8328 }
8329
8330 // int32 index = 1;
8331 if (this->_internal_index() != 0) {
8332 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_index());
8333 }
8334
8335 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
8336}
8337
8338const ::PROTOBUF_NAMESPACE_ID::Message::ClassData DecisionStrategyProto_AffineTransformation::_class_data_ = {
8339 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
8340 DecisionStrategyProto_AffineTransformation::MergeImpl
8341};
8342const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*DecisionStrategyProto_AffineTransformation::GetClassData() const { return &_class_data_; }
8343
8344void DecisionStrategyProto_AffineTransformation::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
8345 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
8347 static_cast<const DecisionStrategyProto_AffineTransformation &>(from));
8348}
8349
8350
8352// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.DecisionStrategyProto.AffineTransformation)
8353 GOOGLE_DCHECK_NE(&from, this);
8354 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
8355 (void) cached_has_bits;
8356
8357 if (from._internal_offset() != 0) {
8358 _internal_set_offset(from._internal_offset());
8359 }
8360 if (from._internal_positive_coeff() != 0) {
8361 _internal_set_positive_coeff(from._internal_positive_coeff());
8362 }
8363 if (from._internal_index() != 0) {
8364 _internal_set_index(from._internal_index());
8365 }
8366 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
8367}
8368
8370// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.DecisionStrategyProto.AffineTransformation)
8371 if (&from == this) return;
8372 Clear();
8373 MergeFrom(from);
8374}
8375
8377 return true;
8378}
8379
8380void DecisionStrategyProto_AffineTransformation::InternalSwap(DecisionStrategyProto_AffineTransformation* other) {
8381 using std::swap;
8382 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
8383 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
8384 PROTOBUF_FIELD_OFFSET(DecisionStrategyProto_AffineTransformation, index_)
8385 + sizeof(DecisionStrategyProto_AffineTransformation::index_)
8386 - PROTOBUF_FIELD_OFFSET(DecisionStrategyProto_AffineTransformation, offset_)>(
8387 reinterpret_cast<char*>(&offset_),
8388 reinterpret_cast<char*>(&other->offset_));
8389}
8390
8391::PROTOBUF_NAMESPACE_ID::Metadata DecisionStrategyProto_AffineTransformation::GetMetadata() const {
8392 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
8395}
8396
8397// ===================================================================
8398
8400 public:
8401};
8402
8403DecisionStrategyProto::DecisionStrategyProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
8404 bool is_message_owned)
8405 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
8406 variables_(arena),
8407 transformations_(arena) {
8408 SharedCtor();
8409 if (!is_message_owned) {
8410 RegisterArenaDtor(arena);
8411 }
8412 // @@protoc_insertion_point(arena_constructor:operations_research.sat.DecisionStrategyProto)
8413}
8415 : ::PROTOBUF_NAMESPACE_ID::Message(),
8416 variables_(from.variables_),
8417 transformations_(from.transformations_) {
8418 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
8419 ::memcpy(&variable_selection_strategy_, &from.variable_selection_strategy_,
8420 static_cast<size_t>(reinterpret_cast<char*>(&domain_reduction_strategy_) -
8421 reinterpret_cast<char*>(&variable_selection_strategy_)) + sizeof(domain_reduction_strategy_));
8422 // @@protoc_insertion_point(copy_constructor:operations_research.sat.DecisionStrategyProto)
8423}
8424
8425void DecisionStrategyProto::SharedCtor() {
8426::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
8427 reinterpret_cast<char*>(&variable_selection_strategy_) - reinterpret_cast<char*>(this)),
8428 0, static_cast<size_t>(reinterpret_cast<char*>(&domain_reduction_strategy_) -
8429 reinterpret_cast<char*>(&variable_selection_strategy_)) + sizeof(domain_reduction_strategy_));
8430}
8431
8433 // @@protoc_insertion_point(destructor:operations_research.sat.DecisionStrategyProto)
8434 if (GetArenaForAllocation() != nullptr) return;
8435 SharedDtor();
8436 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
8437}
8438
8439inline void DecisionStrategyProto::SharedDtor() {
8440 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
8441}
8442
8443void DecisionStrategyProto::ArenaDtor(void* object) {
8444 DecisionStrategyProto* _this = reinterpret_cast< DecisionStrategyProto* >(object);
8445 (void)_this;
8446}
8447void DecisionStrategyProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
8448}
8449void DecisionStrategyProto::SetCachedSize(int size) const {
8450 _cached_size_.Set(size);
8451}
8452
8454// @@protoc_insertion_point(message_clear_start:operations_research.sat.DecisionStrategyProto)
8455 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
8456 // Prevent compiler warnings about cached_has_bits being unused
8457 (void) cached_has_bits;
8458
8459 variables_.Clear();
8460 transformations_.Clear();
8461 ::memset(&variable_selection_strategy_, 0, static_cast<size_t>(
8462 reinterpret_cast<char*>(&domain_reduction_strategy_) -
8463 reinterpret_cast<char*>(&variable_selection_strategy_)) + sizeof(domain_reduction_strategy_));
8464 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
8465}
8466
8467const char* DecisionStrategyProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
8468#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
8469 while (!ctx->Done(&ptr)) {
8470 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
8471 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
8472 switch (tag >> 3) {
8473 // repeated int32 variables = 1;
8474 case 1:
8475 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
8476 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_variables(), ptr, ctx);
8477 CHK_(ptr);
8478 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
8479 _internal_add_variables(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
8480 CHK_(ptr);
8481 } else
8482 goto handle_unusual;
8483 continue;
8484 // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
8485 case 2:
8486 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
8487 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
8488 CHK_(ptr);
8489 _internal_set_variable_selection_strategy(static_cast<::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy>(val));
8490 } else
8491 goto handle_unusual;
8492 continue;
8493 // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
8494 case 3:
8495 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
8496 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
8497 CHK_(ptr);
8498 _internal_set_domain_reduction_strategy(static_cast<::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy>(val));
8499 } else
8500 goto handle_unusual;
8501 continue;
8502 // repeated .operations_research.sat.DecisionStrategyProto.AffineTransformation transformations = 4;
8503 case 4:
8504 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
8505 ptr -= 1;
8506 do {
8507 ptr += 1;
8508 ptr = ctx->ParseMessage(_internal_add_transformations(), ptr);
8509 CHK_(ptr);
8510 if (!ctx->DataAvailable(ptr)) break;
8511 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
8512 } else
8513 goto handle_unusual;
8514 continue;
8515 default:
8516 goto handle_unusual;
8517 } // switch
8518 handle_unusual:
8519 if ((tag == 0) || ((tag & 7) == 4)) {
8520 CHK_(ptr);
8521 ctx->SetLastTag(tag);
8522 goto message_done;
8523 }
8524 ptr = UnknownFieldParse(
8525 tag,
8526 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
8527 ptr, ctx);
8528 CHK_(ptr != nullptr);
8529 } // while
8530message_done:
8531 return ptr;
8532failure:
8533 ptr = nullptr;
8534 goto message_done;
8535#undef CHK_
8536}
8537
8538::PROTOBUF_NAMESPACE_ID::uint8* DecisionStrategyProto::_InternalSerialize(
8539 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
8540 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.DecisionStrategyProto)
8541 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
8542 (void) cached_has_bits;
8543
8544 // repeated int32 variables = 1;
8545 {
8546 int byte_size = _variables_cached_byte_size_.load(std::memory_order_relaxed);
8547 if (byte_size > 0) {
8548 target = stream->WriteInt32Packed(
8549 1, _internal_variables(), byte_size, target);
8550 }
8551 }
8552
8553 // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
8554 if (this->_internal_variable_selection_strategy() != 0) {
8555 target = stream->EnsureSpace(target);
8556 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
8557 2, this->_internal_variable_selection_strategy(), target);
8558 }
8559
8560 // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
8561 if (this->_internal_domain_reduction_strategy() != 0) {
8562 target = stream->EnsureSpace(target);
8563 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
8564 3, this->_internal_domain_reduction_strategy(), target);
8565 }
8566
8567 // repeated .operations_research.sat.DecisionStrategyProto.AffineTransformation transformations = 4;
8568 for (unsigned int i = 0,
8569 n = static_cast<unsigned int>(this->_internal_transformations_size()); i < n; i++) {
8570 target = stream->EnsureSpace(target);
8571 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
8572 InternalWriteMessage(4, this->_internal_transformations(i), target, stream);
8573 }
8574
8575 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
8576 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
8577 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
8578 }
8579 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.DecisionStrategyProto)
8580 return target;
8581}
8582
8584// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.DecisionStrategyProto)
8585 size_t total_size = 0;
8586
8587 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
8588 // Prevent compiler warnings about cached_has_bits being unused
8589 (void) cached_has_bits;
8590
8591 // repeated int32 variables = 1;
8592 {
8593 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
8594 Int32Size(this->variables_);
8595 if (data_size > 0) {
8596 total_size += 1 +
8597 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
8598 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
8599 }
8600 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
8601 _variables_cached_byte_size_.store(cached_size,
8602 std::memory_order_relaxed);
8603 total_size += data_size;
8604 }
8605
8606 // repeated .operations_research.sat.DecisionStrategyProto.AffineTransformation transformations = 4;
8607 total_size += 1UL * this->_internal_transformations_size();
8608 for (const auto& msg : this->transformations_) {
8609 total_size +=
8610 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
8611 }
8612
8613 // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
8614 if (this->_internal_variable_selection_strategy() != 0) {
8615 total_size += 1 +
8616 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_variable_selection_strategy());
8617 }
8618
8619 // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
8620 if (this->_internal_domain_reduction_strategy() != 0) {
8621 total_size += 1 +
8622 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_domain_reduction_strategy());
8623 }
8624
8625 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
8626}
8627
8628const ::PROTOBUF_NAMESPACE_ID::Message::ClassData DecisionStrategyProto::_class_data_ = {
8629 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
8630 DecisionStrategyProto::MergeImpl
8631};
8632const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*DecisionStrategyProto::GetClassData() const { return &_class_data_; }
8633
8634void DecisionStrategyProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
8635 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
8636 static_cast<DecisionStrategyProto *>(to)->MergeFrom(
8637 static_cast<const DecisionStrategyProto &>(from));
8638}
8639
8640
8642// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.DecisionStrategyProto)
8643 GOOGLE_DCHECK_NE(&from, this);
8644 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
8645 (void) cached_has_bits;
8646
8647 variables_.MergeFrom(from.variables_);
8648 transformations_.MergeFrom(from.transformations_);
8649 if (from._internal_variable_selection_strategy() != 0) {
8650 _internal_set_variable_selection_strategy(from._internal_variable_selection_strategy());
8651 }
8652 if (from._internal_domain_reduction_strategy() != 0) {
8653 _internal_set_domain_reduction_strategy(from._internal_domain_reduction_strategy());
8654 }
8655 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
8656}
8657
8659// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.DecisionStrategyProto)
8660 if (&from == this) return;
8661 Clear();
8662 MergeFrom(from);
8663}
8664
8666 return true;
8667}
8668
8669void DecisionStrategyProto::InternalSwap(DecisionStrategyProto* other) {
8670 using std::swap;
8671 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
8672 variables_.InternalSwap(&other->variables_);
8673 transformations_.InternalSwap(&other->transformations_);
8674 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
8675 PROTOBUF_FIELD_OFFSET(DecisionStrategyProto, domain_reduction_strategy_)
8676 + sizeof(DecisionStrategyProto::domain_reduction_strategy_)
8677 - PROTOBUF_FIELD_OFFSET(DecisionStrategyProto, variable_selection_strategy_)>(
8678 reinterpret_cast<char*>(&variable_selection_strategy_),
8679 reinterpret_cast<char*>(&other->variable_selection_strategy_));
8680}
8681
8682::PROTOBUF_NAMESPACE_ID::Metadata DecisionStrategyProto::GetMetadata() const {
8683 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
8686}
8687
8688// ===================================================================
8689
8691 public:
8692};
8693
8694PartialVariableAssignment::PartialVariableAssignment(::PROTOBUF_NAMESPACE_ID::Arena* arena,
8695 bool is_message_owned)
8696 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
8697 vars_(arena),
8698 values_(arena) {
8699 SharedCtor();
8700 if (!is_message_owned) {
8701 RegisterArenaDtor(arena);
8702 }
8703 // @@protoc_insertion_point(arena_constructor:operations_research.sat.PartialVariableAssignment)
8704}
8706 : ::PROTOBUF_NAMESPACE_ID::Message(),
8707 vars_(from.vars_),
8708 values_(from.values_) {
8709 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
8710 // @@protoc_insertion_point(copy_constructor:operations_research.sat.PartialVariableAssignment)
8711}
8712
8713void PartialVariableAssignment::SharedCtor() {
8714}
8715
8717 // @@protoc_insertion_point(destructor:operations_research.sat.PartialVariableAssignment)
8718 if (GetArenaForAllocation() != nullptr) return;
8719 SharedDtor();
8720 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
8721}
8722
8723inline void PartialVariableAssignment::SharedDtor() {
8724 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
8725}
8726
8727void PartialVariableAssignment::ArenaDtor(void* object) {
8728 PartialVariableAssignment* _this = reinterpret_cast< PartialVariableAssignment* >(object);
8729 (void)_this;
8730}
8731void PartialVariableAssignment::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
8732}
8733void PartialVariableAssignment::SetCachedSize(int size) const {
8734 _cached_size_.Set(size);
8735}
8736
8738// @@protoc_insertion_point(message_clear_start:operations_research.sat.PartialVariableAssignment)
8739 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
8740 // Prevent compiler warnings about cached_has_bits being unused
8741 (void) cached_has_bits;
8742
8743 vars_.Clear();
8744 values_.Clear();
8745 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
8746}
8747
8748const char* PartialVariableAssignment::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
8749#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
8750 while (!ctx->Done(&ptr)) {
8751 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
8752 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
8753 switch (tag >> 3) {
8754 // repeated int32 vars = 1;
8755 case 1:
8756 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
8757 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_vars(), ptr, ctx);
8758 CHK_(ptr);
8759 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
8760 _internal_add_vars(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
8761 CHK_(ptr);
8762 } else
8763 goto handle_unusual;
8764 continue;
8765 // repeated int64 values = 2;
8766 case 2:
8767 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
8768 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_values(), ptr, ctx);
8769 CHK_(ptr);
8770 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) {
8771 _internal_add_values(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
8772 CHK_(ptr);
8773 } else
8774 goto handle_unusual;
8775 continue;
8776 default:
8777 goto handle_unusual;
8778 } // switch
8779 handle_unusual:
8780 if ((tag == 0) || ((tag & 7) == 4)) {
8781 CHK_(ptr);
8782 ctx->SetLastTag(tag);
8783 goto message_done;
8784 }
8785 ptr = UnknownFieldParse(
8786 tag,
8787 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
8788 ptr, ctx);
8789 CHK_(ptr != nullptr);
8790 } // while
8791message_done:
8792 return ptr;
8793failure:
8794 ptr = nullptr;
8795 goto message_done;
8796#undef CHK_
8797}
8798
8800 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
8801 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.PartialVariableAssignment)
8802 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
8803 (void) cached_has_bits;
8804
8805 // repeated int32 vars = 1;
8806 {
8807 int byte_size = _vars_cached_byte_size_.load(std::memory_order_relaxed);
8808 if (byte_size > 0) {
8809 target = stream->WriteInt32Packed(
8810 1, _internal_vars(), byte_size, target);
8811 }
8812 }
8813
8814 // repeated int64 values = 2;
8815 {
8816 int byte_size = _values_cached_byte_size_.load(std::memory_order_relaxed);
8817 if (byte_size > 0) {
8818 target = stream->WriteInt64Packed(
8819 2, _internal_values(), byte_size, target);
8820 }
8821 }
8822
8823 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
8824 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
8825 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
8826 }
8827 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.PartialVariableAssignment)
8828 return target;
8829}
8830
8832// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.PartialVariableAssignment)
8833 size_t total_size = 0;
8834
8835 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
8836 // Prevent compiler warnings about cached_has_bits being unused
8837 (void) cached_has_bits;
8838
8839 // repeated int32 vars = 1;
8840 {
8841 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
8842 Int32Size(this->vars_);
8843 if (data_size > 0) {
8844 total_size += 1 +
8845 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
8846 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
8847 }
8848 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
8849 _vars_cached_byte_size_.store(cached_size,
8850 std::memory_order_relaxed);
8851 total_size += data_size;
8852 }
8853
8854 // repeated int64 values = 2;
8855 {
8856 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
8857 Int64Size(this->values_);
8858 if (data_size > 0) {
8859 total_size += 1 +
8860 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
8861 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
8862 }
8863 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
8864 _values_cached_byte_size_.store(cached_size,
8865 std::memory_order_relaxed);
8866 total_size += data_size;
8867 }
8868
8869 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
8870}
8871
8872const ::PROTOBUF_NAMESPACE_ID::Message::ClassData PartialVariableAssignment::_class_data_ = {
8873 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
8874 PartialVariableAssignment::MergeImpl
8875};
8876const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*PartialVariableAssignment::GetClassData() const { return &_class_data_; }
8877
8878void PartialVariableAssignment::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
8879 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
8880 static_cast<PartialVariableAssignment *>(to)->MergeFrom(
8881 static_cast<const PartialVariableAssignment &>(from));
8882}
8883
8884
8886// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.PartialVariableAssignment)
8887 GOOGLE_DCHECK_NE(&from, this);
8888 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
8889 (void) cached_has_bits;
8890
8891 vars_.MergeFrom(from.vars_);
8892 values_.MergeFrom(from.values_);
8893 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
8894}
8895
8897// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.PartialVariableAssignment)
8898 if (&from == this) return;
8899 Clear();
8900 MergeFrom(from);
8901}
8902
8904 return true;
8905}
8906
8907void PartialVariableAssignment::InternalSwap(PartialVariableAssignment* other) {
8908 using std::swap;
8909 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
8910 vars_.InternalSwap(&other->vars_);
8911 values_.InternalSwap(&other->values_);
8912}
8913
8914::PROTOBUF_NAMESPACE_ID::Metadata PartialVariableAssignment::GetMetadata() const {
8915 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
8918}
8919
8920// ===================================================================
8921
8923 public:
8924};
8925
8926SparsePermutationProto::SparsePermutationProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
8927 bool is_message_owned)
8928 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
8929 support_(arena),
8930 cycle_sizes_(arena) {
8931 SharedCtor();
8932 if (!is_message_owned) {
8933 RegisterArenaDtor(arena);
8934 }
8935 // @@protoc_insertion_point(arena_constructor:operations_research.sat.SparsePermutationProto)
8936}
8938 : ::PROTOBUF_NAMESPACE_ID::Message(),
8939 support_(from.support_),
8940 cycle_sizes_(from.cycle_sizes_) {
8941 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
8942 // @@protoc_insertion_point(copy_constructor:operations_research.sat.SparsePermutationProto)
8943}
8944
8945void SparsePermutationProto::SharedCtor() {
8946}
8947
8949 // @@protoc_insertion_point(destructor:operations_research.sat.SparsePermutationProto)
8950 if (GetArenaForAllocation() != nullptr) return;
8951 SharedDtor();
8952 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
8953}
8954
8955inline void SparsePermutationProto::SharedDtor() {
8956 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
8957}
8958
8959void SparsePermutationProto::ArenaDtor(void* object) {
8960 SparsePermutationProto* _this = reinterpret_cast< SparsePermutationProto* >(object);
8961 (void)_this;
8962}
8963void SparsePermutationProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
8964}
8965void SparsePermutationProto::SetCachedSize(int size) const {
8966 _cached_size_.Set(size);
8967}
8968
8970// @@protoc_insertion_point(message_clear_start:operations_research.sat.SparsePermutationProto)
8971 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
8972 // Prevent compiler warnings about cached_has_bits being unused
8973 (void) cached_has_bits;
8974
8975 support_.Clear();
8976 cycle_sizes_.Clear();
8977 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
8978}
8979
8980const char* SparsePermutationProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
8981#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
8982 while (!ctx->Done(&ptr)) {
8983 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
8984 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
8985 switch (tag >> 3) {
8986 // repeated int32 support = 1;
8987 case 1:
8988 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
8989 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_support(), ptr, ctx);
8990 CHK_(ptr);
8991 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
8992 _internal_add_support(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
8993 CHK_(ptr);
8994 } else
8995 goto handle_unusual;
8996 continue;
8997 // repeated int32 cycle_sizes = 2;
8998 case 2:
8999 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
9000 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_cycle_sizes(), ptr, ctx);
9001 CHK_(ptr);
9002 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) {
9003 _internal_add_cycle_sizes(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
9004 CHK_(ptr);
9005 } else
9006 goto handle_unusual;
9007 continue;
9008 default:
9009 goto handle_unusual;
9010 } // switch
9011 handle_unusual:
9012 if ((tag == 0) || ((tag & 7) == 4)) {
9013 CHK_(ptr);
9014 ctx->SetLastTag(tag);
9015 goto message_done;
9016 }
9017 ptr = UnknownFieldParse(
9018 tag,
9019 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
9020 ptr, ctx);
9021 CHK_(ptr != nullptr);
9022 } // while
9023message_done:
9024 return ptr;
9025failure:
9026 ptr = nullptr;
9027 goto message_done;
9028#undef CHK_
9029}
9030
9031::PROTOBUF_NAMESPACE_ID::uint8* SparsePermutationProto::_InternalSerialize(
9032 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
9033 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.SparsePermutationProto)
9034 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
9035 (void) cached_has_bits;
9036
9037 // repeated int32 support = 1;
9038 {
9039 int byte_size = _support_cached_byte_size_.load(std::memory_order_relaxed);
9040 if (byte_size > 0) {
9041 target = stream->WriteInt32Packed(
9042 1, _internal_support(), byte_size, target);
9043 }
9044 }
9045
9046 // repeated int32 cycle_sizes = 2;
9047 {
9048 int byte_size = _cycle_sizes_cached_byte_size_.load(std::memory_order_relaxed);
9049 if (byte_size > 0) {
9050 target = stream->WriteInt32Packed(
9051 2, _internal_cycle_sizes(), byte_size, target);
9052 }
9053 }
9054
9055 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
9056 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
9057 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
9058 }
9059 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.SparsePermutationProto)
9060 return target;
9061}
9062
9064// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.SparsePermutationProto)
9065 size_t total_size = 0;
9066
9067 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
9068 // Prevent compiler warnings about cached_has_bits being unused
9069 (void) cached_has_bits;
9070
9071 // repeated int32 support = 1;
9072 {
9073 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
9074 Int32Size(this->support_);
9075 if (data_size > 0) {
9076 total_size += 1 +
9077 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
9078 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
9079 }
9080 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
9081 _support_cached_byte_size_.store(cached_size,
9082 std::memory_order_relaxed);
9083 total_size += data_size;
9084 }
9085
9086 // repeated int32 cycle_sizes = 2;
9087 {
9088 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
9089 Int32Size(this->cycle_sizes_);
9090 if (data_size > 0) {
9091 total_size += 1 +
9092 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
9093 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
9094 }
9095 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
9096 _cycle_sizes_cached_byte_size_.store(cached_size,
9097 std::memory_order_relaxed);
9098 total_size += data_size;
9099 }
9100
9101 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
9102}
9103
9104const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SparsePermutationProto::_class_data_ = {
9105 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
9106 SparsePermutationProto::MergeImpl
9107};
9108const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SparsePermutationProto::GetClassData() const { return &_class_data_; }
9109
9110void SparsePermutationProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
9111 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
9112 static_cast<SparsePermutationProto *>(to)->MergeFrom(
9113 static_cast<const SparsePermutationProto &>(from));
9114}
9115
9116
9118// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.SparsePermutationProto)
9119 GOOGLE_DCHECK_NE(&from, this);
9120 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
9121 (void) cached_has_bits;
9122
9123 support_.MergeFrom(from.support_);
9124 cycle_sizes_.MergeFrom(from.cycle_sizes_);
9125 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
9126}
9127
9129// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.SparsePermutationProto)
9130 if (&from == this) return;
9131 Clear();
9132 MergeFrom(from);
9133}
9134
9136 return true;
9137}
9138
9139void SparsePermutationProto::InternalSwap(SparsePermutationProto* other) {
9140 using std::swap;
9141 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
9142 support_.InternalSwap(&other->support_);
9143 cycle_sizes_.InternalSwap(&other->cycle_sizes_);
9144}
9145
9146::PROTOBUF_NAMESPACE_ID::Metadata SparsePermutationProto::GetMetadata() const {
9147 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
9150}
9151
9152// ===================================================================
9153
9155 public:
9156};
9157
9158DenseMatrixProto::DenseMatrixProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
9159 bool is_message_owned)
9160 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
9161 entries_(arena) {
9162 SharedCtor();
9163 if (!is_message_owned) {
9164 RegisterArenaDtor(arena);
9165 }
9166 // @@protoc_insertion_point(arena_constructor:operations_research.sat.DenseMatrixProto)
9167}
9169 : ::PROTOBUF_NAMESPACE_ID::Message(),
9170 entries_(from.entries_) {
9171 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
9172 ::memcpy(&num_rows_, &from.num_rows_,
9173 static_cast<size_t>(reinterpret_cast<char*>(&num_cols_) -
9174 reinterpret_cast<char*>(&num_rows_)) + sizeof(num_cols_));
9175 // @@protoc_insertion_point(copy_constructor:operations_research.sat.DenseMatrixProto)
9176}
9177
9178void DenseMatrixProto::SharedCtor() {
9179::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
9180 reinterpret_cast<char*>(&num_rows_) - reinterpret_cast<char*>(this)),
9181 0, static_cast<size_t>(reinterpret_cast<char*>(&num_cols_) -
9182 reinterpret_cast<char*>(&num_rows_)) + sizeof(num_cols_));
9183}
9184
9186 // @@protoc_insertion_point(destructor:operations_research.sat.DenseMatrixProto)
9187 if (GetArenaForAllocation() != nullptr) return;
9188 SharedDtor();
9189 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
9190}
9191
9192inline void DenseMatrixProto::SharedDtor() {
9193 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
9194}
9195
9196void DenseMatrixProto::ArenaDtor(void* object) {
9197 DenseMatrixProto* _this = reinterpret_cast< DenseMatrixProto* >(object);
9198 (void)_this;
9199}
9200void DenseMatrixProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
9201}
9202void DenseMatrixProto::SetCachedSize(int size) const {
9203 _cached_size_.Set(size);
9204}
9205
9207// @@protoc_insertion_point(message_clear_start:operations_research.sat.DenseMatrixProto)
9208 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
9209 // Prevent compiler warnings about cached_has_bits being unused
9210 (void) cached_has_bits;
9211
9212 entries_.Clear();
9213 ::memset(&num_rows_, 0, static_cast<size_t>(
9214 reinterpret_cast<char*>(&num_cols_) -
9215 reinterpret_cast<char*>(&num_rows_)) + sizeof(num_cols_));
9216 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
9217}
9218
9219const char* DenseMatrixProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
9220#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
9221 while (!ctx->Done(&ptr)) {
9222 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
9223 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
9224 switch (tag >> 3) {
9225 // int32 num_rows = 1;
9226 case 1:
9227 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
9228 num_rows_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
9229 CHK_(ptr);
9230 } else
9231 goto handle_unusual;
9232 continue;
9233 // int32 num_cols = 2;
9234 case 2:
9235 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
9236 num_cols_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
9237 CHK_(ptr);
9238 } else
9239 goto handle_unusual;
9240 continue;
9241 // repeated int32 entries = 3;
9242 case 3:
9243 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
9244 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_entries(), ptr, ctx);
9245 CHK_(ptr);
9246 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24) {
9247 _internal_add_entries(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
9248 CHK_(ptr);
9249 } else
9250 goto handle_unusual;
9251 continue;
9252 default:
9253 goto handle_unusual;
9254 } // switch
9255 handle_unusual:
9256 if ((tag == 0) || ((tag & 7) == 4)) {
9257 CHK_(ptr);
9258 ctx->SetLastTag(tag);
9259 goto message_done;
9260 }
9261 ptr = UnknownFieldParse(
9262 tag,
9263 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
9264 ptr, ctx);
9265 CHK_(ptr != nullptr);
9266 } // while
9267message_done:
9268 return ptr;
9269failure:
9270 ptr = nullptr;
9271 goto message_done;
9272#undef CHK_
9273}
9274
9275::PROTOBUF_NAMESPACE_ID::uint8* DenseMatrixProto::_InternalSerialize(
9276 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
9277 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.DenseMatrixProto)
9278 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
9279 (void) cached_has_bits;
9280
9281 // int32 num_rows = 1;
9282 if (this->_internal_num_rows() != 0) {
9283 target = stream->EnsureSpace(target);
9284 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_num_rows(), target);
9285 }
9286
9287 // int32 num_cols = 2;
9288 if (this->_internal_num_cols() != 0) {
9289 target = stream->EnsureSpace(target);
9290 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_num_cols(), target);
9291 }
9292
9293 // repeated int32 entries = 3;
9294 {
9295 int byte_size = _entries_cached_byte_size_.load(std::memory_order_relaxed);
9296 if (byte_size > 0) {
9297 target = stream->WriteInt32Packed(
9298 3, _internal_entries(), byte_size, target);
9299 }
9300 }
9301
9302 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
9303 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
9304 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
9305 }
9306 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.DenseMatrixProto)
9307 return target;
9308}
9309
9311// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.DenseMatrixProto)
9312 size_t total_size = 0;
9313
9314 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
9315 // Prevent compiler warnings about cached_has_bits being unused
9316 (void) cached_has_bits;
9317
9318 // repeated int32 entries = 3;
9319 {
9320 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
9321 Int32Size(this->entries_);
9322 if (data_size > 0) {
9323 total_size += 1 +
9324 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
9325 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
9326 }
9327 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
9328 _entries_cached_byte_size_.store(cached_size,
9329 std::memory_order_relaxed);
9330 total_size += data_size;
9331 }
9332
9333 // int32 num_rows = 1;
9334 if (this->_internal_num_rows() != 0) {
9335 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_num_rows());
9336 }
9337
9338 // int32 num_cols = 2;
9339 if (this->_internal_num_cols() != 0) {
9340 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_num_cols());
9341 }
9342
9343 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
9344}
9345
9346const ::PROTOBUF_NAMESPACE_ID::Message::ClassData DenseMatrixProto::_class_data_ = {
9347 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
9348 DenseMatrixProto::MergeImpl
9349};
9350const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*DenseMatrixProto::GetClassData() const { return &_class_data_; }
9351
9352void DenseMatrixProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
9353 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
9354 static_cast<DenseMatrixProto *>(to)->MergeFrom(
9355 static_cast<const DenseMatrixProto &>(from));
9356}
9357
9358
9360// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.DenseMatrixProto)
9361 GOOGLE_DCHECK_NE(&from, this);
9362 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
9363 (void) cached_has_bits;
9364
9365 entries_.MergeFrom(from.entries_);
9366 if (from._internal_num_rows() != 0) {
9367 _internal_set_num_rows(from._internal_num_rows());
9368 }
9369 if (from._internal_num_cols() != 0) {
9370 _internal_set_num_cols(from._internal_num_cols());
9371 }
9372 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
9373}
9374
9376// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.DenseMatrixProto)
9377 if (&from == this) return;
9378 Clear();
9379 MergeFrom(from);
9380}
9381
9383 return true;
9384}
9385
9386void DenseMatrixProto::InternalSwap(DenseMatrixProto* other) {
9387 using std::swap;
9388 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
9389 entries_.InternalSwap(&other->entries_);
9390 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
9391 PROTOBUF_FIELD_OFFSET(DenseMatrixProto, num_cols_)
9392 + sizeof(DenseMatrixProto::num_cols_)
9393 - PROTOBUF_FIELD_OFFSET(DenseMatrixProto, num_rows_)>(
9394 reinterpret_cast<char*>(&num_rows_),
9395 reinterpret_cast<char*>(&other->num_rows_));
9396}
9397
9398::PROTOBUF_NAMESPACE_ID::Metadata DenseMatrixProto::GetMetadata() const {
9399 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
9402}
9403
9404// ===================================================================
9405
9407 public:
9408};
9409
9410SymmetryProto::SymmetryProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
9411 bool is_message_owned)
9412 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
9413 permutations_(arena),
9414 orbitopes_(arena) {
9415 SharedCtor();
9416 if (!is_message_owned) {
9417 RegisterArenaDtor(arena);
9418 }
9419 // @@protoc_insertion_point(arena_constructor:operations_research.sat.SymmetryProto)
9420}
9422 : ::PROTOBUF_NAMESPACE_ID::Message(),
9423 permutations_(from.permutations_),
9424 orbitopes_(from.orbitopes_) {
9425 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
9426 // @@protoc_insertion_point(copy_constructor:operations_research.sat.SymmetryProto)
9427}
9428
9429void SymmetryProto::SharedCtor() {
9430}
9431
9433 // @@protoc_insertion_point(destructor:operations_research.sat.SymmetryProto)
9434 if (GetArenaForAllocation() != nullptr) return;
9435 SharedDtor();
9436 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
9437}
9438
9439inline void SymmetryProto::SharedDtor() {
9440 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
9441}
9442
9443void SymmetryProto::ArenaDtor(void* object) {
9444 SymmetryProto* _this = reinterpret_cast< SymmetryProto* >(object);
9445 (void)_this;
9446}
9447void SymmetryProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
9448}
9449void SymmetryProto::SetCachedSize(int size) const {
9450 _cached_size_.Set(size);
9451}
9452
9454// @@protoc_insertion_point(message_clear_start:operations_research.sat.SymmetryProto)
9455 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
9456 // Prevent compiler warnings about cached_has_bits being unused
9457 (void) cached_has_bits;
9458
9459 permutations_.Clear();
9460 orbitopes_.Clear();
9461 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
9462}
9463
9464const char* SymmetryProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
9465#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
9466 while (!ctx->Done(&ptr)) {
9467 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
9468 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
9469 switch (tag >> 3) {
9470 // repeated .operations_research.sat.SparsePermutationProto permutations = 1;
9471 case 1:
9472 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
9473 ptr -= 1;
9474 do {
9475 ptr += 1;
9476 ptr = ctx->ParseMessage(_internal_add_permutations(), ptr);
9477 CHK_(ptr);
9478 if (!ctx->DataAvailable(ptr)) break;
9479 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
9480 } else
9481 goto handle_unusual;
9482 continue;
9483 // repeated .operations_research.sat.DenseMatrixProto orbitopes = 2;
9484 case 2:
9485 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
9486 ptr -= 1;
9487 do {
9488 ptr += 1;
9489 ptr = ctx->ParseMessage(_internal_add_orbitopes(), ptr);
9490 CHK_(ptr);
9491 if (!ctx->DataAvailable(ptr)) break;
9492 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
9493 } else
9494 goto handle_unusual;
9495 continue;
9496 default:
9497 goto handle_unusual;
9498 } // switch
9499 handle_unusual:
9500 if ((tag == 0) || ((tag & 7) == 4)) {
9501 CHK_(ptr);
9502 ctx->SetLastTag(tag);
9503 goto message_done;
9504 }
9505 ptr = UnknownFieldParse(
9506 tag,
9507 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
9508 ptr, ctx);
9509 CHK_(ptr != nullptr);
9510 } // while
9511message_done:
9512 return ptr;
9513failure:
9514 ptr = nullptr;
9515 goto message_done;
9516#undef CHK_
9517}
9518
9519::PROTOBUF_NAMESPACE_ID::uint8* SymmetryProto::_InternalSerialize(
9520 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
9521 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.SymmetryProto)
9522 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
9523 (void) cached_has_bits;
9524
9525 // repeated .operations_research.sat.SparsePermutationProto permutations = 1;
9526 for (unsigned int i = 0,
9527 n = static_cast<unsigned int>(this->_internal_permutations_size()); i < n; i++) {
9528 target = stream->EnsureSpace(target);
9529 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
9530 InternalWriteMessage(1, this->_internal_permutations(i), target, stream);
9531 }
9532
9533 // repeated .operations_research.sat.DenseMatrixProto orbitopes = 2;
9534 for (unsigned int i = 0,
9535 n = static_cast<unsigned int>(this->_internal_orbitopes_size()); i < n; i++) {
9536 target = stream->EnsureSpace(target);
9537 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
9538 InternalWriteMessage(2, this->_internal_orbitopes(i), target, stream);
9539 }
9540
9541 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
9542 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
9543 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
9544 }
9545 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.SymmetryProto)
9546 return target;
9547}
9548
9550// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.SymmetryProto)
9551 size_t total_size = 0;
9552
9553 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
9554 // Prevent compiler warnings about cached_has_bits being unused
9555 (void) cached_has_bits;
9556
9557 // repeated .operations_research.sat.SparsePermutationProto permutations = 1;
9558 total_size += 1UL * this->_internal_permutations_size();
9559 for (const auto& msg : this->permutations_) {
9560 total_size +=
9561 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
9562 }
9563
9564 // repeated .operations_research.sat.DenseMatrixProto orbitopes = 2;
9565 total_size += 1UL * this->_internal_orbitopes_size();
9566 for (const auto& msg : this->orbitopes_) {
9567 total_size +=
9568 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
9569 }
9570
9571 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
9572}
9573
9574const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SymmetryProto::_class_data_ = {
9575 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
9576 SymmetryProto::MergeImpl
9577};
9578const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SymmetryProto::GetClassData() const { return &_class_data_; }
9579
9580void SymmetryProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
9581 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
9582 static_cast<SymmetryProto *>(to)->MergeFrom(
9583 static_cast<const SymmetryProto &>(from));
9584}
9585
9586
9588// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.SymmetryProto)
9589 GOOGLE_DCHECK_NE(&from, this);
9590 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
9591 (void) cached_has_bits;
9592
9593 permutations_.MergeFrom(from.permutations_);
9594 orbitopes_.MergeFrom(from.orbitopes_);
9595 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
9596}
9597
9599// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.SymmetryProto)
9600 if (&from == this) return;
9601 Clear();
9602 MergeFrom(from);
9603}
9604
9606 return true;
9607}
9608
9609void SymmetryProto::InternalSwap(SymmetryProto* other) {
9610 using std::swap;
9611 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
9612 permutations_.InternalSwap(&other->permutations_);
9613 orbitopes_.InternalSwap(&other->orbitopes_);
9614}
9615
9616::PROTOBUF_NAMESPACE_ID::Metadata SymmetryProto::GetMetadata() const {
9617 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
9620}
9621
9622// ===================================================================
9623
9625 public:
9626 static const ::operations_research::sat::CpObjectiveProto& objective(const CpModelProto* msg);
9627 static const ::operations_research::sat::PartialVariableAssignment& solution_hint(const CpModelProto* msg);
9628 static const ::operations_research::sat::SymmetryProto& symmetry(const CpModelProto* msg);
9629};
9630
9631const ::operations_research::sat::CpObjectiveProto&
9633 return *msg->objective_;
9634}
9635const ::operations_research::sat::PartialVariableAssignment&
9637 return *msg->solution_hint_;
9638}
9639const ::operations_research::sat::SymmetryProto&
9641 return *msg->symmetry_;
9642}
9643CpModelProto::CpModelProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
9644 bool is_message_owned)
9645 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
9646 variables_(arena),
9647 constraints_(arena),
9648 search_strategy_(arena),
9649 assumptions_(arena) {
9650 SharedCtor();
9651 if (!is_message_owned) {
9652 RegisterArenaDtor(arena);
9653 }
9654 // @@protoc_insertion_point(arena_constructor:operations_research.sat.CpModelProto)
9655}
9657 : ::PROTOBUF_NAMESPACE_ID::Message(),
9658 variables_(from.variables_),
9659 constraints_(from.constraints_),
9660 search_strategy_(from.search_strategy_),
9661 assumptions_(from.assumptions_) {
9662 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
9663 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
9664 if (!from._internal_name().empty()) {
9665 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
9666 GetArenaForAllocation());
9667 }
9668 if (from._internal_has_objective()) {
9669 objective_ = new ::operations_research::sat::CpObjectiveProto(*from.objective_);
9670 } else {
9671 objective_ = nullptr;
9672 }
9673 if (from._internal_has_solution_hint()) {
9674 solution_hint_ = new ::operations_research::sat::PartialVariableAssignment(*from.solution_hint_);
9675 } else {
9676 solution_hint_ = nullptr;
9677 }
9678 if (from._internal_has_symmetry()) {
9679 symmetry_ = new ::operations_research::sat::SymmetryProto(*from.symmetry_);
9680 } else {
9681 symmetry_ = nullptr;
9682 }
9683 // @@protoc_insertion_point(copy_constructor:operations_research.sat.CpModelProto)
9684}
9685
9686void CpModelProto::SharedCtor() {
9687name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
9688::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
9689 reinterpret_cast<char*>(&objective_) - reinterpret_cast<char*>(this)),
9690 0, static_cast<size_t>(reinterpret_cast<char*>(&symmetry_) -
9691 reinterpret_cast<char*>(&objective_)) + sizeof(symmetry_));
9692}
9693
9695 // @@protoc_insertion_point(destructor:operations_research.sat.CpModelProto)
9696 if (GetArenaForAllocation() != nullptr) return;
9697 SharedDtor();
9698 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
9699}
9700
9701inline void CpModelProto::SharedDtor() {
9702 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
9703 name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
9704 if (this != internal_default_instance()) delete objective_;
9705 if (this != internal_default_instance()) delete solution_hint_;
9706 if (this != internal_default_instance()) delete symmetry_;
9707}
9708
9709void CpModelProto::ArenaDtor(void* object) {
9710 CpModelProto* _this = reinterpret_cast< CpModelProto* >(object);
9711 (void)_this;
9712}
9713void CpModelProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
9714}
9715void CpModelProto::SetCachedSize(int size) const {
9716 _cached_size_.Set(size);
9717}
9718
9720// @@protoc_insertion_point(message_clear_start:operations_research.sat.CpModelProto)
9721 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
9722 // Prevent compiler warnings about cached_has_bits being unused
9723 (void) cached_has_bits;
9724
9725 variables_.Clear();
9726 constraints_.Clear();
9727 search_strategy_.Clear();
9728 assumptions_.Clear();
9729 name_.ClearToEmpty();
9730 if (GetArenaForAllocation() == nullptr && objective_ != nullptr) {
9731 delete objective_;
9732 }
9733 objective_ = nullptr;
9734 if (GetArenaForAllocation() == nullptr && solution_hint_ != nullptr) {
9735 delete solution_hint_;
9736 }
9737 solution_hint_ = nullptr;
9738 if (GetArenaForAllocation() == nullptr && symmetry_ != nullptr) {
9739 delete symmetry_;
9740 }
9741 symmetry_ = nullptr;
9742 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
9743}
9744
9745const char* CpModelProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
9746#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
9747 while (!ctx->Done(&ptr)) {
9748 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
9749 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
9750 switch (tag >> 3) {
9751 // string name = 1;
9752 case 1:
9753 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
9754 auto str = _internal_mutable_name();
9755 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
9756 CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.sat.CpModelProto.name"));
9757 CHK_(ptr);
9758 } else
9759 goto handle_unusual;
9760 continue;
9761 // repeated .operations_research.sat.IntegerVariableProto variables = 2;
9762 case 2:
9763 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
9764 ptr -= 1;
9765 do {
9766 ptr += 1;
9767 ptr = ctx->ParseMessage(_internal_add_variables(), ptr);
9768 CHK_(ptr);
9769 if (!ctx->DataAvailable(ptr)) break;
9770 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
9771 } else
9772 goto handle_unusual;
9773 continue;
9774 // repeated .operations_research.sat.ConstraintProto constraints = 3;
9775 case 3:
9776 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
9777 ptr -= 1;
9778 do {
9779 ptr += 1;
9780 ptr = ctx->ParseMessage(_internal_add_constraints(), ptr);
9781 CHK_(ptr);
9782 if (!ctx->DataAvailable(ptr)) break;
9783 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
9784 } else
9785 goto handle_unusual;
9786 continue;
9787 // .operations_research.sat.CpObjectiveProto objective = 4;
9788 case 4:
9789 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
9790 ptr = ctx->ParseMessage(_internal_mutable_objective(), ptr);
9791 CHK_(ptr);
9792 } else
9793 goto handle_unusual;
9794 continue;
9795 // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
9796 case 5:
9797 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
9798 ptr -= 1;
9799 do {
9800 ptr += 1;
9801 ptr = ctx->ParseMessage(_internal_add_search_strategy(), ptr);
9802 CHK_(ptr);
9803 if (!ctx->DataAvailable(ptr)) break;
9804 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
9805 } else
9806 goto handle_unusual;
9807 continue;
9808 // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
9809 case 6:
9810 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
9811 ptr = ctx->ParseMessage(_internal_mutable_solution_hint(), ptr);
9812 CHK_(ptr);
9813 } else
9814 goto handle_unusual;
9815 continue;
9816 // repeated int32 assumptions = 7;
9817 case 7:
9818 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
9819 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_assumptions(), ptr, ctx);
9820 CHK_(ptr);
9821 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56) {
9822 _internal_add_assumptions(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
9823 CHK_(ptr);
9824 } else
9825 goto handle_unusual;
9826 continue;
9827 // .operations_research.sat.SymmetryProto symmetry = 8;
9828 case 8:
9829 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
9830 ptr = ctx->ParseMessage(_internal_mutable_symmetry(), ptr);
9831 CHK_(ptr);
9832 } else
9833 goto handle_unusual;
9834 continue;
9835 default:
9836 goto handle_unusual;
9837 } // switch
9838 handle_unusual:
9839 if ((tag == 0) || ((tag & 7) == 4)) {
9840 CHK_(ptr);
9841 ctx->SetLastTag(tag);
9842 goto message_done;
9843 }
9844 ptr = UnknownFieldParse(
9845 tag,
9846 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
9847 ptr, ctx);
9848 CHK_(ptr != nullptr);
9849 } // while
9850message_done:
9851 return ptr;
9852failure:
9853 ptr = nullptr;
9854 goto message_done;
9855#undef CHK_
9856}
9857
9858::PROTOBUF_NAMESPACE_ID::uint8* CpModelProto::_InternalSerialize(
9859 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
9860 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.CpModelProto)
9861 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
9862 (void) cached_has_bits;
9863
9864 // string name = 1;
9865 if (!this->_internal_name().empty()) {
9866 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
9867 this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
9868 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
9869 "operations_research.sat.CpModelProto.name");
9870 target = stream->WriteStringMaybeAliased(
9871 1, this->_internal_name(), target);
9872 }
9873
9874 // repeated .operations_research.sat.IntegerVariableProto variables = 2;
9875 for (unsigned int i = 0,
9876 n = static_cast<unsigned int>(this->_internal_variables_size()); i < n; i++) {
9877 target = stream->EnsureSpace(target);
9878 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
9879 InternalWriteMessage(2, this->_internal_variables(i), target, stream);
9880 }
9881
9882 // repeated .operations_research.sat.ConstraintProto constraints = 3;
9883 for (unsigned int i = 0,
9884 n = static_cast<unsigned int>(this->_internal_constraints_size()); i < n; i++) {
9885 target = stream->EnsureSpace(target);
9886 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
9887 InternalWriteMessage(3, this->_internal_constraints(i), target, stream);
9888 }
9889
9890 // .operations_research.sat.CpObjectiveProto objective = 4;
9891 if (this->_internal_has_objective()) {
9892 target = stream->EnsureSpace(target);
9893 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
9894 InternalWriteMessage(
9895 4, _Internal::objective(this), target, stream);
9896 }
9897
9898 // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
9899 for (unsigned int i = 0,
9900 n = static_cast<unsigned int>(this->_internal_search_strategy_size()); i < n; i++) {
9901 target = stream->EnsureSpace(target);
9902 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
9903 InternalWriteMessage(5, this->_internal_search_strategy(i), target, stream);
9904 }
9905
9906 // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
9907 if (this->_internal_has_solution_hint()) {
9908 target = stream->EnsureSpace(target);
9909 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
9910 InternalWriteMessage(
9911 6, _Internal::solution_hint(this), target, stream);
9912 }
9913
9914 // repeated int32 assumptions = 7;
9915 {
9916 int byte_size = _assumptions_cached_byte_size_.load(std::memory_order_relaxed);
9917 if (byte_size > 0) {
9918 target = stream->WriteInt32Packed(
9919 7, _internal_assumptions(), byte_size, target);
9920 }
9921 }
9922
9923 // .operations_research.sat.SymmetryProto symmetry = 8;
9924 if (this->_internal_has_symmetry()) {
9925 target = stream->EnsureSpace(target);
9926 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
9927 InternalWriteMessage(
9928 8, _Internal::symmetry(this), target, stream);
9929 }
9930
9931 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
9932 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
9933 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
9934 }
9935 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.CpModelProto)
9936 return target;
9937}
9938
9940// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.CpModelProto)
9941 size_t total_size = 0;
9942
9943 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
9944 // Prevent compiler warnings about cached_has_bits being unused
9945 (void) cached_has_bits;
9946
9947 // repeated .operations_research.sat.IntegerVariableProto variables = 2;
9948 total_size += 1UL * this->_internal_variables_size();
9949 for (const auto& msg : this->variables_) {
9950 total_size +=
9951 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
9952 }
9953
9954 // repeated .operations_research.sat.ConstraintProto constraints = 3;
9955 total_size += 1UL * this->_internal_constraints_size();
9956 for (const auto& msg : this->constraints_) {
9957 total_size +=
9958 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
9959 }
9960
9961 // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
9962 total_size += 1UL * this->_internal_search_strategy_size();
9963 for (const auto& msg : this->search_strategy_) {
9964 total_size +=
9965 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
9966 }
9967
9968 // repeated int32 assumptions = 7;
9969 {
9970 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
9971 Int32Size(this->assumptions_);
9972 if (data_size > 0) {
9973 total_size += 1 +
9974 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
9975 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
9976 }
9977 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
9978 _assumptions_cached_byte_size_.store(cached_size,
9979 std::memory_order_relaxed);
9980 total_size += data_size;
9981 }
9982
9983 // string name = 1;
9984 if (!this->_internal_name().empty()) {
9985 total_size += 1 +
9986 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
9987 this->_internal_name());
9988 }
9989
9990 // .operations_research.sat.CpObjectiveProto objective = 4;
9991 if (this->_internal_has_objective()) {
9992 total_size += 1 +
9993 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
9994 *objective_);
9995 }
9996
9997 // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
9998 if (this->_internal_has_solution_hint()) {
9999 total_size += 1 +
10000 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
10001 *solution_hint_);
10002 }
10003
10004 // .operations_research.sat.SymmetryProto symmetry = 8;
10005 if (this->_internal_has_symmetry()) {
10006 total_size += 1 +
10007 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
10008 *symmetry_);
10009 }
10010
10011 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
10012}
10013
10014const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CpModelProto::_class_data_ = {
10015 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
10016 CpModelProto::MergeImpl
10017};
10018const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CpModelProto::GetClassData() const { return &_class_data_; }
10019
10020void CpModelProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
10021 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
10022 static_cast<CpModelProto *>(to)->MergeFrom(
10023 static_cast<const CpModelProto &>(from));
10024}
10025
10026
10028// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.CpModelProto)
10029 GOOGLE_DCHECK_NE(&from, this);
10030 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
10031 (void) cached_has_bits;
10032
10033 variables_.MergeFrom(from.variables_);
10034 constraints_.MergeFrom(from.constraints_);
10035 search_strategy_.MergeFrom(from.search_strategy_);
10036 assumptions_.MergeFrom(from.assumptions_);
10037 if (!from._internal_name().empty()) {
10038 _internal_set_name(from._internal_name());
10039 }
10040 if (from._internal_has_objective()) {
10041 _internal_mutable_objective()->::operations_research::sat::CpObjectiveProto::MergeFrom(from._internal_objective());
10042 }
10043 if (from._internal_has_solution_hint()) {
10044 _internal_mutable_solution_hint()->::operations_research::sat::PartialVariableAssignment::MergeFrom(from._internal_solution_hint());
10045 }
10046 if (from._internal_has_symmetry()) {
10047 _internal_mutable_symmetry()->::operations_research::sat::SymmetryProto::MergeFrom(from._internal_symmetry());
10048 }
10049 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
10050}
10051
10053// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.CpModelProto)
10054 if (&from == this) return;
10055 Clear();
10056 MergeFrom(from);
10057}
10058
10060 return true;
10061}
10062
10063void CpModelProto::InternalSwap(CpModelProto* other) {
10064 using std::swap;
10065 auto* lhs_arena = GetArenaForAllocation();
10066 auto* rhs_arena = other->GetArenaForAllocation();
10067 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
10068 variables_.InternalSwap(&other->variables_);
10069 constraints_.InternalSwap(&other->constraints_);
10070 search_strategy_.InternalSwap(&other->search_strategy_);
10071 assumptions_.InternalSwap(&other->assumptions_);
10072 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
10073 &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
10074 &name_, lhs_arena,
10075 &other->name_, rhs_arena
10076 );
10077 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
10078 PROTOBUF_FIELD_OFFSET(CpModelProto, symmetry_)
10079 + sizeof(CpModelProto::symmetry_)
10080 - PROTOBUF_FIELD_OFFSET(CpModelProto, objective_)>(
10081 reinterpret_cast<char*>(&objective_),
10082 reinterpret_cast<char*>(&other->objective_));
10083}
10084
10085::PROTOBUF_NAMESPACE_ID::Metadata CpModelProto::GetMetadata() const {
10086 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
10089}
10090
10091// ===================================================================
10092
10094 public:
10095};
10096
10097CpSolverResponse::CpSolverResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
10098 bool is_message_owned)
10099 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
10100 solution_(arena),
10101 solution_lower_bounds_(arena),
10102 solution_upper_bounds_(arena),
10103 tightened_variables_(arena),
10104 sufficient_assumptions_for_infeasibility_(arena) {
10105 SharedCtor();
10106 if (!is_message_owned) {
10107 RegisterArenaDtor(arena);
10108 }
10109 // @@protoc_insertion_point(arena_constructor:operations_research.sat.CpSolverResponse)
10110}
10112 : ::PROTOBUF_NAMESPACE_ID::Message(),
10113 solution_(from.solution_),
10114 solution_lower_bounds_(from.solution_lower_bounds_),
10115 solution_upper_bounds_(from.solution_upper_bounds_),
10116 tightened_variables_(from.tightened_variables_),
10117 sufficient_assumptions_for_infeasibility_(from.sufficient_assumptions_for_infeasibility_) {
10118 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
10119 solution_info_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
10120 if (!from._internal_solution_info().empty()) {
10121 solution_info_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_solution_info(),
10122 GetArenaForAllocation());
10123 }
10124 solve_log_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
10125 if (!from._internal_solve_log().empty()) {
10126 solve_log_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_solve_log(),
10127 GetArenaForAllocation());
10128 }
10129 ::memcpy(&objective_value_, &from.objective_value_,
10130 static_cast<size_t>(reinterpret_cast<char*>(&num_lp_iterations_) -
10131 reinterpret_cast<char*>(&objective_value_)) + sizeof(num_lp_iterations_));
10132 // @@protoc_insertion_point(copy_constructor:operations_research.sat.CpSolverResponse)
10133}
10134
10135void CpSolverResponse::SharedCtor() {
10136solution_info_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
10137solve_log_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
10138::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
10139 reinterpret_cast<char*>(&objective_value_) - reinterpret_cast<char*>(this)),
10140 0, static_cast<size_t>(reinterpret_cast<char*>(&num_lp_iterations_) -
10141 reinterpret_cast<char*>(&objective_value_)) + sizeof(num_lp_iterations_));
10142}
10143
10145 // @@protoc_insertion_point(destructor:operations_research.sat.CpSolverResponse)
10146 if (GetArenaForAllocation() != nullptr) return;
10147 SharedDtor();
10148 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
10149}
10150
10151inline void CpSolverResponse::SharedDtor() {
10152 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
10153 solution_info_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
10154 solve_log_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
10155}
10156
10157void CpSolverResponse::ArenaDtor(void* object) {
10158 CpSolverResponse* _this = reinterpret_cast< CpSolverResponse* >(object);
10159 (void)_this;
10160}
10161void CpSolverResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
10162}
10163void CpSolverResponse::SetCachedSize(int size) const {
10164 _cached_size_.Set(size);
10165}
10166
10168// @@protoc_insertion_point(message_clear_start:operations_research.sat.CpSolverResponse)
10169 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
10170 // Prevent compiler warnings about cached_has_bits being unused
10171 (void) cached_has_bits;
10172
10173 solution_.Clear();
10174 solution_lower_bounds_.Clear();
10175 solution_upper_bounds_.Clear();
10176 tightened_variables_.Clear();
10177 sufficient_assumptions_for_infeasibility_.Clear();
10178 solution_info_.ClearToEmpty();
10179 solve_log_.ClearToEmpty();
10180 ::memset(&objective_value_, 0, static_cast<size_t>(
10181 reinterpret_cast<char*>(&num_lp_iterations_) -
10182 reinterpret_cast<char*>(&objective_value_)) + sizeof(num_lp_iterations_));
10183 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
10184}
10185
10186const char* CpSolverResponse::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
10187#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
10188 while (!ctx->Done(&ptr)) {
10189 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
10190 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
10191 switch (tag >> 3) {
10192 // .operations_research.sat.CpSolverStatus status = 1;
10193 case 1:
10194 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
10195 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
10196 CHK_(ptr);
10197 _internal_set_status(static_cast<::operations_research::sat::CpSolverStatus>(val));
10198 } else
10199 goto handle_unusual;
10200 continue;
10201 // repeated int64 solution = 2;
10202 case 2:
10203 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
10204 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_solution(), ptr, ctx);
10205 CHK_(ptr);
10206 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) {
10207 _internal_add_solution(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
10208 CHK_(ptr);
10209 } else
10210 goto handle_unusual;
10211 continue;
10212 // double objective_value = 3;
10213 case 3:
10214 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 25)) {
10215 objective_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
10216 ptr += sizeof(double);
10217 } else
10218 goto handle_unusual;
10219 continue;
10220 // double best_objective_bound = 4;
10221 case 4:
10222 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 33)) {
10223 best_objective_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
10224 ptr += sizeof(double);
10225 } else
10226 goto handle_unusual;
10227 continue;
10228 // bool all_solutions_were_found = 5;
10229 case 5:
10230 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
10231 all_solutions_were_found_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
10232 CHK_(ptr);
10233 } else
10234 goto handle_unusual;
10235 continue;
10236 // int64 num_booleans = 10;
10237 case 10:
10238 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) {
10239 num_booleans_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
10240 CHK_(ptr);
10241 } else
10242 goto handle_unusual;
10243 continue;
10244 // int64 num_conflicts = 11;
10245 case 11:
10246 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 88)) {
10247 num_conflicts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
10248 CHK_(ptr);
10249 } else
10250 goto handle_unusual;
10251 continue;
10252 // int64 num_branches = 12;
10253 case 12:
10254 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 96)) {
10255 num_branches_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
10256 CHK_(ptr);
10257 } else
10258 goto handle_unusual;
10259 continue;
10260 // int64 num_binary_propagations = 13;
10261 case 13:
10262 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 104)) {
10263 num_binary_propagations_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
10264 CHK_(ptr);
10265 } else
10266 goto handle_unusual;
10267 continue;
10268 // int64 num_integer_propagations = 14;
10269 case 14:
10270 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 112)) {
10271 num_integer_propagations_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
10272 CHK_(ptr);
10273 } else
10274 goto handle_unusual;
10275 continue;
10276 // double wall_time = 15;
10277 case 15:
10278 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 121)) {
10279 wall_time_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
10280 ptr += sizeof(double);
10281 } else
10282 goto handle_unusual;
10283 continue;
10284 // double user_time = 16;
10285 case 16:
10286 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 129)) {
10287 user_time_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
10288 ptr += sizeof(double);
10289 } else
10290 goto handle_unusual;
10291 continue;
10292 // double deterministic_time = 17;
10293 case 17:
10294 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 137)) {
10295 deterministic_time_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
10296 ptr += sizeof(double);
10297 } else
10298 goto handle_unusual;
10299 continue;
10300 // repeated int64 solution_lower_bounds = 18;
10301 case 18:
10302 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 146)) {
10303 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_solution_lower_bounds(), ptr, ctx);
10304 CHK_(ptr);
10305 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 144) {
10306 _internal_add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
10307 CHK_(ptr);
10308 } else
10309 goto handle_unusual;
10310 continue;
10311 // repeated int64 solution_upper_bounds = 19;
10312 case 19:
10313 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 154)) {
10314 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_solution_upper_bounds(), ptr, ctx);
10315 CHK_(ptr);
10316 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 152) {
10317 _internal_add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
10318 CHK_(ptr);
10319 } else
10320 goto handle_unusual;
10321 continue;
10322 // string solution_info = 20;
10323 case 20:
10324 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 162)) {
10325 auto str = _internal_mutable_solution_info();
10326 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
10327 CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.sat.CpSolverResponse.solution_info"));
10328 CHK_(ptr);
10329 } else
10330 goto handle_unusual;
10331 continue;
10332 // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
10333 case 21:
10334 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 170)) {
10335 ptr -= 2;
10336 do {
10337 ptr += 2;
10338 ptr = ctx->ParseMessage(_internal_add_tightened_variables(), ptr);
10339 CHK_(ptr);
10340 if (!ctx->DataAvailable(ptr)) break;
10341 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<170>(ptr));
10342 } else
10343 goto handle_unusual;
10344 continue;
10345 // double primal_integral = 22;
10346 case 22:
10347 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 177)) {
10348 primal_integral_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
10349 ptr += sizeof(double);
10350 } else
10351 goto handle_unusual;
10352 continue;
10353 // repeated int32 sufficient_assumptions_for_infeasibility = 23;
10354 case 23:
10355 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 186)) {
10356 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_sufficient_assumptions_for_infeasibility(), ptr, ctx);
10357 CHK_(ptr);
10358 } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 184) {
10359 _internal_add_sufficient_assumptions_for_infeasibility(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
10360 CHK_(ptr);
10361 } else
10362 goto handle_unusual;
10363 continue;
10364 // int64 num_restarts = 24;
10365 case 24:
10366 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 192)) {
10367 num_restarts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
10368 CHK_(ptr);
10369 } else
10370 goto handle_unusual;
10371 continue;
10372 // int64 num_lp_iterations = 25;
10373 case 25:
10374 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 200)) {
10375 num_lp_iterations_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
10376 CHK_(ptr);
10377 } else
10378 goto handle_unusual;
10379 continue;
10380 // string solve_log = 26;
10381 case 26:
10382 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 210)) {
10383 auto str = _internal_mutable_solve_log();
10384 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
10385 CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.sat.CpSolverResponse.solve_log"));
10386 CHK_(ptr);
10387 } else
10388 goto handle_unusual;
10389 continue;
10390 default:
10391 goto handle_unusual;
10392 } // switch
10393 handle_unusual:
10394 if ((tag == 0) || ((tag & 7) == 4)) {
10395 CHK_(ptr);
10396 ctx->SetLastTag(tag);
10397 goto message_done;
10398 }
10399 ptr = UnknownFieldParse(
10400 tag,
10401 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
10402 ptr, ctx);
10403 CHK_(ptr != nullptr);
10404 } // while
10405message_done:
10406 return ptr;
10407failure:
10408 ptr = nullptr;
10409 goto message_done;
10410#undef CHK_
10411}
10412
10413::PROTOBUF_NAMESPACE_ID::uint8* CpSolverResponse::_InternalSerialize(
10414 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
10415 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.CpSolverResponse)
10416 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
10417 (void) cached_has_bits;
10418
10419 // .operations_research.sat.CpSolverStatus status = 1;
10420 if (this->_internal_status() != 0) {
10421 target = stream->EnsureSpace(target);
10422 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
10423 1, this->_internal_status(), target);
10424 }
10425
10426 // repeated int64 solution = 2;
10427 {
10428 int byte_size = _solution_cached_byte_size_.load(std::memory_order_relaxed);
10429 if (byte_size > 0) {
10430 target = stream->WriteInt64Packed(
10431 2, _internal_solution(), byte_size, target);
10432 }
10433 }
10434
10435 // double objective_value = 3;
10436 if (!(this->_internal_objective_value() <= 0 && this->_internal_objective_value() >= 0)) {
10437 target = stream->EnsureSpace(target);
10438 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(3, this->_internal_objective_value(), target);
10439 }
10440
10441 // double best_objective_bound = 4;
10442 if (!(this->_internal_best_objective_bound() <= 0 && this->_internal_best_objective_bound() >= 0)) {
10443 target = stream->EnsureSpace(target);
10444 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(4, this->_internal_best_objective_bound(), target);
10445 }
10446
10447 // bool all_solutions_were_found = 5;
10448 if (this->_internal_all_solutions_were_found() != 0) {
10449 target = stream->EnsureSpace(target);
10450 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_all_solutions_were_found(), target);
10451 }
10452
10453 // int64 num_booleans = 10;
10454 if (this->_internal_num_booleans() != 0) {
10455 target = stream->EnsureSpace(target);
10456 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(10, this->_internal_num_booleans(), target);
10457 }
10458
10459 // int64 num_conflicts = 11;
10460 if (this->_internal_num_conflicts() != 0) {
10461 target = stream->EnsureSpace(target);
10462 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(11, this->_internal_num_conflicts(), target);
10463 }
10464
10465 // int64 num_branches = 12;
10466 if (this->_internal_num_branches() != 0) {
10467 target = stream->EnsureSpace(target);
10468 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(12, this->_internal_num_branches(), target);
10469 }
10470
10471 // int64 num_binary_propagations = 13;
10472 if (this->_internal_num_binary_propagations() != 0) {
10473 target = stream->EnsureSpace(target);
10474 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(13, this->_internal_num_binary_propagations(), target);
10475 }
10476
10477 // int64 num_integer_propagations = 14;
10478 if (this->_internal_num_integer_propagations() != 0) {
10479 target = stream->EnsureSpace(target);
10480 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(14, this->_internal_num_integer_propagations(), target);
10481 }
10482
10483 // double wall_time = 15;
10484 if (!(this->_internal_wall_time() <= 0 && this->_internal_wall_time() >= 0)) {
10485 target = stream->EnsureSpace(target);
10486 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(15, this->_internal_wall_time(), target);
10487 }
10488
10489 // double user_time = 16;
10490 if (!(this->_internal_user_time() <= 0 && this->_internal_user_time() >= 0)) {
10491 target = stream->EnsureSpace(target);
10492 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(16, this->_internal_user_time(), target);
10493 }
10494
10495 // double deterministic_time = 17;
10496 if (!(this->_internal_deterministic_time() <= 0 && this->_internal_deterministic_time() >= 0)) {
10497 target = stream->EnsureSpace(target);
10498 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(17, this->_internal_deterministic_time(), target);
10499 }
10500
10501 // repeated int64 solution_lower_bounds = 18;
10502 {
10503 int byte_size = _solution_lower_bounds_cached_byte_size_.load(std::memory_order_relaxed);
10504 if (byte_size > 0) {
10505 target = stream->WriteInt64Packed(
10506 18, _internal_solution_lower_bounds(), byte_size, target);
10507 }
10508 }
10509
10510 // repeated int64 solution_upper_bounds = 19;
10511 {
10512 int byte_size = _solution_upper_bounds_cached_byte_size_.load(std::memory_order_relaxed);
10513 if (byte_size > 0) {
10514 target = stream->WriteInt64Packed(
10515 19, _internal_solution_upper_bounds(), byte_size, target);
10516 }
10517 }
10518
10519 // string solution_info = 20;
10520 if (!this->_internal_solution_info().empty()) {
10521 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
10522 this->_internal_solution_info().data(), static_cast<int>(this->_internal_solution_info().length()),
10523 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
10524 "operations_research.sat.CpSolverResponse.solution_info");
10525 target = stream->WriteStringMaybeAliased(
10526 20, this->_internal_solution_info(), target);
10527 }
10528
10529 // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
10530 for (unsigned int i = 0,
10531 n = static_cast<unsigned int>(this->_internal_tightened_variables_size()); i < n; i++) {
10532 target = stream->EnsureSpace(target);
10533 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
10534 InternalWriteMessage(21, this->_internal_tightened_variables(i), target, stream);
10535 }
10536
10537 // double primal_integral = 22;
10538 if (!(this->_internal_primal_integral() <= 0 && this->_internal_primal_integral() >= 0)) {
10539 target = stream->EnsureSpace(target);
10540 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(22, this->_internal_primal_integral(), target);
10541 }
10542
10543 // repeated int32 sufficient_assumptions_for_infeasibility = 23;
10544 {
10545 int byte_size = _sufficient_assumptions_for_infeasibility_cached_byte_size_.load(std::memory_order_relaxed);
10546 if (byte_size > 0) {
10547 target = stream->WriteInt32Packed(
10548 23, _internal_sufficient_assumptions_for_infeasibility(), byte_size, target);
10549 }
10550 }
10551
10552 // int64 num_restarts = 24;
10553 if (this->_internal_num_restarts() != 0) {
10554 target = stream->EnsureSpace(target);
10555 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(24, this->_internal_num_restarts(), target);
10556 }
10557
10558 // int64 num_lp_iterations = 25;
10559 if (this->_internal_num_lp_iterations() != 0) {
10560 target = stream->EnsureSpace(target);
10561 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(25, this->_internal_num_lp_iterations(), target);
10562 }
10563
10564 // string solve_log = 26;
10565 if (!this->_internal_solve_log().empty()) {
10566 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
10567 this->_internal_solve_log().data(), static_cast<int>(this->_internal_solve_log().length()),
10568 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
10569 "operations_research.sat.CpSolverResponse.solve_log");
10570 target = stream->WriteStringMaybeAliased(
10571 26, this->_internal_solve_log(), target);
10572 }
10573
10574 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
10575 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
10576 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
10577 }
10578 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.CpSolverResponse)
10579 return target;
10580}
10581
10583// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.CpSolverResponse)
10584 size_t total_size = 0;
10585
10586 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
10587 // Prevent compiler warnings about cached_has_bits being unused
10588 (void) cached_has_bits;
10589
10590 // repeated int64 solution = 2;
10591 {
10592 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
10593 Int64Size(this->solution_);
10594 if (data_size > 0) {
10595 total_size += 1 +
10596 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
10597 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
10598 }
10599 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
10600 _solution_cached_byte_size_.store(cached_size,
10601 std::memory_order_relaxed);
10602 total_size += data_size;
10603 }
10604
10605 // repeated int64 solution_lower_bounds = 18;
10606 {
10607 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
10608 Int64Size(this->solution_lower_bounds_);
10609 if (data_size > 0) {
10610 total_size += 2 +
10611 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
10612 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
10613 }
10614 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
10615 _solution_lower_bounds_cached_byte_size_.store(cached_size,
10616 std::memory_order_relaxed);
10617 total_size += data_size;
10618 }
10619
10620 // repeated int64 solution_upper_bounds = 19;
10621 {
10622 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
10623 Int64Size(this->solution_upper_bounds_);
10624 if (data_size > 0) {
10625 total_size += 2 +
10626 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
10627 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
10628 }
10629 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
10630 _solution_upper_bounds_cached_byte_size_.store(cached_size,
10631 std::memory_order_relaxed);
10632 total_size += data_size;
10633 }
10634
10635 // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
10636 total_size += 2UL * this->_internal_tightened_variables_size();
10637 for (const auto& msg : this->tightened_variables_) {
10638 total_size +=
10639 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
10640 }
10641
10642 // repeated int32 sufficient_assumptions_for_infeasibility = 23;
10643 {
10644 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
10645 Int32Size(this->sufficient_assumptions_for_infeasibility_);
10646 if (data_size > 0) {
10647 total_size += 2 +
10648 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
10649 static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
10650 }
10651 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
10652 _sufficient_assumptions_for_infeasibility_cached_byte_size_.store(cached_size,
10653 std::memory_order_relaxed);
10654 total_size += data_size;
10655 }
10656
10657 // string solution_info = 20;
10658 if (!this->_internal_solution_info().empty()) {
10659 total_size += 2 +
10660 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
10661 this->_internal_solution_info());
10662 }
10663
10664 // string solve_log = 26;
10665 if (!this->_internal_solve_log().empty()) {
10666 total_size += 2 +
10667 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
10668 this->_internal_solve_log());
10669 }
10670
10671 // double objective_value = 3;
10672 if (!(this->_internal_objective_value() <= 0 && this->_internal_objective_value() >= 0)) {
10673 total_size += 1 + 8;
10674 }
10675
10676 // .operations_research.sat.CpSolverStatus status = 1;
10677 if (this->_internal_status() != 0) {
10678 total_size += 1 +
10679 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_status());
10680 }
10681
10682 // bool all_solutions_were_found = 5;
10683 if (this->_internal_all_solutions_were_found() != 0) {
10684 total_size += 1 + 1;
10685 }
10686
10687 // double best_objective_bound = 4;
10688 if (!(this->_internal_best_objective_bound() <= 0 && this->_internal_best_objective_bound() >= 0)) {
10689 total_size += 1 + 8;
10690 }
10691
10692 // int64 num_booleans = 10;
10693 if (this->_internal_num_booleans() != 0) {
10694 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_num_booleans());
10695 }
10696
10697 // int64 num_conflicts = 11;
10698 if (this->_internal_num_conflicts() != 0) {
10699 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_num_conflicts());
10700 }
10701
10702 // int64 num_branches = 12;
10703 if (this->_internal_num_branches() != 0) {
10704 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_num_branches());
10705 }
10706
10707 // int64 num_binary_propagations = 13;
10708 if (this->_internal_num_binary_propagations() != 0) {
10709 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_num_binary_propagations());
10710 }
10711
10712 // int64 num_integer_propagations = 14;
10713 if (this->_internal_num_integer_propagations() != 0) {
10714 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_num_integer_propagations());
10715 }
10716
10717 // double wall_time = 15;
10718 if (!(this->_internal_wall_time() <= 0 && this->_internal_wall_time() >= 0)) {
10719 total_size += 1 + 8;
10720 }
10721
10722 // double user_time = 16;
10723 if (!(this->_internal_user_time() <= 0 && this->_internal_user_time() >= 0)) {
10724 total_size += 2 + 8;
10725 }
10726
10727 // double deterministic_time = 17;
10728 if (!(this->_internal_deterministic_time() <= 0 && this->_internal_deterministic_time() >= 0)) {
10729 total_size += 2 + 8;
10730 }
10731
10732 // double primal_integral = 22;
10733 if (!(this->_internal_primal_integral() <= 0 && this->_internal_primal_integral() >= 0)) {
10734 total_size += 2 + 8;
10735 }
10736
10737 // int64 num_restarts = 24;
10738 if (this->_internal_num_restarts() != 0) {
10739 total_size += 2 +
10740 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
10741 this->_internal_num_restarts());
10742 }
10743
10744 // int64 num_lp_iterations = 25;
10745 if (this->_internal_num_lp_iterations() != 0) {
10746 total_size += 2 +
10747 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
10748 this->_internal_num_lp_iterations());
10749 }
10750
10751 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
10752}
10753
10754const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CpSolverResponse::_class_data_ = {
10755 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
10756 CpSolverResponse::MergeImpl
10757};
10758const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CpSolverResponse::GetClassData() const { return &_class_data_; }
10759
10760void CpSolverResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
10761 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
10762 static_cast<CpSolverResponse *>(to)->MergeFrom(
10763 static_cast<const CpSolverResponse &>(from));
10764}
10765
10766
10768// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.CpSolverResponse)
10769 GOOGLE_DCHECK_NE(&from, this);
10770 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
10771 (void) cached_has_bits;
10772
10773 solution_.MergeFrom(from.solution_);
10774 solution_lower_bounds_.MergeFrom(from.solution_lower_bounds_);
10775 solution_upper_bounds_.MergeFrom(from.solution_upper_bounds_);
10776 tightened_variables_.MergeFrom(from.tightened_variables_);
10777 sufficient_assumptions_for_infeasibility_.MergeFrom(from.sufficient_assumptions_for_infeasibility_);
10778 if (!from._internal_solution_info().empty()) {
10779 _internal_set_solution_info(from._internal_solution_info());
10780 }
10781 if (!from._internal_solve_log().empty()) {
10782 _internal_set_solve_log(from._internal_solve_log());
10783 }
10784 if (!(from._internal_objective_value() <= 0 && from._internal_objective_value() >= 0)) {
10785 _internal_set_objective_value(from._internal_objective_value());
10786 }
10787 if (from._internal_status() != 0) {
10788 _internal_set_status(from._internal_status());
10789 }
10790 if (from._internal_all_solutions_were_found() != 0) {
10791 _internal_set_all_solutions_were_found(from._internal_all_solutions_were_found());
10792 }
10793 if (!(from._internal_best_objective_bound() <= 0 && from._internal_best_objective_bound() >= 0)) {
10794 _internal_set_best_objective_bound(from._internal_best_objective_bound());
10795 }
10796 if (from._internal_num_booleans() != 0) {
10797 _internal_set_num_booleans(from._internal_num_booleans());
10798 }
10799 if (from._internal_num_conflicts() != 0) {
10800 _internal_set_num_conflicts(from._internal_num_conflicts());
10801 }
10802 if (from._internal_num_branches() != 0) {
10803 _internal_set_num_branches(from._internal_num_branches());
10804 }
10805 if (from._internal_num_binary_propagations() != 0) {
10806 _internal_set_num_binary_propagations(from._internal_num_binary_propagations());
10807 }
10808 if (from._internal_num_integer_propagations() != 0) {
10809 _internal_set_num_integer_propagations(from._internal_num_integer_propagations());
10810 }
10811 if (!(from._internal_wall_time() <= 0 && from._internal_wall_time() >= 0)) {
10812 _internal_set_wall_time(from._internal_wall_time());
10813 }
10814 if (!(from._internal_user_time() <= 0 && from._internal_user_time() >= 0)) {
10815 _internal_set_user_time(from._internal_user_time());
10816 }
10817 if (!(from._internal_deterministic_time() <= 0 && from._internal_deterministic_time() >= 0)) {
10818 _internal_set_deterministic_time(from._internal_deterministic_time());
10819 }
10820 if (!(from._internal_primal_integral() <= 0 && from._internal_primal_integral() >= 0)) {
10821 _internal_set_primal_integral(from._internal_primal_integral());
10822 }
10823 if (from._internal_num_restarts() != 0) {
10824 _internal_set_num_restarts(from._internal_num_restarts());
10825 }
10826 if (from._internal_num_lp_iterations() != 0) {
10827 _internal_set_num_lp_iterations(from._internal_num_lp_iterations());
10828 }
10829 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
10830}
10831
10833// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.CpSolverResponse)
10834 if (&from == this) return;
10835 Clear();
10836 MergeFrom(from);
10837}
10838
10840 return true;
10841}
10842
10843void CpSolverResponse::InternalSwap(CpSolverResponse* other) {
10844 using std::swap;
10845 auto* lhs_arena = GetArenaForAllocation();
10846 auto* rhs_arena = other->GetArenaForAllocation();
10847 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
10848 solution_.InternalSwap(&other->solution_);
10849 solution_lower_bounds_.InternalSwap(&other->solution_lower_bounds_);
10850 solution_upper_bounds_.InternalSwap(&other->solution_upper_bounds_);
10851 tightened_variables_.InternalSwap(&other->tightened_variables_);
10852 sufficient_assumptions_for_infeasibility_.InternalSwap(&other->sufficient_assumptions_for_infeasibility_);
10853 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
10854 &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
10855 &solution_info_, lhs_arena,
10856 &other->solution_info_, rhs_arena
10857 );
10858 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
10859 &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
10860 &solve_log_, lhs_arena,
10861 &other->solve_log_, rhs_arena
10862 );
10863 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
10864 PROTOBUF_FIELD_OFFSET(CpSolverResponse, num_lp_iterations_)
10865 + sizeof(CpSolverResponse::num_lp_iterations_)
10866 - PROTOBUF_FIELD_OFFSET(CpSolverResponse, objective_value_)>(
10867 reinterpret_cast<char*>(&objective_value_),
10868 reinterpret_cast<char*>(&other->objective_value_));
10869}
10870
10871::PROTOBUF_NAMESPACE_ID::Metadata CpSolverResponse::GetMetadata() const {
10872 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
10875}
10876
10877// @@protoc_insertion_point(namespace_scope)
10878} // namespace sat
10879} // namespace operations_research
10880PROTOBUF_NAMESPACE_OPEN
10881template<> PROTOBUF_NOINLINE ::operations_research::sat::IntegerVariableProto* Arena::CreateMaybeMessage< ::operations_research::sat::IntegerVariableProto >(Arena* arena) {
10882 return Arena::CreateMessageInternal< ::operations_research::sat::IntegerVariableProto >(arena);
10883}
10884template<> PROTOBUF_NOINLINE ::operations_research::sat::BoolArgumentProto* Arena::CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(Arena* arena) {
10885 return Arena::CreateMessageInternal< ::operations_research::sat::BoolArgumentProto >(arena);
10886}
10887template<> PROTOBUF_NOINLINE ::operations_research::sat::IntegerArgumentProto* Arena::CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(Arena* arena) {
10888 return Arena::CreateMessageInternal< ::operations_research::sat::IntegerArgumentProto >(arena);
10889}
10890template<> PROTOBUF_NOINLINE ::operations_research::sat::LinearExpressionProto* Arena::CreateMaybeMessage< ::operations_research::sat::LinearExpressionProto >(Arena* arena) {
10891 return Arena::CreateMessageInternal< ::operations_research::sat::LinearExpressionProto >(arena);
10892}
10893template<> PROTOBUF_NOINLINE ::operations_research::sat::LinearArgumentProto* Arena::CreateMaybeMessage< ::operations_research::sat::LinearArgumentProto >(Arena* arena) {
10894 return Arena::CreateMessageInternal< ::operations_research::sat::LinearArgumentProto >(arena);
10895}
10896template<> PROTOBUF_NOINLINE ::operations_research::sat::AllDifferentConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::AllDifferentConstraintProto >(Arena* arena) {
10897 return Arena::CreateMessageInternal< ::operations_research::sat::AllDifferentConstraintProto >(arena);
10898}
10899template<> PROTOBUF_NOINLINE ::operations_research::sat::LinearConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::LinearConstraintProto >(Arena* arena) {
10900 return Arena::CreateMessageInternal< ::operations_research::sat::LinearConstraintProto >(arena);
10901}
10902template<> PROTOBUF_NOINLINE ::operations_research::sat::ElementConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::ElementConstraintProto >(Arena* arena) {
10903 return Arena::CreateMessageInternal< ::operations_research::sat::ElementConstraintProto >(arena);
10904}
10905template<> PROTOBUF_NOINLINE ::operations_research::sat::IntervalConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::IntervalConstraintProto >(Arena* arena) {
10906 return Arena::CreateMessageInternal< ::operations_research::sat::IntervalConstraintProto >(arena);
10907}
10908template<> PROTOBUF_NOINLINE ::operations_research::sat::NoOverlapConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::NoOverlapConstraintProto >(Arena* arena) {
10909 return Arena::CreateMessageInternal< ::operations_research::sat::NoOverlapConstraintProto >(arena);
10910}
10911template<> PROTOBUF_NOINLINE ::operations_research::sat::NoOverlap2DConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::NoOverlap2DConstraintProto >(Arena* arena) {
10912 return Arena::CreateMessageInternal< ::operations_research::sat::NoOverlap2DConstraintProto >(arena);
10913}
10914template<> PROTOBUF_NOINLINE ::operations_research::sat::CumulativeConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::CumulativeConstraintProto >(Arena* arena) {
10915 return Arena::CreateMessageInternal< ::operations_research::sat::CumulativeConstraintProto >(arena);
10916}
10917template<> PROTOBUF_NOINLINE ::operations_research::sat::ReservoirConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::ReservoirConstraintProto >(Arena* arena) {
10918 return Arena::CreateMessageInternal< ::operations_research::sat::ReservoirConstraintProto >(arena);
10919}
10920template<> PROTOBUF_NOINLINE ::operations_research::sat::CircuitConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::CircuitConstraintProto >(Arena* arena) {
10921 return Arena::CreateMessageInternal< ::operations_research::sat::CircuitConstraintProto >(arena);
10922}
10923template<> PROTOBUF_NOINLINE ::operations_research::sat::RoutesConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::RoutesConstraintProto >(Arena* arena) {
10924 return Arena::CreateMessageInternal< ::operations_research::sat::RoutesConstraintProto >(arena);
10925}
10926template<> PROTOBUF_NOINLINE ::operations_research::sat::TableConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::TableConstraintProto >(Arena* arena) {
10927 return Arena::CreateMessageInternal< ::operations_research::sat::TableConstraintProto >(arena);
10928}
10929template<> PROTOBUF_NOINLINE ::operations_research::sat::InverseConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::InverseConstraintProto >(Arena* arena) {
10930 return Arena::CreateMessageInternal< ::operations_research::sat::InverseConstraintProto >(arena);
10931}
10932template<> PROTOBUF_NOINLINE ::operations_research::sat::AutomatonConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::AutomatonConstraintProto >(Arena* arena) {
10933 return Arena::CreateMessageInternal< ::operations_research::sat::AutomatonConstraintProto >(arena);
10934}
10935template<> PROTOBUF_NOINLINE ::operations_research::sat::ListOfVariablesProto* Arena::CreateMaybeMessage< ::operations_research::sat::ListOfVariablesProto >(Arena* arena) {
10936 return Arena::CreateMessageInternal< ::operations_research::sat::ListOfVariablesProto >(arena);
10937}
10938template<> PROTOBUF_NOINLINE ::operations_research::sat::ConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::ConstraintProto >(Arena* arena) {
10939 return Arena::CreateMessageInternal< ::operations_research::sat::ConstraintProto >(arena);
10940}
10941template<> PROTOBUF_NOINLINE ::operations_research::sat::CpObjectiveProto* Arena::CreateMaybeMessage< ::operations_research::sat::CpObjectiveProto >(Arena* arena) {
10942 return Arena::CreateMessageInternal< ::operations_research::sat::CpObjectiveProto >(arena);
10943}
10944template<> PROTOBUF_NOINLINE ::operations_research::sat::DecisionStrategyProto_AffineTransformation* Arena::CreateMaybeMessage< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >(Arena* arena) {
10945 return Arena::CreateMessageInternal< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >(arena);
10946}
10947template<> PROTOBUF_NOINLINE ::operations_research::sat::DecisionStrategyProto* Arena::CreateMaybeMessage< ::operations_research::sat::DecisionStrategyProto >(Arena* arena) {
10948 return Arena::CreateMessageInternal< ::operations_research::sat::DecisionStrategyProto >(arena);
10949}
10950template<> PROTOBUF_NOINLINE ::operations_research::sat::PartialVariableAssignment* Arena::CreateMaybeMessage< ::operations_research::sat::PartialVariableAssignment >(Arena* arena) {
10951 return Arena::CreateMessageInternal< ::operations_research::sat::PartialVariableAssignment >(arena);
10952}
10953template<> PROTOBUF_NOINLINE ::operations_research::sat::SparsePermutationProto* Arena::CreateMaybeMessage< ::operations_research::sat::SparsePermutationProto >(Arena* arena) {
10954 return Arena::CreateMessageInternal< ::operations_research::sat::SparsePermutationProto >(arena);
10955}
10956template<> PROTOBUF_NOINLINE ::operations_research::sat::DenseMatrixProto* Arena::CreateMaybeMessage< ::operations_research::sat::DenseMatrixProto >(Arena* arena) {
10957 return Arena::CreateMessageInternal< ::operations_research::sat::DenseMatrixProto >(arena);
10958}
10959template<> PROTOBUF_NOINLINE ::operations_research::sat::SymmetryProto* Arena::CreateMaybeMessage< ::operations_research::sat::SymmetryProto >(Arena* arena) {
10960 return Arena::CreateMessageInternal< ::operations_research::sat::SymmetryProto >(arena);
10961}
10962template<> PROTOBUF_NOINLINE ::operations_research::sat::CpModelProto* Arena::CreateMaybeMessage< ::operations_research::sat::CpModelProto >(Arena* arena) {
10963 return Arena::CreateMessageInternal< ::operations_research::sat::CpModelProto >(arena);
10964}
10965template<> PROTOBUF_NOINLINE ::operations_research::sat::CpSolverResponse* Arena::CreateMaybeMessage< ::operations_research::sat::CpSolverResponse >(Arena* arena) {
10966 return Arena::CreateMessageInternal< ::operations_research::sat::CpSolverResponse >(arena);
10967}
10968PROTOBUF_NAMESPACE_CLOSE
10969
10970// @@protoc_insertion_point(global_scope)
10971#include <google/protobuf/port_undef.inc>
const std::vector< IntVar * > vars_
Definition: alldiff_cst.cc:44
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void CopyFrom(const AllDifferentConstraintProto &from)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void MergeFrom(const AllDifferentConstraintProto &from)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void CopyFrom(const AutomatonConstraintProto &from)
void MergeFrom(const AutomatonConstraintProto &from)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
friend void swap(AutomatonConstraintProto &a, AutomatonConstraintProto &b)
Definition: cp_model.pb.h:3566
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void MergeFrom(const BoolArgumentProto &from)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
void CopyFrom(const BoolArgumentProto &from)
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void CopyFrom(const CircuitConstraintProto &from)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void MergeFrom(const CircuitConstraintProto &from)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
static const ::operations_research::sat::IntegerArgumentProto & int_mod(const ConstraintProto *msg)
static const ::operations_research::sat::CumulativeConstraintProto & cumulative(const ConstraintProto *msg)
static const ::operations_research::sat::TableConstraintProto & table(const ConstraintProto *msg)
static const ::operations_research::sat::LinearArgumentProto & lin_max(const ConstraintProto *msg)
static const ::operations_research::sat::IntegerArgumentProto & int_min(const ConstraintProto *msg)
static const ::operations_research::sat::BoolArgumentProto & bool_and(const ConstraintProto *msg)
static const ::operations_research::sat::IntegerArgumentProto & int_prod(const ConstraintProto *msg)
static const ::operations_research::sat::InverseConstraintProto & inverse(const ConstraintProto *msg)
static const ::operations_research::sat::BoolArgumentProto & exactly_one(const ConstraintProto *msg)
static const ::operations_research::sat::IntegerArgumentProto & int_div(const ConstraintProto *msg)
static const ::operations_research::sat::LinearConstraintProto & linear(const ConstraintProto *msg)
static const ::operations_research::sat::RoutesConstraintProto & routes(const ConstraintProto *msg)
static const ::operations_research::sat::ElementConstraintProto & element(const ConstraintProto *msg)
static const ::operations_research::sat::ListOfVariablesProto & dummy_constraint(const ConstraintProto *msg)
static const ::operations_research::sat::ReservoirConstraintProto & reservoir(const ConstraintProto *msg)
static const ::operations_research::sat::AutomatonConstraintProto & automaton(const ConstraintProto *msg)
static const ::operations_research::sat::BoolArgumentProto & bool_or(const ConstraintProto *msg)
static const ::operations_research::sat::CircuitConstraintProto & circuit(const ConstraintProto *msg)
static const ::operations_research::sat::NoOverlap2DConstraintProto & no_overlap_2d(const ConstraintProto *msg)
static const ::operations_research::sat::NoOverlapConstraintProto & no_overlap(const ConstraintProto *msg)
static const ::operations_research::sat::IntegerArgumentProto & int_max(const ConstraintProto *msg)
static const ::operations_research::sat::AllDifferentConstraintProto & all_diff(const ConstraintProto *msg)
static const ::operations_research::sat::BoolArgumentProto & bool_xor(const ConstraintProto *msg)
static const ::operations_research::sat::LinearArgumentProto & lin_min(const ConstraintProto *msg)
static const ::operations_research::sat::IntervalConstraintProto & interval(const ConstraintProto *msg)
static const ::operations_research::sat::BoolArgumentProto & at_most_one(const ConstraintProto *msg)
void set_allocated_int_max(::operations_research::sat::IntegerArgumentProto *int_max)
const ::operations_research::sat::BoolArgumentProto & at_most_one() const
Definition: cp_model.pb.h:9599
const ::operations_research::sat::IntegerArgumentProto & int_mod() const
Definition: cp_model.pb.h:9895
void set_allocated_bool_or(::operations_research::sat::BoolArgumentProto *bool_or)
const ::operations_research::sat::CircuitConstraintProto & circuit() const
const ::operations_research::sat::IntegerArgumentProto & int_div() const
Definition: cp_model.pb.h:9821
void set_allocated_no_overlap_2d(::operations_research::sat::NoOverlap2DConstraintProto *no_overlap_2d)
void set_allocated_routes(::operations_research::sat::RoutesConstraintProto *routes)
const ::operations_research::sat::IntervalConstraintProto & interval() const
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void set_allocated_no_overlap(::operations_research::sat::NoOverlapConstraintProto *no_overlap)
const ::operations_research::sat::LinearArgumentProto & lin_min() const
void CopyFrom(const ConstraintProto &from)
friend void swap(ConstraintProto &a, ConstraintProto &b)
Definition: cp_model.pb.h:4021
const ::operations_research::sat::ReservoirConstraintProto & reservoir() const
const ::operations_research::sat::ListOfVariablesProto & dummy_constraint() const
void set_allocated_dummy_constraint(::operations_research::sat::ListOfVariablesProto *dummy_constraint)
const ::operations_research::sat::IntegerArgumentProto & int_max() const
Definition: cp_model.pb.h:9969
const ::operations_research::sat::LinearArgumentProto & lin_max() const
void set_allocated_element(::operations_research::sat::ElementConstraintProto *element)
const ::operations_research::sat::NoOverlap2DConstraintProto & no_overlap_2d() const
const ::operations_research::sat::AllDifferentConstraintProto & all_diff() const
void set_allocated_inverse(::operations_research::sat::InverseConstraintProto *inverse)
const ::operations_research::sat::InverseConstraintProto & inverse() const
const ::operations_research::sat::ElementConstraintProto & element() const
void set_allocated_reservoir(::operations_research::sat::ReservoirConstraintProto *reservoir)
void MergeFrom(const ConstraintProto &from)
const ::operations_research::sat::LinearConstraintProto & linear() const
const ::operations_research::sat::AutomatonConstraintProto & automaton() const
const ::operations_research::sat::IntegerArgumentProto & int_min() const
void set_allocated_int_div(::operations_research::sat::IntegerArgumentProto *int_div)
void set_allocated_interval(::operations_research::sat::IntervalConstraintProto *interval)
void set_allocated_exactly_one(::operations_research::sat::BoolArgumentProto *exactly_one)
void set_allocated_bool_xor(::operations_research::sat::BoolArgumentProto *bool_xor)
const ::operations_research::sat::IntegerArgumentProto & int_prod() const
const ::operations_research::sat::CumulativeConstraintProto & cumulative() const
void set_allocated_at_most_one(::operations_research::sat::BoolArgumentProto *at_most_one)
void set_allocated_int_mod(::operations_research::sat::IntegerArgumentProto *int_mod)
const ::operations_research::sat::BoolArgumentProto & exactly_one() const
Definition: cp_model.pb.h:9673
void set_allocated_automaton(::operations_research::sat::AutomatonConstraintProto *automaton)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::operations_research::sat::BoolArgumentProto & bool_or() const
Definition: cp_model.pb.h:9451
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
void set_allocated_lin_max(::operations_research::sat::LinearArgumentProto *lin_max)
void set_allocated_int_min(::operations_research::sat::IntegerArgumentProto *int_min)
void set_allocated_all_diff(::operations_research::sat::AllDifferentConstraintProto *all_diff)
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
const ::operations_research::sat::RoutesConstraintProto & routes() const
void set_allocated_int_prod(::operations_research::sat::IntegerArgumentProto *int_prod)
void set_allocated_circuit(::operations_research::sat::CircuitConstraintProto *circuit)
void set_allocated_bool_and(::operations_research::sat::BoolArgumentProto *bool_and)
void set_allocated_linear(::operations_research::sat::LinearConstraintProto *linear)
void set_allocated_cumulative(::operations_research::sat::CumulativeConstraintProto *cumulative)
const ::operations_research::sat::NoOverlapConstraintProto & no_overlap() const
const ::operations_research::sat::TableConstraintProto & table() const
const ::operations_research::sat::BoolArgumentProto & bool_and() const
Definition: cp_model.pb.h:9525
const ::operations_research::sat::BoolArgumentProto & bool_xor() const
Definition: cp_model.pb.h:9747
void set_allocated_table(::operations_research::sat::TableConstraintProto *table)
void set_allocated_lin_min(::operations_research::sat::LinearArgumentProto *lin_min)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
static const ::operations_research::sat::SymmetryProto & symmetry(const CpModelProto *msg)
static const ::operations_research::sat::PartialVariableAssignment & solution_hint(const CpModelProto *msg)
static const ::operations_research::sat::CpObjectiveProto & objective(const CpModelProto *msg)
void MergeFrom(const CpModelProto &from)
void CopyFrom(const CpModelProto &from)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
static const ClassData _class_data_
Definition: cp_model.pb.h:6192
static const CpModelProto * internal_default_instance()
Definition: cp_model.pb.h:6126
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void CopyFrom(const CpObjectiveProto &from)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void MergeFrom(const CpObjectiveProto &from)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void CopyFrom(const CpSolverResponse &from)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void MergeFrom(const CpSolverResponse &from)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void CopyFrom(const CumulativeConstraintProto &from)
void MergeFrom(const CumulativeConstraintProto &from)
friend void swap(CumulativeConstraintProto &a, CumulativeConstraintProto &b)
Definition: cp_model.pb.h:2299
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void MergeFrom(const DecisionStrategyProto_AffineTransformation &from)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void CopyFrom(const DecisionStrategyProto_AffineTransformation &from)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
static constexpr DomainReductionStrategy SELECT_MIN_VALUE
Definition: cp_model.pb.h:5250
static constexpr VariableSelectionStrategy VariableSelectionStrategy_MAX
Definition: cp_model.pb.h:5229
static constexpr DomainReductionStrategy DomainReductionStrategy_MIN
Definition: cp_model.pb.h:5263
static constexpr int VariableSelectionStrategy_ARRAYSIZE
Definition: cp_model.pb.h:5231
static constexpr VariableSelectionStrategy VariableSelectionStrategy_MIN
Definition: cp_model.pb.h:5227
static constexpr DomainReductionStrategy SELECT_MAX_VALUE
Definition: cp_model.pb.h:5252
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
static constexpr VariableSelectionStrategy CHOOSE_MAX_DOMAIN_SIZE
Definition: cp_model.pb.h:5222
static constexpr VariableSelectionStrategy CHOOSE_LOWEST_MIN
Definition: cp_model.pb.h:5216
void CopyFrom(const DecisionStrategyProto &from)
static constexpr DomainReductionStrategy SELECT_MEDIAN_VALUE
Definition: cp_model.pb.h:5258
static constexpr DomainReductionStrategy SELECT_LOWER_HALF
Definition: cp_model.pb.h:5254
static constexpr VariableSelectionStrategy CHOOSE_MIN_DOMAIN_SIZE
Definition: cp_model.pb.h:5220
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
static constexpr VariableSelectionStrategy CHOOSE_HIGHEST_MAX
Definition: cp_model.pb.h:5218
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
static constexpr VariableSelectionStrategy CHOOSE_FIRST
Definition: cp_model.pb.h:5214
static constexpr DomainReductionStrategy DomainReductionStrategy_MAX
Definition: cp_model.pb.h:5265
void MergeFrom(const DecisionStrategyProto &from)
static constexpr DomainReductionStrategy SELECT_UPPER_HALF
Definition: cp_model.pb.h:5256
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
void MergeFrom(const DenseMatrixProto &from)
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void CopyFrom(const DenseMatrixProto &from)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void MergeFrom(const ElementConstraintProto &from)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
::PROTOBUF_NAMESPACE_ID::int32 target() const
Definition: cp_model.pb.h:7528
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void CopyFrom(const ElementConstraintProto &from)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void MergeFrom(const IntegerArgumentProto &from)
void CopyFrom(const IntegerArgumentProto &from)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
::PROTOBUF_NAMESPACE_ID::int32 target() const
Definition: cp_model.pb.h:6989
friend void swap(IntegerArgumentProto &a, IntegerArgumentProto &b)
Definition: cp_model.pb.h:648
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void CopyFrom(const IntegerVariableProto &from)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void MergeFrom(const IntegerVariableProto &from)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
static const ::operations_research::sat::LinearExpressionProto & start_view(const IntervalConstraintProto *msg)
static const ::operations_research::sat::LinearExpressionProto & end_view(const IntervalConstraintProto *msg)
static const ::operations_research::sat::LinearExpressionProto & size_view(const IntervalConstraintProto *msg)
void CopyFrom(const IntervalConstraintProto &from)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
::PROTOBUF_NAMESPACE_ID::int32 size() const
Definition: cp_model.pb.h:7639
static const IntervalConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1717
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void MergeFrom(const IntervalConstraintProto &from)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void MergeFrom(const InverseConstraintProto &from)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void CopyFrom(const InverseConstraintProto &from)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
static const ::operations_research::sat::LinearExpressionProto & target(const LinearArgumentProto *msg)
void MergeFrom(const LinearArgumentProto &from)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
const ::operations_research::sat::LinearExpressionProto & target() const
Definition: cp_model.pb.h:7189
static const LinearArgumentProto * internal_default_instance()
Definition: cp_model.pb.h:1002
friend void swap(LinearArgumentProto &a, LinearArgumentProto &b)
Definition: cp_model.pb.h:1009
void CopyFrom(const LinearArgumentProto &from)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void CopyFrom(const LinearConstraintProto &from)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void MergeFrom(const LinearConstraintProto &from)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void CopyFrom(const LinearExpressionProto &from)
friend void swap(LinearExpressionProto &a, LinearExpressionProto &b)
Definition: cp_model.pb.h:816
void MergeFrom(const LinearExpressionProto &from)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void MergeFrom(const ListOfVariablesProto &from)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void CopyFrom(const ListOfVariablesProto &from)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void CopyFrom(const NoOverlap2DConstraintProto &from)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
friend void swap(NoOverlap2DConstraintProto &a, NoOverlap2DConstraintProto &b)
Definition: cp_model.pb.h:2106
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void MergeFrom(const NoOverlap2DConstraintProto &from)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void MergeFrom(const NoOverlapConstraintProto &from)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void CopyFrom(const NoOverlapConstraintProto &from)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void CopyFrom(const PartialVariableAssignment &from)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void MergeFrom(const PartialVariableAssignment &from)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void CopyFrom(const ReservoirConstraintProto &from)
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void MergeFrom(const ReservoirConstraintProto &from)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void CopyFrom(const RoutesConstraintProto &from)
void MergeFrom(const RoutesConstraintProto &from)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
friend void swap(RoutesConstraintProto &a, RoutesConstraintProto &b)
Definition: cp_model.pb.h:2948
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void MergeFrom(const SparsePermutationProto &from)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
void CopyFrom(const SparsePermutationProto &from)
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void CopyFrom(const SymmetryProto &from)
void MergeFrom(const SymmetryProto &from)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void CopyFrom(const TableConstraintProto &from)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
friend void swap(TableConstraintProto &a, TableConstraintProto &b)
Definition: cp_model.pb.h:3191
void MergeFrom(const TableConstraintProto &from)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
PROTOBUF_NOINLINE::operations_research::sat::ConstraintProto * Arena::CreateMaybeMessage< ::operations_research::sat::ConstraintProto >(Arena *arena)
PROTOBUF_NOINLINE::operations_research::sat::CircuitConstraintProto * Arena::CreateMaybeMessage< ::operations_research::sat::CircuitConstraintProto >(Arena *arena)
PROTOBUF_NOINLINE::operations_research::sat::AllDifferentConstraintProto * Arena::CreateMaybeMessage< ::operations_research::sat::AllDifferentConstraintProto >(Arena *arena)
const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
#define CHK_(x)
PROTOBUF_NOINLINE::operations_research::sat::CumulativeConstraintProto * Arena::CreateMaybeMessage< ::operations_research::sat::CumulativeConstraintProto >(Arena *arena)
PROTOBUF_NOINLINE::operations_research::sat::AutomatonConstraintProto * Arena::CreateMaybeMessage< ::operations_research::sat::AutomatonConstraintProto >(Arena *arena)
PROTOBUF_NOINLINE::operations_research::sat::SymmetryProto * Arena::CreateMaybeMessage< ::operations_research::sat::SymmetryProto >(Arena *arena)
PROTOBUF_NOINLINE::operations_research::sat::ListOfVariablesProto * Arena::CreateMaybeMessage< ::operations_research::sat::ListOfVariablesProto >(Arena *arena)
PROTOBUF_NOINLINE::operations_research::sat::LinearExpressionProto * Arena::CreateMaybeMessage< ::operations_research::sat::LinearExpressionProto >(Arena *arena)
PROTOBUF_NOINLINE::operations_research::sat::DenseMatrixProto * Arena::CreateMaybeMessage< ::operations_research::sat::DenseMatrixProto >(Arena *arena)
PROTOBUF_ATTRIBUTE_WEAKconst ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable * descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto_getter()
PROTOBUF_NOINLINE::operations_research::sat::InverseConstraintProto * Arena::CreateMaybeMessage< ::operations_research::sat::InverseConstraintProto >(Arena *arena)
PROTOBUF_NOINLINE::operations_research::sat::LinearConstraintProto * Arena::CreateMaybeMessage< ::operations_research::sat::LinearConstraintProto >(Arena *arena)
PROTOBUF_NOINLINE::operations_research::sat::ElementConstraintProto * Arena::CreateMaybeMessage< ::operations_research::sat::ElementConstraintProto >(Arena *arena)
PROTOBUF_NOINLINE::operations_research::sat::BoolArgumentProto * Arena::CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(Arena *arena)
PROTOBUF_NOINLINE::operations_research::sat::PartialVariableAssignment * Arena::CreateMaybeMessage< ::operations_research::sat::PartialVariableAssignment >(Arena *arena)
PROTOBUF_NOINLINE::operations_research::sat::NoOverlap2DConstraintProto * Arena::CreateMaybeMessage< ::operations_research::sat::NoOverlap2DConstraintProto >(Arena *arena)
PROTOBUF_NOINLINE::operations_research::sat::IntervalConstraintProto * Arena::CreateMaybeMessage< ::operations_research::sat::IntervalConstraintProto >(Arena *arena)
PROTOBUF_NOINLINE::operations_research::sat::CpSolverResponse * Arena::CreateMaybeMessage< ::operations_research::sat::CpSolverResponse >(Arena *arena)
PROTOBUF_NOINLINE::operations_research::sat::DecisionStrategyProto_AffineTransformation * Arena::CreateMaybeMessage< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >(Arena *arena)
PROTOBUF_NOINLINE::operations_research::sat::LinearArgumentProto * Arena::CreateMaybeMessage< ::operations_research::sat::LinearArgumentProto >(Arena *arena)
::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_ortools_2fsat_2fcp_5fmodel_2eproto[29]
Definition: cp_model.pb.cc:505
PROTOBUF_NOINLINE::operations_research::sat::DecisionStrategyProto * Arena::CreateMaybeMessage< ::operations_research::sat::DecisionStrategyProto >(Arena *arena)
::PROTOBUF_NAMESPACE_ID::Message const *const file_default_instances[]
Definition: cp_model.pb.cc:853
::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto_once
PROTOBUF_NOINLINE::operations_research::sat::RoutesConstraintProto * Arena::CreateMaybeMessage< ::operations_research::sat::RoutesConstraintProto >(Arena *arena)
PROTOBUF_NOINLINE::operations_research::sat::CpModelProto * Arena::CreateMaybeMessage< ::operations_research::sat::CpModelProto >(Arena *arena)
PROTOBUF_NOINLINE::operations_research::sat::CpObjectiveProto * Arena::CreateMaybeMessage< ::operations_research::sat::CpObjectiveProto >(Arena *arena)
PROTOBUF_NOINLINE::operations_research::sat::SparsePermutationProto * Arena::CreateMaybeMessage< ::operations_research::sat::SparsePermutationProto >(Arena *arena)
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto
static constexpr::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const ** file_level_service_descriptors_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:507
PROTOBUF_NOINLINE::operations_research::sat::IntegerArgumentProto * Arena::CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(Arena *arena)
PROTOBUF_NOINLINE::operations_research::sat::NoOverlapConstraintProto * Arena::CreateMaybeMessage< ::operations_research::sat::NoOverlapConstraintProto >(Arena *arena)
PROTOBUF_NOINLINE::operations_research::sat::TableConstraintProto * Arena::CreateMaybeMessage< ::operations_research::sat::TableConstraintProto >(Arena *arena)
PROTOBUF_NOINLINE::operations_research::sat::ReservoirConstraintProto * Arena::CreateMaybeMessage< ::operations_research::sat::ReservoirConstraintProto >(Arena *arena)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * file_level_enum_descriptors_ortools_2fsat_2fcp_5fmodel_2eproto[3]
Definition: cp_model.pb.cc:506
PROTOBUF_NAMESPACE_OPEN PROTOBUF_NOINLINE::operations_research::sat::IntegerVariableProto * Arena::CreateMaybeMessage< ::operations_research::sat::IntegerVariableProto >(Arena *arena)
int64_t value
const int64_t offset_
Definition: interval.cc:2108
void swap(IdMap< K, V > &a, IdMap< K, V > &b)
Definition: id_map.h:263
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SparsePermutationProtoDefaultTypeInternal _SparsePermutationProto_default_instance_
Definition: cp_model.pb.cc:416
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * CpSolverStatus_descriptor()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT InverseConstraintProtoDefaultTypeInternal _InverseConstraintProto_default_instance_
Definition: cp_model.pb.cc:285
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CpObjectiveProtoDefaultTypeInternal _CpObjectiveProto_default_instance_
Definition: cp_model.pb.cc:354
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DecisionStrategyProto_DomainReductionStrategy_descriptor()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LinearArgumentProtoDefaultTypeInternal _LinearArgumentProto_default_instance_
Definition: cp_model.pb.cc:90
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT IntegerArgumentProtoDefaultTypeInternal _IntegerArgumentProto_default_instance_
Definition: cp_model.pb.cc:61
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT IntegerVariableProtoDefaultTypeInternal _IntegerVariableProto_default_instance_
Definition: cp_model.pb.cc:34
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CpModelProtoDefaultTypeInternal _CpModelProto_default_instance_
Definition: cp_model.pb.cc:464
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT DecisionStrategyProto_AffineTransformationDefaultTypeInternal _DecisionStrategyProto_AffineTransformation_default_instance_
Definition: cp_model.pb.cc:368
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AllDifferentConstraintProtoDefaultTypeInternal _AllDifferentConstraintProto_default_instance_
Definition: cp_model.pb.cc:103
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT NoOverlap2DConstraintProtoDefaultTypeInternal _NoOverlap2DConstraintProto_default_instance_
Definition: cp_model.pb.cc:181
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT IntervalConstraintProtoDefaultTypeInternal _IntervalConstraintProto_default_instance_
Definition: cp_model.pb.cc:152
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RoutesConstraintProtoDefaultTypeInternal _RoutesConstraintProto_default_instance_
Definition: cp_model.pb.cc:254
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT BoolArgumentProtoDefaultTypeInternal _BoolArgumentProto_default_instance_
Definition: cp_model.pb.cc:47
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT DecisionStrategyProtoDefaultTypeInternal _DecisionStrategyProto_default_instance_
Definition: cp_model.pb.cc:386
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LinearConstraintProtoDefaultTypeInternal _LinearConstraintProto_default_instance_
Definition: cp_model.pb.cc:120
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CpSolverResponseDefaultTypeInternal _CpSolverResponse_default_instance_
Definition: cp_model.pb.cc:502
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DecisionStrategyProto_VariableSelectionStrategy_descriptor()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT NoOverlapConstraintProtoDefaultTypeInternal _NoOverlapConstraintProto_default_instance_
Definition: cp_model.pb.cc:165
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ElementConstraintProtoDefaultTypeInternal _ElementConstraintProto_default_instance_
Definition: cp_model.pb.cc:135
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SymmetryProtoDefaultTypeInternal _SymmetryProto_default_instance_
Definition: cp_model.pb.cc:444
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AutomatonConstraintProtoDefaultTypeInternal _AutomatonConstraintProto_default_instance_
Definition: cp_model.pb.cc:307
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LinearExpressionProtoDefaultTypeInternal _LinearExpressionProto_default_instance_
Definition: cp_model.pb.cc:77
bool DecisionStrategyProto_VariableSelectionStrategy_IsValid(int value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT DenseMatrixProtoDefaultTypeInternal _DenseMatrixProto_default_instance_
Definition: cp_model.pb.cc:431
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PartialVariableAssignmentDefaultTypeInternal _PartialVariableAssignment_default_instance_
Definition: cp_model.pb.cc:401
bool CpSolverStatus_IsValid(int value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CircuitConstraintProtoDefaultTypeInternal _CircuitConstraintProto_default_instance_
Definition: cp_model.pb.cc:234
bool DecisionStrategyProto_DomainReductionStrategy_IsValid(int value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT TableConstraintProtoDefaultTypeInternal _TableConstraintProto_default_instance_
Definition: cp_model.pb.cc:270
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CumulativeConstraintProtoDefaultTypeInternal _CumulativeConstraintProto_default_instance_
Definition: cp_model.pb.cc:198
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ConstraintProtoDefaultTypeInternal _ConstraintProto_default_instance_
Definition: cp_model.pb.cc:335
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ListOfVariablesProtoDefaultTypeInternal _ListOfVariablesProto_default_instance_
Definition: cp_model.pb.cc:320
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ReservoirConstraintProtoDefaultTypeInternal _ReservoirConstraintProto_default_instance_
Definition: cp_model.pb.cc:217
Collection of objects used to extend the Constraint Solver library.
static constexpr::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema * schemas
IntVar *const objective_
Definition: search.cc:2966
static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]
Definition: cp_model.pb.h:54