OR-Tools  9.2
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 , coeffs_()
53 , _coeffs_cached_byte_size_(0)
54 , offset_(int64_t{0}){}
57 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
59 union {
61 };
62};
65 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
66 : exprs_()
67 , target_(nullptr){}
70 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
72 union {
74 };
75};
78 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
79 : exprs_(){}
82 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
84 union {
86 };
87};
90 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
91 : vars_()
92 , _vars_cached_byte_size_(0)
93 , coeffs_()
94 , _coeffs_cached_byte_size_(0)
95 , domain_()
96 , _domain_cached_byte_size_(0){}
99 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
101 union {
103 };
104};
107 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
108 : vars_()
109 , _vars_cached_byte_size_(0)
110 , index_(0)
111 , target_(0){}
114 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
116 union {
118 };
119};
122 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
123 : start_(nullptr)
124 , end_(nullptr)
125 , size_(nullptr){}
128 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
130 union {
132 };
133};
136 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
137 : intervals_()
138 , _intervals_cached_byte_size_(0){}
141 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
143 union {
145 };
146};
149 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
150 : x_intervals_()
151 , _x_intervals_cached_byte_size_(0)
152 , y_intervals_()
153 , _y_intervals_cached_byte_size_(0)
154 , boxes_with_null_area_can_overlap_(false){}
157 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
159 union {
161 };
162};
165 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
166 : intervals_()
167 , _intervals_cached_byte_size_(0)
168 , demands_()
169 , capacity_(nullptr){}
172 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
174 union {
176 };
177};
180 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
181 : time_exprs_()
182 , level_changes_()
183 , _level_changes_cached_byte_size_(0)
184 , active_literals_()
185 , _active_literals_cached_byte_size_(0)
186 , min_level_(int64_t{0})
187 , max_level_(int64_t{0}){}
190 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
192 union {
194 };
195};
198 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
199 : tails_()
200 , _tails_cached_byte_size_(0)
201 , heads_()
202 , _heads_cached_byte_size_(0)
203 , literals_()
204 , _literals_cached_byte_size_(0){}
207 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
209 union {
211 };
212};
215 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
216 : tails_()
217 , _tails_cached_byte_size_(0)
218 , heads_()
219 , _heads_cached_byte_size_(0)
220 , literals_()
221 , _literals_cached_byte_size_(0)
222 , demands_()
223 , _demands_cached_byte_size_(0)
224 , capacity_(int64_t{0}){}
227 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
229 union {
231 };
232};
235 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
236 : vars_()
237 , _vars_cached_byte_size_(0)
238 , values_()
239 , _values_cached_byte_size_(0)
240 , negated_(false){}
243 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
245 union {
247 };
248};
251 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
252 : f_direct_()
253 , _f_direct_cached_byte_size_(0)
254 , f_inverse_()
255 , _f_inverse_cached_byte_size_(0){}
258 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
260 union {
262 };
263};
266 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
267 : final_states_()
268 , _final_states_cached_byte_size_(0)
269 , transition_tail_()
270 , _transition_tail_cached_byte_size_(0)
271 , transition_head_()
272 , _transition_head_cached_byte_size_(0)
273 , transition_label_()
274 , _transition_label_cached_byte_size_(0)
275 , vars_()
276 , _vars_cached_byte_size_(0)
277 , starting_state_(int64_t{0}){}
280 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
282 union {
284 };
285};
288 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
289 : vars_()
290 , _vars_cached_byte_size_(0){}
293 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
295 union {
297 };
298};
301 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
302 : enforcement_literal_()
303 , _enforcement_literal_cached_byte_size_(0)
304 , name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
305 , _oneof_case_{}{}
308 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
310 union {
312 };
313};
314PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ConstraintProtoDefaultTypeInternal _ConstraintProto_default_instance_;
316 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
317 : vars_()
318 , _vars_cached_byte_size_(0)
319 , coeffs_()
320 , _coeffs_cached_byte_size_(0)
321 , domain_()
322 , _domain_cached_byte_size_(0)
323 , offset_(0)
324 , scaling_factor_(0)
325 , integer_offset_(int64_t{0})
326 , integer_scaling_factor_(int64_t{0})
327 , scaling_was_exact_(false){}
330 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
332 union {
334 };
335};
336PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CpObjectiveProtoDefaultTypeInternal _CpObjectiveProto_default_instance_;
338 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
339 : vars_()
340 , _vars_cached_byte_size_(0)
341 , coeffs_()
342 , offset_(0)
343 , maximize_(false){}
346 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
348 union {
350 };
351};
354 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
355 : offset_(int64_t{0})
356 , positive_coeff_(int64_t{0})
357 , index_(0){}
360 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
362 union {
364 };
365};
368 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
369 : variables_()
370 , _variables_cached_byte_size_(0)
371 , transformations_()
372 , variable_selection_strategy_(0)
373
374 , domain_reduction_strategy_(0)
375{}
378 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
380 union {
382 };
383};
386 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
387 : vars_()
388 , _vars_cached_byte_size_(0)
389 , values_()
390 , _values_cached_byte_size_(0){}
393 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
395 union {
397 };
398};
401 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
402 : support_()
403 , _support_cached_byte_size_(0)
404 , cycle_sizes_()
405 , _cycle_sizes_cached_byte_size_(0){}
408 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
410 union {
412 };
413};
416 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
417 : entries_()
418 , _entries_cached_byte_size_(0)
419 , num_rows_(0)
420 , num_cols_(0){}
423 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
425 union {
427 };
428};
429PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT DenseMatrixProtoDefaultTypeInternal _DenseMatrixProto_default_instance_;
431 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
432 : permutations_()
433 , orbitopes_(){}
436 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
438 union {
440 };
441};
442PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SymmetryProtoDefaultTypeInternal _SymmetryProto_default_instance_;
444 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
445 : variables_()
446 , constraints_()
447 , search_strategy_()
448 , assumptions_()
449 , _assumptions_cached_byte_size_(0)
450 , name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
451 , objective_(nullptr)
452 , solution_hint_(nullptr)
453 , symmetry_(nullptr)
454 , floating_point_objective_(nullptr){}
457 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
459 union {
461 };
462};
463PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CpModelProtoDefaultTypeInternal _CpModelProto_default_instance_;
465 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
466 : values_()
467 , _values_cached_byte_size_(0){}
470 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
472 union {
474 };
475};
476PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CpSolverSolutionDefaultTypeInternal _CpSolverSolution_default_instance_;
478 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
479 : solution_()
480 , _solution_cached_byte_size_(0)
481 , tightened_variables_()
482 , sufficient_assumptions_for_infeasibility_()
483 , _sufficient_assumptions_for_infeasibility_cached_byte_size_(0)
484 , additional_solutions_()
485 , solution_info_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
486 , solve_log_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
487 , integer_objective_(nullptr)
488 , objective_value_(0)
489 , best_objective_bound_(0)
490 , num_booleans_(int64_t{0})
491 , num_conflicts_(int64_t{0})
492 , num_branches_(int64_t{0})
493 , num_binary_propagations_(int64_t{0})
494 , num_integer_propagations_(int64_t{0})
495 , wall_time_(0)
496 , user_time_(0)
497 , deterministic_time_(0)
498 , gap_integral_(0)
499 , status_(0)
500
501 , num_restarts_(int64_t{0})
502 , num_lp_iterations_(int64_t{0})
503 , inner_objective_lower_bound_(int64_t{0}){}
506 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
508 union {
510 };
511};
512PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CpSolverResponseDefaultTypeInternal _CpSolverResponse_default_instance_;
513} // namespace sat
514} // namespace operations_research
515static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_ortools_2fsat_2fcp_5fmodel_2eproto[30];
516static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_ortools_2fsat_2fcp_5fmodel_2eproto[3];
517static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_ortools_2fsat_2fcp_5fmodel_2eproto = nullptr;
518
520 ~0u, // no _has_bits_
521 PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntegerVariableProto, _internal_metadata_),
522 ~0u, // no _extensions_
523 ~0u, // no _oneof_case_
524 ~0u, // no _weak_field_map_
525 ~0u, // no _inlined_string_donated_
526 PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntegerVariableProto, name_),
527 PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntegerVariableProto, domain_),
528 ~0u, // no _has_bits_
529 PROTOBUF_FIELD_OFFSET(::operations_research::sat::BoolArgumentProto, _internal_metadata_),
530 ~0u, // no _extensions_
531 ~0u, // no _oneof_case_
532 ~0u, // no _weak_field_map_
533 ~0u, // no _inlined_string_donated_
534 PROTOBUF_FIELD_OFFSET(::operations_research::sat::BoolArgumentProto, literals_),
535 ~0u, // no _has_bits_
536 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearExpressionProto, _internal_metadata_),
537 ~0u, // no _extensions_
538 ~0u, // no _oneof_case_
539 ~0u, // no _weak_field_map_
540 ~0u, // no _inlined_string_donated_
542 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearExpressionProto, coeffs_),
544 ~0u, // no _has_bits_
545 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearArgumentProto, _internal_metadata_),
546 ~0u, // no _extensions_
547 ~0u, // no _oneof_case_
548 ~0u, // no _weak_field_map_
549 ~0u, // no _inlined_string_donated_
550 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearArgumentProto, target_),
551 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearArgumentProto, exprs_),
552 ~0u, // no _has_bits_
553 PROTOBUF_FIELD_OFFSET(::operations_research::sat::AllDifferentConstraintProto, _internal_metadata_),
554 ~0u, // no _extensions_
555 ~0u, // no _oneof_case_
556 ~0u, // no _weak_field_map_
557 ~0u, // no _inlined_string_donated_
558 PROTOBUF_FIELD_OFFSET(::operations_research::sat::AllDifferentConstraintProto, exprs_),
559 ~0u, // no _has_bits_
560 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearConstraintProto, _internal_metadata_),
561 ~0u, // no _extensions_
562 ~0u, // no _oneof_case_
563 ~0u, // no _weak_field_map_
564 ~0u, // no _inlined_string_donated_
566 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearConstraintProto, coeffs_),
567 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearConstraintProto, domain_),
568 ~0u, // no _has_bits_
569 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ElementConstraintProto, _internal_metadata_),
570 ~0u, // no _extensions_
571 ~0u, // no _oneof_case_
572 ~0u, // no _weak_field_map_
573 ~0u, // no _inlined_string_donated_
574 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ElementConstraintProto, index_),
575 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ElementConstraintProto, target_),
577 ~0u, // no _has_bits_
578 PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntervalConstraintProto, _internal_metadata_),
579 ~0u, // no _extensions_
580 ~0u, // no _oneof_case_
581 ~0u, // no _weak_field_map_
582 ~0u, // no _inlined_string_donated_
583 PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntervalConstraintProto, start_),
584 PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntervalConstraintProto, end_),
585 PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntervalConstraintProto, size_),
586 ~0u, // no _has_bits_
587 PROTOBUF_FIELD_OFFSET(::operations_research::sat::NoOverlapConstraintProto, _internal_metadata_),
588 ~0u, // no _extensions_
589 ~0u, // no _oneof_case_
590 ~0u, // no _weak_field_map_
591 ~0u, // no _inlined_string_donated_
592 PROTOBUF_FIELD_OFFSET(::operations_research::sat::NoOverlapConstraintProto, intervals_),
593 ~0u, // no _has_bits_
594 PROTOBUF_FIELD_OFFSET(::operations_research::sat::NoOverlap2DConstraintProto, _internal_metadata_),
595 ~0u, // no _extensions_
596 ~0u, // no _oneof_case_
597 ~0u, // no _weak_field_map_
598 ~0u, // no _inlined_string_donated_
599 PROTOBUF_FIELD_OFFSET(::operations_research::sat::NoOverlap2DConstraintProto, x_intervals_),
600 PROTOBUF_FIELD_OFFSET(::operations_research::sat::NoOverlap2DConstraintProto, y_intervals_),
601 PROTOBUF_FIELD_OFFSET(::operations_research::sat::NoOverlap2DConstraintProto, boxes_with_null_area_can_overlap_),
602 ~0u, // no _has_bits_
603 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CumulativeConstraintProto, _internal_metadata_),
604 ~0u, // no _extensions_
605 ~0u, // no _oneof_case_
606 ~0u, // no _weak_field_map_
607 ~0u, // no _inlined_string_donated_
608 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CumulativeConstraintProto, capacity_),
609 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CumulativeConstraintProto, intervals_),
610 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CumulativeConstraintProto, demands_),
611 ~0u, // no _has_bits_
612 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ReservoirConstraintProto, _internal_metadata_),
613 ~0u, // no _extensions_
614 ~0u, // no _oneof_case_
615 ~0u, // no _weak_field_map_
616 ~0u, // no _inlined_string_donated_
617 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ReservoirConstraintProto, min_level_),
618 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ReservoirConstraintProto, max_level_),
619 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ReservoirConstraintProto, time_exprs_),
620 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ReservoirConstraintProto, level_changes_),
621 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ReservoirConstraintProto, active_literals_),
622 ~0u, // no _has_bits_
623 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CircuitConstraintProto, _internal_metadata_),
624 ~0u, // no _extensions_
625 ~0u, // no _oneof_case_
626 ~0u, // no _weak_field_map_
627 ~0u, // no _inlined_string_donated_
628 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CircuitConstraintProto, tails_),
629 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CircuitConstraintProto, heads_),
630 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CircuitConstraintProto, literals_),
631 ~0u, // no _has_bits_
632 PROTOBUF_FIELD_OFFSET(::operations_research::sat::RoutesConstraintProto, _internal_metadata_),
633 ~0u, // no _extensions_
634 ~0u, // no _oneof_case_
635 ~0u, // no _weak_field_map_
636 ~0u, // no _inlined_string_donated_
637 PROTOBUF_FIELD_OFFSET(::operations_research::sat::RoutesConstraintProto, tails_),
638 PROTOBUF_FIELD_OFFSET(::operations_research::sat::RoutesConstraintProto, heads_),
639 PROTOBUF_FIELD_OFFSET(::operations_research::sat::RoutesConstraintProto, literals_),
640 PROTOBUF_FIELD_OFFSET(::operations_research::sat::RoutesConstraintProto, demands_),
641 PROTOBUF_FIELD_OFFSET(::operations_research::sat::RoutesConstraintProto, capacity_),
642 ~0u, // no _has_bits_
643 PROTOBUF_FIELD_OFFSET(::operations_research::sat::TableConstraintProto, _internal_metadata_),
644 ~0u, // no _extensions_
645 ~0u, // no _oneof_case_
646 ~0u, // no _weak_field_map_
647 ~0u, // no _inlined_string_donated_
649 PROTOBUF_FIELD_OFFSET(::operations_research::sat::TableConstraintProto, values_),
650 PROTOBUF_FIELD_OFFSET(::operations_research::sat::TableConstraintProto, negated_),
651 ~0u, // no _has_bits_
652 PROTOBUF_FIELD_OFFSET(::operations_research::sat::InverseConstraintProto, _internal_metadata_),
653 ~0u, // no _extensions_
654 ~0u, // no _oneof_case_
655 ~0u, // no _weak_field_map_
656 ~0u, // no _inlined_string_donated_
657 PROTOBUF_FIELD_OFFSET(::operations_research::sat::InverseConstraintProto, f_direct_),
658 PROTOBUF_FIELD_OFFSET(::operations_research::sat::InverseConstraintProto, f_inverse_),
659 ~0u, // no _has_bits_
660 PROTOBUF_FIELD_OFFSET(::operations_research::sat::AutomatonConstraintProto, _internal_metadata_),
661 ~0u, // no _extensions_
662 ~0u, // no _oneof_case_
663 ~0u, // no _weak_field_map_
664 ~0u, // no _inlined_string_donated_
665 PROTOBUF_FIELD_OFFSET(::operations_research::sat::AutomatonConstraintProto, starting_state_),
666 PROTOBUF_FIELD_OFFSET(::operations_research::sat::AutomatonConstraintProto, final_states_),
667 PROTOBUF_FIELD_OFFSET(::operations_research::sat::AutomatonConstraintProto, transition_tail_),
668 PROTOBUF_FIELD_OFFSET(::operations_research::sat::AutomatonConstraintProto, transition_head_),
669 PROTOBUF_FIELD_OFFSET(::operations_research::sat::AutomatonConstraintProto, transition_label_),
671 ~0u, // no _has_bits_
672 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ListOfVariablesProto, _internal_metadata_),
673 ~0u, // no _extensions_
674 ~0u, // no _oneof_case_
675 ~0u, // no _weak_field_map_
676 ~0u, // no _inlined_string_donated_
678 ~0u, // no _has_bits_
679 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _internal_metadata_),
680 ~0u, // no _extensions_
681 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _oneof_case_[0]),
682 ~0u, // no _weak_field_map_
683 ~0u, // no _inlined_string_donated_
684 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, name_),
685 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, enforcement_literal_),
686 ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
687 ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
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_FIELD_OFFSET(::operations_research::sat::ConstraintProto, constraint_),
710 ~0u, // no _has_bits_
711 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpObjectiveProto, _internal_metadata_),
712 ~0u, // no _extensions_
713 ~0u, // no _oneof_case_
714 ~0u, // no _weak_field_map_
715 ~0u, // no _inlined_string_donated_
717 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpObjectiveProto, coeffs_),
719 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpObjectiveProto, scaling_factor_),
720 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpObjectiveProto, domain_),
721 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpObjectiveProto, scaling_was_exact_),
722 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpObjectiveProto, integer_offset_),
723 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpObjectiveProto, integer_scaling_factor_),
724 ~0u, // no _has_bits_
725 PROTOBUF_FIELD_OFFSET(::operations_research::sat::FloatObjectiveProto, _internal_metadata_),
726 ~0u, // no _extensions_
727 ~0u, // no _oneof_case_
728 ~0u, // no _weak_field_map_
729 ~0u, // no _inlined_string_donated_
731 PROTOBUF_FIELD_OFFSET(::operations_research::sat::FloatObjectiveProto, coeffs_),
734 ~0u, // no _has_bits_
735 PROTOBUF_FIELD_OFFSET(::operations_research::sat::DecisionStrategyProto_AffineTransformation, _internal_metadata_),
736 ~0u, // no _extensions_
737 ~0u, // no _oneof_case_
738 ~0u, // no _weak_field_map_
739 ~0u, // no _inlined_string_donated_
743 ~0u, // no _has_bits_
744 PROTOBUF_FIELD_OFFSET(::operations_research::sat::DecisionStrategyProto, _internal_metadata_),
745 ~0u, // no _extensions_
746 ~0u, // no _oneof_case_
747 ~0u, // no _weak_field_map_
748 ~0u, // no _inlined_string_donated_
749 PROTOBUF_FIELD_OFFSET(::operations_research::sat::DecisionStrategyProto, variables_),
750 PROTOBUF_FIELD_OFFSET(::operations_research::sat::DecisionStrategyProto, variable_selection_strategy_),
751 PROTOBUF_FIELD_OFFSET(::operations_research::sat::DecisionStrategyProto, domain_reduction_strategy_),
752 PROTOBUF_FIELD_OFFSET(::operations_research::sat::DecisionStrategyProto, transformations_),
753 ~0u, // no _has_bits_
754 PROTOBUF_FIELD_OFFSET(::operations_research::sat::PartialVariableAssignment, _internal_metadata_),
755 ~0u, // no _extensions_
756 ~0u, // no _oneof_case_
757 ~0u, // no _weak_field_map_
758 ~0u, // no _inlined_string_donated_
760 PROTOBUF_FIELD_OFFSET(::operations_research::sat::PartialVariableAssignment, values_),
761 ~0u, // no _has_bits_
762 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SparsePermutationProto, _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::SparsePermutationProto, support_),
768 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SparsePermutationProto, cycle_sizes_),
769 ~0u, // no _has_bits_
770 PROTOBUF_FIELD_OFFSET(::operations_research::sat::DenseMatrixProto, _internal_metadata_),
771 ~0u, // no _extensions_
772 ~0u, // no _oneof_case_
773 ~0u, // no _weak_field_map_
774 ~0u, // no _inlined_string_donated_
775 PROTOBUF_FIELD_OFFSET(::operations_research::sat::DenseMatrixProto, num_rows_),
776 PROTOBUF_FIELD_OFFSET(::operations_research::sat::DenseMatrixProto, num_cols_),
777 PROTOBUF_FIELD_OFFSET(::operations_research::sat::DenseMatrixProto, entries_),
778 ~0u, // no _has_bits_
779 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SymmetryProto, _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::SymmetryProto, permutations_),
785 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SymmetryProto, orbitopes_),
786 ~0u, // no _has_bits_
787 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, _internal_metadata_),
788 ~0u, // no _extensions_
789 ~0u, // no _oneof_case_
790 ~0u, // no _weak_field_map_
791 ~0u, // no _inlined_string_donated_
792 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, name_),
793 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, variables_),
794 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, constraints_),
796 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, floating_point_objective_),
797 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, search_strategy_),
798 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, solution_hint_),
799 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, assumptions_),
800 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, symmetry_),
801 ~0u, // no _has_bits_
802 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverSolution, _internal_metadata_),
803 ~0u, // no _extensions_
804 ~0u, // no _oneof_case_
805 ~0u, // no _weak_field_map_
806 ~0u, // no _inlined_string_donated_
807 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverSolution, values_),
808 ~0u, // no _has_bits_
809 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, _internal_metadata_),
810 ~0u, // no _extensions_
811 ~0u, // no _oneof_case_
812 ~0u, // no _weak_field_map_
813 ~0u, // no _inlined_string_donated_
814 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, status_),
815 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, solution_),
816 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, objective_value_),
817 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, best_objective_bound_),
818 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, additional_solutions_),
819 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, tightened_variables_),
820 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, sufficient_assumptions_for_infeasibility_),
821 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, integer_objective_),
822 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, inner_objective_lower_bound_),
823 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, num_booleans_),
824 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, num_conflicts_),
825 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, num_branches_),
826 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, num_binary_propagations_),
827 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, num_integer_propagations_),
828 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, num_restarts_),
829 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, num_lp_iterations_),
830 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, wall_time_),
831 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, user_time_),
832 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, deterministic_time_),
833 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, gap_integral_),
834 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, solution_info_),
835 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, solve_log_),
836};
837static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
856 { 158, -1, -1, sizeof(::operations_research::sat::ConstraintProto)},
857 { 190, -1, -1, sizeof(::operations_research::sat::CpObjectiveProto)},
863 { 249, -1, -1, sizeof(::operations_research::sat::DenseMatrixProto)},
864 { 258, -1, -1, sizeof(::operations_research::sat::SymmetryProto)},
865 { 266, -1, -1, sizeof(::operations_research::sat::CpModelProto)},
866 { 281, -1, -1, sizeof(::operations_research::sat::CpSolverSolution)},
867 { 288, -1, -1, sizeof(::operations_research::sat::CpSolverResponse)},
868};
869
870static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
871 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_IntegerVariableProto_default_instance_),
872 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_BoolArgumentProto_default_instance_),
873 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_LinearExpressionProto_default_instance_),
874 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_LinearArgumentProto_default_instance_),
875 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_AllDifferentConstraintProto_default_instance_),
876 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_LinearConstraintProto_default_instance_),
877 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_ElementConstraintProto_default_instance_),
878 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_IntervalConstraintProto_default_instance_),
879 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_NoOverlapConstraintProto_default_instance_),
880 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_NoOverlap2DConstraintProto_default_instance_),
881 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_CumulativeConstraintProto_default_instance_),
882 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_ReservoirConstraintProto_default_instance_),
883 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_CircuitConstraintProto_default_instance_),
884 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_RoutesConstraintProto_default_instance_),
885 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_TableConstraintProto_default_instance_),
886 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_InverseConstraintProto_default_instance_),
887 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_AutomatonConstraintProto_default_instance_),
888 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_ListOfVariablesProto_default_instance_),
889 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_ConstraintProto_default_instance_),
890 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_CpObjectiveProto_default_instance_),
891 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_FloatObjectiveProto_default_instance_),
892 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_DecisionStrategyProto_AffineTransformation_default_instance_),
893 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_DecisionStrategyProto_default_instance_),
894 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_PartialVariableAssignment_default_instance_),
895 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_SparsePermutationProto_default_instance_),
896 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_DenseMatrixProto_default_instance_),
897 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_SymmetryProto_default_instance_),
898 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_CpModelProto_default_instance_),
899 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_CpSolverSolution_default_instance_),
900 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_CpSolverResponse_default_instance_),
901};
902
903const char descriptor_table_protodef_ortools_2fsat_2fcp_5fmodel_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
904 "\n\032ortools/sat/cp_model.proto\022\027operations"
905 "_research.sat\"4\n\024IntegerVariableProto\022\014\n"
906 "\004name\030\001 \001(\t\022\016\n\006domain\030\002 \003(\003\"%\n\021BoolArgum"
907 "entProto\022\020\n\010literals\030\001 \003(\005\"E\n\025LinearExpr"
908 "essionProto\022\014\n\004vars\030\001 \003(\005\022\016\n\006coeffs\030\002 \003("
909 "\003\022\016\n\006offset\030\003 \001(\003\"\224\001\n\023LinearArgumentProt"
910 "o\022>\n\006target\030\001 \001(\0132..operations_research."
911 "sat.LinearExpressionProto\022=\n\005exprs\030\002 \003(\013"
912 "2..operations_research.sat.LinearExpress"
913 "ionProto\"\\\n\033AllDifferentConstraintProto\022"
914 "=\n\005exprs\030\001 \003(\0132..operations_research.sat"
915 ".LinearExpressionProto\"E\n\025LinearConstrai"
916 "ntProto\022\014\n\004vars\030\001 \003(\005\022\016\n\006coeffs\030\002 \003(\003\022\016\n"
917 "\006domain\030\003 \003(\003\"E\n\026ElementConstraintProto\022"
918 "\r\n\005index\030\001 \001(\005\022\016\n\006target\030\002 \001(\005\022\014\n\004vars\030\003"
919 " \003(\005\"\323\001\n\027IntervalConstraintProto\022=\n\005star"
920 "t\030\004 \001(\0132..operations_research.sat.Linear"
921 "ExpressionProto\022;\n\003end\030\005 \001(\0132..operation"
922 "s_research.sat.LinearExpressionProto\022<\n\004"
923 "size\030\006 \001(\0132..operations_research.sat.Lin"
924 "earExpressionProto\"-\n\030NoOverlapConstrain"
925 "tProto\022\021\n\tintervals\030\001 \003(\005\"p\n\032NoOverlap2D"
926 "ConstraintProto\022\023\n\013x_intervals\030\001 \003(\005\022\023\n\013"
927 "y_intervals\030\002 \003(\005\022(\n boxes_with_null_are"
928 "a_can_overlap\030\003 \001(\010\"\261\001\n\031CumulativeConstr"
929 "aintProto\022@\n\010capacity\030\001 \001(\0132..operations"
930 "_research.sat.LinearExpressionProto\022\021\n\ti"
931 "ntervals\030\002 \003(\005\022\?\n\007demands\030\003 \003(\0132..operat"
932 "ions_research.sat.LinearExpressionProto\""
933 "\264\001\n\030ReservoirConstraintProto\022\021\n\tmin_leve"
934 "l\030\001 \001(\003\022\021\n\tmax_level\030\002 \001(\003\022B\n\ntime_exprs"
935 "\030\003 \003(\0132..operations_research.sat.LinearE"
936 "xpressionProto\022\025\n\rlevel_changes\030\004 \003(\003\022\027\n"
937 "\017active_literals\030\005 \003(\005\"H\n\026CircuitConstra"
938 "intProto\022\r\n\005tails\030\003 \003(\005\022\r\n\005heads\030\004 \003(\005\022\020"
939 "\n\010literals\030\005 \003(\005\"j\n\025RoutesConstraintProt"
940 "o\022\r\n\005tails\030\001 \003(\005\022\r\n\005heads\030\002 \003(\005\022\020\n\010liter"
941 "als\030\003 \003(\005\022\017\n\007demands\030\004 \003(\005\022\020\n\010capacity\030\005"
942 " \001(\003\"E\n\024TableConstraintProto\022\014\n\004vars\030\001 \003"
943 "(\005\022\016\n\006values\030\002 \003(\003\022\017\n\007negated\030\003 \001(\010\"=\n\026I"
944 "nverseConstraintProto\022\020\n\010f_direct\030\001 \003(\005\022"
945 "\021\n\tf_inverse\030\002 \003(\005\"\242\001\n\030AutomatonConstrai"
946 "ntProto\022\026\n\016starting_state\030\002 \001(\003\022\024\n\014final"
947 "_states\030\003 \003(\003\022\027\n\017transition_tail\030\004 \003(\003\022\027"
948 "\n\017transition_head\030\005 \003(\003\022\030\n\020transition_la"
949 "bel\030\006 \003(\003\022\014\n\004vars\030\007 \003(\005\"$\n\024ListOfVariabl"
950 "esProto\022\014\n\004vars\030\001 \003(\005\"\360\014\n\017ConstraintProt"
951 "o\022\014\n\004name\030\001 \001(\t\022\033\n\023enforcement_literal\030\002"
952 " \003(\005\022=\n\007bool_or\030\003 \001(\0132*.operations_resea"
953 "rch.sat.BoolArgumentProtoH\000\022>\n\010bool_and\030"
954 "\004 \001(\0132*.operations_research.sat.BoolArgu"
955 "mentProtoH\000\022A\n\013at_most_one\030\032 \001(\0132*.opera"
956 "tions_research.sat.BoolArgumentProtoH\000\022A"
957 "\n\013exactly_one\030\035 \001(\0132*.operations_researc"
958 "h.sat.BoolArgumentProtoH\000\022>\n\010bool_xor\030\005 "
959 "\001(\0132*.operations_research.sat.BoolArgume"
960 "ntProtoH\000\022\?\n\007int_div\030\007 \001(\0132,.operations_"
961 "research.sat.LinearArgumentProtoH\000\022\?\n\007in"
962 "t_mod\030\010 \001(\0132,.operations_research.sat.Li"
963 "nearArgumentProtoH\000\022@\n\010int_prod\030\013 \001(\0132,."
964 "operations_research.sat.LinearArgumentPr"
965 "otoH\000\022\?\n\007lin_max\030\033 \001(\0132,.operations_rese"
966 "arch.sat.LinearArgumentProtoH\000\022@\n\006linear"
967 "\030\014 \001(\0132..operations_research.sat.LinearC"
968 "onstraintProtoH\000\022H\n\010all_diff\030\r \001(\01324.ope"
969 "rations_research.sat.AllDifferentConstra"
970 "intProtoH\000\022B\n\007element\030\016 \001(\0132/.operations"
971 "_research.sat.ElementConstraintProtoH\000\022B"
972 "\n\007circuit\030\017 \001(\0132/.operations_research.sa"
973 "t.CircuitConstraintProtoH\000\022@\n\006routes\030\027 \001"
974 "(\0132..operations_research.sat.RoutesConst"
975 "raintProtoH\000\022>\n\005table\030\020 \001(\0132-.operations"
976 "_research.sat.TableConstraintProtoH\000\022F\n\t"
977 "automaton\030\021 \001(\01321.operations_research.sa"
978 "t.AutomatonConstraintProtoH\000\022B\n\007inverse\030"
979 "\022 \001(\0132/.operations_research.sat.InverseC"
980 "onstraintProtoH\000\022F\n\treservoir\030\030 \001(\01321.op"
981 "erations_research.sat.ReservoirConstrain"
982 "tProtoH\000\022D\n\010interval\030\023 \001(\01320.operations_"
983 "research.sat.IntervalConstraintProtoH\000\022G"
984 "\n\nno_overlap\030\024 \001(\01321.operations_research"
985 ".sat.NoOverlapConstraintProtoH\000\022L\n\rno_ov"
986 "erlap_2d\030\025 \001(\01323.operations_research.sat"
987 ".NoOverlap2DConstraintProtoH\000\022H\n\ncumulat"
988 "ive\030\026 \001(\01322.operations_research.sat.Cumu"
989 "lativeConstraintProtoH\000\022I\n\020dummy_constra"
990 "int\030\036 \001(\0132-.operations_research.sat.List"
991 "OfVariablesProtoH\000B\014\n\nconstraint\"\273\001\n\020CpO"
992 "bjectiveProto\022\014\n\004vars\030\001 \003(\005\022\016\n\006coeffs\030\004 "
993 "\003(\003\022\016\n\006offset\030\002 \001(\001\022\026\n\016scaling_factor\030\003 "
994 "\001(\001\022\016\n\006domain\030\005 \003(\003\022\031\n\021scaling_was_exact"
995 "\030\006 \001(\010\022\026\n\016integer_offset\030\007 \001(\003\022\036\n\026intege"
996 "r_scaling_factor\030\010 \001(\003\"U\n\023FloatObjective"
997 "Proto\022\014\n\004vars\030\001 \003(\005\022\016\n\006coeffs\030\002 \003(\001\022\016\n\006o"
998 "ffset\030\003 \001(\001\022\020\n\010maximize\030\004 \001(\010\"\327\005\n\025Decisi"
999 "onStrategyProto\022\021\n\tvariables\030\001 \003(\005\022m\n\033va"
1000 "riable_selection_strategy\030\002 \001(\0162H.operat"
1001 "ions_research.sat.DecisionStrategyProto."
1002 "VariableSelectionStrategy\022i\n\031domain_redu"
1003 "ction_strategy\030\003 \001(\0162F.operations_resear"
1004 "ch.sat.DecisionStrategyProto.DomainReduc"
1005 "tionStrategy\022\\\n\017transformations\030\004 \003(\0132C."
1006 "operations_research.sat.DecisionStrategy"
1007 "Proto.AffineTransformation\032M\n\024AffineTran"
1008 "sformation\022\r\n\005index\030\001 \001(\005\022\016\n\006offset\030\002 \001("
1009 "\003\022\026\n\016positive_coeff\030\003 \001(\003\"\224\001\n\031VariableSe"
1010 "lectionStrategy\022\020\n\014CHOOSE_FIRST\020\000\022\025\n\021CHO"
1011 "OSE_LOWEST_MIN\020\001\022\026\n\022CHOOSE_HIGHEST_MAX\020\002"
1012 "\022\032\n\026CHOOSE_MIN_DOMAIN_SIZE\020\003\022\032\n\026CHOOSE_M"
1013 "AX_DOMAIN_SIZE\020\004\"\214\001\n\027DomainReductionStra"
1014 "tegy\022\024\n\020SELECT_MIN_VALUE\020\000\022\024\n\020SELECT_MAX"
1015 "_VALUE\020\001\022\025\n\021SELECT_LOWER_HALF\020\002\022\025\n\021SELEC"
1016 "T_UPPER_HALF\020\003\022\027\n\023SELECT_MEDIAN_VALUE\020\004\""
1017 "9\n\031PartialVariableAssignment\022\014\n\004vars\030\001 \003"
1018 "(\005\022\016\n\006values\030\002 \003(\003\">\n\026SparsePermutationP"
1019 "roto\022\017\n\007support\030\001 \003(\005\022\023\n\013cycle_sizes\030\002 \003"
1020 "(\005\"G\n\020DenseMatrixProto\022\020\n\010num_rows\030\001 \001(\005"
1021 "\022\020\n\010num_cols\030\002 \001(\005\022\017\n\007entries\030\003 \003(\005\"\224\001\n\r"
1022 "SymmetryProto\022E\n\014permutations\030\001 \003(\0132/.op"
1023 "erations_research.sat.SparsePermutationP"
1024 "roto\022<\n\torbitopes\030\002 \003(\0132).operations_res"
1025 "earch.sat.DenseMatrixProto\"\216\004\n\014CpModelPr"
1026 "oto\022\014\n\004name\030\001 \001(\t\022@\n\tvariables\030\002 \003(\0132-.o"
1027 "perations_research.sat.IntegerVariablePr"
1028 "oto\022=\n\013constraints\030\003 \003(\0132(.operations_re"
1029 "search.sat.ConstraintProto\022<\n\tobjective\030"
1030 "\004 \001(\0132).operations_research.sat.CpObject"
1031 "iveProto\022N\n\030floating_point_objective\030\t \001"
1032 "(\0132,.operations_research.sat.FloatObject"
1033 "iveProto\022G\n\017search_strategy\030\005 \003(\0132..oper"
1034 "ations_research.sat.DecisionStrategyProt"
1035 "o\022I\n\rsolution_hint\030\006 \001(\01322.operations_re"
1036 "search.sat.PartialVariableAssignment\022\023\n\013"
1037 "assumptions\030\007 \003(\005\0228\n\010symmetry\030\010 \001(\0132&.op"
1038 "erations_research.sat.SymmetryProto\"\"\n\020C"
1039 "pSolverSolution\022\016\n\006values\030\001 \003(\003\"\377\005\n\020CpSo"
1040 "lverResponse\0227\n\006status\030\001 \001(\0162\'.operation"
1041 "s_research.sat.CpSolverStatus\022\020\n\010solutio"
1042 "n\030\002 \003(\003\022\027\n\017objective_value\030\003 \001(\001\022\034\n\024best"
1043 "_objective_bound\030\004 \001(\001\022G\n\024additional_sol"
1044 "utions\030\033 \003(\0132).operations_research.sat.C"
1045 "pSolverSolution\022J\n\023tightened_variables\030\025"
1046 " \003(\0132-.operations_research.sat.IntegerVa"
1047 "riableProto\0220\n(sufficient_assumptions_fo"
1048 "r_infeasibility\030\027 \003(\005\022D\n\021integer_objecti"
1049 "ve\030\034 \001(\0132).operations_research.sat.CpObj"
1050 "ectiveProto\022#\n\033inner_objective_lower_bou"
1051 "nd\030\035 \001(\003\022\024\n\014num_booleans\030\n \001(\003\022\025\n\rnum_co"
1052 "nflicts\030\013 \001(\003\022\024\n\014num_branches\030\014 \001(\003\022\037\n\027n"
1053 "um_binary_propagations\030\r \001(\003\022 \n\030num_inte"
1054 "ger_propagations\030\016 \001(\003\022\024\n\014num_restarts\030\030"
1055 " \001(\003\022\031\n\021num_lp_iterations\030\031 \001(\003\022\021\n\twall_"
1056 "time\030\017 \001(\001\022\021\n\tuser_time\030\020 \001(\001\022\032\n\022determi"
1057 "nistic_time\030\021 \001(\001\022\024\n\014gap_integral\030\026 \001(\001\022"
1058 "\025\n\rsolution_info\030\024 \001(\t\022\021\n\tsolve_log\030\032 \001("
1059 "\t*[\n\016CpSolverStatus\022\013\n\007UNKNOWN\020\000\022\021\n\rMODE"
1060 "L_INVALID\020\001\022\014\n\010FEASIBLE\020\002\022\016\n\nINFEASIBLE\020"
1061 "\003\022\013\n\007OPTIMAL\020\004B@\n\026com.google.ortools.sat"
1062 "B\017CpModelProtobufP\001\252\002\022Google.OrTools.Sat"
1063 "b\006proto3"
1064 ;
1065static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto_once;
1066const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto = {
1067 false, false, 6368, descriptor_table_protodef_ortools_2fsat_2fcp_5fmodel_2eproto, "ortools/sat/cp_model.proto",
1071};
1072PROTOBUF_ATTRIBUTE_WEAK const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable* descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto_getter() {
1074}
1075
1076// Force running AddDescriptors() at dynamic initialization time.
1077PROTOBUF_ATTRIBUTE_INIT_PRIORITY static ::PROTOBUF_NAMESPACE_ID::internal::AddDescriptorsRunner dynamic_init_dummy_ortools_2fsat_2fcp_5fmodel_2eproto(&descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1078namespace operations_research {
1079namespace sat {
1080const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DecisionStrategyProto_VariableSelectionStrategy_descriptor() {
1081 ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1083}
1085 switch (value) {
1086 case 0:
1087 case 1:
1088 case 2:
1089 case 3:
1090 case 4:
1091 return true;
1092 default:
1093 return false;
1094 }
1095}
1096
1097#if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
1106#endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
1107const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DecisionStrategyProto_DomainReductionStrategy_descriptor() {
1108 ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1110}
1112 switch (value) {
1113 case 0:
1114 case 1:
1115 case 2:
1116 case 3:
1117 case 4:
1118 return true;
1119 default:
1120 return false;
1121 }
1122}
1123
1124#if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
1133#endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
1134const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* CpSolverStatus_descriptor() {
1135 ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1137}
1139 switch (value) {
1140 case 0:
1141 case 1:
1142 case 2:
1143 case 3:
1144 case 4:
1145 return true;
1146 default:
1147 return false;
1148 }
1149}
1150
1151
1152// ===================================================================
1153
1155 public:
1156};
1157
1158IntegerVariableProto::IntegerVariableProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1159 bool is_message_owned)
1160 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
1161 domain_(arena) {
1162 SharedCtor();
1163 if (!is_message_owned) {
1164 RegisterArenaDtor(arena);
1165 }
1166 // @@protoc_insertion_point(arena_constructor:operations_research.sat.IntegerVariableProto)
1167}
1169 : ::PROTOBUF_NAMESPACE_ID::Message(),
1170 domain_(from.domain_) {
1171 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1172 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1173 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
1174 name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
1175 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
1176 if (!from._internal_name().empty()) {
1177 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
1178 GetArenaForAllocation());
1179 }
1180 // @@protoc_insertion_point(copy_constructor:operations_research.sat.IntegerVariableProto)
1181}
1182
1183inline void IntegerVariableProto::SharedCtor() {
1184name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1185#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
1186 name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
1187#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
1188}
1189
1191 // @@protoc_insertion_point(destructor:operations_research.sat.IntegerVariableProto)
1192 if (GetArenaForAllocation() != nullptr) return;
1193 SharedDtor();
1194 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1195}
1196
1197inline void IntegerVariableProto::SharedDtor() {
1198 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
1199 name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1200}
1201
1202void IntegerVariableProto::ArenaDtor(void* object) {
1203 IntegerVariableProto* _this = reinterpret_cast< IntegerVariableProto* >(object);
1204 (void)_this;
1205}
1206void IntegerVariableProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1207}
1208void IntegerVariableProto::SetCachedSize(int size) const {
1209 _cached_size_.Set(size);
1210}
1211
1213// @@protoc_insertion_point(message_clear_start:operations_research.sat.IntegerVariableProto)
1214 uint32_t cached_has_bits = 0;
1215 // Prevent compiler warnings about cached_has_bits being unused
1216 (void) cached_has_bits;
1217
1218 domain_.Clear();
1219 name_.ClearToEmpty();
1220 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1221}
1222
1223const char* IntegerVariableProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1224#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1225 while (!ctx->Done(&ptr)) {
1226 uint32_t tag;
1227 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1228 switch (tag >> 3) {
1229 // string name = 1;
1230 case 1:
1231 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
1232 auto str = _internal_mutable_name();
1233 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1234 CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.sat.IntegerVariableProto.name"));
1235 CHK_(ptr);
1236 } else
1237 goto handle_unusual;
1238 continue;
1239 // repeated int64 domain = 2;
1240 case 2:
1241 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
1242 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_domain(), ptr, ctx);
1243 CHK_(ptr);
1244 } else if (static_cast<uint8_t>(tag) == 16) {
1245 _internal_add_domain(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
1246 CHK_(ptr);
1247 } else
1248 goto handle_unusual;
1249 continue;
1250 default:
1251 goto handle_unusual;
1252 } // switch
1253 handle_unusual:
1254 if ((tag == 0) || ((tag & 7) == 4)) {
1255 CHK_(ptr);
1256 ctx->SetLastTag(tag);
1257 goto message_done;
1258 }
1259 ptr = UnknownFieldParse(
1260 tag,
1261 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
1262 ptr, ctx);
1263 CHK_(ptr != nullptr);
1264 } // while
1265message_done:
1266 return ptr;
1267failure:
1268 ptr = nullptr;
1269 goto message_done;
1270#undef CHK_
1271}
1272
1274 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
1275 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.IntegerVariableProto)
1276 uint32_t cached_has_bits = 0;
1277 (void) cached_has_bits;
1278
1279 // string name = 1;
1280 if (!this->_internal_name().empty()) {
1281 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
1282 this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
1283 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
1284 "operations_research.sat.IntegerVariableProto.name");
1285 target = stream->WriteStringMaybeAliased(
1286 1, this->_internal_name(), target);
1287 }
1288
1289 // repeated int64 domain = 2;
1290 {
1291 int byte_size = _domain_cached_byte_size_.load(std::memory_order_relaxed);
1292 if (byte_size > 0) {
1293 target = stream->WriteInt64Packed(
1294 2, _internal_domain(), byte_size, target);
1295 }
1296 }
1297
1298 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1299 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1300 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1301 }
1302 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.IntegerVariableProto)
1303 return target;
1304}
1305
1307// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.IntegerVariableProto)
1308 size_t total_size = 0;
1309
1310 uint32_t cached_has_bits = 0;
1311 // Prevent compiler warnings about cached_has_bits being unused
1312 (void) cached_has_bits;
1313
1314 // repeated int64 domain = 2;
1315 {
1316 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1317 Int64Size(this->domain_);
1318 if (data_size > 0) {
1319 total_size += 1 +
1320 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1321 static_cast<int32_t>(data_size));
1322 }
1323 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
1324 _domain_cached_byte_size_.store(cached_size,
1325 std::memory_order_relaxed);
1326 total_size += data_size;
1327 }
1328
1329 // string name = 1;
1330 if (!this->_internal_name().empty()) {
1331 total_size += 1 +
1332 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1333 this->_internal_name());
1334 }
1335
1336 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
1337}
1338
1339const ::PROTOBUF_NAMESPACE_ID::Message::ClassData IntegerVariableProto::_class_data_ = {
1340 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
1341 IntegerVariableProto::MergeImpl
1342};
1343const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*IntegerVariableProto::GetClassData() const { return &_class_data_; }
1344
1345void IntegerVariableProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
1346 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1347 static_cast<IntegerVariableProto *>(to)->MergeFrom(
1348 static_cast<const IntegerVariableProto &>(from));
1349}
1350
1351
1353// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.IntegerVariableProto)
1354 GOOGLE_DCHECK_NE(&from, this);
1355 uint32_t cached_has_bits = 0;
1356 (void) cached_has_bits;
1357
1358 domain_.MergeFrom(from.domain_);
1359 if (!from._internal_name().empty()) {
1360 _internal_set_name(from._internal_name());
1361 }
1362 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1363}
1364
1366// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.IntegerVariableProto)
1367 if (&from == this) return;
1368 Clear();
1369 MergeFrom(from);
1370}
1371
1373 return true;
1374}
1375
1376void IntegerVariableProto::InternalSwap(IntegerVariableProto* other) {
1377 using std::swap;
1378 auto* lhs_arena = GetArenaForAllocation();
1379 auto* rhs_arena = other->GetArenaForAllocation();
1380 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1381 domain_.InternalSwap(&other->domain_);
1382 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
1383 &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
1384 &name_, lhs_arena,
1385 &other->name_, rhs_arena
1386 );
1387}
1388
1389::PROTOBUF_NAMESPACE_ID::Metadata IntegerVariableProto::GetMetadata() const {
1390 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
1393}
1394
1395// ===================================================================
1396
1398 public:
1399};
1400
1401BoolArgumentProto::BoolArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1402 bool is_message_owned)
1403 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
1404 literals_(arena) {
1405 SharedCtor();
1406 if (!is_message_owned) {
1407 RegisterArenaDtor(arena);
1408 }
1409 // @@protoc_insertion_point(arena_constructor:operations_research.sat.BoolArgumentProto)
1410}
1412 : ::PROTOBUF_NAMESPACE_ID::Message(),
1413 literals_(from.literals_) {
1414 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1415 // @@protoc_insertion_point(copy_constructor:operations_research.sat.BoolArgumentProto)
1416}
1417
1418inline void BoolArgumentProto::SharedCtor() {
1419}
1420
1422 // @@protoc_insertion_point(destructor:operations_research.sat.BoolArgumentProto)
1423 if (GetArenaForAllocation() != nullptr) return;
1424 SharedDtor();
1425 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1426}
1427
1428inline void BoolArgumentProto::SharedDtor() {
1429 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
1430}
1431
1432void BoolArgumentProto::ArenaDtor(void* object) {
1433 BoolArgumentProto* _this = reinterpret_cast< BoolArgumentProto* >(object);
1434 (void)_this;
1435}
1436void BoolArgumentProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1437}
1438void BoolArgumentProto::SetCachedSize(int size) const {
1439 _cached_size_.Set(size);
1440}
1441
1443// @@protoc_insertion_point(message_clear_start:operations_research.sat.BoolArgumentProto)
1444 uint32_t cached_has_bits = 0;
1445 // Prevent compiler warnings about cached_has_bits being unused
1446 (void) cached_has_bits;
1447
1448 literals_.Clear();
1449 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1450}
1451
1452const char* BoolArgumentProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1453#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1454 while (!ctx->Done(&ptr)) {
1455 uint32_t tag;
1456 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1457 switch (tag >> 3) {
1458 // repeated int32 literals = 1;
1459 case 1:
1460 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
1461 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_literals(), ptr, ctx);
1462 CHK_(ptr);
1463 } else if (static_cast<uint8_t>(tag) == 8) {
1464 _internal_add_literals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
1465 CHK_(ptr);
1466 } else
1467 goto handle_unusual;
1468 continue;
1469 default:
1470 goto handle_unusual;
1471 } // switch
1472 handle_unusual:
1473 if ((tag == 0) || ((tag & 7) == 4)) {
1474 CHK_(ptr);
1475 ctx->SetLastTag(tag);
1476 goto message_done;
1477 }
1478 ptr = UnknownFieldParse(
1479 tag,
1480 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
1481 ptr, ctx);
1482 CHK_(ptr != nullptr);
1483 } // while
1484message_done:
1485 return ptr;
1486failure:
1487 ptr = nullptr;
1488 goto message_done;
1489#undef CHK_
1490}
1491
1493 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
1494 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.BoolArgumentProto)
1495 uint32_t cached_has_bits = 0;
1496 (void) cached_has_bits;
1497
1498 // repeated int32 literals = 1;
1499 {
1500 int byte_size = _literals_cached_byte_size_.load(std::memory_order_relaxed);
1501 if (byte_size > 0) {
1502 target = stream->WriteInt32Packed(
1503 1, _internal_literals(), byte_size, target);
1504 }
1505 }
1506
1507 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1508 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1509 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1510 }
1511 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.BoolArgumentProto)
1512 return target;
1513}
1514
1516// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.BoolArgumentProto)
1517 size_t total_size = 0;
1518
1519 uint32_t cached_has_bits = 0;
1520 // Prevent compiler warnings about cached_has_bits being unused
1521 (void) cached_has_bits;
1522
1523 // repeated int32 literals = 1;
1524 {
1525 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1526 Int32Size(this->literals_);
1527 if (data_size > 0) {
1528 total_size += 1 +
1529 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1530 static_cast<int32_t>(data_size));
1531 }
1532 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
1533 _literals_cached_byte_size_.store(cached_size,
1534 std::memory_order_relaxed);
1535 total_size += data_size;
1536 }
1537
1538 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
1539}
1540
1541const ::PROTOBUF_NAMESPACE_ID::Message::ClassData BoolArgumentProto::_class_data_ = {
1542 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
1543 BoolArgumentProto::MergeImpl
1544};
1545const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*BoolArgumentProto::GetClassData() const { return &_class_data_; }
1546
1547void BoolArgumentProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
1548 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1549 static_cast<BoolArgumentProto *>(to)->MergeFrom(
1550 static_cast<const BoolArgumentProto &>(from));
1551}
1552
1553
1555// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.BoolArgumentProto)
1556 GOOGLE_DCHECK_NE(&from, this);
1557 uint32_t cached_has_bits = 0;
1558 (void) cached_has_bits;
1559
1560 literals_.MergeFrom(from.literals_);
1561 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1562}
1563
1565// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.BoolArgumentProto)
1566 if (&from == this) return;
1567 Clear();
1568 MergeFrom(from);
1569}
1570
1572 return true;
1573}
1574
1575void BoolArgumentProto::InternalSwap(BoolArgumentProto* other) {
1576 using std::swap;
1577 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1578 literals_.InternalSwap(&other->literals_);
1579}
1580
1581::PROTOBUF_NAMESPACE_ID::Metadata BoolArgumentProto::GetMetadata() const {
1582 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
1585}
1586
1587// ===================================================================
1588
1590 public:
1591};
1592
1593LinearExpressionProto::LinearExpressionProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1594 bool is_message_owned)
1595 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
1596 vars_(arena),
1597 coeffs_(arena) {
1598 SharedCtor();
1599 if (!is_message_owned) {
1600 RegisterArenaDtor(arena);
1601 }
1602 // @@protoc_insertion_point(arena_constructor:operations_research.sat.LinearExpressionProto)
1603}
1605 : ::PROTOBUF_NAMESPACE_ID::Message(),
1606 vars_(from.vars_),
1607 coeffs_(from.coeffs_) {
1608 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1609 offset_ = from.offset_;
1610 // @@protoc_insertion_point(copy_constructor:operations_research.sat.LinearExpressionProto)
1611}
1612
1613inline void LinearExpressionProto::SharedCtor() {
1614offset_ = int64_t{0};
1615}
1616
1618 // @@protoc_insertion_point(destructor:operations_research.sat.LinearExpressionProto)
1619 if (GetArenaForAllocation() != nullptr) return;
1620 SharedDtor();
1621 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1622}
1623
1624inline void LinearExpressionProto::SharedDtor() {
1625 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
1626}
1627
1628void LinearExpressionProto::ArenaDtor(void* object) {
1629 LinearExpressionProto* _this = reinterpret_cast< LinearExpressionProto* >(object);
1630 (void)_this;
1631}
1632void LinearExpressionProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1633}
1634void LinearExpressionProto::SetCachedSize(int size) const {
1635 _cached_size_.Set(size);
1636}
1637
1639// @@protoc_insertion_point(message_clear_start:operations_research.sat.LinearExpressionProto)
1640 uint32_t cached_has_bits = 0;
1641 // Prevent compiler warnings about cached_has_bits being unused
1642 (void) cached_has_bits;
1643
1644 vars_.Clear();
1645 coeffs_.Clear();
1646 offset_ = int64_t{0};
1647 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1648}
1649
1650const char* LinearExpressionProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1651#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1652 while (!ctx->Done(&ptr)) {
1653 uint32_t tag;
1654 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1655 switch (tag >> 3) {
1656 // repeated int32 vars = 1;
1657 case 1:
1658 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
1659 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_vars(), ptr, ctx);
1660 CHK_(ptr);
1661 } else if (static_cast<uint8_t>(tag) == 8) {
1662 _internal_add_vars(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
1663 CHK_(ptr);
1664 } else
1665 goto handle_unusual;
1666 continue;
1667 // repeated int64 coeffs = 2;
1668 case 2:
1669 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
1670 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_coeffs(), ptr, ctx);
1671 CHK_(ptr);
1672 } else if (static_cast<uint8_t>(tag) == 16) {
1673 _internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
1674 CHK_(ptr);
1675 } else
1676 goto handle_unusual;
1677 continue;
1678 // int64 offset = 3;
1679 case 3:
1680 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
1681 offset_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1682 CHK_(ptr);
1683 } else
1684 goto handle_unusual;
1685 continue;
1686 default:
1687 goto handle_unusual;
1688 } // switch
1689 handle_unusual:
1690 if ((tag == 0) || ((tag & 7) == 4)) {
1691 CHK_(ptr);
1692 ctx->SetLastTag(tag);
1693 goto message_done;
1694 }
1695 ptr = UnknownFieldParse(
1696 tag,
1697 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
1698 ptr, ctx);
1699 CHK_(ptr != nullptr);
1700 } // while
1701message_done:
1702 return ptr;
1703failure:
1704 ptr = nullptr;
1705 goto message_done;
1706#undef CHK_
1707}
1708
1710 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
1711 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.LinearExpressionProto)
1712 uint32_t cached_has_bits = 0;
1713 (void) cached_has_bits;
1714
1715 // repeated int32 vars = 1;
1716 {
1717 int byte_size = _vars_cached_byte_size_.load(std::memory_order_relaxed);
1718 if (byte_size > 0) {
1719 target = stream->WriteInt32Packed(
1720 1, _internal_vars(), byte_size, target);
1721 }
1722 }
1723
1724 // repeated int64 coeffs = 2;
1725 {
1726 int byte_size = _coeffs_cached_byte_size_.load(std::memory_order_relaxed);
1727 if (byte_size > 0) {
1728 target = stream->WriteInt64Packed(
1729 2, _internal_coeffs(), byte_size, target);
1730 }
1731 }
1732
1733 // int64 offset = 3;
1734 if (this->_internal_offset() != 0) {
1735 target = stream->EnsureSpace(target);
1736 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(3, this->_internal_offset(), target);
1737 }
1738
1739 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1740 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1741 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1742 }
1743 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.LinearExpressionProto)
1744 return target;
1745}
1746
1748// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.LinearExpressionProto)
1749 size_t total_size = 0;
1750
1751 uint32_t cached_has_bits = 0;
1752 // Prevent compiler warnings about cached_has_bits being unused
1753 (void) cached_has_bits;
1754
1755 // repeated int32 vars = 1;
1756 {
1757 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1758 Int32Size(this->vars_);
1759 if (data_size > 0) {
1760 total_size += 1 +
1761 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1762 static_cast<int32_t>(data_size));
1763 }
1764 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
1765 _vars_cached_byte_size_.store(cached_size,
1766 std::memory_order_relaxed);
1767 total_size += data_size;
1768 }
1769
1770 // repeated int64 coeffs = 2;
1771 {
1772 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1773 Int64Size(this->coeffs_);
1774 if (data_size > 0) {
1775 total_size += 1 +
1776 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1777 static_cast<int32_t>(data_size));
1778 }
1779 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
1780 _coeffs_cached_byte_size_.store(cached_size,
1781 std::memory_order_relaxed);
1782 total_size += data_size;
1783 }
1784
1785 // int64 offset = 3;
1786 if (this->_internal_offset() != 0) {
1787 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_offset());
1788 }
1789
1790 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
1791}
1792
1793const ::PROTOBUF_NAMESPACE_ID::Message::ClassData LinearExpressionProto::_class_data_ = {
1794 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
1795 LinearExpressionProto::MergeImpl
1796};
1797const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*LinearExpressionProto::GetClassData() const { return &_class_data_; }
1798
1799void LinearExpressionProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
1800 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1801 static_cast<LinearExpressionProto *>(to)->MergeFrom(
1802 static_cast<const LinearExpressionProto &>(from));
1803}
1804
1805
1807// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.LinearExpressionProto)
1808 GOOGLE_DCHECK_NE(&from, this);
1809 uint32_t cached_has_bits = 0;
1810 (void) cached_has_bits;
1811
1812 vars_.MergeFrom(from.vars_);
1813 coeffs_.MergeFrom(from.coeffs_);
1814 if (from._internal_offset() != 0) {
1815 _internal_set_offset(from._internal_offset());
1816 }
1817 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1818}
1819
1821// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.LinearExpressionProto)
1822 if (&from == this) return;
1823 Clear();
1824 MergeFrom(from);
1825}
1826
1828 return true;
1829}
1830
1831void LinearExpressionProto::InternalSwap(LinearExpressionProto* other) {
1832 using std::swap;
1833 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1834 vars_.InternalSwap(&other->vars_);
1835 coeffs_.InternalSwap(&other->coeffs_);
1836 swap(offset_, other->offset_);
1837}
1838
1839::PROTOBUF_NAMESPACE_ID::Metadata LinearExpressionProto::GetMetadata() const {
1840 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
1843}
1844
1845// ===================================================================
1846
1848 public:
1849 static const ::operations_research::sat::LinearExpressionProto& target(const LinearArgumentProto* msg);
1850};
1851
1852const ::operations_research::sat::LinearExpressionProto&
1854 return *msg->target_;
1855}
1856LinearArgumentProto::LinearArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1857 bool is_message_owned)
1858 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
1859 exprs_(arena) {
1860 SharedCtor();
1861 if (!is_message_owned) {
1862 RegisterArenaDtor(arena);
1863 }
1864 // @@protoc_insertion_point(arena_constructor:operations_research.sat.LinearArgumentProto)
1865}
1867 : ::PROTOBUF_NAMESPACE_ID::Message(),
1868 exprs_(from.exprs_) {
1869 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1870 if (from._internal_has_target()) {
1871 target_ = new ::operations_research::sat::LinearExpressionProto(*from.target_);
1872 } else {
1873 target_ = nullptr;
1874 }
1875 // @@protoc_insertion_point(copy_constructor:operations_research.sat.LinearArgumentProto)
1876}
1877
1878inline void LinearArgumentProto::SharedCtor() {
1879target_ = nullptr;
1880}
1881
1883 // @@protoc_insertion_point(destructor:operations_research.sat.LinearArgumentProto)
1884 if (GetArenaForAllocation() != nullptr) return;
1885 SharedDtor();
1886 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1887}
1888
1889inline void LinearArgumentProto::SharedDtor() {
1890 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
1891 if (this != internal_default_instance()) delete target_;
1892}
1893
1894void LinearArgumentProto::ArenaDtor(void* object) {
1895 LinearArgumentProto* _this = reinterpret_cast< LinearArgumentProto* >(object);
1896 (void)_this;
1897}
1898void LinearArgumentProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1899}
1900void LinearArgumentProto::SetCachedSize(int size) const {
1901 _cached_size_.Set(size);
1902}
1903
1905// @@protoc_insertion_point(message_clear_start:operations_research.sat.LinearArgumentProto)
1906 uint32_t cached_has_bits = 0;
1907 // Prevent compiler warnings about cached_has_bits being unused
1908 (void) cached_has_bits;
1909
1910 exprs_.Clear();
1911 if (GetArenaForAllocation() == nullptr && target_ != nullptr) {
1912 delete target_;
1913 }
1914 target_ = nullptr;
1915 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1916}
1917
1918const char* LinearArgumentProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1919#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1920 while (!ctx->Done(&ptr)) {
1921 uint32_t tag;
1922 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1923 switch (tag >> 3) {
1924 // .operations_research.sat.LinearExpressionProto target = 1;
1925 case 1:
1926 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
1927 ptr = ctx->ParseMessage(_internal_mutable_target(), ptr);
1928 CHK_(ptr);
1929 } else
1930 goto handle_unusual;
1931 continue;
1932 // repeated .operations_research.sat.LinearExpressionProto exprs = 2;
1933 case 2:
1934 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
1935 ptr -= 1;
1936 do {
1937 ptr += 1;
1938 ptr = ctx->ParseMessage(_internal_add_exprs(), ptr);
1939 CHK_(ptr);
1940 if (!ctx->DataAvailable(ptr)) break;
1941 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
1942 } else
1943 goto handle_unusual;
1944 continue;
1945 default:
1946 goto handle_unusual;
1947 } // switch
1948 handle_unusual:
1949 if ((tag == 0) || ((tag & 7) == 4)) {
1950 CHK_(ptr);
1951 ctx->SetLastTag(tag);
1952 goto message_done;
1953 }
1954 ptr = UnknownFieldParse(
1955 tag,
1956 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
1957 ptr, ctx);
1958 CHK_(ptr != nullptr);
1959 } // while
1960message_done:
1961 return ptr;
1962failure:
1963 ptr = nullptr;
1964 goto message_done;
1965#undef CHK_
1966}
1967
1969 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
1970 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.LinearArgumentProto)
1971 uint32_t cached_has_bits = 0;
1972 (void) cached_has_bits;
1973
1974 // .operations_research.sat.LinearExpressionProto target = 1;
1975 if (this->_internal_has_target()) {
1976 target = stream->EnsureSpace(target);
1977 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1978 InternalWriteMessage(
1979 1, _Internal::target(this), target, stream);
1980 }
1981
1982 // repeated .operations_research.sat.LinearExpressionProto exprs = 2;
1983 for (unsigned int i = 0,
1984 n = static_cast<unsigned int>(this->_internal_exprs_size()); i < n; i++) {
1985 target = stream->EnsureSpace(target);
1986 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1987 InternalWriteMessage(2, this->_internal_exprs(i), target, stream);
1988 }
1989
1990 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1991 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1992 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1993 }
1994 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.LinearArgumentProto)
1995 return target;
1996}
1997
1999// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.LinearArgumentProto)
2000 size_t total_size = 0;
2001
2002 uint32_t cached_has_bits = 0;
2003 // Prevent compiler warnings about cached_has_bits being unused
2004 (void) cached_has_bits;
2005
2006 // repeated .operations_research.sat.LinearExpressionProto exprs = 2;
2007 total_size += 1UL * this->_internal_exprs_size();
2008 for (const auto& msg : this->exprs_) {
2009 total_size +=
2010 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
2011 }
2012
2013 // .operations_research.sat.LinearExpressionProto target = 1;
2014 if (this->_internal_has_target()) {
2015 total_size += 1 +
2016 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2017 *target_);
2018 }
2019
2020 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
2021}
2022
2023const ::PROTOBUF_NAMESPACE_ID::Message::ClassData LinearArgumentProto::_class_data_ = {
2024 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
2025 LinearArgumentProto::MergeImpl
2026};
2027const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*LinearArgumentProto::GetClassData() const { return &_class_data_; }
2028
2029void LinearArgumentProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
2030 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
2031 static_cast<LinearArgumentProto *>(to)->MergeFrom(
2032 static_cast<const LinearArgumentProto &>(from));
2033}
2034
2035
2037// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.LinearArgumentProto)
2038 GOOGLE_DCHECK_NE(&from, this);
2039 uint32_t cached_has_bits = 0;
2040 (void) cached_has_bits;
2041
2042 exprs_.MergeFrom(from.exprs_);
2043 if (from._internal_has_target()) {
2044 _internal_mutable_target()->::operations_research::sat::LinearExpressionProto::MergeFrom(from._internal_target());
2045 }
2046 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2047}
2048
2050// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.LinearArgumentProto)
2051 if (&from == this) return;
2052 Clear();
2053 MergeFrom(from);
2054}
2055
2057 return true;
2058}
2059
2060void LinearArgumentProto::InternalSwap(LinearArgumentProto* other) {
2061 using std::swap;
2062 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2063 exprs_.InternalSwap(&other->exprs_);
2064 swap(target_, other->target_);
2065}
2066
2067::PROTOBUF_NAMESPACE_ID::Metadata LinearArgumentProto::GetMetadata() const {
2068 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
2071}
2072
2073// ===================================================================
2074
2076 public:
2077};
2078
2080 bool is_message_owned)
2081 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
2082 exprs_(arena) {
2083 SharedCtor();
2084 if (!is_message_owned) {
2085 RegisterArenaDtor(arena);
2086 }
2087 // @@protoc_insertion_point(arena_constructor:operations_research.sat.AllDifferentConstraintProto)
2088}
2090 : ::PROTOBUF_NAMESPACE_ID::Message(),
2091 exprs_(from.exprs_) {
2092 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2093 // @@protoc_insertion_point(copy_constructor:operations_research.sat.AllDifferentConstraintProto)
2094}
2095
2096inline void AllDifferentConstraintProto::SharedCtor() {
2097}
2098
2100 // @@protoc_insertion_point(destructor:operations_research.sat.AllDifferentConstraintProto)
2101 if (GetArenaForAllocation() != nullptr) return;
2102 SharedDtor();
2103 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2104}
2105
2106inline void AllDifferentConstraintProto::SharedDtor() {
2107 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
2108}
2109
2110void AllDifferentConstraintProto::ArenaDtor(void* object) {
2111 AllDifferentConstraintProto* _this = reinterpret_cast< AllDifferentConstraintProto* >(object);
2112 (void)_this;
2113}
2114void AllDifferentConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
2115}
2116void AllDifferentConstraintProto::SetCachedSize(int size) const {
2117 _cached_size_.Set(size);
2118}
2119
2121// @@protoc_insertion_point(message_clear_start:operations_research.sat.AllDifferentConstraintProto)
2122 uint32_t cached_has_bits = 0;
2123 // Prevent compiler warnings about cached_has_bits being unused
2124 (void) cached_has_bits;
2125
2126 exprs_.Clear();
2127 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2128}
2129
2130const char* AllDifferentConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
2131#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
2132 while (!ctx->Done(&ptr)) {
2133 uint32_t tag;
2134 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
2135 switch (tag >> 3) {
2136 // repeated .operations_research.sat.LinearExpressionProto exprs = 1;
2137 case 1:
2138 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
2139 ptr -= 1;
2140 do {
2141 ptr += 1;
2142 ptr = ctx->ParseMessage(_internal_add_exprs(), ptr);
2143 CHK_(ptr);
2144 if (!ctx->DataAvailable(ptr)) break;
2145 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
2146 } else
2147 goto handle_unusual;
2148 continue;
2149 default:
2150 goto handle_unusual;
2151 } // switch
2152 handle_unusual:
2153 if ((tag == 0) || ((tag & 7) == 4)) {
2154 CHK_(ptr);
2155 ctx->SetLastTag(tag);
2156 goto message_done;
2157 }
2158 ptr = UnknownFieldParse(
2159 tag,
2160 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
2161 ptr, ctx);
2162 CHK_(ptr != nullptr);
2163 } // while
2164message_done:
2165 return ptr;
2166failure:
2167 ptr = nullptr;
2168 goto message_done;
2169#undef CHK_
2170}
2171
2173 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
2174 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.AllDifferentConstraintProto)
2175 uint32_t cached_has_bits = 0;
2176 (void) cached_has_bits;
2177
2178 // repeated .operations_research.sat.LinearExpressionProto exprs = 1;
2179 for (unsigned int i = 0,
2180 n = static_cast<unsigned int>(this->_internal_exprs_size()); i < n; i++) {
2181 target = stream->EnsureSpace(target);
2182 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2183 InternalWriteMessage(1, this->_internal_exprs(i), target, stream);
2184 }
2185
2186 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2187 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
2188 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
2189 }
2190 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.AllDifferentConstraintProto)
2191 return target;
2192}
2193
2195// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.AllDifferentConstraintProto)
2196 size_t total_size = 0;
2197
2198 uint32_t cached_has_bits = 0;
2199 // Prevent compiler warnings about cached_has_bits being unused
2200 (void) cached_has_bits;
2201
2202 // repeated .operations_research.sat.LinearExpressionProto exprs = 1;
2203 total_size += 1UL * this->_internal_exprs_size();
2204 for (const auto& msg : this->exprs_) {
2205 total_size +=
2206 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
2207 }
2208
2209 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
2210}
2211
2212const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AllDifferentConstraintProto::_class_data_ = {
2213 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
2214 AllDifferentConstraintProto::MergeImpl
2215};
2216const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AllDifferentConstraintProto::GetClassData() const { return &_class_data_; }
2217
2218void AllDifferentConstraintProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
2219 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
2220 static_cast<AllDifferentConstraintProto *>(to)->MergeFrom(
2221 static_cast<const AllDifferentConstraintProto &>(from));
2222}
2223
2224
2226// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.AllDifferentConstraintProto)
2227 GOOGLE_DCHECK_NE(&from, this);
2228 uint32_t cached_has_bits = 0;
2229 (void) cached_has_bits;
2230
2231 exprs_.MergeFrom(from.exprs_);
2232 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2233}
2234
2236// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.AllDifferentConstraintProto)
2237 if (&from == this) return;
2238 Clear();
2239 MergeFrom(from);
2240}
2241
2243 return true;
2244}
2245
2246void AllDifferentConstraintProto::InternalSwap(AllDifferentConstraintProto* other) {
2247 using std::swap;
2248 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2249 exprs_.InternalSwap(&other->exprs_);
2250}
2251
2252::PROTOBUF_NAMESPACE_ID::Metadata AllDifferentConstraintProto::GetMetadata() const {
2253 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
2256}
2257
2258// ===================================================================
2259
2261 public:
2262};
2263
2264LinearConstraintProto::LinearConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
2265 bool is_message_owned)
2266 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
2267 vars_(arena),
2268 coeffs_(arena),
2269 domain_(arena) {
2270 SharedCtor();
2271 if (!is_message_owned) {
2272 RegisterArenaDtor(arena);
2273 }
2274 // @@protoc_insertion_point(arena_constructor:operations_research.sat.LinearConstraintProto)
2275}
2277 : ::PROTOBUF_NAMESPACE_ID::Message(),
2278 vars_(from.vars_),
2279 coeffs_(from.coeffs_),
2280 domain_(from.domain_) {
2281 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2282 // @@protoc_insertion_point(copy_constructor:operations_research.sat.LinearConstraintProto)
2283}
2284
2285inline void LinearConstraintProto::SharedCtor() {
2286}
2287
2289 // @@protoc_insertion_point(destructor:operations_research.sat.LinearConstraintProto)
2290 if (GetArenaForAllocation() != nullptr) return;
2291 SharedDtor();
2292 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2293}
2294
2295inline void LinearConstraintProto::SharedDtor() {
2296 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
2297}
2298
2299void LinearConstraintProto::ArenaDtor(void* object) {
2300 LinearConstraintProto* _this = reinterpret_cast< LinearConstraintProto* >(object);
2301 (void)_this;
2302}
2303void LinearConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
2304}
2305void LinearConstraintProto::SetCachedSize(int size) const {
2306 _cached_size_.Set(size);
2307}
2308
2310// @@protoc_insertion_point(message_clear_start:operations_research.sat.LinearConstraintProto)
2311 uint32_t cached_has_bits = 0;
2312 // Prevent compiler warnings about cached_has_bits being unused
2313 (void) cached_has_bits;
2314
2315 vars_.Clear();
2316 coeffs_.Clear();
2317 domain_.Clear();
2318 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2319}
2320
2321const char* LinearConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
2322#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
2323 while (!ctx->Done(&ptr)) {
2324 uint32_t tag;
2325 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
2326 switch (tag >> 3) {
2327 // repeated int32 vars = 1;
2328 case 1:
2329 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
2330 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_vars(), ptr, ctx);
2331 CHK_(ptr);
2332 } else if (static_cast<uint8_t>(tag) == 8) {
2333 _internal_add_vars(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
2334 CHK_(ptr);
2335 } else
2336 goto handle_unusual;
2337 continue;
2338 // repeated int64 coeffs = 2;
2339 case 2:
2340 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
2341 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_coeffs(), ptr, ctx);
2342 CHK_(ptr);
2343 } else if (static_cast<uint8_t>(tag) == 16) {
2344 _internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
2345 CHK_(ptr);
2346 } else
2347 goto handle_unusual;
2348 continue;
2349 // repeated int64 domain = 3;
2350 case 3:
2351 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
2352 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_domain(), ptr, ctx);
2353 CHK_(ptr);
2354 } else if (static_cast<uint8_t>(tag) == 24) {
2355 _internal_add_domain(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
2356 CHK_(ptr);
2357 } else
2358 goto handle_unusual;
2359 continue;
2360 default:
2361 goto handle_unusual;
2362 } // switch
2363 handle_unusual:
2364 if ((tag == 0) || ((tag & 7) == 4)) {
2365 CHK_(ptr);
2366 ctx->SetLastTag(tag);
2367 goto message_done;
2368 }
2369 ptr = UnknownFieldParse(
2370 tag,
2371 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
2372 ptr, ctx);
2373 CHK_(ptr != nullptr);
2374 } // while
2375message_done:
2376 return ptr;
2377failure:
2378 ptr = nullptr;
2379 goto message_done;
2380#undef CHK_
2381}
2382
2384 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
2385 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.LinearConstraintProto)
2386 uint32_t cached_has_bits = 0;
2387 (void) cached_has_bits;
2388
2389 // repeated int32 vars = 1;
2390 {
2391 int byte_size = _vars_cached_byte_size_.load(std::memory_order_relaxed);
2392 if (byte_size > 0) {
2393 target = stream->WriteInt32Packed(
2394 1, _internal_vars(), byte_size, target);
2395 }
2396 }
2397
2398 // repeated int64 coeffs = 2;
2399 {
2400 int byte_size = _coeffs_cached_byte_size_.load(std::memory_order_relaxed);
2401 if (byte_size > 0) {
2402 target = stream->WriteInt64Packed(
2403 2, _internal_coeffs(), byte_size, target);
2404 }
2405 }
2406
2407 // repeated int64 domain = 3;
2408 {
2409 int byte_size = _domain_cached_byte_size_.load(std::memory_order_relaxed);
2410 if (byte_size > 0) {
2411 target = stream->WriteInt64Packed(
2412 3, _internal_domain(), byte_size, target);
2413 }
2414 }
2415
2416 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2417 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
2418 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
2419 }
2420 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.LinearConstraintProto)
2421 return target;
2422}
2423
2425// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.LinearConstraintProto)
2426 size_t total_size = 0;
2427
2428 uint32_t cached_has_bits = 0;
2429 // Prevent compiler warnings about cached_has_bits being unused
2430 (void) cached_has_bits;
2431
2432 // repeated int32 vars = 1;
2433 {
2434 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2435 Int32Size(this->vars_);
2436 if (data_size > 0) {
2437 total_size += 1 +
2438 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2439 static_cast<int32_t>(data_size));
2440 }
2441 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
2442 _vars_cached_byte_size_.store(cached_size,
2443 std::memory_order_relaxed);
2444 total_size += data_size;
2445 }
2446
2447 // repeated int64 coeffs = 2;
2448 {
2449 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2450 Int64Size(this->coeffs_);
2451 if (data_size > 0) {
2452 total_size += 1 +
2453 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2454 static_cast<int32_t>(data_size));
2455 }
2456 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
2457 _coeffs_cached_byte_size_.store(cached_size,
2458 std::memory_order_relaxed);
2459 total_size += data_size;
2460 }
2461
2462 // repeated int64 domain = 3;
2463 {
2464 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2465 Int64Size(this->domain_);
2466 if (data_size > 0) {
2467 total_size += 1 +
2468 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2469 static_cast<int32_t>(data_size));
2470 }
2471 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
2472 _domain_cached_byte_size_.store(cached_size,
2473 std::memory_order_relaxed);
2474 total_size += data_size;
2475 }
2476
2477 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
2478}
2479
2480const ::PROTOBUF_NAMESPACE_ID::Message::ClassData LinearConstraintProto::_class_data_ = {
2481 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
2482 LinearConstraintProto::MergeImpl
2483};
2484const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*LinearConstraintProto::GetClassData() const { return &_class_data_; }
2485
2486void LinearConstraintProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
2487 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
2488 static_cast<LinearConstraintProto *>(to)->MergeFrom(
2489 static_cast<const LinearConstraintProto &>(from));
2490}
2491
2492
2494// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.LinearConstraintProto)
2495 GOOGLE_DCHECK_NE(&from, this);
2496 uint32_t cached_has_bits = 0;
2497 (void) cached_has_bits;
2498
2499 vars_.MergeFrom(from.vars_);
2500 coeffs_.MergeFrom(from.coeffs_);
2501 domain_.MergeFrom(from.domain_);
2502 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2503}
2504
2506// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.LinearConstraintProto)
2507 if (&from == this) return;
2508 Clear();
2509 MergeFrom(from);
2510}
2511
2513 return true;
2514}
2515
2516void LinearConstraintProto::InternalSwap(LinearConstraintProto* other) {
2517 using std::swap;
2518 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2519 vars_.InternalSwap(&other->vars_);
2520 coeffs_.InternalSwap(&other->coeffs_);
2521 domain_.InternalSwap(&other->domain_);
2522}
2523
2524::PROTOBUF_NAMESPACE_ID::Metadata LinearConstraintProto::GetMetadata() const {
2525 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
2528}
2529
2530// ===================================================================
2531
2533 public:
2534};
2535
2536ElementConstraintProto::ElementConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
2537 bool is_message_owned)
2538 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
2539 vars_(arena) {
2540 SharedCtor();
2541 if (!is_message_owned) {
2542 RegisterArenaDtor(arena);
2543 }
2544 // @@protoc_insertion_point(arena_constructor:operations_research.sat.ElementConstraintProto)
2545}
2547 : ::PROTOBUF_NAMESPACE_ID::Message(),
2548 vars_(from.vars_) {
2549 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2550 ::memcpy(&index_, &from.index_,
2551 static_cast<size_t>(reinterpret_cast<char*>(&target_) -
2552 reinterpret_cast<char*>(&index_)) + sizeof(target_));
2553 // @@protoc_insertion_point(copy_constructor:operations_research.sat.ElementConstraintProto)
2554}
2555
2556inline void ElementConstraintProto::SharedCtor() {
2557::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
2558 reinterpret_cast<char*>(&index_) - reinterpret_cast<char*>(this)),
2559 0, static_cast<size_t>(reinterpret_cast<char*>(&target_) -
2560 reinterpret_cast<char*>(&index_)) + sizeof(target_));
2561}
2562
2564 // @@protoc_insertion_point(destructor:operations_research.sat.ElementConstraintProto)
2565 if (GetArenaForAllocation() != nullptr) return;
2566 SharedDtor();
2567 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2568}
2569
2570inline void ElementConstraintProto::SharedDtor() {
2571 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
2572}
2573
2574void ElementConstraintProto::ArenaDtor(void* object) {
2575 ElementConstraintProto* _this = reinterpret_cast< ElementConstraintProto* >(object);
2576 (void)_this;
2577}
2578void ElementConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
2579}
2580void ElementConstraintProto::SetCachedSize(int size) const {
2581 _cached_size_.Set(size);
2582}
2583
2585// @@protoc_insertion_point(message_clear_start:operations_research.sat.ElementConstraintProto)
2586 uint32_t cached_has_bits = 0;
2587 // Prevent compiler warnings about cached_has_bits being unused
2588 (void) cached_has_bits;
2589
2590 vars_.Clear();
2591 ::memset(&index_, 0, static_cast<size_t>(
2592 reinterpret_cast<char*>(&target_) -
2593 reinterpret_cast<char*>(&index_)) + sizeof(target_));
2594 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2595}
2596
2597const char* ElementConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
2598#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
2599 while (!ctx->Done(&ptr)) {
2600 uint32_t tag;
2601 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
2602 switch (tag >> 3) {
2603 // int32 index = 1;
2604 case 1:
2605 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
2606 index_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
2607 CHK_(ptr);
2608 } else
2609 goto handle_unusual;
2610 continue;
2611 // int32 target = 2;
2612 case 2:
2613 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
2614 target_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
2615 CHK_(ptr);
2616 } else
2617 goto handle_unusual;
2618 continue;
2619 // repeated int32 vars = 3;
2620 case 3:
2621 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
2622 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_vars(), ptr, ctx);
2623 CHK_(ptr);
2624 } else if (static_cast<uint8_t>(tag) == 24) {
2625 _internal_add_vars(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
2626 CHK_(ptr);
2627 } else
2628 goto handle_unusual;
2629 continue;
2630 default:
2631 goto handle_unusual;
2632 } // switch
2633 handle_unusual:
2634 if ((tag == 0) || ((tag & 7) == 4)) {
2635 CHK_(ptr);
2636 ctx->SetLastTag(tag);
2637 goto message_done;
2638 }
2639 ptr = UnknownFieldParse(
2640 tag,
2641 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
2642 ptr, ctx);
2643 CHK_(ptr != nullptr);
2644 } // while
2645message_done:
2646 return ptr;
2647failure:
2648 ptr = nullptr;
2649 goto message_done;
2650#undef CHK_
2651}
2652
2654 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
2655 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.ElementConstraintProto)
2656 uint32_t cached_has_bits = 0;
2657 (void) cached_has_bits;
2658
2659 // int32 index = 1;
2660 if (this->_internal_index() != 0) {
2661 target = stream->EnsureSpace(target);
2662 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_index(), target);
2663 }
2664
2665 // int32 target = 2;
2666 if (this->_internal_target() != 0) {
2667 target = stream->EnsureSpace(target);
2668 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_target(), target);
2669 }
2670
2671 // repeated int32 vars = 3;
2672 {
2673 int byte_size = _vars_cached_byte_size_.load(std::memory_order_relaxed);
2674 if (byte_size > 0) {
2675 target = stream->WriteInt32Packed(
2676 3, _internal_vars(), byte_size, target);
2677 }
2678 }
2679
2680 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2681 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
2682 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
2683 }
2684 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.ElementConstraintProto)
2685 return target;
2686}
2687
2689// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.ElementConstraintProto)
2690 size_t total_size = 0;
2691
2692 uint32_t cached_has_bits = 0;
2693 // Prevent compiler warnings about cached_has_bits being unused
2694 (void) cached_has_bits;
2695
2696 // repeated int32 vars = 3;
2697 {
2698 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2699 Int32Size(this->vars_);
2700 if (data_size > 0) {
2701 total_size += 1 +
2702 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2703 static_cast<int32_t>(data_size));
2704 }
2705 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
2706 _vars_cached_byte_size_.store(cached_size,
2707 std::memory_order_relaxed);
2708 total_size += data_size;
2709 }
2710
2711 // int32 index = 1;
2712 if (this->_internal_index() != 0) {
2713 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_index());
2714 }
2715
2716 // int32 target = 2;
2717 if (this->_internal_target() != 0) {
2718 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_target());
2719 }
2720
2721 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
2722}
2723
2724const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ElementConstraintProto::_class_data_ = {
2725 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
2726 ElementConstraintProto::MergeImpl
2727};
2728const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ElementConstraintProto::GetClassData() const { return &_class_data_; }
2729
2730void ElementConstraintProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
2731 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
2732 static_cast<ElementConstraintProto *>(to)->MergeFrom(
2733 static_cast<const ElementConstraintProto &>(from));
2734}
2735
2736
2738// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.ElementConstraintProto)
2739 GOOGLE_DCHECK_NE(&from, this);
2740 uint32_t cached_has_bits = 0;
2741 (void) cached_has_bits;
2742
2743 vars_.MergeFrom(from.vars_);
2744 if (from._internal_index() != 0) {
2745 _internal_set_index(from._internal_index());
2746 }
2747 if (from._internal_target() != 0) {
2748 _internal_set_target(from._internal_target());
2749 }
2750 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2751}
2752
2754// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.ElementConstraintProto)
2755 if (&from == this) return;
2756 Clear();
2757 MergeFrom(from);
2758}
2759
2761 return true;
2762}
2763
2764void ElementConstraintProto::InternalSwap(ElementConstraintProto* other) {
2765 using std::swap;
2766 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2767 vars_.InternalSwap(&other->vars_);
2768 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
2769 PROTOBUF_FIELD_OFFSET(ElementConstraintProto, target_)
2770 + sizeof(ElementConstraintProto::target_)
2771 - PROTOBUF_FIELD_OFFSET(ElementConstraintProto, index_)>(
2772 reinterpret_cast<char*>(&index_),
2773 reinterpret_cast<char*>(&other->index_));
2774}
2775
2776::PROTOBUF_NAMESPACE_ID::Metadata ElementConstraintProto::GetMetadata() const {
2777 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
2780}
2781
2782// ===================================================================
2783
2785 public:
2786 static const ::operations_research::sat::LinearExpressionProto& start(const IntervalConstraintProto* msg);
2787 static const ::operations_research::sat::LinearExpressionProto& end(const IntervalConstraintProto* msg);
2788 static const ::operations_research::sat::LinearExpressionProto& size(const IntervalConstraintProto* msg);
2789};
2790
2791const ::operations_research::sat::LinearExpressionProto&
2793 return *msg->start_;
2794}
2795const ::operations_research::sat::LinearExpressionProto&
2797 return *msg->end_;
2798}
2799const ::operations_research::sat::LinearExpressionProto&
2801 return *msg->size_;
2802}
2803IntervalConstraintProto::IntervalConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
2804 bool is_message_owned)
2805 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
2806 SharedCtor();
2807 if (!is_message_owned) {
2808 RegisterArenaDtor(arena);
2809 }
2810 // @@protoc_insertion_point(arena_constructor:operations_research.sat.IntervalConstraintProto)
2811}
2813 : ::PROTOBUF_NAMESPACE_ID::Message() {
2814 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2815 if (from._internal_has_start()) {
2816 start_ = new ::operations_research::sat::LinearExpressionProto(*from.start_);
2817 } else {
2818 start_ = nullptr;
2819 }
2820 if (from._internal_has_end()) {
2821 end_ = new ::operations_research::sat::LinearExpressionProto(*from.end_);
2822 } else {
2823 end_ = nullptr;
2824 }
2825 if (from._internal_has_size()) {
2826 size_ = new ::operations_research::sat::LinearExpressionProto(*from.size_);
2827 } else {
2828 size_ = nullptr;
2829 }
2830 // @@protoc_insertion_point(copy_constructor:operations_research.sat.IntervalConstraintProto)
2831}
2832
2833inline void IntervalConstraintProto::SharedCtor() {
2834::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
2835 reinterpret_cast<char*>(&start_) - reinterpret_cast<char*>(this)),
2836 0, static_cast<size_t>(reinterpret_cast<char*>(&size_) -
2837 reinterpret_cast<char*>(&start_)) + sizeof(size_));
2838}
2839
2841 // @@protoc_insertion_point(destructor:operations_research.sat.IntervalConstraintProto)
2842 if (GetArenaForAllocation() != nullptr) return;
2843 SharedDtor();
2844 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2845}
2846
2847inline void IntervalConstraintProto::SharedDtor() {
2848 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
2849 if (this != internal_default_instance()) delete start_;
2850 if (this != internal_default_instance()) delete end_;
2851 if (this != internal_default_instance()) delete size_;
2852}
2853
2854void IntervalConstraintProto::ArenaDtor(void* object) {
2855 IntervalConstraintProto* _this = reinterpret_cast< IntervalConstraintProto* >(object);
2856 (void)_this;
2857}
2858void IntervalConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
2859}
2860void IntervalConstraintProto::SetCachedSize(int size) const {
2861 _cached_size_.Set(size);
2862}
2863
2865// @@protoc_insertion_point(message_clear_start:operations_research.sat.IntervalConstraintProto)
2866 uint32_t cached_has_bits = 0;
2867 // Prevent compiler warnings about cached_has_bits being unused
2868 (void) cached_has_bits;
2869
2870 if (GetArenaForAllocation() == nullptr && start_ != nullptr) {
2871 delete start_;
2872 }
2873 start_ = nullptr;
2874 if (GetArenaForAllocation() == nullptr && end_ != nullptr) {
2875 delete end_;
2876 }
2877 end_ = nullptr;
2878 if (GetArenaForAllocation() == nullptr && size_ != nullptr) {
2879 delete size_;
2880 }
2881 size_ = nullptr;
2882 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2883}
2884
2885const char* IntervalConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
2886#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
2887 while (!ctx->Done(&ptr)) {
2888 uint32_t tag;
2889 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
2890 switch (tag >> 3) {
2891 // .operations_research.sat.LinearExpressionProto start = 4;
2892 case 4:
2893 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
2894 ptr = ctx->ParseMessage(_internal_mutable_start(), ptr);
2895 CHK_(ptr);
2896 } else
2897 goto handle_unusual;
2898 continue;
2899 // .operations_research.sat.LinearExpressionProto end = 5;
2900 case 5:
2901 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
2902 ptr = ctx->ParseMessage(_internal_mutable_end(), ptr);
2903 CHK_(ptr);
2904 } else
2905 goto handle_unusual;
2906 continue;
2907 // .operations_research.sat.LinearExpressionProto size = 6;
2908 case 6:
2909 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 50)) {
2910 ptr = ctx->ParseMessage(_internal_mutable_size(), ptr);
2911 CHK_(ptr);
2912 } else
2913 goto handle_unusual;
2914 continue;
2915 default:
2916 goto handle_unusual;
2917 } // switch
2918 handle_unusual:
2919 if ((tag == 0) || ((tag & 7) == 4)) {
2920 CHK_(ptr);
2921 ctx->SetLastTag(tag);
2922 goto message_done;
2923 }
2924 ptr = UnknownFieldParse(
2925 tag,
2926 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
2927 ptr, ctx);
2928 CHK_(ptr != nullptr);
2929 } // while
2930message_done:
2931 return ptr;
2932failure:
2933 ptr = nullptr;
2934 goto message_done;
2935#undef CHK_
2936}
2937
2939 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
2940 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.IntervalConstraintProto)
2941 uint32_t cached_has_bits = 0;
2942 (void) cached_has_bits;
2943
2944 // .operations_research.sat.LinearExpressionProto start = 4;
2945 if (this->_internal_has_start()) {
2946 target = stream->EnsureSpace(target);
2947 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2948 InternalWriteMessage(
2949 4, _Internal::start(this), target, stream);
2950 }
2951
2952 // .operations_research.sat.LinearExpressionProto end = 5;
2953 if (this->_internal_has_end()) {
2954 target = stream->EnsureSpace(target);
2955 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2956 InternalWriteMessage(
2957 5, _Internal::end(this), target, stream);
2958 }
2959
2960 // .operations_research.sat.LinearExpressionProto size = 6;
2961 if (this->_internal_has_size()) {
2962 target = stream->EnsureSpace(target);
2963 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2964 InternalWriteMessage(
2965 6, _Internal::size(this), target, stream);
2966 }
2967
2968 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2969 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
2970 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
2971 }
2972 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.IntervalConstraintProto)
2973 return target;
2974}
2975
2977// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.IntervalConstraintProto)
2978 size_t total_size = 0;
2979
2980 uint32_t cached_has_bits = 0;
2981 // Prevent compiler warnings about cached_has_bits being unused
2982 (void) cached_has_bits;
2983
2984 // .operations_research.sat.LinearExpressionProto start = 4;
2985 if (this->_internal_has_start()) {
2986 total_size += 1 +
2987 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2988 *start_);
2989 }
2990
2991 // .operations_research.sat.LinearExpressionProto end = 5;
2992 if (this->_internal_has_end()) {
2993 total_size += 1 +
2994 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2995 *end_);
2996 }
2997
2998 // .operations_research.sat.LinearExpressionProto size = 6;
2999 if (this->_internal_has_size()) {
3000 total_size += 1 +
3001 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
3002 *size_);
3003 }
3004
3005 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
3006}
3007
3008const ::PROTOBUF_NAMESPACE_ID::Message::ClassData IntervalConstraintProto::_class_data_ = {
3009 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
3010 IntervalConstraintProto::MergeImpl
3011};
3012const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*IntervalConstraintProto::GetClassData() const { return &_class_data_; }
3013
3014void IntervalConstraintProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
3015 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
3016 static_cast<IntervalConstraintProto *>(to)->MergeFrom(
3017 static_cast<const IntervalConstraintProto &>(from));
3018}
3019
3020
3022// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.IntervalConstraintProto)
3023 GOOGLE_DCHECK_NE(&from, this);
3024 uint32_t cached_has_bits = 0;
3025 (void) cached_has_bits;
3026
3027 if (from._internal_has_start()) {
3028 _internal_mutable_start()->::operations_research::sat::LinearExpressionProto::MergeFrom(from._internal_start());
3029 }
3030 if (from._internal_has_end()) {
3031 _internal_mutable_end()->::operations_research::sat::LinearExpressionProto::MergeFrom(from._internal_end());
3032 }
3033 if (from._internal_has_size()) {
3034 _internal_mutable_size()->::operations_research::sat::LinearExpressionProto::MergeFrom(from._internal_size());
3035 }
3036 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3037}
3038
3040// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.IntervalConstraintProto)
3041 if (&from == this) return;
3042 Clear();
3043 MergeFrom(from);
3044}
3045
3047 return true;
3048}
3049
3050void IntervalConstraintProto::InternalSwap(IntervalConstraintProto* other) {
3051 using std::swap;
3052 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
3053 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
3054 PROTOBUF_FIELD_OFFSET(IntervalConstraintProto, size_)
3055 + sizeof(IntervalConstraintProto::size_)
3056 - PROTOBUF_FIELD_OFFSET(IntervalConstraintProto, start_)>(
3057 reinterpret_cast<char*>(&start_),
3058 reinterpret_cast<char*>(&other->start_));
3059}
3060
3061::PROTOBUF_NAMESPACE_ID::Metadata IntervalConstraintProto::GetMetadata() const {
3062 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
3065}
3066
3067// ===================================================================
3068
3070 public:
3071};
3072
3073NoOverlapConstraintProto::NoOverlapConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
3074 bool is_message_owned)
3075 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
3076 intervals_(arena) {
3077 SharedCtor();
3078 if (!is_message_owned) {
3079 RegisterArenaDtor(arena);
3080 }
3081 // @@protoc_insertion_point(arena_constructor:operations_research.sat.NoOverlapConstraintProto)
3082}
3084 : ::PROTOBUF_NAMESPACE_ID::Message(),
3085 intervals_(from.intervals_) {
3086 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3087 // @@protoc_insertion_point(copy_constructor:operations_research.sat.NoOverlapConstraintProto)
3088}
3089
3090inline void NoOverlapConstraintProto::SharedCtor() {
3091}
3092
3094 // @@protoc_insertion_point(destructor:operations_research.sat.NoOverlapConstraintProto)
3095 if (GetArenaForAllocation() != nullptr) return;
3096 SharedDtor();
3097 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3098}
3099
3100inline void NoOverlapConstraintProto::SharedDtor() {
3101 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
3102}
3103
3104void NoOverlapConstraintProto::ArenaDtor(void* object) {
3105 NoOverlapConstraintProto* _this = reinterpret_cast< NoOverlapConstraintProto* >(object);
3106 (void)_this;
3107}
3108void NoOverlapConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
3109}
3110void NoOverlapConstraintProto::SetCachedSize(int size) const {
3111 _cached_size_.Set(size);
3112}
3113
3115// @@protoc_insertion_point(message_clear_start:operations_research.sat.NoOverlapConstraintProto)
3116 uint32_t cached_has_bits = 0;
3117 // Prevent compiler warnings about cached_has_bits being unused
3118 (void) cached_has_bits;
3119
3120 intervals_.Clear();
3121 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3122}
3123
3124const char* NoOverlapConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
3125#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
3126 while (!ctx->Done(&ptr)) {
3127 uint32_t tag;
3128 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
3129 switch (tag >> 3) {
3130 // repeated int32 intervals = 1;
3131 case 1:
3132 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
3133 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_intervals(), ptr, ctx);
3134 CHK_(ptr);
3135 } else if (static_cast<uint8_t>(tag) == 8) {
3136 _internal_add_intervals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&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
3165 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
3166 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.NoOverlapConstraintProto)
3167 uint32_t cached_has_bits = 0;
3168 (void) cached_has_bits;
3169
3170 // repeated int32 intervals = 1;
3171 {
3172 int byte_size = _intervals_cached_byte_size_.load(std::memory_order_relaxed);
3173 if (byte_size > 0) {
3174 target = stream->WriteInt32Packed(
3175 1, _internal_intervals(), byte_size, target);
3176 }
3177 }
3178
3179 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
3180 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
3181 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
3182 }
3183 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.NoOverlapConstraintProto)
3184 return target;
3185}
3186
3188// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.NoOverlapConstraintProto)
3189 size_t total_size = 0;
3190
3191 uint32_t cached_has_bits = 0;
3192 // Prevent compiler warnings about cached_has_bits being unused
3193 (void) cached_has_bits;
3194
3195 // repeated int32 intervals = 1;
3196 {
3197 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
3198 Int32Size(this->intervals_);
3199 if (data_size > 0) {
3200 total_size += 1 +
3201 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
3202 static_cast<int32_t>(data_size));
3203 }
3204 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
3205 _intervals_cached_byte_size_.store(cached_size,
3206 std::memory_order_relaxed);
3207 total_size += data_size;
3208 }
3209
3210 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
3211}
3212
3213const ::PROTOBUF_NAMESPACE_ID::Message::ClassData NoOverlapConstraintProto::_class_data_ = {
3214 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
3215 NoOverlapConstraintProto::MergeImpl
3216};
3217const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*NoOverlapConstraintProto::GetClassData() const { return &_class_data_; }
3218
3219void NoOverlapConstraintProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
3220 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
3221 static_cast<NoOverlapConstraintProto *>(to)->MergeFrom(
3222 static_cast<const NoOverlapConstraintProto &>(from));
3223}
3224
3225
3227// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.NoOverlapConstraintProto)
3228 GOOGLE_DCHECK_NE(&from, this);
3229 uint32_t cached_has_bits = 0;
3230 (void) cached_has_bits;
3231
3232 intervals_.MergeFrom(from.intervals_);
3233 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3234}
3235
3237// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.NoOverlapConstraintProto)
3238 if (&from == this) return;
3239 Clear();
3240 MergeFrom(from);
3241}
3242
3244 return true;
3245}
3246
3247void NoOverlapConstraintProto::InternalSwap(NoOverlapConstraintProto* other) {
3248 using std::swap;
3249 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
3250 intervals_.InternalSwap(&other->intervals_);
3251}
3252
3253::PROTOBUF_NAMESPACE_ID::Metadata NoOverlapConstraintProto::GetMetadata() const {
3254 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
3257}
3258
3259// ===================================================================
3260
3262 public:
3263};
3264
3266 bool is_message_owned)
3267 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
3268 x_intervals_(arena),
3269 y_intervals_(arena) {
3270 SharedCtor();
3271 if (!is_message_owned) {
3272 RegisterArenaDtor(arena);
3273 }
3274 // @@protoc_insertion_point(arena_constructor:operations_research.sat.NoOverlap2DConstraintProto)
3275}
3277 : ::PROTOBUF_NAMESPACE_ID::Message(),
3278 x_intervals_(from.x_intervals_),
3279 y_intervals_(from.y_intervals_) {
3280 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3281 boxes_with_null_area_can_overlap_ = from.boxes_with_null_area_can_overlap_;
3282 // @@protoc_insertion_point(copy_constructor:operations_research.sat.NoOverlap2DConstraintProto)
3283}
3284
3285inline void NoOverlap2DConstraintProto::SharedCtor() {
3286boxes_with_null_area_can_overlap_ = false;
3287}
3288
3290 // @@protoc_insertion_point(destructor:operations_research.sat.NoOverlap2DConstraintProto)
3291 if (GetArenaForAllocation() != nullptr) return;
3292 SharedDtor();
3293 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3294}
3295
3296inline void NoOverlap2DConstraintProto::SharedDtor() {
3297 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
3298}
3299
3300void NoOverlap2DConstraintProto::ArenaDtor(void* object) {
3301 NoOverlap2DConstraintProto* _this = reinterpret_cast< NoOverlap2DConstraintProto* >(object);
3302 (void)_this;
3303}
3304void NoOverlap2DConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
3305}
3306void NoOverlap2DConstraintProto::SetCachedSize(int size) const {
3307 _cached_size_.Set(size);
3308}
3309
3311// @@protoc_insertion_point(message_clear_start:operations_research.sat.NoOverlap2DConstraintProto)
3312 uint32_t cached_has_bits = 0;
3313 // Prevent compiler warnings about cached_has_bits being unused
3314 (void) cached_has_bits;
3315
3316 x_intervals_.Clear();
3317 y_intervals_.Clear();
3318 boxes_with_null_area_can_overlap_ = false;
3319 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3320}
3321
3322const char* NoOverlap2DConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
3323#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
3324 while (!ctx->Done(&ptr)) {
3325 uint32_t tag;
3326 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
3327 switch (tag >> 3) {
3328 // repeated int32 x_intervals = 1;
3329 case 1:
3330 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
3331 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_x_intervals(), ptr, ctx);
3332 CHK_(ptr);
3333 } else if (static_cast<uint8_t>(tag) == 8) {
3334 _internal_add_x_intervals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
3335 CHK_(ptr);
3336 } else
3337 goto handle_unusual;
3338 continue;
3339 // repeated int32 y_intervals = 2;
3340 case 2:
3341 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
3342 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_y_intervals(), ptr, ctx);
3343 CHK_(ptr);
3344 } else if (static_cast<uint8_t>(tag) == 16) {
3345 _internal_add_y_intervals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
3346 CHK_(ptr);
3347 } else
3348 goto handle_unusual;
3349 continue;
3350 // bool boxes_with_null_area_can_overlap = 3;
3351 case 3:
3352 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
3353 boxes_with_null_area_can_overlap_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3354 CHK_(ptr);
3355 } else
3356 goto handle_unusual;
3357 continue;
3358 default:
3359 goto handle_unusual;
3360 } // switch
3361 handle_unusual:
3362 if ((tag == 0) || ((tag & 7) == 4)) {
3363 CHK_(ptr);
3364 ctx->SetLastTag(tag);
3365 goto message_done;
3366 }
3367 ptr = UnknownFieldParse(
3368 tag,
3369 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
3370 ptr, ctx);
3371 CHK_(ptr != nullptr);
3372 } // while
3373message_done:
3374 return ptr;
3375failure:
3376 ptr = nullptr;
3377 goto message_done;
3378#undef CHK_
3379}
3380
3382 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
3383 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.NoOverlap2DConstraintProto)
3384 uint32_t cached_has_bits = 0;
3385 (void) cached_has_bits;
3386
3387 // repeated int32 x_intervals = 1;
3388 {
3389 int byte_size = _x_intervals_cached_byte_size_.load(std::memory_order_relaxed);
3390 if (byte_size > 0) {
3391 target = stream->WriteInt32Packed(
3392 1, _internal_x_intervals(), byte_size, target);
3393 }
3394 }
3395
3396 // repeated int32 y_intervals = 2;
3397 {
3398 int byte_size = _y_intervals_cached_byte_size_.load(std::memory_order_relaxed);
3399 if (byte_size > 0) {
3400 target = stream->WriteInt32Packed(
3401 2, _internal_y_intervals(), byte_size, target);
3402 }
3403 }
3404
3405 // bool boxes_with_null_area_can_overlap = 3;
3406 if (this->_internal_boxes_with_null_area_can_overlap() != 0) {
3407 target = stream->EnsureSpace(target);
3408 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_boxes_with_null_area_can_overlap(), target);
3409 }
3410
3411 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
3412 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
3413 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
3414 }
3415 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.NoOverlap2DConstraintProto)
3416 return target;
3417}
3418
3420// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.NoOverlap2DConstraintProto)
3421 size_t total_size = 0;
3422
3423 uint32_t cached_has_bits = 0;
3424 // Prevent compiler warnings about cached_has_bits being unused
3425 (void) cached_has_bits;
3426
3427 // repeated int32 x_intervals = 1;
3428 {
3429 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
3430 Int32Size(this->x_intervals_);
3431 if (data_size > 0) {
3432 total_size += 1 +
3433 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
3434 static_cast<int32_t>(data_size));
3435 }
3436 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
3437 _x_intervals_cached_byte_size_.store(cached_size,
3438 std::memory_order_relaxed);
3439 total_size += data_size;
3440 }
3441
3442 // repeated int32 y_intervals = 2;
3443 {
3444 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
3445 Int32Size(this->y_intervals_);
3446 if (data_size > 0) {
3447 total_size += 1 +
3448 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
3449 static_cast<int32_t>(data_size));
3450 }
3451 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
3452 _y_intervals_cached_byte_size_.store(cached_size,
3453 std::memory_order_relaxed);
3454 total_size += data_size;
3455 }
3456
3457 // bool boxes_with_null_area_can_overlap = 3;
3458 if (this->_internal_boxes_with_null_area_can_overlap() != 0) {
3459 total_size += 1 + 1;
3460 }
3461
3462 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
3463}
3464
3465const ::PROTOBUF_NAMESPACE_ID::Message::ClassData NoOverlap2DConstraintProto::_class_data_ = {
3466 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
3467 NoOverlap2DConstraintProto::MergeImpl
3468};
3469const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*NoOverlap2DConstraintProto::GetClassData() const { return &_class_data_; }
3470
3471void NoOverlap2DConstraintProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
3472 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
3473 static_cast<NoOverlap2DConstraintProto *>(to)->MergeFrom(
3474 static_cast<const NoOverlap2DConstraintProto &>(from));
3475}
3476
3477
3479// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.NoOverlap2DConstraintProto)
3480 GOOGLE_DCHECK_NE(&from, this);
3481 uint32_t cached_has_bits = 0;
3482 (void) cached_has_bits;
3483
3484 x_intervals_.MergeFrom(from.x_intervals_);
3485 y_intervals_.MergeFrom(from.y_intervals_);
3486 if (from._internal_boxes_with_null_area_can_overlap() != 0) {
3487 _internal_set_boxes_with_null_area_can_overlap(from._internal_boxes_with_null_area_can_overlap());
3488 }
3489 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3490}
3491
3493// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.NoOverlap2DConstraintProto)
3494 if (&from == this) return;
3495 Clear();
3496 MergeFrom(from);
3497}
3498
3500 return true;
3501}
3502
3503void NoOverlap2DConstraintProto::InternalSwap(NoOverlap2DConstraintProto* other) {
3504 using std::swap;
3505 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
3506 x_intervals_.InternalSwap(&other->x_intervals_);
3507 y_intervals_.InternalSwap(&other->y_intervals_);
3508 swap(boxes_with_null_area_can_overlap_, other->boxes_with_null_area_can_overlap_);
3509}
3510
3511::PROTOBUF_NAMESPACE_ID::Metadata NoOverlap2DConstraintProto::GetMetadata() const {
3512 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
3515}
3516
3517// ===================================================================
3518
3520 public:
3521 static const ::operations_research::sat::LinearExpressionProto& capacity(const CumulativeConstraintProto* msg);
3522};
3523
3524const ::operations_research::sat::LinearExpressionProto&
3526 return *msg->capacity_;
3527}
3528CumulativeConstraintProto::CumulativeConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
3529 bool is_message_owned)
3530 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
3531 intervals_(arena),
3532 demands_(arena) {
3533 SharedCtor();
3534 if (!is_message_owned) {
3535 RegisterArenaDtor(arena);
3536 }
3537 // @@protoc_insertion_point(arena_constructor:operations_research.sat.CumulativeConstraintProto)
3538}
3540 : ::PROTOBUF_NAMESPACE_ID::Message(),
3541 intervals_(from.intervals_),
3542 demands_(from.demands_) {
3543 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3544 if (from._internal_has_capacity()) {
3545 capacity_ = new ::operations_research::sat::LinearExpressionProto(*from.capacity_);
3546 } else {
3547 capacity_ = nullptr;
3548 }
3549 // @@protoc_insertion_point(copy_constructor:operations_research.sat.CumulativeConstraintProto)
3550}
3551
3552inline void CumulativeConstraintProto::SharedCtor() {
3553capacity_ = nullptr;
3554}
3555
3557 // @@protoc_insertion_point(destructor:operations_research.sat.CumulativeConstraintProto)
3558 if (GetArenaForAllocation() != nullptr) return;
3559 SharedDtor();
3560 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3561}
3562
3563inline void CumulativeConstraintProto::SharedDtor() {
3564 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
3565 if (this != internal_default_instance()) delete capacity_;
3566}
3567
3568void CumulativeConstraintProto::ArenaDtor(void* object) {
3569 CumulativeConstraintProto* _this = reinterpret_cast< CumulativeConstraintProto* >(object);
3570 (void)_this;
3571}
3572void CumulativeConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
3573}
3574void CumulativeConstraintProto::SetCachedSize(int size) const {
3575 _cached_size_.Set(size);
3576}
3577
3579// @@protoc_insertion_point(message_clear_start:operations_research.sat.CumulativeConstraintProto)
3580 uint32_t cached_has_bits = 0;
3581 // Prevent compiler warnings about cached_has_bits being unused
3582 (void) cached_has_bits;
3583
3584 intervals_.Clear();
3585 demands_.Clear();
3586 if (GetArenaForAllocation() == nullptr && capacity_ != nullptr) {
3587 delete capacity_;
3588 }
3589 capacity_ = nullptr;
3590 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3591}
3592
3593const char* CumulativeConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
3594#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
3595 while (!ctx->Done(&ptr)) {
3596 uint32_t tag;
3597 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
3598 switch (tag >> 3) {
3599 // .operations_research.sat.LinearExpressionProto capacity = 1;
3600 case 1:
3601 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
3602 ptr = ctx->ParseMessage(_internal_mutable_capacity(), ptr);
3603 CHK_(ptr);
3604 } else
3605 goto handle_unusual;
3606 continue;
3607 // repeated int32 intervals = 2;
3608 case 2:
3609 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
3610 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_intervals(), ptr, ctx);
3611 CHK_(ptr);
3612 } else if (static_cast<uint8_t>(tag) == 16) {
3613 _internal_add_intervals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
3614 CHK_(ptr);
3615 } else
3616 goto handle_unusual;
3617 continue;
3618 // repeated .operations_research.sat.LinearExpressionProto demands = 3;
3619 case 3:
3620 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
3621 ptr -= 1;
3622 do {
3623 ptr += 1;
3624 ptr = ctx->ParseMessage(_internal_add_demands(), ptr);
3625 CHK_(ptr);
3626 if (!ctx->DataAvailable(ptr)) break;
3627 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
3628 } else
3629 goto handle_unusual;
3630 continue;
3631 default:
3632 goto handle_unusual;
3633 } // switch
3634 handle_unusual:
3635 if ((tag == 0) || ((tag & 7) == 4)) {
3636 CHK_(ptr);
3637 ctx->SetLastTag(tag);
3638 goto message_done;
3639 }
3640 ptr = UnknownFieldParse(
3641 tag,
3642 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
3643 ptr, ctx);
3644 CHK_(ptr != nullptr);
3645 } // while
3646message_done:
3647 return ptr;
3648failure:
3649 ptr = nullptr;
3650 goto message_done;
3651#undef CHK_
3652}
3653
3655 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
3656 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.CumulativeConstraintProto)
3657 uint32_t cached_has_bits = 0;
3658 (void) cached_has_bits;
3659
3660 // .operations_research.sat.LinearExpressionProto capacity = 1;
3661 if (this->_internal_has_capacity()) {
3662 target = stream->EnsureSpace(target);
3663 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
3664 InternalWriteMessage(
3665 1, _Internal::capacity(this), target, stream);
3666 }
3667
3668 // repeated int32 intervals = 2;
3669 {
3670 int byte_size = _intervals_cached_byte_size_.load(std::memory_order_relaxed);
3671 if (byte_size > 0) {
3672 target = stream->WriteInt32Packed(
3673 2, _internal_intervals(), byte_size, target);
3674 }
3675 }
3676
3677 // repeated .operations_research.sat.LinearExpressionProto demands = 3;
3678 for (unsigned int i = 0,
3679 n = static_cast<unsigned int>(this->_internal_demands_size()); i < n; i++) {
3680 target = stream->EnsureSpace(target);
3681 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
3682 InternalWriteMessage(3, this->_internal_demands(i), target, stream);
3683 }
3684
3685 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
3686 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
3687 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
3688 }
3689 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.CumulativeConstraintProto)
3690 return target;
3691}
3692
3694// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.CumulativeConstraintProto)
3695 size_t total_size = 0;
3696
3697 uint32_t cached_has_bits = 0;
3698 // Prevent compiler warnings about cached_has_bits being unused
3699 (void) cached_has_bits;
3700
3701 // repeated int32 intervals = 2;
3702 {
3703 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
3704 Int32Size(this->intervals_);
3705 if (data_size > 0) {
3706 total_size += 1 +
3707 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
3708 static_cast<int32_t>(data_size));
3709 }
3710 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
3711 _intervals_cached_byte_size_.store(cached_size,
3712 std::memory_order_relaxed);
3713 total_size += data_size;
3714 }
3715
3716 // repeated .operations_research.sat.LinearExpressionProto demands = 3;
3717 total_size += 1UL * this->_internal_demands_size();
3718 for (const auto& msg : this->demands_) {
3719 total_size +=
3720 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
3721 }
3722
3723 // .operations_research.sat.LinearExpressionProto capacity = 1;
3724 if (this->_internal_has_capacity()) {
3725 total_size += 1 +
3726 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
3727 *capacity_);
3728 }
3729
3730 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
3731}
3732
3733const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CumulativeConstraintProto::_class_data_ = {
3734 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
3735 CumulativeConstraintProto::MergeImpl
3736};
3737const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CumulativeConstraintProto::GetClassData() const { return &_class_data_; }
3738
3739void CumulativeConstraintProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
3740 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
3741 static_cast<CumulativeConstraintProto *>(to)->MergeFrom(
3742 static_cast<const CumulativeConstraintProto &>(from));
3743}
3744
3745
3747// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.CumulativeConstraintProto)
3748 GOOGLE_DCHECK_NE(&from, this);
3749 uint32_t cached_has_bits = 0;
3750 (void) cached_has_bits;
3751
3752 intervals_.MergeFrom(from.intervals_);
3753 demands_.MergeFrom(from.demands_);
3754 if (from._internal_has_capacity()) {
3755 _internal_mutable_capacity()->::operations_research::sat::LinearExpressionProto::MergeFrom(from._internal_capacity());
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.CumulativeConstraintProto)
3762 if (&from == this) return;
3763 Clear();
3764 MergeFrom(from);
3765}
3766
3768 return true;
3769}
3770
3771void CumulativeConstraintProto::InternalSwap(CumulativeConstraintProto* other) {
3772 using std::swap;
3773 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
3774 intervals_.InternalSwap(&other->intervals_);
3775 demands_.InternalSwap(&other->demands_);
3776 swap(capacity_, other->capacity_);
3777}
3778
3779::PROTOBUF_NAMESPACE_ID::Metadata CumulativeConstraintProto::GetMetadata() const {
3780 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
3783}
3784
3785// ===================================================================
3786
3788 public:
3789};
3790
3791ReservoirConstraintProto::ReservoirConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
3792 bool is_message_owned)
3793 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
3794 time_exprs_(arena),
3795 level_changes_(arena),
3796 active_literals_(arena) {
3797 SharedCtor();
3798 if (!is_message_owned) {
3799 RegisterArenaDtor(arena);
3800 }
3801 // @@protoc_insertion_point(arena_constructor:operations_research.sat.ReservoirConstraintProto)
3802}
3804 : ::PROTOBUF_NAMESPACE_ID::Message(),
3805 time_exprs_(from.time_exprs_),
3806 level_changes_(from.level_changes_),
3807 active_literals_(from.active_literals_) {
3808 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3809 ::memcpy(&min_level_, &from.min_level_,
3810 static_cast<size_t>(reinterpret_cast<char*>(&max_level_) -
3811 reinterpret_cast<char*>(&min_level_)) + sizeof(max_level_));
3812 // @@protoc_insertion_point(copy_constructor:operations_research.sat.ReservoirConstraintProto)
3813}
3814
3815inline void ReservoirConstraintProto::SharedCtor() {
3816::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
3817 reinterpret_cast<char*>(&min_level_) - reinterpret_cast<char*>(this)),
3818 0, static_cast<size_t>(reinterpret_cast<char*>(&max_level_) -
3819 reinterpret_cast<char*>(&min_level_)) + sizeof(max_level_));
3820}
3821
3823 // @@protoc_insertion_point(destructor:operations_research.sat.ReservoirConstraintProto)
3824 if (GetArenaForAllocation() != nullptr) return;
3825 SharedDtor();
3826 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3827}
3828
3829inline void ReservoirConstraintProto::SharedDtor() {
3830 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
3831}
3832
3833void ReservoirConstraintProto::ArenaDtor(void* object) {
3834 ReservoirConstraintProto* _this = reinterpret_cast< ReservoirConstraintProto* >(object);
3835 (void)_this;
3836}
3837void ReservoirConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
3838}
3839void ReservoirConstraintProto::SetCachedSize(int size) const {
3840 _cached_size_.Set(size);
3841}
3842
3844// @@protoc_insertion_point(message_clear_start:operations_research.sat.ReservoirConstraintProto)
3845 uint32_t cached_has_bits = 0;
3846 // Prevent compiler warnings about cached_has_bits being unused
3847 (void) cached_has_bits;
3848
3849 time_exprs_.Clear();
3850 level_changes_.Clear();
3851 active_literals_.Clear();
3852 ::memset(&min_level_, 0, static_cast<size_t>(
3853 reinterpret_cast<char*>(&max_level_) -
3854 reinterpret_cast<char*>(&min_level_)) + sizeof(max_level_));
3855 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3856}
3857
3858const char* ReservoirConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
3859#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
3860 while (!ctx->Done(&ptr)) {
3861 uint32_t tag;
3862 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
3863 switch (tag >> 3) {
3864 // int64 min_level = 1;
3865 case 1:
3866 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
3867 min_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3868 CHK_(ptr);
3869 } else
3870 goto handle_unusual;
3871 continue;
3872 // int64 max_level = 2;
3873 case 2:
3874 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
3875 max_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3876 CHK_(ptr);
3877 } else
3878 goto handle_unusual;
3879 continue;
3880 // repeated .operations_research.sat.LinearExpressionProto time_exprs = 3;
3881 case 3:
3882 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
3883 ptr -= 1;
3884 do {
3885 ptr += 1;
3886 ptr = ctx->ParseMessage(_internal_add_time_exprs(), ptr);
3887 CHK_(ptr);
3888 if (!ctx->DataAvailable(ptr)) break;
3889 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
3890 } else
3891 goto handle_unusual;
3892 continue;
3893 // repeated int64 level_changes = 4;
3894 case 4:
3895 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
3896 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_level_changes(), ptr, ctx);
3897 CHK_(ptr);
3898 } else if (static_cast<uint8_t>(tag) == 32) {
3899 _internal_add_level_changes(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
3900 CHK_(ptr);
3901 } else
3902 goto handle_unusual;
3903 continue;
3904 // repeated int32 active_literals = 5;
3905 case 5:
3906 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
3907 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_active_literals(), ptr, ctx);
3908 CHK_(ptr);
3909 } else if (static_cast<uint8_t>(tag) == 40) {
3910 _internal_add_active_literals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
3911 CHK_(ptr);
3912 } else
3913 goto handle_unusual;
3914 continue;
3915 default:
3916 goto handle_unusual;
3917 } // switch
3918 handle_unusual:
3919 if ((tag == 0) || ((tag & 7) == 4)) {
3920 CHK_(ptr);
3921 ctx->SetLastTag(tag);
3922 goto message_done;
3923 }
3924 ptr = UnknownFieldParse(
3925 tag,
3926 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
3927 ptr, ctx);
3928 CHK_(ptr != nullptr);
3929 } // while
3930message_done:
3931 return ptr;
3932failure:
3933 ptr = nullptr;
3934 goto message_done;
3935#undef CHK_
3936}
3937
3939 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
3940 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.ReservoirConstraintProto)
3941 uint32_t cached_has_bits = 0;
3942 (void) cached_has_bits;
3943
3944 // int64 min_level = 1;
3945 if (this->_internal_min_level() != 0) {
3946 target = stream->EnsureSpace(target);
3947 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(1, this->_internal_min_level(), target);
3948 }
3949
3950 // int64 max_level = 2;
3951 if (this->_internal_max_level() != 0) {
3952 target = stream->EnsureSpace(target);
3953 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->_internal_max_level(), target);
3954 }
3955
3956 // repeated .operations_research.sat.LinearExpressionProto time_exprs = 3;
3957 for (unsigned int i = 0,
3958 n = static_cast<unsigned int>(this->_internal_time_exprs_size()); i < n; i++) {
3959 target = stream->EnsureSpace(target);
3960 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
3961 InternalWriteMessage(3, this->_internal_time_exprs(i), target, stream);
3962 }
3963
3964 // repeated int64 level_changes = 4;
3965 {
3966 int byte_size = _level_changes_cached_byte_size_.load(std::memory_order_relaxed);
3967 if (byte_size > 0) {
3968 target = stream->WriteInt64Packed(
3969 4, _internal_level_changes(), byte_size, target);
3970 }
3971 }
3972
3973 // repeated int32 active_literals = 5;
3974 {
3975 int byte_size = _active_literals_cached_byte_size_.load(std::memory_order_relaxed);
3976 if (byte_size > 0) {
3977 target = stream->WriteInt32Packed(
3978 5, _internal_active_literals(), byte_size, target);
3979 }
3980 }
3981
3982 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
3983 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
3984 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
3985 }
3986 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.ReservoirConstraintProto)
3987 return target;
3988}
3989
3991// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.ReservoirConstraintProto)
3992 size_t total_size = 0;
3993
3994 uint32_t cached_has_bits = 0;
3995 // Prevent compiler warnings about cached_has_bits being unused
3996 (void) cached_has_bits;
3997
3998 // repeated .operations_research.sat.LinearExpressionProto time_exprs = 3;
3999 total_size += 1UL * this->_internal_time_exprs_size();
4000 for (const auto& msg : this->time_exprs_) {
4001 total_size +=
4002 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
4003 }
4004
4005 // repeated int64 level_changes = 4;
4006 {
4007 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4008 Int64Size(this->level_changes_);
4009 if (data_size > 0) {
4010 total_size += 1 +
4011 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4012 static_cast<int32_t>(data_size));
4013 }
4014 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4015 _level_changes_cached_byte_size_.store(cached_size,
4016 std::memory_order_relaxed);
4017 total_size += data_size;
4018 }
4019
4020 // repeated int32 active_literals = 5;
4021 {
4022 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4023 Int32Size(this->active_literals_);
4024 if (data_size > 0) {
4025 total_size += 1 +
4026 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4027 static_cast<int32_t>(data_size));
4028 }
4029 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4030 _active_literals_cached_byte_size_.store(cached_size,
4031 std::memory_order_relaxed);
4032 total_size += data_size;
4033 }
4034
4035 // int64 min_level = 1;
4036 if (this->_internal_min_level() != 0) {
4037 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_min_level());
4038 }
4039
4040 // int64 max_level = 2;
4041 if (this->_internal_max_level() != 0) {
4042 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_max_level());
4043 }
4044
4045 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
4046}
4047
4048const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ReservoirConstraintProto::_class_data_ = {
4049 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
4050 ReservoirConstraintProto::MergeImpl
4051};
4052const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ReservoirConstraintProto::GetClassData() const { return &_class_data_; }
4053
4054void ReservoirConstraintProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
4055 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
4056 static_cast<ReservoirConstraintProto *>(to)->MergeFrom(
4057 static_cast<const ReservoirConstraintProto &>(from));
4058}
4059
4060
4062// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.ReservoirConstraintProto)
4063 GOOGLE_DCHECK_NE(&from, this);
4064 uint32_t cached_has_bits = 0;
4065 (void) cached_has_bits;
4066
4067 time_exprs_.MergeFrom(from.time_exprs_);
4068 level_changes_.MergeFrom(from.level_changes_);
4069 active_literals_.MergeFrom(from.active_literals_);
4070 if (from._internal_min_level() != 0) {
4071 _internal_set_min_level(from._internal_min_level());
4072 }
4073 if (from._internal_max_level() != 0) {
4074 _internal_set_max_level(from._internal_max_level());
4075 }
4076 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
4077}
4078
4080// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.ReservoirConstraintProto)
4081 if (&from == this) return;
4082 Clear();
4083 MergeFrom(from);
4084}
4085
4087 return true;
4088}
4089
4090void ReservoirConstraintProto::InternalSwap(ReservoirConstraintProto* other) {
4091 using std::swap;
4092 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
4093 time_exprs_.InternalSwap(&other->time_exprs_);
4094 level_changes_.InternalSwap(&other->level_changes_);
4095 active_literals_.InternalSwap(&other->active_literals_);
4096 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
4097 PROTOBUF_FIELD_OFFSET(ReservoirConstraintProto, max_level_)
4098 + sizeof(ReservoirConstraintProto::max_level_)
4099 - PROTOBUF_FIELD_OFFSET(ReservoirConstraintProto, min_level_)>(
4100 reinterpret_cast<char*>(&min_level_),
4101 reinterpret_cast<char*>(&other->min_level_));
4102}
4103
4104::PROTOBUF_NAMESPACE_ID::Metadata ReservoirConstraintProto::GetMetadata() const {
4105 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
4108}
4109
4110// ===================================================================
4111
4113 public:
4114};
4115
4116CircuitConstraintProto::CircuitConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
4117 bool is_message_owned)
4118 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
4119 tails_(arena),
4120 heads_(arena),
4121 literals_(arena) {
4122 SharedCtor();
4123 if (!is_message_owned) {
4124 RegisterArenaDtor(arena);
4125 }
4126 // @@protoc_insertion_point(arena_constructor:operations_research.sat.CircuitConstraintProto)
4127}
4129 : ::PROTOBUF_NAMESPACE_ID::Message(),
4130 tails_(from.tails_),
4131 heads_(from.heads_),
4132 literals_(from.literals_) {
4133 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
4134 // @@protoc_insertion_point(copy_constructor:operations_research.sat.CircuitConstraintProto)
4135}
4136
4137inline void CircuitConstraintProto::SharedCtor() {
4138}
4139
4141 // @@protoc_insertion_point(destructor:operations_research.sat.CircuitConstraintProto)
4142 if (GetArenaForAllocation() != nullptr) return;
4143 SharedDtor();
4144 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4145}
4146
4147inline void CircuitConstraintProto::SharedDtor() {
4148 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
4149}
4150
4151void CircuitConstraintProto::ArenaDtor(void* object) {
4152 CircuitConstraintProto* _this = reinterpret_cast< CircuitConstraintProto* >(object);
4153 (void)_this;
4154}
4155void CircuitConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
4156}
4157void CircuitConstraintProto::SetCachedSize(int size) const {
4158 _cached_size_.Set(size);
4159}
4160
4162// @@protoc_insertion_point(message_clear_start:operations_research.sat.CircuitConstraintProto)
4163 uint32_t cached_has_bits = 0;
4164 // Prevent compiler warnings about cached_has_bits being unused
4165 (void) cached_has_bits;
4166
4167 tails_.Clear();
4168 heads_.Clear();
4169 literals_.Clear();
4170 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4171}
4172
4173const char* CircuitConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
4174#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
4175 while (!ctx->Done(&ptr)) {
4176 uint32_t tag;
4177 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
4178 switch (tag >> 3) {
4179 // repeated int32 tails = 3;
4180 case 3:
4181 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
4182 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_tails(), ptr, ctx);
4183 CHK_(ptr);
4184 } else if (static_cast<uint8_t>(tag) == 24) {
4185 _internal_add_tails(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
4186 CHK_(ptr);
4187 } else
4188 goto handle_unusual;
4189 continue;
4190 // repeated int32 heads = 4;
4191 case 4:
4192 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
4193 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_heads(), ptr, ctx);
4194 CHK_(ptr);
4195 } else if (static_cast<uint8_t>(tag) == 32) {
4196 _internal_add_heads(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
4197 CHK_(ptr);
4198 } else
4199 goto handle_unusual;
4200 continue;
4201 // repeated int32 literals = 5;
4202 case 5:
4203 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
4204 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_literals(), ptr, ctx);
4205 CHK_(ptr);
4206 } else if (static_cast<uint8_t>(tag) == 40) {
4207 _internal_add_literals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
4208 CHK_(ptr);
4209 } else
4210 goto handle_unusual;
4211 continue;
4212 default:
4213 goto handle_unusual;
4214 } // switch
4215 handle_unusual:
4216 if ((tag == 0) || ((tag & 7) == 4)) {
4217 CHK_(ptr);
4218 ctx->SetLastTag(tag);
4219 goto message_done;
4220 }
4221 ptr = UnknownFieldParse(
4222 tag,
4223 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
4224 ptr, ctx);
4225 CHK_(ptr != nullptr);
4226 } // while
4227message_done:
4228 return ptr;
4229failure:
4230 ptr = nullptr;
4231 goto message_done;
4232#undef CHK_
4233}
4234
4236 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
4237 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.CircuitConstraintProto)
4238 uint32_t cached_has_bits = 0;
4239 (void) cached_has_bits;
4240
4241 // repeated int32 tails = 3;
4242 {
4243 int byte_size = _tails_cached_byte_size_.load(std::memory_order_relaxed);
4244 if (byte_size > 0) {
4245 target = stream->WriteInt32Packed(
4246 3, _internal_tails(), byte_size, target);
4247 }
4248 }
4249
4250 // repeated int32 heads = 4;
4251 {
4252 int byte_size = _heads_cached_byte_size_.load(std::memory_order_relaxed);
4253 if (byte_size > 0) {
4254 target = stream->WriteInt32Packed(
4255 4, _internal_heads(), byte_size, target);
4256 }
4257 }
4258
4259 // repeated int32 literals = 5;
4260 {
4261 int byte_size = _literals_cached_byte_size_.load(std::memory_order_relaxed);
4262 if (byte_size > 0) {
4263 target = stream->WriteInt32Packed(
4264 5, _internal_literals(), byte_size, target);
4265 }
4266 }
4267
4268 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
4269 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
4270 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
4271 }
4272 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.CircuitConstraintProto)
4273 return target;
4274}
4275
4277// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.CircuitConstraintProto)
4278 size_t total_size = 0;
4279
4280 uint32_t cached_has_bits = 0;
4281 // Prevent compiler warnings about cached_has_bits being unused
4282 (void) cached_has_bits;
4283
4284 // repeated int32 tails = 3;
4285 {
4286 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4287 Int32Size(this->tails_);
4288 if (data_size > 0) {
4289 total_size += 1 +
4290 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4291 static_cast<int32_t>(data_size));
4292 }
4293 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4294 _tails_cached_byte_size_.store(cached_size,
4295 std::memory_order_relaxed);
4296 total_size += data_size;
4297 }
4298
4299 // repeated int32 heads = 4;
4300 {
4301 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4302 Int32Size(this->heads_);
4303 if (data_size > 0) {
4304 total_size += 1 +
4305 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4306 static_cast<int32_t>(data_size));
4307 }
4308 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4309 _heads_cached_byte_size_.store(cached_size,
4310 std::memory_order_relaxed);
4311 total_size += data_size;
4312 }
4313
4314 // repeated int32 literals = 5;
4315 {
4316 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4317 Int32Size(this->literals_);
4318 if (data_size > 0) {
4319 total_size += 1 +
4320 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4321 static_cast<int32_t>(data_size));
4322 }
4323 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4324 _literals_cached_byte_size_.store(cached_size,
4325 std::memory_order_relaxed);
4326 total_size += data_size;
4327 }
4328
4329 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
4330}
4331
4332const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CircuitConstraintProto::_class_data_ = {
4333 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
4334 CircuitConstraintProto::MergeImpl
4335};
4336const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CircuitConstraintProto::GetClassData() const { return &_class_data_; }
4337
4338void CircuitConstraintProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
4339 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
4340 static_cast<CircuitConstraintProto *>(to)->MergeFrom(
4341 static_cast<const CircuitConstraintProto &>(from));
4342}
4343
4344
4346// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.CircuitConstraintProto)
4347 GOOGLE_DCHECK_NE(&from, this);
4348 uint32_t cached_has_bits = 0;
4349 (void) cached_has_bits;
4350
4351 tails_.MergeFrom(from.tails_);
4352 heads_.MergeFrom(from.heads_);
4353 literals_.MergeFrom(from.literals_);
4354 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
4355}
4356
4358// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.CircuitConstraintProto)
4359 if (&from == this) return;
4360 Clear();
4361 MergeFrom(from);
4362}
4363
4365 return true;
4366}
4367
4368void CircuitConstraintProto::InternalSwap(CircuitConstraintProto* other) {
4369 using std::swap;
4370 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
4371 tails_.InternalSwap(&other->tails_);
4372 heads_.InternalSwap(&other->heads_);
4373 literals_.InternalSwap(&other->literals_);
4374}
4375
4376::PROTOBUF_NAMESPACE_ID::Metadata CircuitConstraintProto::GetMetadata() const {
4377 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
4380}
4381
4382// ===================================================================
4383
4385 public:
4386};
4387
4388RoutesConstraintProto::RoutesConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
4389 bool is_message_owned)
4390 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
4391 tails_(arena),
4392 heads_(arena),
4393 literals_(arena),
4394 demands_(arena) {
4395 SharedCtor();
4396 if (!is_message_owned) {
4397 RegisterArenaDtor(arena);
4398 }
4399 // @@protoc_insertion_point(arena_constructor:operations_research.sat.RoutesConstraintProto)
4400}
4402 : ::PROTOBUF_NAMESPACE_ID::Message(),
4403 tails_(from.tails_),
4404 heads_(from.heads_),
4405 literals_(from.literals_),
4406 demands_(from.demands_) {
4407 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
4408 capacity_ = from.capacity_;
4409 // @@protoc_insertion_point(copy_constructor:operations_research.sat.RoutesConstraintProto)
4410}
4411
4412inline void RoutesConstraintProto::SharedCtor() {
4413capacity_ = int64_t{0};
4414}
4415
4417 // @@protoc_insertion_point(destructor:operations_research.sat.RoutesConstraintProto)
4418 if (GetArenaForAllocation() != nullptr) return;
4419 SharedDtor();
4420 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4421}
4422
4423inline void RoutesConstraintProto::SharedDtor() {
4424 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
4425}
4426
4427void RoutesConstraintProto::ArenaDtor(void* object) {
4428 RoutesConstraintProto* _this = reinterpret_cast< RoutesConstraintProto* >(object);
4429 (void)_this;
4430}
4431void RoutesConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
4432}
4433void RoutesConstraintProto::SetCachedSize(int size) const {
4434 _cached_size_.Set(size);
4435}
4436
4438// @@protoc_insertion_point(message_clear_start:operations_research.sat.RoutesConstraintProto)
4439 uint32_t cached_has_bits = 0;
4440 // Prevent compiler warnings about cached_has_bits being unused
4441 (void) cached_has_bits;
4442
4443 tails_.Clear();
4444 heads_.Clear();
4445 literals_.Clear();
4446 demands_.Clear();
4447 capacity_ = int64_t{0};
4448 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4449}
4450
4451const char* RoutesConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
4452#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
4453 while (!ctx->Done(&ptr)) {
4454 uint32_t tag;
4455 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
4456 switch (tag >> 3) {
4457 // repeated int32 tails = 1;
4458 case 1:
4459 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
4460 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_tails(), ptr, ctx);
4461 CHK_(ptr);
4462 } else if (static_cast<uint8_t>(tag) == 8) {
4463 _internal_add_tails(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
4464 CHK_(ptr);
4465 } else
4466 goto handle_unusual;
4467 continue;
4468 // repeated int32 heads = 2;
4469 case 2:
4470 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
4471 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_heads(), ptr, ctx);
4472 CHK_(ptr);
4473 } else if (static_cast<uint8_t>(tag) == 16) {
4474 _internal_add_heads(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
4475 CHK_(ptr);
4476 } else
4477 goto handle_unusual;
4478 continue;
4479 // repeated int32 literals = 3;
4480 case 3:
4481 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
4482 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_literals(), ptr, ctx);
4483 CHK_(ptr);
4484 } else if (static_cast<uint8_t>(tag) == 24) {
4485 _internal_add_literals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
4486 CHK_(ptr);
4487 } else
4488 goto handle_unusual;
4489 continue;
4490 // repeated int32 demands = 4;
4491 case 4:
4492 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
4493 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_demands(), ptr, ctx);
4494 CHK_(ptr);
4495 } else if (static_cast<uint8_t>(tag) == 32) {
4496 _internal_add_demands(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
4497 CHK_(ptr);
4498 } else
4499 goto handle_unusual;
4500 continue;
4501 // int64 capacity = 5;
4502 case 5:
4503 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
4504 capacity_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
4505 CHK_(ptr);
4506 } else
4507 goto handle_unusual;
4508 continue;
4509 default:
4510 goto handle_unusual;
4511 } // switch
4512 handle_unusual:
4513 if ((tag == 0) || ((tag & 7) == 4)) {
4514 CHK_(ptr);
4515 ctx->SetLastTag(tag);
4516 goto message_done;
4517 }
4518 ptr = UnknownFieldParse(
4519 tag,
4520 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
4521 ptr, ctx);
4522 CHK_(ptr != nullptr);
4523 } // while
4524message_done:
4525 return ptr;
4526failure:
4527 ptr = nullptr;
4528 goto message_done;
4529#undef CHK_
4530}
4531
4533 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
4534 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.RoutesConstraintProto)
4535 uint32_t cached_has_bits = 0;
4536 (void) cached_has_bits;
4537
4538 // repeated int32 tails = 1;
4539 {
4540 int byte_size = _tails_cached_byte_size_.load(std::memory_order_relaxed);
4541 if (byte_size > 0) {
4542 target = stream->WriteInt32Packed(
4543 1, _internal_tails(), byte_size, target);
4544 }
4545 }
4546
4547 // repeated int32 heads = 2;
4548 {
4549 int byte_size = _heads_cached_byte_size_.load(std::memory_order_relaxed);
4550 if (byte_size > 0) {
4551 target = stream->WriteInt32Packed(
4552 2, _internal_heads(), byte_size, target);
4553 }
4554 }
4555
4556 // repeated int32 literals = 3;
4557 {
4558 int byte_size = _literals_cached_byte_size_.load(std::memory_order_relaxed);
4559 if (byte_size > 0) {
4560 target = stream->WriteInt32Packed(
4561 3, _internal_literals(), byte_size, target);
4562 }
4563 }
4564
4565 // repeated int32 demands = 4;
4566 {
4567 int byte_size = _demands_cached_byte_size_.load(std::memory_order_relaxed);
4568 if (byte_size > 0) {
4569 target = stream->WriteInt32Packed(
4570 4, _internal_demands(), byte_size, target);
4571 }
4572 }
4573
4574 // int64 capacity = 5;
4575 if (this->_internal_capacity() != 0) {
4576 target = stream->EnsureSpace(target);
4577 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(5, this->_internal_capacity(), target);
4578 }
4579
4580 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
4581 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
4582 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
4583 }
4584 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.RoutesConstraintProto)
4585 return target;
4586}
4587
4589// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.RoutesConstraintProto)
4590 size_t total_size = 0;
4591
4592 uint32_t cached_has_bits = 0;
4593 // Prevent compiler warnings about cached_has_bits being unused
4594 (void) cached_has_bits;
4595
4596 // repeated int32 tails = 1;
4597 {
4598 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4599 Int32Size(this->tails_);
4600 if (data_size > 0) {
4601 total_size += 1 +
4602 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4603 static_cast<int32_t>(data_size));
4604 }
4605 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4606 _tails_cached_byte_size_.store(cached_size,
4607 std::memory_order_relaxed);
4608 total_size += data_size;
4609 }
4610
4611 // repeated int32 heads = 2;
4612 {
4613 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4614 Int32Size(this->heads_);
4615 if (data_size > 0) {
4616 total_size += 1 +
4617 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4618 static_cast<int32_t>(data_size));
4619 }
4620 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4621 _heads_cached_byte_size_.store(cached_size,
4622 std::memory_order_relaxed);
4623 total_size += data_size;
4624 }
4625
4626 // repeated int32 literals = 3;
4627 {
4628 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4629 Int32Size(this->literals_);
4630 if (data_size > 0) {
4631 total_size += 1 +
4632 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4633 static_cast<int32_t>(data_size));
4634 }
4635 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4636 _literals_cached_byte_size_.store(cached_size,
4637 std::memory_order_relaxed);
4638 total_size += data_size;
4639 }
4640
4641 // repeated int32 demands = 4;
4642 {
4643 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4644 Int32Size(this->demands_);
4645 if (data_size > 0) {
4646 total_size += 1 +
4647 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4648 static_cast<int32_t>(data_size));
4649 }
4650 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4651 _demands_cached_byte_size_.store(cached_size,
4652 std::memory_order_relaxed);
4653 total_size += data_size;
4654 }
4655
4656 // int64 capacity = 5;
4657 if (this->_internal_capacity() != 0) {
4658 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_capacity());
4659 }
4660
4661 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
4662}
4663
4664const ::PROTOBUF_NAMESPACE_ID::Message::ClassData RoutesConstraintProto::_class_data_ = {
4665 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
4666 RoutesConstraintProto::MergeImpl
4667};
4668const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RoutesConstraintProto::GetClassData() const { return &_class_data_; }
4669
4670void RoutesConstraintProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
4671 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
4672 static_cast<RoutesConstraintProto *>(to)->MergeFrom(
4673 static_cast<const RoutesConstraintProto &>(from));
4674}
4675
4676
4678// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.RoutesConstraintProto)
4679 GOOGLE_DCHECK_NE(&from, this);
4680 uint32_t cached_has_bits = 0;
4681 (void) cached_has_bits;
4682
4683 tails_.MergeFrom(from.tails_);
4684 heads_.MergeFrom(from.heads_);
4685 literals_.MergeFrom(from.literals_);
4686 demands_.MergeFrom(from.demands_);
4687 if (from._internal_capacity() != 0) {
4688 _internal_set_capacity(from._internal_capacity());
4689 }
4690 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
4691}
4692
4694// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.RoutesConstraintProto)
4695 if (&from == this) return;
4696 Clear();
4697 MergeFrom(from);
4698}
4699
4701 return true;
4702}
4703
4704void RoutesConstraintProto::InternalSwap(RoutesConstraintProto* other) {
4705 using std::swap;
4706 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
4707 tails_.InternalSwap(&other->tails_);
4708 heads_.InternalSwap(&other->heads_);
4709 literals_.InternalSwap(&other->literals_);
4710 demands_.InternalSwap(&other->demands_);
4711 swap(capacity_, other->capacity_);
4712}
4713
4714::PROTOBUF_NAMESPACE_ID::Metadata RoutesConstraintProto::GetMetadata() const {
4715 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
4718}
4719
4720// ===================================================================
4721
4723 public:
4724};
4725
4726TableConstraintProto::TableConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
4727 bool is_message_owned)
4728 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
4729 vars_(arena),
4730 values_(arena) {
4731 SharedCtor();
4732 if (!is_message_owned) {
4733 RegisterArenaDtor(arena);
4734 }
4735 // @@protoc_insertion_point(arena_constructor:operations_research.sat.TableConstraintProto)
4736}
4738 : ::PROTOBUF_NAMESPACE_ID::Message(),
4739 vars_(from.vars_),
4740 values_(from.values_) {
4741 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
4742 negated_ = from.negated_;
4743 // @@protoc_insertion_point(copy_constructor:operations_research.sat.TableConstraintProto)
4744}
4745
4746inline void TableConstraintProto::SharedCtor() {
4747negated_ = false;
4748}
4749
4751 // @@protoc_insertion_point(destructor:operations_research.sat.TableConstraintProto)
4752 if (GetArenaForAllocation() != nullptr) return;
4753 SharedDtor();
4754 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4755}
4756
4757inline void TableConstraintProto::SharedDtor() {
4758 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
4759}
4760
4761void TableConstraintProto::ArenaDtor(void* object) {
4762 TableConstraintProto* _this = reinterpret_cast< TableConstraintProto* >(object);
4763 (void)_this;
4764}
4765void TableConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
4766}
4767void TableConstraintProto::SetCachedSize(int size) const {
4768 _cached_size_.Set(size);
4769}
4770
4772// @@protoc_insertion_point(message_clear_start:operations_research.sat.TableConstraintProto)
4773 uint32_t cached_has_bits = 0;
4774 // Prevent compiler warnings about cached_has_bits being unused
4775 (void) cached_has_bits;
4776
4777 vars_.Clear();
4778 values_.Clear();
4779 negated_ = false;
4780 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4781}
4782
4783const char* TableConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
4784#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
4785 while (!ctx->Done(&ptr)) {
4786 uint32_t tag;
4787 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
4788 switch (tag >> 3) {
4789 // repeated int32 vars = 1;
4790 case 1:
4791 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
4792 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_vars(), ptr, ctx);
4793 CHK_(ptr);
4794 } else if (static_cast<uint8_t>(tag) == 8) {
4795 _internal_add_vars(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
4796 CHK_(ptr);
4797 } else
4798 goto handle_unusual;
4799 continue;
4800 // repeated int64 values = 2;
4801 case 2:
4802 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
4803 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_values(), ptr, ctx);
4804 CHK_(ptr);
4805 } else if (static_cast<uint8_t>(tag) == 16) {
4806 _internal_add_values(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
4807 CHK_(ptr);
4808 } else
4809 goto handle_unusual;
4810 continue;
4811 // bool negated = 3;
4812 case 3:
4813 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
4814 negated_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
4815 CHK_(ptr);
4816 } else
4817 goto handle_unusual;
4818 continue;
4819 default:
4820 goto handle_unusual;
4821 } // switch
4822 handle_unusual:
4823 if ((tag == 0) || ((tag & 7) == 4)) {
4824 CHK_(ptr);
4825 ctx->SetLastTag(tag);
4826 goto message_done;
4827 }
4828 ptr = UnknownFieldParse(
4829 tag,
4830 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
4831 ptr, ctx);
4832 CHK_(ptr != nullptr);
4833 } // while
4834message_done:
4835 return ptr;
4836failure:
4837 ptr = nullptr;
4838 goto message_done;
4839#undef CHK_
4840}
4841
4843 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
4844 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.TableConstraintProto)
4845 uint32_t cached_has_bits = 0;
4846 (void) cached_has_bits;
4847
4848 // repeated int32 vars = 1;
4849 {
4850 int byte_size = _vars_cached_byte_size_.load(std::memory_order_relaxed);
4851 if (byte_size > 0) {
4852 target = stream->WriteInt32Packed(
4853 1, _internal_vars(), byte_size, target);
4854 }
4855 }
4856
4857 // repeated int64 values = 2;
4858 {
4859 int byte_size = _values_cached_byte_size_.load(std::memory_order_relaxed);
4860 if (byte_size > 0) {
4861 target = stream->WriteInt64Packed(
4862 2, _internal_values(), byte_size, target);
4863 }
4864 }
4865
4866 // bool negated = 3;
4867 if (this->_internal_negated() != 0) {
4868 target = stream->EnsureSpace(target);
4869 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_negated(), target);
4870 }
4871
4872 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
4873 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
4874 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
4875 }
4876 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.TableConstraintProto)
4877 return target;
4878}
4879
4881// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.TableConstraintProto)
4882 size_t total_size = 0;
4883
4884 uint32_t cached_has_bits = 0;
4885 // Prevent compiler warnings about cached_has_bits being unused
4886 (void) cached_has_bits;
4887
4888 // repeated int32 vars = 1;
4889 {
4890 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4891 Int32Size(this->vars_);
4892 if (data_size > 0) {
4893 total_size += 1 +
4894 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4895 static_cast<int32_t>(data_size));
4896 }
4897 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4898 _vars_cached_byte_size_.store(cached_size,
4899 std::memory_order_relaxed);
4900 total_size += data_size;
4901 }
4902
4903 // repeated int64 values = 2;
4904 {
4905 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4906 Int64Size(this->values_);
4907 if (data_size > 0) {
4908 total_size += 1 +
4909 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4910 static_cast<int32_t>(data_size));
4911 }
4912 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4913 _values_cached_byte_size_.store(cached_size,
4914 std::memory_order_relaxed);
4915 total_size += data_size;
4916 }
4917
4918 // bool negated = 3;
4919 if (this->_internal_negated() != 0) {
4920 total_size += 1 + 1;
4921 }
4922
4923 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
4924}
4925
4926const ::PROTOBUF_NAMESPACE_ID::Message::ClassData TableConstraintProto::_class_data_ = {
4927 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
4928 TableConstraintProto::MergeImpl
4929};
4930const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*TableConstraintProto::GetClassData() const { return &_class_data_; }
4931
4932void TableConstraintProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
4933 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
4934 static_cast<TableConstraintProto *>(to)->MergeFrom(
4935 static_cast<const TableConstraintProto &>(from));
4936}
4937
4938
4940// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.TableConstraintProto)
4941 GOOGLE_DCHECK_NE(&from, this);
4942 uint32_t cached_has_bits = 0;
4943 (void) cached_has_bits;
4944
4945 vars_.MergeFrom(from.vars_);
4946 values_.MergeFrom(from.values_);
4947 if (from._internal_negated() != 0) {
4948 _internal_set_negated(from._internal_negated());
4949 }
4950 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
4951}
4952
4954// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.TableConstraintProto)
4955 if (&from == this) return;
4956 Clear();
4957 MergeFrom(from);
4958}
4959
4961 return true;
4962}
4963
4964void TableConstraintProto::InternalSwap(TableConstraintProto* other) {
4965 using std::swap;
4966 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
4967 vars_.InternalSwap(&other->vars_);
4968 values_.InternalSwap(&other->values_);
4969 swap(negated_, other->negated_);
4970}
4971
4972::PROTOBUF_NAMESPACE_ID::Metadata TableConstraintProto::GetMetadata() const {
4973 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
4976}
4977
4978// ===================================================================
4979
4981 public:
4982};
4983
4984InverseConstraintProto::InverseConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
4985 bool is_message_owned)
4986 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
4987 f_direct_(arena),
4988 f_inverse_(arena) {
4989 SharedCtor();
4990 if (!is_message_owned) {
4991 RegisterArenaDtor(arena);
4992 }
4993 // @@protoc_insertion_point(arena_constructor:operations_research.sat.InverseConstraintProto)
4994}
4996 : ::PROTOBUF_NAMESPACE_ID::Message(),
4997 f_direct_(from.f_direct_),
4998 f_inverse_(from.f_inverse_) {
4999 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
5000 // @@protoc_insertion_point(copy_constructor:operations_research.sat.InverseConstraintProto)
5001}
5002
5003inline void InverseConstraintProto::SharedCtor() {
5004}
5005
5007 // @@protoc_insertion_point(destructor:operations_research.sat.InverseConstraintProto)
5008 if (GetArenaForAllocation() != nullptr) return;
5009 SharedDtor();
5010 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
5011}
5012
5013inline void InverseConstraintProto::SharedDtor() {
5014 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
5015}
5016
5017void InverseConstraintProto::ArenaDtor(void* object) {
5018 InverseConstraintProto* _this = reinterpret_cast< InverseConstraintProto* >(object);
5019 (void)_this;
5020}
5021void InverseConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
5022}
5023void InverseConstraintProto::SetCachedSize(int size) const {
5024 _cached_size_.Set(size);
5025}
5026
5028// @@protoc_insertion_point(message_clear_start:operations_research.sat.InverseConstraintProto)
5029 uint32_t cached_has_bits = 0;
5030 // Prevent compiler warnings about cached_has_bits being unused
5031 (void) cached_has_bits;
5032
5033 f_direct_.Clear();
5034 f_inverse_.Clear();
5035 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
5036}
5037
5038const char* InverseConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
5039#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
5040 while (!ctx->Done(&ptr)) {
5041 uint32_t tag;
5042 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
5043 switch (tag >> 3) {
5044 // repeated int32 f_direct = 1;
5045 case 1:
5046 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
5047 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_f_direct(), ptr, ctx);
5048 CHK_(ptr);
5049 } else if (static_cast<uint8_t>(tag) == 8) {
5050 _internal_add_f_direct(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
5051 CHK_(ptr);
5052 } else
5053 goto handle_unusual;
5054 continue;
5055 // repeated int32 f_inverse = 2;
5056 case 2:
5057 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
5058 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_f_inverse(), ptr, ctx);
5059 CHK_(ptr);
5060 } else if (static_cast<uint8_t>(tag) == 16) {
5061 _internal_add_f_inverse(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
5062 CHK_(ptr);
5063 } else
5064 goto handle_unusual;
5065 continue;
5066 default:
5067 goto handle_unusual;
5068 } // switch
5069 handle_unusual:
5070 if ((tag == 0) || ((tag & 7) == 4)) {
5071 CHK_(ptr);
5072 ctx->SetLastTag(tag);
5073 goto message_done;
5074 }
5075 ptr = UnknownFieldParse(
5076 tag,
5077 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
5078 ptr, ctx);
5079 CHK_(ptr != nullptr);
5080 } // while
5081message_done:
5082 return ptr;
5083failure:
5084 ptr = nullptr;
5085 goto message_done;
5086#undef CHK_
5087}
5088
5090 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
5091 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.InverseConstraintProto)
5092 uint32_t cached_has_bits = 0;
5093 (void) cached_has_bits;
5094
5095 // repeated int32 f_direct = 1;
5096 {
5097 int byte_size = _f_direct_cached_byte_size_.load(std::memory_order_relaxed);
5098 if (byte_size > 0) {
5099 target = stream->WriteInt32Packed(
5100 1, _internal_f_direct(), byte_size, target);
5101 }
5102 }
5103
5104 // repeated int32 f_inverse = 2;
5105 {
5106 int byte_size = _f_inverse_cached_byte_size_.load(std::memory_order_relaxed);
5107 if (byte_size > 0) {
5108 target = stream->WriteInt32Packed(
5109 2, _internal_f_inverse(), byte_size, target);
5110 }
5111 }
5112
5113 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
5114 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
5115 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
5116 }
5117 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.InverseConstraintProto)
5118 return target;
5119}
5120
5122// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.InverseConstraintProto)
5123 size_t total_size = 0;
5124
5125 uint32_t cached_has_bits = 0;
5126 // Prevent compiler warnings about cached_has_bits being unused
5127 (void) cached_has_bits;
5128
5129 // repeated int32 f_direct = 1;
5130 {
5131 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5132 Int32Size(this->f_direct_);
5133 if (data_size > 0) {
5134 total_size += 1 +
5135 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5136 static_cast<int32_t>(data_size));
5137 }
5138 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
5139 _f_direct_cached_byte_size_.store(cached_size,
5140 std::memory_order_relaxed);
5141 total_size += data_size;
5142 }
5143
5144 // repeated int32 f_inverse = 2;
5145 {
5146 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5147 Int32Size(this->f_inverse_);
5148 if (data_size > 0) {
5149 total_size += 1 +
5150 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5151 static_cast<int32_t>(data_size));
5152 }
5153 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
5154 _f_inverse_cached_byte_size_.store(cached_size,
5155 std::memory_order_relaxed);
5156 total_size += data_size;
5157 }
5158
5159 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
5160}
5161
5162const ::PROTOBUF_NAMESPACE_ID::Message::ClassData InverseConstraintProto::_class_data_ = {
5163 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
5164 InverseConstraintProto::MergeImpl
5165};
5166const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*InverseConstraintProto::GetClassData() const { return &_class_data_; }
5167
5168void InverseConstraintProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
5169 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
5170 static_cast<InverseConstraintProto *>(to)->MergeFrom(
5171 static_cast<const InverseConstraintProto &>(from));
5172}
5173
5174
5176// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.InverseConstraintProto)
5177 GOOGLE_DCHECK_NE(&from, this);
5178 uint32_t cached_has_bits = 0;
5179 (void) cached_has_bits;
5180
5181 f_direct_.MergeFrom(from.f_direct_);
5182 f_inverse_.MergeFrom(from.f_inverse_);
5183 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
5184}
5185
5187// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.InverseConstraintProto)
5188 if (&from == this) return;
5189 Clear();
5190 MergeFrom(from);
5191}
5192
5194 return true;
5195}
5196
5197void InverseConstraintProto::InternalSwap(InverseConstraintProto* other) {
5198 using std::swap;
5199 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
5200 f_direct_.InternalSwap(&other->f_direct_);
5201 f_inverse_.InternalSwap(&other->f_inverse_);
5202}
5203
5204::PROTOBUF_NAMESPACE_ID::Metadata InverseConstraintProto::GetMetadata() const {
5205 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
5208}
5209
5210// ===================================================================
5211
5213 public:
5214};
5215
5216AutomatonConstraintProto::AutomatonConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
5217 bool is_message_owned)
5218 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
5219 final_states_(arena),
5220 transition_tail_(arena),
5221 transition_head_(arena),
5222 transition_label_(arena),
5223 vars_(arena) {
5224 SharedCtor();
5225 if (!is_message_owned) {
5226 RegisterArenaDtor(arena);
5227 }
5228 // @@protoc_insertion_point(arena_constructor:operations_research.sat.AutomatonConstraintProto)
5229}
5231 : ::PROTOBUF_NAMESPACE_ID::Message(),
5232 final_states_(from.final_states_),
5233 transition_tail_(from.transition_tail_),
5234 transition_head_(from.transition_head_),
5235 transition_label_(from.transition_label_),
5236 vars_(from.vars_) {
5237 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
5238 starting_state_ = from.starting_state_;
5239 // @@protoc_insertion_point(copy_constructor:operations_research.sat.AutomatonConstraintProto)
5240}
5241
5242inline void AutomatonConstraintProto::SharedCtor() {
5243starting_state_ = int64_t{0};
5244}
5245
5247 // @@protoc_insertion_point(destructor:operations_research.sat.AutomatonConstraintProto)
5248 if (GetArenaForAllocation() != nullptr) return;
5249 SharedDtor();
5250 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
5251}
5252
5253inline void AutomatonConstraintProto::SharedDtor() {
5254 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
5255}
5256
5257void AutomatonConstraintProto::ArenaDtor(void* object) {
5258 AutomatonConstraintProto* _this = reinterpret_cast< AutomatonConstraintProto* >(object);
5259 (void)_this;
5260}
5261void AutomatonConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
5262}
5263void AutomatonConstraintProto::SetCachedSize(int size) const {
5264 _cached_size_.Set(size);
5265}
5266
5268// @@protoc_insertion_point(message_clear_start:operations_research.sat.AutomatonConstraintProto)
5269 uint32_t cached_has_bits = 0;
5270 // Prevent compiler warnings about cached_has_bits being unused
5271 (void) cached_has_bits;
5272
5273 final_states_.Clear();
5274 transition_tail_.Clear();
5275 transition_head_.Clear();
5276 transition_label_.Clear();
5277 vars_.Clear();
5278 starting_state_ = int64_t{0};
5279 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
5280}
5281
5282const char* AutomatonConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
5283#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
5284 while (!ctx->Done(&ptr)) {
5285 uint32_t tag;
5286 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
5287 switch (tag >> 3) {
5288 // int64 starting_state = 2;
5289 case 2:
5290 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
5291 starting_state_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
5292 CHK_(ptr);
5293 } else
5294 goto handle_unusual;
5295 continue;
5296 // repeated int64 final_states = 3;
5297 case 3:
5298 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
5299 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_final_states(), ptr, ctx);
5300 CHK_(ptr);
5301 } else if (static_cast<uint8_t>(tag) == 24) {
5302 _internal_add_final_states(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
5303 CHK_(ptr);
5304 } else
5305 goto handle_unusual;
5306 continue;
5307 // repeated int64 transition_tail = 4;
5308 case 4:
5309 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
5310 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_transition_tail(), ptr, ctx);
5311 CHK_(ptr);
5312 } else if (static_cast<uint8_t>(tag) == 32) {
5313 _internal_add_transition_tail(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
5314 CHK_(ptr);
5315 } else
5316 goto handle_unusual;
5317 continue;
5318 // repeated int64 transition_head = 5;
5319 case 5:
5320 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
5321 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_transition_head(), ptr, ctx);
5322 CHK_(ptr);
5323 } else if (static_cast<uint8_t>(tag) == 40) {
5324 _internal_add_transition_head(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
5325 CHK_(ptr);
5326 } else
5327 goto handle_unusual;
5328 continue;
5329 // repeated int64 transition_label = 6;
5330 case 6:
5331 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 50)) {
5332 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_transition_label(), ptr, ctx);
5333 CHK_(ptr);
5334 } else if (static_cast<uint8_t>(tag) == 48) {
5335 _internal_add_transition_label(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
5336 CHK_(ptr);
5337 } else
5338 goto handle_unusual;
5339 continue;
5340 // repeated int32 vars = 7;
5341 case 7:
5342 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 58)) {
5343 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_vars(), ptr, ctx);
5344 CHK_(ptr);
5345 } else if (static_cast<uint8_t>(tag) == 56) {
5346 _internal_add_vars(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
5347 CHK_(ptr);
5348 } else
5349 goto handle_unusual;
5350 continue;
5351 default:
5352 goto handle_unusual;
5353 } // switch
5354 handle_unusual:
5355 if ((tag == 0) || ((tag & 7) == 4)) {
5356 CHK_(ptr);
5357 ctx->SetLastTag(tag);
5358 goto message_done;
5359 }
5360 ptr = UnknownFieldParse(
5361 tag,
5362 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
5363 ptr, ctx);
5364 CHK_(ptr != nullptr);
5365 } // while
5366message_done:
5367 return ptr;
5368failure:
5369 ptr = nullptr;
5370 goto message_done;
5371#undef CHK_
5372}
5373
5375 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
5376 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.AutomatonConstraintProto)
5377 uint32_t cached_has_bits = 0;
5378 (void) cached_has_bits;
5379
5380 // int64 starting_state = 2;
5381 if (this->_internal_starting_state() != 0) {
5382 target = stream->EnsureSpace(target);
5383 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->_internal_starting_state(), target);
5384 }
5385
5386 // repeated int64 final_states = 3;
5387 {
5388 int byte_size = _final_states_cached_byte_size_.load(std::memory_order_relaxed);
5389 if (byte_size > 0) {
5390 target = stream->WriteInt64Packed(
5391 3, _internal_final_states(), byte_size, target);
5392 }
5393 }
5394
5395 // repeated int64 transition_tail = 4;
5396 {
5397 int byte_size = _transition_tail_cached_byte_size_.load(std::memory_order_relaxed);
5398 if (byte_size > 0) {
5399 target = stream->WriteInt64Packed(
5400 4, _internal_transition_tail(), byte_size, target);
5401 }
5402 }
5403
5404 // repeated int64 transition_head = 5;
5405 {
5406 int byte_size = _transition_head_cached_byte_size_.load(std::memory_order_relaxed);
5407 if (byte_size > 0) {
5408 target = stream->WriteInt64Packed(
5409 5, _internal_transition_head(), byte_size, target);
5410 }
5411 }
5412
5413 // repeated int64 transition_label = 6;
5414 {
5415 int byte_size = _transition_label_cached_byte_size_.load(std::memory_order_relaxed);
5416 if (byte_size > 0) {
5417 target = stream->WriteInt64Packed(
5418 6, _internal_transition_label(), byte_size, target);
5419 }
5420 }
5421
5422 // repeated int32 vars = 7;
5423 {
5424 int byte_size = _vars_cached_byte_size_.load(std::memory_order_relaxed);
5425 if (byte_size > 0) {
5426 target = stream->WriteInt32Packed(
5427 7, _internal_vars(), byte_size, target);
5428 }
5429 }
5430
5431 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
5432 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
5433 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
5434 }
5435 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.AutomatonConstraintProto)
5436 return target;
5437}
5438
5440// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.AutomatonConstraintProto)
5441 size_t total_size = 0;
5442
5443 uint32_t cached_has_bits = 0;
5444 // Prevent compiler warnings about cached_has_bits being unused
5445 (void) cached_has_bits;
5446
5447 // repeated int64 final_states = 3;
5448 {
5449 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5450 Int64Size(this->final_states_);
5451 if (data_size > 0) {
5452 total_size += 1 +
5453 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5454 static_cast<int32_t>(data_size));
5455 }
5456 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
5457 _final_states_cached_byte_size_.store(cached_size,
5458 std::memory_order_relaxed);
5459 total_size += data_size;
5460 }
5461
5462 // repeated int64 transition_tail = 4;
5463 {
5464 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5465 Int64Size(this->transition_tail_);
5466 if (data_size > 0) {
5467 total_size += 1 +
5468 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5469 static_cast<int32_t>(data_size));
5470 }
5471 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
5472 _transition_tail_cached_byte_size_.store(cached_size,
5473 std::memory_order_relaxed);
5474 total_size += data_size;
5475 }
5476
5477 // repeated int64 transition_head = 5;
5478 {
5479 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5480 Int64Size(this->transition_head_);
5481 if (data_size > 0) {
5482 total_size += 1 +
5483 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5484 static_cast<int32_t>(data_size));
5485 }
5486 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
5487 _transition_head_cached_byte_size_.store(cached_size,
5488 std::memory_order_relaxed);
5489 total_size += data_size;
5490 }
5491
5492 // repeated int64 transition_label = 6;
5493 {
5494 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5495 Int64Size(this->transition_label_);
5496 if (data_size > 0) {
5497 total_size += 1 +
5498 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5499 static_cast<int32_t>(data_size));
5500 }
5501 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
5502 _transition_label_cached_byte_size_.store(cached_size,
5503 std::memory_order_relaxed);
5504 total_size += data_size;
5505 }
5506
5507 // repeated int32 vars = 7;
5508 {
5509 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5510 Int32Size(this->vars_);
5511 if (data_size > 0) {
5512 total_size += 1 +
5513 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5514 static_cast<int32_t>(data_size));
5515 }
5516 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
5517 _vars_cached_byte_size_.store(cached_size,
5518 std::memory_order_relaxed);
5519 total_size += data_size;
5520 }
5521
5522 // int64 starting_state = 2;
5523 if (this->_internal_starting_state() != 0) {
5524 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_starting_state());
5525 }
5526
5527 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
5528}
5529
5530const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AutomatonConstraintProto::_class_data_ = {
5531 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
5532 AutomatonConstraintProto::MergeImpl
5533};
5534const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AutomatonConstraintProto::GetClassData() const { return &_class_data_; }
5535
5536void AutomatonConstraintProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
5537 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
5538 static_cast<AutomatonConstraintProto *>(to)->MergeFrom(
5539 static_cast<const AutomatonConstraintProto &>(from));
5540}
5541
5542
5544// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.AutomatonConstraintProto)
5545 GOOGLE_DCHECK_NE(&from, this);
5546 uint32_t cached_has_bits = 0;
5547 (void) cached_has_bits;
5548
5549 final_states_.MergeFrom(from.final_states_);
5550 transition_tail_.MergeFrom(from.transition_tail_);
5551 transition_head_.MergeFrom(from.transition_head_);
5552 transition_label_.MergeFrom(from.transition_label_);
5553 vars_.MergeFrom(from.vars_);
5554 if (from._internal_starting_state() != 0) {
5555 _internal_set_starting_state(from._internal_starting_state());
5556 }
5557 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
5558}
5559
5561// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.AutomatonConstraintProto)
5562 if (&from == this) return;
5563 Clear();
5564 MergeFrom(from);
5565}
5566
5568 return true;
5569}
5570
5571void AutomatonConstraintProto::InternalSwap(AutomatonConstraintProto* other) {
5572 using std::swap;
5573 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
5574 final_states_.InternalSwap(&other->final_states_);
5575 transition_tail_.InternalSwap(&other->transition_tail_);
5576 transition_head_.InternalSwap(&other->transition_head_);
5577 transition_label_.InternalSwap(&other->transition_label_);
5578 vars_.InternalSwap(&other->vars_);
5579 swap(starting_state_, other->starting_state_);
5580}
5581
5582::PROTOBUF_NAMESPACE_ID::Metadata AutomatonConstraintProto::GetMetadata() const {
5583 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
5586}
5587
5588// ===================================================================
5589
5591 public:
5592};
5593
5594ListOfVariablesProto::ListOfVariablesProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
5595 bool is_message_owned)
5596 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
5597 vars_(arena) {
5598 SharedCtor();
5599 if (!is_message_owned) {
5600 RegisterArenaDtor(arena);
5601 }
5602 // @@protoc_insertion_point(arena_constructor:operations_research.sat.ListOfVariablesProto)
5603}
5605 : ::PROTOBUF_NAMESPACE_ID::Message(),
5606 vars_(from.vars_) {
5607 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
5608 // @@protoc_insertion_point(copy_constructor:operations_research.sat.ListOfVariablesProto)
5609}
5610
5611inline void ListOfVariablesProto::SharedCtor() {
5612}
5613
5615 // @@protoc_insertion_point(destructor:operations_research.sat.ListOfVariablesProto)
5616 if (GetArenaForAllocation() != nullptr) return;
5617 SharedDtor();
5618 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
5619}
5620
5621inline void ListOfVariablesProto::SharedDtor() {
5622 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
5623}
5624
5625void ListOfVariablesProto::ArenaDtor(void* object) {
5626 ListOfVariablesProto* _this = reinterpret_cast< ListOfVariablesProto* >(object);
5627 (void)_this;
5628}
5629void ListOfVariablesProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
5630}
5631void ListOfVariablesProto::SetCachedSize(int size) const {
5632 _cached_size_.Set(size);
5633}
5634
5636// @@protoc_insertion_point(message_clear_start:operations_research.sat.ListOfVariablesProto)
5637 uint32_t cached_has_bits = 0;
5638 // Prevent compiler warnings about cached_has_bits being unused
5639 (void) cached_has_bits;
5640
5641 vars_.Clear();
5642 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
5643}
5644
5645const char* ListOfVariablesProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
5646#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
5647 while (!ctx->Done(&ptr)) {
5648 uint32_t tag;
5649 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
5650 switch (tag >> 3) {
5651 // repeated int32 vars = 1;
5652 case 1:
5653 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
5654 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_vars(), ptr, ctx);
5655 CHK_(ptr);
5656 } else if (static_cast<uint8_t>(tag) == 8) {
5657 _internal_add_vars(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
5658 CHK_(ptr);
5659 } else
5660 goto handle_unusual;
5661 continue;
5662 default:
5663 goto handle_unusual;
5664 } // switch
5665 handle_unusual:
5666 if ((tag == 0) || ((tag & 7) == 4)) {
5667 CHK_(ptr);
5668 ctx->SetLastTag(tag);
5669 goto message_done;
5670 }
5671 ptr = UnknownFieldParse(
5672 tag,
5673 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
5674 ptr, ctx);
5675 CHK_(ptr != nullptr);
5676 } // while
5677message_done:
5678 return ptr;
5679failure:
5680 ptr = nullptr;
5681 goto message_done;
5682#undef CHK_
5683}
5684
5686 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
5687 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.ListOfVariablesProto)
5688 uint32_t cached_has_bits = 0;
5689 (void) cached_has_bits;
5690
5691 // repeated int32 vars = 1;
5692 {
5693 int byte_size = _vars_cached_byte_size_.load(std::memory_order_relaxed);
5694 if (byte_size > 0) {
5695 target = stream->WriteInt32Packed(
5696 1, _internal_vars(), byte_size, target);
5697 }
5698 }
5699
5700 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
5701 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
5702 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
5703 }
5704 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.ListOfVariablesProto)
5705 return target;
5706}
5707
5709// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.ListOfVariablesProto)
5710 size_t total_size = 0;
5711
5712 uint32_t cached_has_bits = 0;
5713 // Prevent compiler warnings about cached_has_bits being unused
5714 (void) cached_has_bits;
5715
5716 // repeated int32 vars = 1;
5717 {
5718 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5719 Int32Size(this->vars_);
5720 if (data_size > 0) {
5721 total_size += 1 +
5722 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5723 static_cast<int32_t>(data_size));
5724 }
5725 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
5726 _vars_cached_byte_size_.store(cached_size,
5727 std::memory_order_relaxed);
5728 total_size += data_size;
5729 }
5730
5731 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
5732}
5733
5734const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ListOfVariablesProto::_class_data_ = {
5735 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
5736 ListOfVariablesProto::MergeImpl
5737};
5738const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ListOfVariablesProto::GetClassData() const { return &_class_data_; }
5739
5740void ListOfVariablesProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
5741 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
5742 static_cast<ListOfVariablesProto *>(to)->MergeFrom(
5743 static_cast<const ListOfVariablesProto &>(from));
5744}
5745
5746
5748// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.ListOfVariablesProto)
5749 GOOGLE_DCHECK_NE(&from, this);
5750 uint32_t cached_has_bits = 0;
5751 (void) cached_has_bits;
5752
5753 vars_.MergeFrom(from.vars_);
5754 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
5755}
5756
5758// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.ListOfVariablesProto)
5759 if (&from == this) return;
5760 Clear();
5761 MergeFrom(from);
5762}
5763
5765 return true;
5766}
5767
5768void ListOfVariablesProto::InternalSwap(ListOfVariablesProto* other) {
5769 using std::swap;
5770 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
5771 vars_.InternalSwap(&other->vars_);
5772}
5773
5774::PROTOBUF_NAMESPACE_ID::Metadata ListOfVariablesProto::GetMetadata() const {
5775 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
5778}
5779
5780// ===================================================================
5781
5783 public:
5784 static const ::operations_research::sat::BoolArgumentProto& bool_or(const ConstraintProto* msg);
5785 static const ::operations_research::sat::BoolArgumentProto& bool_and(const ConstraintProto* msg);
5786 static const ::operations_research::sat::BoolArgumentProto& at_most_one(const ConstraintProto* msg);
5787 static const ::operations_research::sat::BoolArgumentProto& exactly_one(const ConstraintProto* msg);
5788 static const ::operations_research::sat::BoolArgumentProto& bool_xor(const ConstraintProto* msg);
5789 static const ::operations_research::sat::LinearArgumentProto& int_div(const ConstraintProto* msg);
5790 static const ::operations_research::sat::LinearArgumentProto& int_mod(const ConstraintProto* msg);
5791 static const ::operations_research::sat::LinearArgumentProto& int_prod(const ConstraintProto* msg);
5792 static const ::operations_research::sat::LinearArgumentProto& lin_max(const ConstraintProto* msg);
5793 static const ::operations_research::sat::LinearConstraintProto& linear(const ConstraintProto* msg);
5794 static const ::operations_research::sat::AllDifferentConstraintProto& all_diff(const ConstraintProto* msg);
5795 static const ::operations_research::sat::ElementConstraintProto& element(const ConstraintProto* msg);
5796 static const ::operations_research::sat::CircuitConstraintProto& circuit(const ConstraintProto* msg);
5797 static const ::operations_research::sat::RoutesConstraintProto& routes(const ConstraintProto* msg);
5798 static const ::operations_research::sat::TableConstraintProto& table(const ConstraintProto* msg);
5799 static const ::operations_research::sat::AutomatonConstraintProto& automaton(const ConstraintProto* msg);
5800 static const ::operations_research::sat::InverseConstraintProto& inverse(const ConstraintProto* msg);
5801 static const ::operations_research::sat::ReservoirConstraintProto& reservoir(const ConstraintProto* msg);
5802 static const ::operations_research::sat::IntervalConstraintProto& interval(const ConstraintProto* msg);
5803 static const ::operations_research::sat::NoOverlapConstraintProto& no_overlap(const ConstraintProto* msg);
5804 static const ::operations_research::sat::NoOverlap2DConstraintProto& no_overlap_2d(const ConstraintProto* msg);
5805 static const ::operations_research::sat::CumulativeConstraintProto& cumulative(const ConstraintProto* msg);
5806 static const ::operations_research::sat::ListOfVariablesProto& dummy_constraint(const ConstraintProto* msg);
5807};
5808
5809const ::operations_research::sat::BoolArgumentProto&
5811 return *msg->constraint_.bool_or_;
5812}
5813const ::operations_research::sat::BoolArgumentProto&
5815 return *msg->constraint_.bool_and_;
5816}
5817const ::operations_research::sat::BoolArgumentProto&
5819 return *msg->constraint_.at_most_one_;
5820}
5821const ::operations_research::sat::BoolArgumentProto&
5823 return *msg->constraint_.exactly_one_;
5824}
5825const ::operations_research::sat::BoolArgumentProto&
5827 return *msg->constraint_.bool_xor_;
5828}
5829const ::operations_research::sat::LinearArgumentProto&
5831 return *msg->constraint_.int_div_;
5832}
5833const ::operations_research::sat::LinearArgumentProto&
5835 return *msg->constraint_.int_mod_;
5836}
5837const ::operations_research::sat::LinearArgumentProto&
5839 return *msg->constraint_.int_prod_;
5840}
5841const ::operations_research::sat::LinearArgumentProto&
5843 return *msg->constraint_.lin_max_;
5844}
5845const ::operations_research::sat::LinearConstraintProto&
5847 return *msg->constraint_.linear_;
5848}
5849const ::operations_research::sat::AllDifferentConstraintProto&
5851 return *msg->constraint_.all_diff_;
5852}
5853const ::operations_research::sat::ElementConstraintProto&
5855 return *msg->constraint_.element_;
5856}
5857const ::operations_research::sat::CircuitConstraintProto&
5859 return *msg->constraint_.circuit_;
5860}
5861const ::operations_research::sat::RoutesConstraintProto&
5863 return *msg->constraint_.routes_;
5864}
5865const ::operations_research::sat::TableConstraintProto&
5867 return *msg->constraint_.table_;
5868}
5869const ::operations_research::sat::AutomatonConstraintProto&
5871 return *msg->constraint_.automaton_;
5872}
5873const ::operations_research::sat::InverseConstraintProto&
5875 return *msg->constraint_.inverse_;
5876}
5877const ::operations_research::sat::ReservoirConstraintProto&
5879 return *msg->constraint_.reservoir_;
5880}
5881const ::operations_research::sat::IntervalConstraintProto&
5883 return *msg->constraint_.interval_;
5884}
5885const ::operations_research::sat::NoOverlapConstraintProto&
5887 return *msg->constraint_.no_overlap_;
5888}
5889const ::operations_research::sat::NoOverlap2DConstraintProto&
5891 return *msg->constraint_.no_overlap_2d_;
5892}
5893const ::operations_research::sat::CumulativeConstraintProto&
5895 return *msg->constraint_.cumulative_;
5896}
5897const ::operations_research::sat::ListOfVariablesProto&
5899 return *msg->constraint_.dummy_constraint_;
5900}
5902 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
5904 if (bool_or) {
5905 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
5906 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::BoolArgumentProto>::GetOwningArena(bool_or);
5907 if (message_arena != submessage_arena) {
5908 bool_or = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
5909 message_arena, bool_or, submessage_arena);
5910 }
5911 set_has_bool_or();
5912 constraint_.bool_or_ = bool_or;
5913 }
5914 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.bool_or)
5915}
5917 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
5919 if (bool_and) {
5920 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
5921 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::BoolArgumentProto>::GetOwningArena(bool_and);
5922 if (message_arena != submessage_arena) {
5923 bool_and = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
5924 message_arena, bool_and, submessage_arena);
5925 }
5926 set_has_bool_and();
5927 constraint_.bool_and_ = bool_and;
5928 }
5929 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.bool_and)
5930}
5932 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
5934 if (at_most_one) {
5935 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
5936 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::BoolArgumentProto>::GetOwningArena(at_most_one);
5937 if (message_arena != submessage_arena) {
5938 at_most_one = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
5939 message_arena, at_most_one, submessage_arena);
5940 }
5941 set_has_at_most_one();
5942 constraint_.at_most_one_ = at_most_one;
5943 }
5944 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.at_most_one)
5945}
5947 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
5949 if (exactly_one) {
5950 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
5951 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::BoolArgumentProto>::GetOwningArena(exactly_one);
5952 if (message_arena != submessage_arena) {
5953 exactly_one = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
5954 message_arena, exactly_one, submessage_arena);
5955 }
5956 set_has_exactly_one();
5957 constraint_.exactly_one_ = exactly_one;
5958 }
5959 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.exactly_one)
5960}
5962 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
5964 if (bool_xor) {
5965 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
5966 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::BoolArgumentProto>::GetOwningArena(bool_xor);
5967 if (message_arena != submessage_arena) {
5968 bool_xor = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
5969 message_arena, bool_xor, submessage_arena);
5970 }
5971 set_has_bool_xor();
5972 constraint_.bool_xor_ = bool_xor;
5973 }
5974 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.bool_xor)
5975}
5977 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
5979 if (int_div) {
5980 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
5981 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::LinearArgumentProto>::GetOwningArena(int_div);
5982 if (message_arena != submessage_arena) {
5983 int_div = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
5984 message_arena, int_div, submessage_arena);
5985 }
5986 set_has_int_div();
5987 constraint_.int_div_ = int_div;
5988 }
5989 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.int_div)
5990}
5992 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
5994 if (int_mod) {
5995 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
5996 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::LinearArgumentProto>::GetOwningArena(int_mod);
5997 if (message_arena != submessage_arena) {
5998 int_mod = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
5999 message_arena, int_mod, submessage_arena);
6000 }
6001 set_has_int_mod();
6002 constraint_.int_mod_ = int_mod;
6003 }
6004 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.int_mod)
6005}
6007 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6009 if (int_prod) {
6010 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6011 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::LinearArgumentProto>::GetOwningArena(int_prod);
6012 if (message_arena != submessage_arena) {
6013 int_prod = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6014 message_arena, int_prod, submessage_arena);
6015 }
6016 set_has_int_prod();
6017 constraint_.int_prod_ = int_prod;
6018 }
6019 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.int_prod)
6020}
6022 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6024 if (lin_max) {
6025 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6026 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::LinearArgumentProto>::GetOwningArena(lin_max);
6027 if (message_arena != submessage_arena) {
6028 lin_max = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6029 message_arena, lin_max, submessage_arena);
6030 }
6031 set_has_lin_max();
6032 constraint_.lin_max_ = lin_max;
6033 }
6034 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.lin_max)
6035}
6037 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6039 if (linear) {
6040 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6041 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::LinearConstraintProto>::GetOwningArena(linear);
6042 if (message_arena != submessage_arena) {
6043 linear = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6044 message_arena, linear, submessage_arena);
6045 }
6046 set_has_linear();
6047 constraint_.linear_ = linear;
6048 }
6049 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.linear)
6050}
6052 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6054 if (all_diff) {
6055 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6056 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::AllDifferentConstraintProto>::GetOwningArena(all_diff);
6057 if (message_arena != submessage_arena) {
6058 all_diff = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6059 message_arena, all_diff, submessage_arena);
6060 }
6061 set_has_all_diff();
6062 constraint_.all_diff_ = all_diff;
6063 }
6064 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.all_diff)
6065}
6067 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6069 if (element) {
6070 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6071 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::ElementConstraintProto>::GetOwningArena(element);
6072 if (message_arena != submessage_arena) {
6073 element = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6074 message_arena, element, submessage_arena);
6075 }
6076 set_has_element();
6077 constraint_.element_ = element;
6078 }
6079 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.element)
6080}
6082 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6084 if (circuit) {
6085 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6086 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::CircuitConstraintProto>::GetOwningArena(circuit);
6087 if (message_arena != submessage_arena) {
6088 circuit = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6089 message_arena, circuit, submessage_arena);
6090 }
6091 set_has_circuit();
6092 constraint_.circuit_ = circuit;
6093 }
6094 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.circuit)
6095}
6097 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6099 if (routes) {
6100 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6101 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::RoutesConstraintProto>::GetOwningArena(routes);
6102 if (message_arena != submessage_arena) {
6103 routes = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6104 message_arena, routes, submessage_arena);
6105 }
6106 set_has_routes();
6107 constraint_.routes_ = routes;
6108 }
6109 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.routes)
6110}
6112 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6114 if (table) {
6115 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6116 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::TableConstraintProto>::GetOwningArena(table);
6117 if (message_arena != submessage_arena) {
6118 table = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6119 message_arena, table, submessage_arena);
6120 }
6121 set_has_table();
6122 constraint_.table_ = table;
6123 }
6124 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.table)
6125}
6127 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6129 if (automaton) {
6130 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6131 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::AutomatonConstraintProto>::GetOwningArena(automaton);
6132 if (message_arena != submessage_arena) {
6133 automaton = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6134 message_arena, automaton, submessage_arena);
6135 }
6136 set_has_automaton();
6137 constraint_.automaton_ = automaton;
6138 }
6139 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.automaton)
6140}
6142 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6144 if (inverse) {
6145 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6146 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::InverseConstraintProto>::GetOwningArena(inverse);
6147 if (message_arena != submessage_arena) {
6148 inverse = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6149 message_arena, inverse, submessage_arena);
6150 }
6151 set_has_inverse();
6152 constraint_.inverse_ = inverse;
6153 }
6154 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.inverse)
6155}
6157 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6159 if (reservoir) {
6160 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6161 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::ReservoirConstraintProto>::GetOwningArena(reservoir);
6162 if (message_arena != submessage_arena) {
6163 reservoir = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6164 message_arena, reservoir, submessage_arena);
6165 }
6166 set_has_reservoir();
6167 constraint_.reservoir_ = reservoir;
6168 }
6169 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.reservoir)
6170}
6172 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6174 if (interval) {
6175 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6176 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::IntervalConstraintProto>::GetOwningArena(interval);
6177 if (message_arena != submessage_arena) {
6178 interval = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6179 message_arena, interval, submessage_arena);
6180 }
6181 set_has_interval();
6182 constraint_.interval_ = interval;
6183 }
6184 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.interval)
6185}
6187 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6189 if (no_overlap) {
6190 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6191 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::NoOverlapConstraintProto>::GetOwningArena(no_overlap);
6192 if (message_arena != submessage_arena) {
6193 no_overlap = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6194 message_arena, no_overlap, submessage_arena);
6195 }
6196 set_has_no_overlap();
6197 constraint_.no_overlap_ = no_overlap;
6198 }
6199 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.no_overlap)
6200}
6202 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6204 if (no_overlap_2d) {
6205 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6206 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::NoOverlap2DConstraintProto>::GetOwningArena(no_overlap_2d);
6207 if (message_arena != submessage_arena) {
6208 no_overlap_2d = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6209 message_arena, no_overlap_2d, submessage_arena);
6210 }
6211 set_has_no_overlap_2d();
6212 constraint_.no_overlap_2d_ = no_overlap_2d;
6213 }
6214 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.no_overlap_2d)
6215}
6217 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6219 if (cumulative) {
6220 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6221 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::CumulativeConstraintProto>::GetOwningArena(cumulative);
6222 if (message_arena != submessage_arena) {
6223 cumulative = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6224 message_arena, cumulative, submessage_arena);
6225 }
6226 set_has_cumulative();
6227 constraint_.cumulative_ = cumulative;
6228 }
6229 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.cumulative)
6230}
6232 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
6234 if (dummy_constraint) {
6235 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6236 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::sat::ListOfVariablesProto>::GetOwningArena(dummy_constraint);
6237 if (message_arena != submessage_arena) {
6238 dummy_constraint = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6239 message_arena, dummy_constraint, submessage_arena);
6240 }
6241 set_has_dummy_constraint();
6242 constraint_.dummy_constraint_ = dummy_constraint;
6243 }
6244 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.dummy_constraint)
6245}
6246ConstraintProto::ConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
6247 bool is_message_owned)
6248 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
6249 enforcement_literal_(arena) {
6250 SharedCtor();
6251 if (!is_message_owned) {
6252 RegisterArenaDtor(arena);
6253 }
6254 // @@protoc_insertion_point(arena_constructor:operations_research.sat.ConstraintProto)
6255}
6257 : ::PROTOBUF_NAMESPACE_ID::Message(),
6258 enforcement_literal_(from.enforcement_literal_) {
6259 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
6260 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
6261 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
6262 name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
6263 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
6264 if (!from._internal_name().empty()) {
6265 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
6266 GetArenaForAllocation());
6267 }
6268 clear_has_constraint();
6269 switch (from.constraint_case()) {
6270 case kBoolOr: {
6271 _internal_mutable_bool_or()->::operations_research::sat::BoolArgumentProto::MergeFrom(from._internal_bool_or());
6272 break;
6273 }
6274 case kBoolAnd: {
6275 _internal_mutable_bool_and()->::operations_research::sat::BoolArgumentProto::MergeFrom(from._internal_bool_and());
6276 break;
6277 }
6278 case kAtMostOne: {
6279 _internal_mutable_at_most_one()->::operations_research::sat::BoolArgumentProto::MergeFrom(from._internal_at_most_one());
6280 break;
6281 }
6282 case kExactlyOne: {
6283 _internal_mutable_exactly_one()->::operations_research::sat::BoolArgumentProto::MergeFrom(from._internal_exactly_one());
6284 break;
6285 }
6286 case kBoolXor: {
6287 _internal_mutable_bool_xor()->::operations_research::sat::BoolArgumentProto::MergeFrom(from._internal_bool_xor());
6288 break;
6289 }
6290 case kIntDiv: {
6291 _internal_mutable_int_div()->::operations_research::sat::LinearArgumentProto::MergeFrom(from._internal_int_div());
6292 break;
6293 }
6294 case kIntMod: {
6295 _internal_mutable_int_mod()->::operations_research::sat::LinearArgumentProto::MergeFrom(from._internal_int_mod());
6296 break;
6297 }
6298 case kIntProd: {
6299 _internal_mutable_int_prod()->::operations_research::sat::LinearArgumentProto::MergeFrom(from._internal_int_prod());
6300 break;
6301 }
6302 case kLinMax: {
6303 _internal_mutable_lin_max()->::operations_research::sat::LinearArgumentProto::MergeFrom(from._internal_lin_max());
6304 break;
6305 }
6306 case kLinear: {
6307 _internal_mutable_linear()->::operations_research::sat::LinearConstraintProto::MergeFrom(from._internal_linear());
6308 break;
6309 }
6310 case kAllDiff: {
6311 _internal_mutable_all_diff()->::operations_research::sat::AllDifferentConstraintProto::MergeFrom(from._internal_all_diff());
6312 break;
6313 }
6314 case kElement: {
6315 _internal_mutable_element()->::operations_research::sat::ElementConstraintProto::MergeFrom(from._internal_element());
6316 break;
6317 }
6318 case kCircuit: {
6319 _internal_mutable_circuit()->::operations_research::sat::CircuitConstraintProto::MergeFrom(from._internal_circuit());
6320 break;
6321 }
6322 case kRoutes: {
6323 _internal_mutable_routes()->::operations_research::sat::RoutesConstraintProto::MergeFrom(from._internal_routes());
6324 break;
6325 }
6326 case kTable: {
6327 _internal_mutable_table()->::operations_research::sat::TableConstraintProto::MergeFrom(from._internal_table());
6328 break;
6329 }
6330 case kAutomaton: {
6331 _internal_mutable_automaton()->::operations_research::sat::AutomatonConstraintProto::MergeFrom(from._internal_automaton());
6332 break;
6333 }
6334 case kInverse: {
6335 _internal_mutable_inverse()->::operations_research::sat::InverseConstraintProto::MergeFrom(from._internal_inverse());
6336 break;
6337 }
6338 case kReservoir: {
6339 _internal_mutable_reservoir()->::operations_research::sat::ReservoirConstraintProto::MergeFrom(from._internal_reservoir());
6340 break;
6341 }
6342 case kInterval: {
6343 _internal_mutable_interval()->::operations_research::sat::IntervalConstraintProto::MergeFrom(from._internal_interval());
6344 break;
6345 }
6346 case kNoOverlap: {
6347 _internal_mutable_no_overlap()->::operations_research::sat::NoOverlapConstraintProto::MergeFrom(from._internal_no_overlap());
6348 break;
6349 }
6350 case kNoOverlap2D: {
6351 _internal_mutable_no_overlap_2d()->::operations_research::sat::NoOverlap2DConstraintProto::MergeFrom(from._internal_no_overlap_2d());
6352 break;
6353 }
6354 case kCumulative: {
6355 _internal_mutable_cumulative()->::operations_research::sat::CumulativeConstraintProto::MergeFrom(from._internal_cumulative());
6356 break;
6357 }
6358 case kDummyConstraint: {
6359 _internal_mutable_dummy_constraint()->::operations_research::sat::ListOfVariablesProto::MergeFrom(from._internal_dummy_constraint());
6360 break;
6361 }
6362 case CONSTRAINT_NOT_SET: {
6363 break;
6364 }
6365 }
6366 // @@protoc_insertion_point(copy_constructor:operations_research.sat.ConstraintProto)
6367}
6368
6369inline void ConstraintProto::SharedCtor() {
6370name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
6371#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
6372 name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
6373#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
6374clear_has_constraint();
6375}
6376
6378 // @@protoc_insertion_point(destructor:operations_research.sat.ConstraintProto)
6379 if (GetArenaForAllocation() != nullptr) return;
6380 SharedDtor();
6381 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
6382}
6383
6384inline void ConstraintProto::SharedDtor() {
6385 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
6386 name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
6387 if (has_constraint()) {
6389 }
6390}
6391
6392void ConstraintProto::ArenaDtor(void* object) {
6393 ConstraintProto* _this = reinterpret_cast< ConstraintProto* >(object);
6394 (void)_this;
6395}
6396void ConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
6397}
6398void ConstraintProto::SetCachedSize(int size) const {
6399 _cached_size_.Set(size);
6400}
6401
6403// @@protoc_insertion_point(one_of_clear_start:operations_research.sat.ConstraintProto)
6404 switch (constraint_case()) {
6405 case kBoolOr: {
6406 if (GetArenaForAllocation() == nullptr) {
6407 delete constraint_.bool_or_;
6408 }
6409 break;
6410 }
6411 case kBoolAnd: {
6412 if (GetArenaForAllocation() == nullptr) {
6413 delete constraint_.bool_and_;
6414 }
6415 break;
6416 }
6417 case kAtMostOne: {
6418 if (GetArenaForAllocation() == nullptr) {
6419 delete constraint_.at_most_one_;
6420 }
6421 break;
6422 }
6423 case kExactlyOne: {
6424 if (GetArenaForAllocation() == nullptr) {
6425 delete constraint_.exactly_one_;
6426 }
6427 break;
6428 }
6429 case kBoolXor: {
6430 if (GetArenaForAllocation() == nullptr) {
6431 delete constraint_.bool_xor_;
6432 }
6433 break;
6434 }
6435 case kIntDiv: {
6436 if (GetArenaForAllocation() == nullptr) {
6437 delete constraint_.int_div_;
6438 }
6439 break;
6440 }
6441 case kIntMod: {
6442 if (GetArenaForAllocation() == nullptr) {
6443 delete constraint_.int_mod_;
6444 }
6445 break;
6446 }
6447 case kIntProd: {
6448 if (GetArenaForAllocation() == nullptr) {
6449 delete constraint_.int_prod_;
6450 }
6451 break;
6452 }
6453 case kLinMax: {
6454 if (GetArenaForAllocation() == nullptr) {
6455 delete constraint_.lin_max_;
6456 }
6457 break;
6458 }
6459 case kLinear: {
6460 if (GetArenaForAllocation() == nullptr) {
6461 delete constraint_.linear_;
6462 }
6463 break;
6464 }
6465 case kAllDiff: {
6466 if (GetArenaForAllocation() == nullptr) {
6467 delete constraint_.all_diff_;
6468 }
6469 break;
6470 }
6471 case kElement: {
6472 if (GetArenaForAllocation() == nullptr) {
6473 delete constraint_.element_;
6474 }
6475 break;
6476 }
6477 case kCircuit: {
6478 if (GetArenaForAllocation() == nullptr) {
6479 delete constraint_.circuit_;
6480 }
6481 break;
6482 }
6483 case kRoutes: {
6484 if (GetArenaForAllocation() == nullptr) {
6485 delete constraint_.routes_;
6486 }
6487 break;
6488 }
6489 case kTable: {
6490 if (GetArenaForAllocation() == nullptr) {
6491 delete constraint_.table_;
6492 }
6493 break;
6494 }
6495 case kAutomaton: {
6496 if (GetArenaForAllocation() == nullptr) {
6497 delete constraint_.automaton_;
6498 }
6499 break;
6500 }
6501 case kInverse: {
6502 if (GetArenaForAllocation() == nullptr) {
6503 delete constraint_.inverse_;
6504 }
6505 break;
6506 }
6507 case kReservoir: {
6508 if (GetArenaForAllocation() == nullptr) {
6509 delete constraint_.reservoir_;
6510 }
6511 break;
6512 }
6513 case kInterval: {
6514 if (GetArenaForAllocation() == nullptr) {
6515 delete constraint_.interval_;
6516 }
6517 break;
6518 }
6519 case kNoOverlap: {
6520 if (GetArenaForAllocation() == nullptr) {
6521 delete constraint_.no_overlap_;
6522 }
6523 break;
6524 }
6525 case kNoOverlap2D: {
6526 if (GetArenaForAllocation() == nullptr) {
6527 delete constraint_.no_overlap_2d_;
6528 }
6529 break;
6530 }
6531 case kCumulative: {
6532 if (GetArenaForAllocation() == nullptr) {
6533 delete constraint_.cumulative_;
6534 }
6535 break;
6536 }
6537 case kDummyConstraint: {
6538 if (GetArenaForAllocation() == nullptr) {
6539 delete constraint_.dummy_constraint_;
6540 }
6541 break;
6542 }
6543 case CONSTRAINT_NOT_SET: {
6544 break;
6545 }
6546 }
6547 _oneof_case_[0] = CONSTRAINT_NOT_SET;
6548}
6549
6550
6552// @@protoc_insertion_point(message_clear_start:operations_research.sat.ConstraintProto)
6553 uint32_t cached_has_bits = 0;
6554 // Prevent compiler warnings about cached_has_bits being unused
6555 (void) cached_has_bits;
6556
6557 enforcement_literal_.Clear();
6558 name_.ClearToEmpty();
6560 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
6561}
6562
6563const char* ConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
6564#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
6565 while (!ctx->Done(&ptr)) {
6566 uint32_t tag;
6567 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
6568 switch (tag >> 3) {
6569 // string name = 1;
6570 case 1:
6571 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
6572 auto str = _internal_mutable_name();
6573 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
6574 CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.sat.ConstraintProto.name"));
6575 CHK_(ptr);
6576 } else
6577 goto handle_unusual;
6578 continue;
6579 // repeated int32 enforcement_literal = 2;
6580 case 2:
6581 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
6582 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_enforcement_literal(), ptr, ctx);
6583 CHK_(ptr);
6584 } else if (static_cast<uint8_t>(tag) == 16) {
6585 _internal_add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
6586 CHK_(ptr);
6587 } else
6588 goto handle_unusual;
6589 continue;
6590 // .operations_research.sat.BoolArgumentProto bool_or = 3;
6591 case 3:
6592 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
6593 ptr = ctx->ParseMessage(_internal_mutable_bool_or(), ptr);
6594 CHK_(ptr);
6595 } else
6596 goto handle_unusual;
6597 continue;
6598 // .operations_research.sat.BoolArgumentProto bool_and = 4;
6599 case 4:
6600 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
6601 ptr = ctx->ParseMessage(_internal_mutable_bool_and(), ptr);
6602 CHK_(ptr);
6603 } else
6604 goto handle_unusual;
6605 continue;
6606 // .operations_research.sat.BoolArgumentProto bool_xor = 5;
6607 case 5:
6608 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
6609 ptr = ctx->ParseMessage(_internal_mutable_bool_xor(), ptr);
6610 CHK_(ptr);
6611 } else
6612 goto handle_unusual;
6613 continue;
6614 // .operations_research.sat.LinearArgumentProto int_div = 7;
6615 case 7:
6616 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 58)) {
6617 ptr = ctx->ParseMessage(_internal_mutable_int_div(), ptr);
6618 CHK_(ptr);
6619 } else
6620 goto handle_unusual;
6621 continue;
6622 // .operations_research.sat.LinearArgumentProto int_mod = 8;
6623 case 8:
6624 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 66)) {
6625 ptr = ctx->ParseMessage(_internal_mutable_int_mod(), ptr);
6626 CHK_(ptr);
6627 } else
6628 goto handle_unusual;
6629 continue;
6630 // .operations_research.sat.LinearArgumentProto int_prod = 11;
6631 case 11:
6632 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 90)) {
6633 ptr = ctx->ParseMessage(_internal_mutable_int_prod(), ptr);
6634 CHK_(ptr);
6635 } else
6636 goto handle_unusual;
6637 continue;
6638 // .operations_research.sat.LinearConstraintProto linear = 12;
6639 case 12:
6640 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 98)) {
6641 ptr = ctx->ParseMessage(_internal_mutable_linear(), ptr);
6642 CHK_(ptr);
6643 } else
6644 goto handle_unusual;
6645 continue;
6646 // .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
6647 case 13:
6648 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 106)) {
6649 ptr = ctx->ParseMessage(_internal_mutable_all_diff(), ptr);
6650 CHK_(ptr);
6651 } else
6652 goto handle_unusual;
6653 continue;
6654 // .operations_research.sat.ElementConstraintProto element = 14;
6655 case 14:
6656 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 114)) {
6657 ptr = ctx->ParseMessage(_internal_mutable_element(), ptr);
6658 CHK_(ptr);
6659 } else
6660 goto handle_unusual;
6661 continue;
6662 // .operations_research.sat.CircuitConstraintProto circuit = 15;
6663 case 15:
6664 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 122)) {
6665 ptr = ctx->ParseMessage(_internal_mutable_circuit(), ptr);
6666 CHK_(ptr);
6667 } else
6668 goto handle_unusual;
6669 continue;
6670 // .operations_research.sat.TableConstraintProto table = 16;
6671 case 16:
6672 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 130)) {
6673 ptr = ctx->ParseMessage(_internal_mutable_table(), ptr);
6674 CHK_(ptr);
6675 } else
6676 goto handle_unusual;
6677 continue;
6678 // .operations_research.sat.AutomatonConstraintProto automaton = 17;
6679 case 17:
6680 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 138)) {
6681 ptr = ctx->ParseMessage(_internal_mutable_automaton(), ptr);
6682 CHK_(ptr);
6683 } else
6684 goto handle_unusual;
6685 continue;
6686 // .operations_research.sat.InverseConstraintProto inverse = 18;
6687 case 18:
6688 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 146)) {
6689 ptr = ctx->ParseMessage(_internal_mutable_inverse(), ptr);
6690 CHK_(ptr);
6691 } else
6692 goto handle_unusual;
6693 continue;
6694 // .operations_research.sat.IntervalConstraintProto interval = 19;
6695 case 19:
6696 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 154)) {
6697 ptr = ctx->ParseMessage(_internal_mutable_interval(), ptr);
6698 CHK_(ptr);
6699 } else
6700 goto handle_unusual;
6701 continue;
6702 // .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
6703 case 20:
6704 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 162)) {
6705 ptr = ctx->ParseMessage(_internal_mutable_no_overlap(), ptr);
6706 CHK_(ptr);
6707 } else
6708 goto handle_unusual;
6709 continue;
6710 // .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
6711 case 21:
6712 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 170)) {
6713 ptr = ctx->ParseMessage(_internal_mutable_no_overlap_2d(), ptr);
6714 CHK_(ptr);
6715 } else
6716 goto handle_unusual;
6717 continue;
6718 // .operations_research.sat.CumulativeConstraintProto cumulative = 22;
6719 case 22:
6720 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 178)) {
6721 ptr = ctx->ParseMessage(_internal_mutable_cumulative(), ptr);
6722 CHK_(ptr);
6723 } else
6724 goto handle_unusual;
6725 continue;
6726 // .operations_research.sat.RoutesConstraintProto routes = 23;
6727 case 23:
6728 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 186)) {
6729 ptr = ctx->ParseMessage(_internal_mutable_routes(), ptr);
6730 CHK_(ptr);
6731 } else
6732 goto handle_unusual;
6733 continue;
6734 // .operations_research.sat.ReservoirConstraintProto reservoir = 24;
6735 case 24:
6736 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 194)) {
6737 ptr = ctx->ParseMessage(_internal_mutable_reservoir(), ptr);
6738 CHK_(ptr);
6739 } else
6740 goto handle_unusual;
6741 continue;
6742 // .operations_research.sat.BoolArgumentProto at_most_one = 26;
6743 case 26:
6744 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 210)) {
6745 ptr = ctx->ParseMessage(_internal_mutable_at_most_one(), ptr);
6746 CHK_(ptr);
6747 } else
6748 goto handle_unusual;
6749 continue;
6750 // .operations_research.sat.LinearArgumentProto lin_max = 27;
6751 case 27:
6752 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 218)) {
6753 ptr = ctx->ParseMessage(_internal_mutable_lin_max(), ptr);
6754 CHK_(ptr);
6755 } else
6756 goto handle_unusual;
6757 continue;
6758 // .operations_research.sat.BoolArgumentProto exactly_one = 29;
6759 case 29:
6760 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 234)) {
6761 ptr = ctx->ParseMessage(_internal_mutable_exactly_one(), ptr);
6762 CHK_(ptr);
6763 } else
6764 goto handle_unusual;
6765 continue;
6766 // .operations_research.sat.ListOfVariablesProto dummy_constraint = 30;
6767 case 30:
6768 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 242)) {
6769 ptr = ctx->ParseMessage(_internal_mutable_dummy_constraint(), ptr);
6770 CHK_(ptr);
6771 } else
6772 goto handle_unusual;
6773 continue;
6774 default:
6775 goto handle_unusual;
6776 } // switch
6777 handle_unusual:
6778 if ((tag == 0) || ((tag & 7) == 4)) {
6779 CHK_(ptr);
6780 ctx->SetLastTag(tag);
6781 goto message_done;
6782 }
6783 ptr = UnknownFieldParse(
6784 tag,
6785 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
6786 ptr, ctx);
6787 CHK_(ptr != nullptr);
6788 } // while
6789message_done:
6790 return ptr;
6791failure:
6792 ptr = nullptr;
6793 goto message_done;
6794#undef CHK_
6795}
6796
6798 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
6799 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.ConstraintProto)
6800 uint32_t cached_has_bits = 0;
6801 (void) cached_has_bits;
6802
6803 // string name = 1;
6804 if (!this->_internal_name().empty()) {
6805 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
6806 this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
6807 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
6808 "operations_research.sat.ConstraintProto.name");
6809 target = stream->WriteStringMaybeAliased(
6810 1, this->_internal_name(), target);
6811 }
6812
6813 // repeated int32 enforcement_literal = 2;
6814 {
6815 int byte_size = _enforcement_literal_cached_byte_size_.load(std::memory_order_relaxed);
6816 if (byte_size > 0) {
6817 target = stream->WriteInt32Packed(
6818 2, _internal_enforcement_literal(), byte_size, target);
6819 }
6820 }
6821
6822 // .operations_research.sat.BoolArgumentProto bool_or = 3;
6823 if (_internal_has_bool_or()) {
6824 target = stream->EnsureSpace(target);
6825 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6826 InternalWriteMessage(
6827 3, _Internal::bool_or(this), target, stream);
6828 }
6829
6830 // .operations_research.sat.BoolArgumentProto bool_and = 4;
6831 if (_internal_has_bool_and()) {
6832 target = stream->EnsureSpace(target);
6833 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6834 InternalWriteMessage(
6835 4, _Internal::bool_and(this), target, stream);
6836 }
6837
6838 // .operations_research.sat.BoolArgumentProto bool_xor = 5;
6839 if (_internal_has_bool_xor()) {
6840 target = stream->EnsureSpace(target);
6841 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6842 InternalWriteMessage(
6843 5, _Internal::bool_xor(this), target, stream);
6844 }
6845
6846 // .operations_research.sat.LinearArgumentProto int_div = 7;
6847 if (_internal_has_int_div()) {
6848 target = stream->EnsureSpace(target);
6849 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6850 InternalWriteMessage(
6851 7, _Internal::int_div(this), target, stream);
6852 }
6853
6854 // .operations_research.sat.LinearArgumentProto int_mod = 8;
6855 if (_internal_has_int_mod()) {
6856 target = stream->EnsureSpace(target);
6857 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6858 InternalWriteMessage(
6859 8, _Internal::int_mod(this), target, stream);
6860 }
6861
6862 // .operations_research.sat.LinearArgumentProto int_prod = 11;
6863 if (_internal_has_int_prod()) {
6864 target = stream->EnsureSpace(target);
6865 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6866 InternalWriteMessage(
6867 11, _Internal::int_prod(this), target, stream);
6868 }
6869
6870 // .operations_research.sat.LinearConstraintProto linear = 12;
6871 if (_internal_has_linear()) {
6872 target = stream->EnsureSpace(target);
6873 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6874 InternalWriteMessage(
6875 12, _Internal::linear(this), target, stream);
6876 }
6877
6878 // .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
6879 if (_internal_has_all_diff()) {
6880 target = stream->EnsureSpace(target);
6881 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6882 InternalWriteMessage(
6883 13, _Internal::all_diff(this), target, stream);
6884 }
6885
6886 // .operations_research.sat.ElementConstraintProto element = 14;
6887 if (_internal_has_element()) {
6888 target = stream->EnsureSpace(target);
6889 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6890 InternalWriteMessage(
6891 14, _Internal::element(this), target, stream);
6892 }
6893
6894 // .operations_research.sat.CircuitConstraintProto circuit = 15;
6895 if (_internal_has_circuit()) {
6896 target = stream->EnsureSpace(target);
6897 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6898 InternalWriteMessage(
6899 15, _Internal::circuit(this), target, stream);
6900 }
6901
6902 // .operations_research.sat.TableConstraintProto table = 16;
6903 if (_internal_has_table()) {
6904 target = stream->EnsureSpace(target);
6905 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6906 InternalWriteMessage(
6907 16, _Internal::table(this), target, stream);
6908 }
6909
6910 // .operations_research.sat.AutomatonConstraintProto automaton = 17;
6911 if (_internal_has_automaton()) {
6912 target = stream->EnsureSpace(target);
6913 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6914 InternalWriteMessage(
6915 17, _Internal::automaton(this), target, stream);
6916 }
6917
6918 // .operations_research.sat.InverseConstraintProto inverse = 18;
6919 if (_internal_has_inverse()) {
6920 target = stream->EnsureSpace(target);
6921 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6922 InternalWriteMessage(
6923 18, _Internal::inverse(this), target, stream);
6924 }
6925
6926 // .operations_research.sat.IntervalConstraintProto interval = 19;
6927 if (_internal_has_interval()) {
6928 target = stream->EnsureSpace(target);
6929 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6930 InternalWriteMessage(
6931 19, _Internal::interval(this), target, stream);
6932 }
6933
6934 // .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
6935 if (_internal_has_no_overlap()) {
6936 target = stream->EnsureSpace(target);
6937 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6938 InternalWriteMessage(
6939 20, _Internal::no_overlap(this), target, stream);
6940 }
6941
6942 // .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
6943 if (_internal_has_no_overlap_2d()) {
6944 target = stream->EnsureSpace(target);
6945 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6946 InternalWriteMessage(
6947 21, _Internal::no_overlap_2d(this), target, stream);
6948 }
6949
6950 // .operations_research.sat.CumulativeConstraintProto cumulative = 22;
6951 if (_internal_has_cumulative()) {
6952 target = stream->EnsureSpace(target);
6953 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6954 InternalWriteMessage(
6955 22, _Internal::cumulative(this), target, stream);
6956 }
6957
6958 // .operations_research.sat.RoutesConstraintProto routes = 23;
6959 if (_internal_has_routes()) {
6960 target = stream->EnsureSpace(target);
6961 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6962 InternalWriteMessage(
6963 23, _Internal::routes(this), target, stream);
6964 }
6965
6966 // .operations_research.sat.ReservoirConstraintProto reservoir = 24;
6967 if (_internal_has_reservoir()) {
6968 target = stream->EnsureSpace(target);
6969 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6970 InternalWriteMessage(
6971 24, _Internal::reservoir(this), target, stream);
6972 }
6973
6974 // .operations_research.sat.BoolArgumentProto at_most_one = 26;
6975 if (_internal_has_at_most_one()) {
6976 target = stream->EnsureSpace(target);
6977 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6978 InternalWriteMessage(
6979 26, _Internal::at_most_one(this), target, stream);
6980 }
6981
6982 // .operations_research.sat.LinearArgumentProto lin_max = 27;
6983 if (_internal_has_lin_max()) {
6984 target = stream->EnsureSpace(target);
6985 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6986 InternalWriteMessage(
6987 27, _Internal::lin_max(this), target, stream);
6988 }
6989
6990 // .operations_research.sat.BoolArgumentProto exactly_one = 29;
6991 if (_internal_has_exactly_one()) {
6992 target = stream->EnsureSpace(target);
6993 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6994 InternalWriteMessage(
6995 29, _Internal::exactly_one(this), target, stream);
6996 }
6997
6998 // .operations_research.sat.ListOfVariablesProto dummy_constraint = 30;
6999 if (_internal_has_dummy_constraint()) {
7000 target = stream->EnsureSpace(target);
7001 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7002 InternalWriteMessage(
7003 30, _Internal::dummy_constraint(this), target, stream);
7004 }
7005
7006 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
7007 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
7008 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
7009 }
7010 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.ConstraintProto)
7011 return target;
7012}
7013
7015// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.ConstraintProto)
7016 size_t total_size = 0;
7017
7018 uint32_t cached_has_bits = 0;
7019 // Prevent compiler warnings about cached_has_bits being unused
7020 (void) cached_has_bits;
7021
7022 // repeated int32 enforcement_literal = 2;
7023 {
7024 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7025 Int32Size(this->enforcement_literal_);
7026 if (data_size > 0) {
7027 total_size += 1 +
7028 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
7029 static_cast<int32_t>(data_size));
7030 }
7031 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
7032 _enforcement_literal_cached_byte_size_.store(cached_size,
7033 std::memory_order_relaxed);
7034 total_size += data_size;
7035 }
7036
7037 // string name = 1;
7038 if (!this->_internal_name().empty()) {
7039 total_size += 1 +
7040 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
7041 this->_internal_name());
7042 }
7043
7044 switch (constraint_case()) {
7045 // .operations_research.sat.BoolArgumentProto bool_or = 3;
7046 case kBoolOr: {
7047 total_size += 1 +
7048 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7049 *constraint_.bool_or_);
7050 break;
7051 }
7052 // .operations_research.sat.BoolArgumentProto bool_and = 4;
7053 case kBoolAnd: {
7054 total_size += 1 +
7055 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7056 *constraint_.bool_and_);
7057 break;
7058 }
7059 // .operations_research.sat.BoolArgumentProto at_most_one = 26;
7060 case kAtMostOne: {
7061 total_size += 2 +
7062 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7063 *constraint_.at_most_one_);
7064 break;
7065 }
7066 // .operations_research.sat.BoolArgumentProto exactly_one = 29;
7067 case kExactlyOne: {
7068 total_size += 2 +
7069 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7070 *constraint_.exactly_one_);
7071 break;
7072 }
7073 // .operations_research.sat.BoolArgumentProto bool_xor = 5;
7074 case kBoolXor: {
7075 total_size += 1 +
7076 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7077 *constraint_.bool_xor_);
7078 break;
7079 }
7080 // .operations_research.sat.LinearArgumentProto int_div = 7;
7081 case kIntDiv: {
7082 total_size += 1 +
7083 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7084 *constraint_.int_div_);
7085 break;
7086 }
7087 // .operations_research.sat.LinearArgumentProto int_mod = 8;
7088 case kIntMod: {
7089 total_size += 1 +
7090 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7091 *constraint_.int_mod_);
7092 break;
7093 }
7094 // .operations_research.sat.LinearArgumentProto int_prod = 11;
7095 case kIntProd: {
7096 total_size += 1 +
7097 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7098 *constraint_.int_prod_);
7099 break;
7100 }
7101 // .operations_research.sat.LinearArgumentProto lin_max = 27;
7102 case kLinMax: {
7103 total_size += 2 +
7104 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7105 *constraint_.lin_max_);
7106 break;
7107 }
7108 // .operations_research.sat.LinearConstraintProto linear = 12;
7109 case kLinear: {
7110 total_size += 1 +
7111 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7112 *constraint_.linear_);
7113 break;
7114 }
7115 // .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
7116 case kAllDiff: {
7117 total_size += 1 +
7118 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7119 *constraint_.all_diff_);
7120 break;
7121 }
7122 // .operations_research.sat.ElementConstraintProto element = 14;
7123 case kElement: {
7124 total_size += 1 +
7125 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7126 *constraint_.element_);
7127 break;
7128 }
7129 // .operations_research.sat.CircuitConstraintProto circuit = 15;
7130 case kCircuit: {
7131 total_size += 1 +
7132 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7133 *constraint_.circuit_);
7134 break;
7135 }
7136 // .operations_research.sat.RoutesConstraintProto routes = 23;
7137 case kRoutes: {
7138 total_size += 2 +
7139 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7140 *constraint_.routes_);
7141 break;
7142 }
7143 // .operations_research.sat.TableConstraintProto table = 16;
7144 case kTable: {
7145 total_size += 2 +
7146 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7147 *constraint_.table_);
7148 break;
7149 }
7150 // .operations_research.sat.AutomatonConstraintProto automaton = 17;
7151 case kAutomaton: {
7152 total_size += 2 +
7153 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7154 *constraint_.automaton_);
7155 break;
7156 }
7157 // .operations_research.sat.InverseConstraintProto inverse = 18;
7158 case kInverse: {
7159 total_size += 2 +
7160 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7161 *constraint_.inverse_);
7162 break;
7163 }
7164 // .operations_research.sat.ReservoirConstraintProto reservoir = 24;
7165 case kReservoir: {
7166 total_size += 2 +
7167 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7168 *constraint_.reservoir_);
7169 break;
7170 }
7171 // .operations_research.sat.IntervalConstraintProto interval = 19;
7172 case kInterval: {
7173 total_size += 2 +
7174 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7175 *constraint_.interval_);
7176 break;
7177 }
7178 // .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
7179 case kNoOverlap: {
7180 total_size += 2 +
7181 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7182 *constraint_.no_overlap_);
7183 break;
7184 }
7185 // .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
7186 case kNoOverlap2D: {
7187 total_size += 2 +
7188 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7189 *constraint_.no_overlap_2d_);
7190 break;
7191 }
7192 // .operations_research.sat.CumulativeConstraintProto cumulative = 22;
7193 case kCumulative: {
7194 total_size += 2 +
7195 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7196 *constraint_.cumulative_);
7197 break;
7198 }
7199 // .operations_research.sat.ListOfVariablesProto dummy_constraint = 30;
7200 case kDummyConstraint: {
7201 total_size += 2 +
7202 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7203 *constraint_.dummy_constraint_);
7204 break;
7205 }
7206 case CONSTRAINT_NOT_SET: {
7207 break;
7208 }
7209 }
7210 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
7211}
7212
7213const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ConstraintProto::_class_data_ = {
7214 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
7215 ConstraintProto::MergeImpl
7216};
7217const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ConstraintProto::GetClassData() const { return &_class_data_; }
7218
7219void ConstraintProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
7220 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
7221 static_cast<ConstraintProto *>(to)->MergeFrom(
7222 static_cast<const ConstraintProto &>(from));
7223}
7224
7225
7227// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.ConstraintProto)
7228 GOOGLE_DCHECK_NE(&from, this);
7229 uint32_t cached_has_bits = 0;
7230 (void) cached_has_bits;
7231
7232 enforcement_literal_.MergeFrom(from.enforcement_literal_);
7233 if (!from._internal_name().empty()) {
7234 _internal_set_name(from._internal_name());
7235 }
7236 switch (from.constraint_case()) {
7237 case kBoolOr: {
7238 _internal_mutable_bool_or()->::operations_research::sat::BoolArgumentProto::MergeFrom(from._internal_bool_or());
7239 break;
7240 }
7241 case kBoolAnd: {
7242 _internal_mutable_bool_and()->::operations_research::sat::BoolArgumentProto::MergeFrom(from._internal_bool_and());
7243 break;
7244 }
7245 case kAtMostOne: {
7246 _internal_mutable_at_most_one()->::operations_research::sat::BoolArgumentProto::MergeFrom(from._internal_at_most_one());
7247 break;
7248 }
7249 case kExactlyOne: {
7250 _internal_mutable_exactly_one()->::operations_research::sat::BoolArgumentProto::MergeFrom(from._internal_exactly_one());
7251 break;
7252 }
7253 case kBoolXor: {
7254 _internal_mutable_bool_xor()->::operations_research::sat::BoolArgumentProto::MergeFrom(from._internal_bool_xor());
7255 break;
7256 }
7257 case kIntDiv: {
7258 _internal_mutable_int_div()->::operations_research::sat::LinearArgumentProto::MergeFrom(from._internal_int_div());
7259 break;
7260 }
7261 case kIntMod: {
7262 _internal_mutable_int_mod()->::operations_research::sat::LinearArgumentProto::MergeFrom(from._internal_int_mod());
7263 break;
7264 }
7265 case kIntProd: {
7266 _internal_mutable_int_prod()->::operations_research::sat::LinearArgumentProto::MergeFrom(from._internal_int_prod());
7267 break;
7268 }
7269 case kLinMax: {
7270 _internal_mutable_lin_max()->::operations_research::sat::LinearArgumentProto::MergeFrom(from._internal_lin_max());
7271 break;
7272 }
7273 case kLinear: {
7274 _internal_mutable_linear()->::operations_research::sat::LinearConstraintProto::MergeFrom(from._internal_linear());
7275 break;
7276 }
7277 case kAllDiff: {
7278 _internal_mutable_all_diff()->::operations_research::sat::AllDifferentConstraintProto::MergeFrom(from._internal_all_diff());
7279 break;
7280 }
7281 case kElement: {
7282 _internal_mutable_element()->::operations_research::sat::ElementConstraintProto::MergeFrom(from._internal_element());
7283 break;
7284 }
7285 case kCircuit: {
7286 _internal_mutable_circuit()->::operations_research::sat::CircuitConstraintProto::MergeFrom(from._internal_circuit());
7287 break;
7288 }
7289 case kRoutes: {
7290 _internal_mutable_routes()->::operations_research::sat::RoutesConstraintProto::MergeFrom(from._internal_routes());
7291 break;
7292 }
7293 case kTable: {
7294 _internal_mutable_table()->::operations_research::sat::TableConstraintProto::MergeFrom(from._internal_table());
7295 break;
7296 }
7297 case kAutomaton: {
7298 _internal_mutable_automaton()->::operations_research::sat::AutomatonConstraintProto::MergeFrom(from._internal_automaton());
7299 break;
7300 }
7301 case kInverse: {
7302 _internal_mutable_inverse()->::operations_research::sat::InverseConstraintProto::MergeFrom(from._internal_inverse());
7303 break;
7304 }
7305 case kReservoir: {
7306 _internal_mutable_reservoir()->::operations_research::sat::ReservoirConstraintProto::MergeFrom(from._internal_reservoir());
7307 break;
7308 }
7309 case kInterval: {
7310 _internal_mutable_interval()->::operations_research::sat::IntervalConstraintProto::MergeFrom(from._internal_interval());
7311 break;
7312 }
7313 case kNoOverlap: {
7314 _internal_mutable_no_overlap()->::operations_research::sat::NoOverlapConstraintProto::MergeFrom(from._internal_no_overlap());
7315 break;
7316 }
7317 case kNoOverlap2D: {
7318 _internal_mutable_no_overlap_2d()->::operations_research::sat::NoOverlap2DConstraintProto::MergeFrom(from._internal_no_overlap_2d());
7319 break;
7320 }
7321 case kCumulative: {
7322 _internal_mutable_cumulative()->::operations_research::sat::CumulativeConstraintProto::MergeFrom(from._internal_cumulative());
7323 break;
7324 }
7325 case kDummyConstraint: {
7326 _internal_mutable_dummy_constraint()->::operations_research::sat::ListOfVariablesProto::MergeFrom(from._internal_dummy_constraint());
7327 break;
7328 }
7329 case CONSTRAINT_NOT_SET: {
7330 break;
7331 }
7332 }
7333 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
7334}
7335
7337// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.ConstraintProto)
7338 if (&from == this) return;
7339 Clear();
7340 MergeFrom(from);
7341}
7342
7344 return true;
7345}
7346
7347void ConstraintProto::InternalSwap(ConstraintProto* other) {
7348 using std::swap;
7349 auto* lhs_arena = GetArenaForAllocation();
7350 auto* rhs_arena = other->GetArenaForAllocation();
7351 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
7352 enforcement_literal_.InternalSwap(&other->enforcement_literal_);
7353 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
7354 &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
7355 &name_, lhs_arena,
7356 &other->name_, rhs_arena
7357 );
7358 swap(constraint_, other->constraint_);
7359 swap(_oneof_case_[0], other->_oneof_case_[0]);
7360}
7361
7362::PROTOBUF_NAMESPACE_ID::Metadata ConstraintProto::GetMetadata() const {
7363 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
7366}
7367
7368// ===================================================================
7369
7371 public:
7372};
7373
7374CpObjectiveProto::CpObjectiveProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
7375 bool is_message_owned)
7376 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
7377 vars_(arena),
7378 coeffs_(arena),
7379 domain_(arena) {
7380 SharedCtor();
7381 if (!is_message_owned) {
7382 RegisterArenaDtor(arena);
7383 }
7384 // @@protoc_insertion_point(arena_constructor:operations_research.sat.CpObjectiveProto)
7385}
7387 : ::PROTOBUF_NAMESPACE_ID::Message(),
7388 vars_(from.vars_),
7389 coeffs_(from.coeffs_),
7390 domain_(from.domain_) {
7391 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
7392 ::memcpy(&offset_, &from.offset_,
7393 static_cast<size_t>(reinterpret_cast<char*>(&scaling_was_exact_) -
7394 reinterpret_cast<char*>(&offset_)) + sizeof(scaling_was_exact_));
7395 // @@protoc_insertion_point(copy_constructor:operations_research.sat.CpObjectiveProto)
7396}
7397
7398inline void CpObjectiveProto::SharedCtor() {
7399::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
7400 reinterpret_cast<char*>(&offset_) - reinterpret_cast<char*>(this)),
7401 0, static_cast<size_t>(reinterpret_cast<char*>(&scaling_was_exact_) -
7402 reinterpret_cast<char*>(&offset_)) + sizeof(scaling_was_exact_));
7403}
7404
7406 // @@protoc_insertion_point(destructor:operations_research.sat.CpObjectiveProto)
7407 if (GetArenaForAllocation() != nullptr) return;
7408 SharedDtor();
7409 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
7410}
7411
7412inline void CpObjectiveProto::SharedDtor() {
7413 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
7414}
7415
7416void CpObjectiveProto::ArenaDtor(void* object) {
7417 CpObjectiveProto* _this = reinterpret_cast< CpObjectiveProto* >(object);
7418 (void)_this;
7419}
7420void CpObjectiveProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
7421}
7422void CpObjectiveProto::SetCachedSize(int size) const {
7423 _cached_size_.Set(size);
7424}
7425
7427// @@protoc_insertion_point(message_clear_start:operations_research.sat.CpObjectiveProto)
7428 uint32_t cached_has_bits = 0;
7429 // Prevent compiler warnings about cached_has_bits being unused
7430 (void) cached_has_bits;
7431
7432 vars_.Clear();
7433 coeffs_.Clear();
7434 domain_.Clear();
7435 ::memset(&offset_, 0, static_cast<size_t>(
7436 reinterpret_cast<char*>(&scaling_was_exact_) -
7437 reinterpret_cast<char*>(&offset_)) + sizeof(scaling_was_exact_));
7438 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
7439}
7440
7441const char* CpObjectiveProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
7442#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
7443 while (!ctx->Done(&ptr)) {
7444 uint32_t tag;
7445 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
7446 switch (tag >> 3) {
7447 // repeated int32 vars = 1;
7448 case 1:
7449 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
7450 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_vars(), ptr, ctx);
7451 CHK_(ptr);
7452 } else if (static_cast<uint8_t>(tag) == 8) {
7453 _internal_add_vars(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
7454 CHK_(ptr);
7455 } else
7456 goto handle_unusual;
7457 continue;
7458 // double offset = 2;
7459 case 2:
7460 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 17)) {
7461 offset_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
7462 ptr += sizeof(double);
7463 } else
7464 goto handle_unusual;
7465 continue;
7466 // double scaling_factor = 3;
7467 case 3:
7468 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 25)) {
7469 scaling_factor_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
7470 ptr += sizeof(double);
7471 } else
7472 goto handle_unusual;
7473 continue;
7474 // repeated int64 coeffs = 4;
7475 case 4:
7476 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
7477 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_coeffs(), ptr, ctx);
7478 CHK_(ptr);
7479 } else if (static_cast<uint8_t>(tag) == 32) {
7480 _internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
7481 CHK_(ptr);
7482 } else
7483 goto handle_unusual;
7484 continue;
7485 // repeated int64 domain = 5;
7486 case 5:
7487 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
7488 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_domain(), ptr, ctx);
7489 CHK_(ptr);
7490 } else if (static_cast<uint8_t>(tag) == 40) {
7491 _internal_add_domain(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
7492 CHK_(ptr);
7493 } else
7494 goto handle_unusual;
7495 continue;
7496 // bool scaling_was_exact = 6;
7497 case 6:
7498 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 48)) {
7499 scaling_was_exact_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
7500 CHK_(ptr);
7501 } else
7502 goto handle_unusual;
7503 continue;
7504 // int64 integer_offset = 7;
7505 case 7:
7506 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 56)) {
7507 integer_offset_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
7508 CHK_(ptr);
7509 } else
7510 goto handle_unusual;
7511 continue;
7512 // int64 integer_scaling_factor = 8;
7513 case 8:
7514 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 64)) {
7515 integer_scaling_factor_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
7516 CHK_(ptr);
7517 } else
7518 goto handle_unusual;
7519 continue;
7520 default:
7521 goto handle_unusual;
7522 } // switch
7523 handle_unusual:
7524 if ((tag == 0) || ((tag & 7) == 4)) {
7525 CHK_(ptr);
7526 ctx->SetLastTag(tag);
7527 goto message_done;
7528 }
7529 ptr = UnknownFieldParse(
7530 tag,
7531 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
7532 ptr, ctx);
7533 CHK_(ptr != nullptr);
7534 } // while
7535message_done:
7536 return ptr;
7537failure:
7538 ptr = nullptr;
7539 goto message_done;
7540#undef CHK_
7541}
7542
7544 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
7545 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.CpObjectiveProto)
7546 uint32_t cached_has_bits = 0;
7547 (void) cached_has_bits;
7548
7549 // repeated int32 vars = 1;
7550 {
7551 int byte_size = _vars_cached_byte_size_.load(std::memory_order_relaxed);
7552 if (byte_size > 0) {
7553 target = stream->WriteInt32Packed(
7554 1, _internal_vars(), byte_size, target);
7555 }
7556 }
7557
7558 // double offset = 2;
7559 static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
7560 double tmp_offset = this->_internal_offset();
7561 uint64_t raw_offset;
7562 memcpy(&raw_offset, &tmp_offset, sizeof(tmp_offset));
7563 if (raw_offset != 0) {
7564 target = stream->EnsureSpace(target);
7565 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(2, this->_internal_offset(), target);
7566 }
7567
7568 // double scaling_factor = 3;
7569 static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
7570 double tmp_scaling_factor = this->_internal_scaling_factor();
7571 uint64_t raw_scaling_factor;
7572 memcpy(&raw_scaling_factor, &tmp_scaling_factor, sizeof(tmp_scaling_factor));
7573 if (raw_scaling_factor != 0) {
7574 target = stream->EnsureSpace(target);
7575 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(3, this->_internal_scaling_factor(), target);
7576 }
7577
7578 // repeated int64 coeffs = 4;
7579 {
7580 int byte_size = _coeffs_cached_byte_size_.load(std::memory_order_relaxed);
7581 if (byte_size > 0) {
7582 target = stream->WriteInt64Packed(
7583 4, _internal_coeffs(), byte_size, target);
7584 }
7585 }
7586
7587 // repeated int64 domain = 5;
7588 {
7589 int byte_size = _domain_cached_byte_size_.load(std::memory_order_relaxed);
7590 if (byte_size > 0) {
7591 target = stream->WriteInt64Packed(
7592 5, _internal_domain(), byte_size, target);
7593 }
7594 }
7595
7596 // bool scaling_was_exact = 6;
7597 if (this->_internal_scaling_was_exact() != 0) {
7598 target = stream->EnsureSpace(target);
7599 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(6, this->_internal_scaling_was_exact(), target);
7600 }
7601
7602 // int64 integer_offset = 7;
7603 if (this->_internal_integer_offset() != 0) {
7604 target = stream->EnsureSpace(target);
7605 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(7, this->_internal_integer_offset(), target);
7606 }
7607
7608 // int64 integer_scaling_factor = 8;
7609 if (this->_internal_integer_scaling_factor() != 0) {
7610 target = stream->EnsureSpace(target);
7611 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(8, this->_internal_integer_scaling_factor(), target);
7612 }
7613
7614 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
7615 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
7616 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
7617 }
7618 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.CpObjectiveProto)
7619 return target;
7620}
7621
7623// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.CpObjectiveProto)
7624 size_t total_size = 0;
7625
7626 uint32_t cached_has_bits = 0;
7627 // Prevent compiler warnings about cached_has_bits being unused
7628 (void) cached_has_bits;
7629
7630 // repeated int32 vars = 1;
7631 {
7632 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7633 Int32Size(this->vars_);
7634 if (data_size > 0) {
7635 total_size += 1 +
7636 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
7637 static_cast<int32_t>(data_size));
7638 }
7639 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
7640 _vars_cached_byte_size_.store(cached_size,
7641 std::memory_order_relaxed);
7642 total_size += data_size;
7643 }
7644
7645 // repeated int64 coeffs = 4;
7646 {
7647 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7648 Int64Size(this->coeffs_);
7649 if (data_size > 0) {
7650 total_size += 1 +
7651 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
7652 static_cast<int32_t>(data_size));
7653 }
7654 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
7655 _coeffs_cached_byte_size_.store(cached_size,
7656 std::memory_order_relaxed);
7657 total_size += data_size;
7658 }
7659
7660 // repeated int64 domain = 5;
7661 {
7662 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7663 Int64Size(this->domain_);
7664 if (data_size > 0) {
7665 total_size += 1 +
7666 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
7667 static_cast<int32_t>(data_size));
7668 }
7669 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
7670 _domain_cached_byte_size_.store(cached_size,
7671 std::memory_order_relaxed);
7672 total_size += data_size;
7673 }
7674
7675 // double offset = 2;
7676 static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
7677 double tmp_offset = this->_internal_offset();
7678 uint64_t raw_offset;
7679 memcpy(&raw_offset, &tmp_offset, sizeof(tmp_offset));
7680 if (raw_offset != 0) {
7681 total_size += 1 + 8;
7682 }
7683
7684 // double scaling_factor = 3;
7685 static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
7686 double tmp_scaling_factor = this->_internal_scaling_factor();
7687 uint64_t raw_scaling_factor;
7688 memcpy(&raw_scaling_factor, &tmp_scaling_factor, sizeof(tmp_scaling_factor));
7689 if (raw_scaling_factor != 0) {
7690 total_size += 1 + 8;
7691 }
7692
7693 // int64 integer_offset = 7;
7694 if (this->_internal_integer_offset() != 0) {
7695 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_integer_offset());
7696 }
7697
7698 // int64 integer_scaling_factor = 8;
7699 if (this->_internal_integer_scaling_factor() != 0) {
7700 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_integer_scaling_factor());
7701 }
7702
7703 // bool scaling_was_exact = 6;
7704 if (this->_internal_scaling_was_exact() != 0) {
7705 total_size += 1 + 1;
7706 }
7707
7708 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
7709}
7710
7711const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CpObjectiveProto::_class_data_ = {
7712 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
7713 CpObjectiveProto::MergeImpl
7714};
7715const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CpObjectiveProto::GetClassData() const { return &_class_data_; }
7716
7717void CpObjectiveProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
7718 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
7719 static_cast<CpObjectiveProto *>(to)->MergeFrom(
7720 static_cast<const CpObjectiveProto &>(from));
7721}
7722
7723
7725// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.CpObjectiveProto)
7726 GOOGLE_DCHECK_NE(&from, this);
7727 uint32_t cached_has_bits = 0;
7728 (void) cached_has_bits;
7729
7730 vars_.MergeFrom(from.vars_);
7731 coeffs_.MergeFrom(from.coeffs_);
7732 domain_.MergeFrom(from.domain_);
7733 static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
7734 double tmp_offset = from._internal_offset();
7735 uint64_t raw_offset;
7736 memcpy(&raw_offset, &tmp_offset, sizeof(tmp_offset));
7737 if (raw_offset != 0) {
7738 _internal_set_offset(from._internal_offset());
7739 }
7740 static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
7741 double tmp_scaling_factor = from._internal_scaling_factor();
7742 uint64_t raw_scaling_factor;
7743 memcpy(&raw_scaling_factor, &tmp_scaling_factor, sizeof(tmp_scaling_factor));
7744 if (raw_scaling_factor != 0) {
7745 _internal_set_scaling_factor(from._internal_scaling_factor());
7746 }
7747 if (from._internal_integer_offset() != 0) {
7748 _internal_set_integer_offset(from._internal_integer_offset());
7749 }
7750 if (from._internal_integer_scaling_factor() != 0) {
7751 _internal_set_integer_scaling_factor(from._internal_integer_scaling_factor());
7752 }
7753 if (from._internal_scaling_was_exact() != 0) {
7754 _internal_set_scaling_was_exact(from._internal_scaling_was_exact());
7755 }
7756 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
7757}
7758
7760// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.CpObjectiveProto)
7761 if (&from == this) return;
7762 Clear();
7763 MergeFrom(from);
7764}
7765
7767 return true;
7768}
7769
7770void CpObjectiveProto::InternalSwap(CpObjectiveProto* other) {
7771 using std::swap;
7772 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
7773 vars_.InternalSwap(&other->vars_);
7774 coeffs_.InternalSwap(&other->coeffs_);
7775 domain_.InternalSwap(&other->domain_);
7776 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
7777 PROTOBUF_FIELD_OFFSET(CpObjectiveProto, scaling_was_exact_)
7778 + sizeof(CpObjectiveProto::scaling_was_exact_)
7779 - PROTOBUF_FIELD_OFFSET(CpObjectiveProto, offset_)>(
7780 reinterpret_cast<char*>(&offset_),
7781 reinterpret_cast<char*>(&other->offset_));
7782}
7783
7784::PROTOBUF_NAMESPACE_ID::Metadata CpObjectiveProto::GetMetadata() const {
7785 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
7788}
7789
7790// ===================================================================
7791
7793 public:
7794};
7795
7796FloatObjectiveProto::FloatObjectiveProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
7797 bool is_message_owned)
7798 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
7799 vars_(arena),
7800 coeffs_(arena) {
7801 SharedCtor();
7802 if (!is_message_owned) {
7803 RegisterArenaDtor(arena);
7804 }
7805 // @@protoc_insertion_point(arena_constructor:operations_research.sat.FloatObjectiveProto)
7806}
7808 : ::PROTOBUF_NAMESPACE_ID::Message(),
7809 vars_(from.vars_),
7810 coeffs_(from.coeffs_) {
7811 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
7812 ::memcpy(&offset_, &from.offset_,
7813 static_cast<size_t>(reinterpret_cast<char*>(&maximize_) -
7814 reinterpret_cast<char*>(&offset_)) + sizeof(maximize_));
7815 // @@protoc_insertion_point(copy_constructor:operations_research.sat.FloatObjectiveProto)
7816}
7817
7818inline void FloatObjectiveProto::SharedCtor() {
7819::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
7820 reinterpret_cast<char*>(&offset_) - reinterpret_cast<char*>(this)),
7821 0, static_cast<size_t>(reinterpret_cast<char*>(&maximize_) -
7822 reinterpret_cast<char*>(&offset_)) + sizeof(maximize_));
7823}
7824
7826 // @@protoc_insertion_point(destructor:operations_research.sat.FloatObjectiveProto)
7827 if (GetArenaForAllocation() != nullptr) return;
7828 SharedDtor();
7829 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
7830}
7831
7832inline void FloatObjectiveProto::SharedDtor() {
7833 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
7834}
7835
7836void FloatObjectiveProto::ArenaDtor(void* object) {
7837 FloatObjectiveProto* _this = reinterpret_cast< FloatObjectiveProto* >(object);
7838 (void)_this;
7839}
7840void FloatObjectiveProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
7841}
7842void FloatObjectiveProto::SetCachedSize(int size) const {
7843 _cached_size_.Set(size);
7844}
7845
7847// @@protoc_insertion_point(message_clear_start:operations_research.sat.FloatObjectiveProto)
7848 uint32_t cached_has_bits = 0;
7849 // Prevent compiler warnings about cached_has_bits being unused
7850 (void) cached_has_bits;
7851
7852 vars_.Clear();
7853 coeffs_.Clear();
7854 ::memset(&offset_, 0, static_cast<size_t>(
7855 reinterpret_cast<char*>(&maximize_) -
7856 reinterpret_cast<char*>(&offset_)) + sizeof(maximize_));
7857 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
7858}
7859
7860const char* FloatObjectiveProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
7861#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
7862 while (!ctx->Done(&ptr)) {
7863 uint32_t tag;
7864 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
7865 switch (tag >> 3) {
7866 // repeated int32 vars = 1;
7867 case 1:
7868 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
7869 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_vars(), ptr, ctx);
7870 CHK_(ptr);
7871 } else if (static_cast<uint8_t>(tag) == 8) {
7872 _internal_add_vars(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
7873 CHK_(ptr);
7874 } else
7875 goto handle_unusual;
7876 continue;
7877 // repeated double coeffs = 2;
7878 case 2:
7879 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
7880 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedDoubleParser(_internal_mutable_coeffs(), ptr, ctx);
7881 CHK_(ptr);
7882 } else if (static_cast<uint8_t>(tag) == 17) {
7883 _internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr));
7884 ptr += sizeof(double);
7885 } else
7886 goto handle_unusual;
7887 continue;
7888 // double offset = 3;
7889 case 3:
7890 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 25)) {
7891 offset_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
7892 ptr += sizeof(double);
7893 } else
7894 goto handle_unusual;
7895 continue;
7896 // bool maximize = 4;
7897 case 4:
7898 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
7899 maximize_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
7900 CHK_(ptr);
7901 } else
7902 goto handle_unusual;
7903 continue;
7904 default:
7905 goto handle_unusual;
7906 } // switch
7907 handle_unusual:
7908 if ((tag == 0) || ((tag & 7) == 4)) {
7909 CHK_(ptr);
7910 ctx->SetLastTag(tag);
7911 goto message_done;
7912 }
7913 ptr = UnknownFieldParse(
7914 tag,
7915 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
7916 ptr, ctx);
7917 CHK_(ptr != nullptr);
7918 } // while
7919message_done:
7920 return ptr;
7921failure:
7922 ptr = nullptr;
7923 goto message_done;
7924#undef CHK_
7925}
7926
7928 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
7929 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.FloatObjectiveProto)
7930 uint32_t cached_has_bits = 0;
7931 (void) cached_has_bits;
7932
7933 // repeated int32 vars = 1;
7934 {
7935 int byte_size = _vars_cached_byte_size_.load(std::memory_order_relaxed);
7936 if (byte_size > 0) {
7937 target = stream->WriteInt32Packed(
7938 1, _internal_vars(), byte_size, target);
7939 }
7940 }
7941
7942 // repeated double coeffs = 2;
7943 if (this->_internal_coeffs_size() > 0) {
7944 target = stream->WriteFixedPacked(2, _internal_coeffs(), target);
7945 }
7946
7947 // double offset = 3;
7948 static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
7949 double tmp_offset = this->_internal_offset();
7950 uint64_t raw_offset;
7951 memcpy(&raw_offset, &tmp_offset, sizeof(tmp_offset));
7952 if (raw_offset != 0) {
7953 target = stream->EnsureSpace(target);
7954 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(3, this->_internal_offset(), target);
7955 }
7956
7957 // bool maximize = 4;
7958 if (this->_internal_maximize() != 0) {
7959 target = stream->EnsureSpace(target);
7960 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_maximize(), target);
7961 }
7962
7963 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
7964 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
7965 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
7966 }
7967 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.FloatObjectiveProto)
7968 return target;
7969}
7970
7972// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.FloatObjectiveProto)
7973 size_t total_size = 0;
7974
7975 uint32_t cached_has_bits = 0;
7976 // Prevent compiler warnings about cached_has_bits being unused
7977 (void) cached_has_bits;
7978
7979 // repeated int32 vars = 1;
7980 {
7981 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7982 Int32Size(this->vars_);
7983 if (data_size > 0) {
7984 total_size += 1 +
7985 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
7986 static_cast<int32_t>(data_size));
7987 }
7988 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
7989 _vars_cached_byte_size_.store(cached_size,
7990 std::memory_order_relaxed);
7991 total_size += data_size;
7992 }
7993
7994 // repeated double coeffs = 2;
7995 {
7996 unsigned int count = static_cast<unsigned int>(this->_internal_coeffs_size());
7997 size_t data_size = 8UL * count;
7998 if (data_size > 0) {
7999 total_size += 1 +
8000 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
8001 static_cast<int32_t>(data_size));
8002 }
8003 total_size += data_size;
8004 }
8005
8006 // double offset = 3;
8007 static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
8008 double tmp_offset = this->_internal_offset();
8009 uint64_t raw_offset;
8010 memcpy(&raw_offset, &tmp_offset, sizeof(tmp_offset));
8011 if (raw_offset != 0) {
8012 total_size += 1 + 8;
8013 }
8014
8015 // bool maximize = 4;
8016 if (this->_internal_maximize() != 0) {
8017 total_size += 1 + 1;
8018 }
8019
8020 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
8021}
8022
8023const ::PROTOBUF_NAMESPACE_ID::Message::ClassData FloatObjectiveProto::_class_data_ = {
8024 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
8025 FloatObjectiveProto::MergeImpl
8026};
8027const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*FloatObjectiveProto::GetClassData() const { return &_class_data_; }
8028
8029void FloatObjectiveProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
8030 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
8031 static_cast<FloatObjectiveProto *>(to)->MergeFrom(
8032 static_cast<const FloatObjectiveProto &>(from));
8033}
8034
8035
8037// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.FloatObjectiveProto)
8038 GOOGLE_DCHECK_NE(&from, this);
8039 uint32_t cached_has_bits = 0;
8040 (void) cached_has_bits;
8041
8042 vars_.MergeFrom(from.vars_);
8043 coeffs_.MergeFrom(from.coeffs_);
8044 static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
8045 double tmp_offset = from._internal_offset();
8046 uint64_t raw_offset;
8047 memcpy(&raw_offset, &tmp_offset, sizeof(tmp_offset));
8048 if (raw_offset != 0) {
8049 _internal_set_offset(from._internal_offset());
8050 }
8051 if (from._internal_maximize() != 0) {
8052 _internal_set_maximize(from._internal_maximize());
8053 }
8054 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
8055}
8056
8058// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.FloatObjectiveProto)
8059 if (&from == this) return;
8060 Clear();
8061 MergeFrom(from);
8062}
8063
8065 return true;
8066}
8067
8068void FloatObjectiveProto::InternalSwap(FloatObjectiveProto* other) {
8069 using std::swap;
8070 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
8071 vars_.InternalSwap(&other->vars_);
8072 coeffs_.InternalSwap(&other->coeffs_);
8073 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
8074 PROTOBUF_FIELD_OFFSET(FloatObjectiveProto, maximize_)
8075 + sizeof(FloatObjectiveProto::maximize_)
8076 - PROTOBUF_FIELD_OFFSET(FloatObjectiveProto, offset_)>(
8077 reinterpret_cast<char*>(&offset_),
8078 reinterpret_cast<char*>(&other->offset_));
8079}
8080
8081::PROTOBUF_NAMESPACE_ID::Metadata FloatObjectiveProto::GetMetadata() const {
8082 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
8085}
8086
8087// ===================================================================
8088
8090 public:
8091};
8092
8094 bool is_message_owned)
8095 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
8096 SharedCtor();
8097 if (!is_message_owned) {
8098 RegisterArenaDtor(arena);
8099 }
8100 // @@protoc_insertion_point(arena_constructor:operations_research.sat.DecisionStrategyProto.AffineTransformation)
8101}
8103 : ::PROTOBUF_NAMESPACE_ID::Message() {
8104 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
8105 ::memcpy(&offset_, &from.offset_,
8106 static_cast<size_t>(reinterpret_cast<char*>(&index_) -
8107 reinterpret_cast<char*>(&offset_)) + sizeof(index_));
8108 // @@protoc_insertion_point(copy_constructor:operations_research.sat.DecisionStrategyProto.AffineTransformation)
8109}
8110
8111inline void DecisionStrategyProto_AffineTransformation::SharedCtor() {
8112::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
8113 reinterpret_cast<char*>(&offset_) - reinterpret_cast<char*>(this)),
8114 0, static_cast<size_t>(reinterpret_cast<char*>(&index_) -
8115 reinterpret_cast<char*>(&offset_)) + sizeof(index_));
8116}
8117
8119 // @@protoc_insertion_point(destructor:operations_research.sat.DecisionStrategyProto.AffineTransformation)
8120 if (GetArenaForAllocation() != nullptr) return;
8121 SharedDtor();
8122 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
8123}
8124
8125inline void DecisionStrategyProto_AffineTransformation::SharedDtor() {
8126 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
8127}
8128
8129void DecisionStrategyProto_AffineTransformation::ArenaDtor(void* object) {
8131 (void)_this;
8132}
8133void DecisionStrategyProto_AffineTransformation::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
8134}
8135void DecisionStrategyProto_AffineTransformation::SetCachedSize(int size) const {
8136 _cached_size_.Set(size);
8137}
8138
8140// @@protoc_insertion_point(message_clear_start:operations_research.sat.DecisionStrategyProto.AffineTransformation)
8141 uint32_t cached_has_bits = 0;
8142 // Prevent compiler warnings about cached_has_bits being unused
8143 (void) cached_has_bits;
8144
8145 ::memset(&offset_, 0, static_cast<size_t>(
8146 reinterpret_cast<char*>(&index_) -
8147 reinterpret_cast<char*>(&offset_)) + sizeof(index_));
8148 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
8149}
8150
8151const char* DecisionStrategyProto_AffineTransformation::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
8152#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
8153 while (!ctx->Done(&ptr)) {
8154 uint32_t tag;
8155 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
8156 switch (tag >> 3) {
8157 // int32 index = 1;
8158 case 1:
8159 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
8160 index_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
8161 CHK_(ptr);
8162 } else
8163 goto handle_unusual;
8164 continue;
8165 // int64 offset = 2;
8166 case 2:
8167 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
8168 offset_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
8169 CHK_(ptr);
8170 } else
8171 goto handle_unusual;
8172 continue;
8173 // int64 positive_coeff = 3;
8174 case 3:
8175 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
8176 positive_coeff_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
8177 CHK_(ptr);
8178 } else
8179 goto handle_unusual;
8180 continue;
8181 default:
8182 goto handle_unusual;
8183 } // switch
8184 handle_unusual:
8185 if ((tag == 0) || ((tag & 7) == 4)) {
8186 CHK_(ptr);
8187 ctx->SetLastTag(tag);
8188 goto message_done;
8189 }
8190 ptr = UnknownFieldParse(
8191 tag,
8192 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
8193 ptr, ctx);
8194 CHK_(ptr != nullptr);
8195 } // while
8196message_done:
8197 return ptr;
8198failure:
8199 ptr = nullptr;
8200 goto message_done;
8201#undef CHK_
8202}
8203
8205 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
8206 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.DecisionStrategyProto.AffineTransformation)
8207 uint32_t cached_has_bits = 0;
8208 (void) cached_has_bits;
8209
8210 // int32 index = 1;
8211 if (this->_internal_index() != 0) {
8212 target = stream->EnsureSpace(target);
8213 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_index(), target);
8214 }
8215
8216 // int64 offset = 2;
8217 if (this->_internal_offset() != 0) {
8218 target = stream->EnsureSpace(target);
8219 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->_internal_offset(), target);
8220 }
8221
8222 // int64 positive_coeff = 3;
8223 if (this->_internal_positive_coeff() != 0) {
8224 target = stream->EnsureSpace(target);
8225 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(3, this->_internal_positive_coeff(), target);
8226 }
8227
8228 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
8229 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
8230 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
8231 }
8232 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.DecisionStrategyProto.AffineTransformation)
8233 return target;
8234}
8235
8237// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.DecisionStrategyProto.AffineTransformation)
8238 size_t total_size = 0;
8239
8240 uint32_t cached_has_bits = 0;
8241 // Prevent compiler warnings about cached_has_bits being unused
8242 (void) cached_has_bits;
8243
8244 // int64 offset = 2;
8245 if (this->_internal_offset() != 0) {
8246 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_offset());
8247 }
8248
8249 // int64 positive_coeff = 3;
8250 if (this->_internal_positive_coeff() != 0) {
8251 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_positive_coeff());
8252 }
8253
8254 // int32 index = 1;
8255 if (this->_internal_index() != 0) {
8256 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_index());
8257 }
8258
8259 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
8260}
8261
8262const ::PROTOBUF_NAMESPACE_ID::Message::ClassData DecisionStrategyProto_AffineTransformation::_class_data_ = {
8263 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
8264 DecisionStrategyProto_AffineTransformation::MergeImpl
8265};
8266const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*DecisionStrategyProto_AffineTransformation::GetClassData() const { return &_class_data_; }
8267
8268void DecisionStrategyProto_AffineTransformation::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
8269 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
8271 static_cast<const DecisionStrategyProto_AffineTransformation &>(from));
8272}
8273
8274
8276// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.DecisionStrategyProto.AffineTransformation)
8277 GOOGLE_DCHECK_NE(&from, this);
8278 uint32_t cached_has_bits = 0;
8279 (void) cached_has_bits;
8280
8281 if (from._internal_offset() != 0) {
8282 _internal_set_offset(from._internal_offset());
8283 }
8284 if (from._internal_positive_coeff() != 0) {
8285 _internal_set_positive_coeff(from._internal_positive_coeff());
8286 }
8287 if (from._internal_index() != 0) {
8288 _internal_set_index(from._internal_index());
8289 }
8290 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
8291}
8292
8294// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.DecisionStrategyProto.AffineTransformation)
8295 if (&from == this) return;
8296 Clear();
8297 MergeFrom(from);
8298}
8299
8301 return true;
8302}
8303
8304void DecisionStrategyProto_AffineTransformation::InternalSwap(DecisionStrategyProto_AffineTransformation* other) {
8305 using std::swap;
8306 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
8307 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
8308 PROTOBUF_FIELD_OFFSET(DecisionStrategyProto_AffineTransformation, index_)
8309 + sizeof(DecisionStrategyProto_AffineTransformation::index_)
8310 - PROTOBUF_FIELD_OFFSET(DecisionStrategyProto_AffineTransformation, offset_)>(
8311 reinterpret_cast<char*>(&offset_),
8312 reinterpret_cast<char*>(&other->offset_));
8313}
8314
8315::PROTOBUF_NAMESPACE_ID::Metadata DecisionStrategyProto_AffineTransformation::GetMetadata() const {
8316 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
8319}
8320
8321// ===================================================================
8322
8324 public:
8325};
8326
8327DecisionStrategyProto::DecisionStrategyProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
8328 bool is_message_owned)
8329 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
8330 variables_(arena),
8331 transformations_(arena) {
8332 SharedCtor();
8333 if (!is_message_owned) {
8334 RegisterArenaDtor(arena);
8335 }
8336 // @@protoc_insertion_point(arena_constructor:operations_research.sat.DecisionStrategyProto)
8337}
8339 : ::PROTOBUF_NAMESPACE_ID::Message(),
8340 variables_(from.variables_),
8341 transformations_(from.transformations_) {
8342 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
8343 ::memcpy(&variable_selection_strategy_, &from.variable_selection_strategy_,
8344 static_cast<size_t>(reinterpret_cast<char*>(&domain_reduction_strategy_) -
8345 reinterpret_cast<char*>(&variable_selection_strategy_)) + sizeof(domain_reduction_strategy_));
8346 // @@protoc_insertion_point(copy_constructor:operations_research.sat.DecisionStrategyProto)
8347}
8348
8349inline void DecisionStrategyProto::SharedCtor() {
8350::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
8351 reinterpret_cast<char*>(&variable_selection_strategy_) - reinterpret_cast<char*>(this)),
8352 0, static_cast<size_t>(reinterpret_cast<char*>(&domain_reduction_strategy_) -
8353 reinterpret_cast<char*>(&variable_selection_strategy_)) + sizeof(domain_reduction_strategy_));
8354}
8355
8357 // @@protoc_insertion_point(destructor:operations_research.sat.DecisionStrategyProto)
8358 if (GetArenaForAllocation() != nullptr) return;
8359 SharedDtor();
8360 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
8361}
8362
8363inline void DecisionStrategyProto::SharedDtor() {
8364 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
8365}
8366
8367void DecisionStrategyProto::ArenaDtor(void* object) {
8368 DecisionStrategyProto* _this = reinterpret_cast< DecisionStrategyProto* >(object);
8369 (void)_this;
8370}
8371void DecisionStrategyProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
8372}
8373void DecisionStrategyProto::SetCachedSize(int size) const {
8374 _cached_size_.Set(size);
8375}
8376
8378// @@protoc_insertion_point(message_clear_start:operations_research.sat.DecisionStrategyProto)
8379 uint32_t cached_has_bits = 0;
8380 // Prevent compiler warnings about cached_has_bits being unused
8381 (void) cached_has_bits;
8382
8383 variables_.Clear();
8384 transformations_.Clear();
8385 ::memset(&variable_selection_strategy_, 0, static_cast<size_t>(
8386 reinterpret_cast<char*>(&domain_reduction_strategy_) -
8387 reinterpret_cast<char*>(&variable_selection_strategy_)) + sizeof(domain_reduction_strategy_));
8388 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
8389}
8390
8391const char* DecisionStrategyProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
8392#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
8393 while (!ctx->Done(&ptr)) {
8394 uint32_t tag;
8395 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
8396 switch (tag >> 3) {
8397 // repeated int32 variables = 1;
8398 case 1:
8399 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
8400 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_variables(), ptr, ctx);
8401 CHK_(ptr);
8402 } else if (static_cast<uint8_t>(tag) == 8) {
8403 _internal_add_variables(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
8404 CHK_(ptr);
8405 } else
8406 goto handle_unusual;
8407 continue;
8408 // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
8409 case 2:
8410 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
8411 uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
8412 CHK_(ptr);
8413 _internal_set_variable_selection_strategy(static_cast<::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy>(val));
8414 } else
8415 goto handle_unusual;
8416 continue;
8417 // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
8418 case 3:
8419 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
8420 uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
8421 CHK_(ptr);
8422 _internal_set_domain_reduction_strategy(static_cast<::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy>(val));
8423 } else
8424 goto handle_unusual;
8425 continue;
8426 // repeated .operations_research.sat.DecisionStrategyProto.AffineTransformation transformations = 4;
8427 case 4:
8428 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
8429 ptr -= 1;
8430 do {
8431 ptr += 1;
8432 ptr = ctx->ParseMessage(_internal_add_transformations(), ptr);
8433 CHK_(ptr);
8434 if (!ctx->DataAvailable(ptr)) break;
8435 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
8436 } else
8437 goto handle_unusual;
8438 continue;
8439 default:
8440 goto handle_unusual;
8441 } // switch
8442 handle_unusual:
8443 if ((tag == 0) || ((tag & 7) == 4)) {
8444 CHK_(ptr);
8445 ctx->SetLastTag(tag);
8446 goto message_done;
8447 }
8448 ptr = UnknownFieldParse(
8449 tag,
8450 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
8451 ptr, ctx);
8452 CHK_(ptr != nullptr);
8453 } // while
8454message_done:
8455 return ptr;
8456failure:
8457 ptr = nullptr;
8458 goto message_done;
8459#undef CHK_
8460}
8461
8463 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
8464 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.DecisionStrategyProto)
8465 uint32_t cached_has_bits = 0;
8466 (void) cached_has_bits;
8467
8468 // repeated int32 variables = 1;
8469 {
8470 int byte_size = _variables_cached_byte_size_.load(std::memory_order_relaxed);
8471 if (byte_size > 0) {
8472 target = stream->WriteInt32Packed(
8473 1, _internal_variables(), byte_size, target);
8474 }
8475 }
8476
8477 // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
8478 if (this->_internal_variable_selection_strategy() != 0) {
8479 target = stream->EnsureSpace(target);
8480 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
8481 2, this->_internal_variable_selection_strategy(), target);
8482 }
8483
8484 // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
8485 if (this->_internal_domain_reduction_strategy() != 0) {
8486 target = stream->EnsureSpace(target);
8487 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
8488 3, this->_internal_domain_reduction_strategy(), target);
8489 }
8490
8491 // repeated .operations_research.sat.DecisionStrategyProto.AffineTransformation transformations = 4;
8492 for (unsigned int i = 0,
8493 n = static_cast<unsigned int>(this->_internal_transformations_size()); i < n; i++) {
8494 target = stream->EnsureSpace(target);
8495 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
8496 InternalWriteMessage(4, this->_internal_transformations(i), target, stream);
8497 }
8498
8499 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
8500 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
8501 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
8502 }
8503 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.DecisionStrategyProto)
8504 return target;
8505}
8506
8508// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.DecisionStrategyProto)
8509 size_t total_size = 0;
8510
8511 uint32_t cached_has_bits = 0;
8512 // Prevent compiler warnings about cached_has_bits being unused
8513 (void) cached_has_bits;
8514
8515 // repeated int32 variables = 1;
8516 {
8517 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
8518 Int32Size(this->variables_);
8519 if (data_size > 0) {
8520 total_size += 1 +
8521 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
8522 static_cast<int32_t>(data_size));
8523 }
8524 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
8525 _variables_cached_byte_size_.store(cached_size,
8526 std::memory_order_relaxed);
8527 total_size += data_size;
8528 }
8529
8530 // repeated .operations_research.sat.DecisionStrategyProto.AffineTransformation transformations = 4;
8531 total_size += 1UL * this->_internal_transformations_size();
8532 for (const auto& msg : this->transformations_) {
8533 total_size +=
8534 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
8535 }
8536
8537 // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
8538 if (this->_internal_variable_selection_strategy() != 0) {
8539 total_size += 1 +
8540 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_variable_selection_strategy());
8541 }
8542
8543 // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
8544 if (this->_internal_domain_reduction_strategy() != 0) {
8545 total_size += 1 +
8546 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_domain_reduction_strategy());
8547 }
8548
8549 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
8550}
8551
8552const ::PROTOBUF_NAMESPACE_ID::Message::ClassData DecisionStrategyProto::_class_data_ = {
8553 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
8554 DecisionStrategyProto::MergeImpl
8555};
8556const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*DecisionStrategyProto::GetClassData() const { return &_class_data_; }
8557
8558void DecisionStrategyProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
8559 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
8560 static_cast<DecisionStrategyProto *>(to)->MergeFrom(
8561 static_cast<const DecisionStrategyProto &>(from));
8562}
8563
8564
8566// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.DecisionStrategyProto)
8567 GOOGLE_DCHECK_NE(&from, this);
8568 uint32_t cached_has_bits = 0;
8569 (void) cached_has_bits;
8570
8571 variables_.MergeFrom(from.variables_);
8572 transformations_.MergeFrom(from.transformations_);
8573 if (from._internal_variable_selection_strategy() != 0) {
8574 _internal_set_variable_selection_strategy(from._internal_variable_selection_strategy());
8575 }
8576 if (from._internal_domain_reduction_strategy() != 0) {
8577 _internal_set_domain_reduction_strategy(from._internal_domain_reduction_strategy());
8578 }
8579 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
8580}
8581
8583// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.DecisionStrategyProto)
8584 if (&from == this) return;
8585 Clear();
8586 MergeFrom(from);
8587}
8588
8590 return true;
8591}
8592
8593void DecisionStrategyProto::InternalSwap(DecisionStrategyProto* other) {
8594 using std::swap;
8595 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
8596 variables_.InternalSwap(&other->variables_);
8597 transformations_.InternalSwap(&other->transformations_);
8598 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
8599 PROTOBUF_FIELD_OFFSET(DecisionStrategyProto, domain_reduction_strategy_)
8600 + sizeof(DecisionStrategyProto::domain_reduction_strategy_)
8601 - PROTOBUF_FIELD_OFFSET(DecisionStrategyProto, variable_selection_strategy_)>(
8602 reinterpret_cast<char*>(&variable_selection_strategy_),
8603 reinterpret_cast<char*>(&other->variable_selection_strategy_));
8604}
8605
8606::PROTOBUF_NAMESPACE_ID::Metadata DecisionStrategyProto::GetMetadata() const {
8607 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
8610}
8611
8612// ===================================================================
8613
8615 public:
8616};
8617
8618PartialVariableAssignment::PartialVariableAssignment(::PROTOBUF_NAMESPACE_ID::Arena* arena,
8619 bool is_message_owned)
8620 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
8621 vars_(arena),
8622 values_(arena) {
8623 SharedCtor();
8624 if (!is_message_owned) {
8625 RegisterArenaDtor(arena);
8626 }
8627 // @@protoc_insertion_point(arena_constructor:operations_research.sat.PartialVariableAssignment)
8628}
8630 : ::PROTOBUF_NAMESPACE_ID::Message(),
8631 vars_(from.vars_),
8632 values_(from.values_) {
8633 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
8634 // @@protoc_insertion_point(copy_constructor:operations_research.sat.PartialVariableAssignment)
8635}
8636
8637inline void PartialVariableAssignment::SharedCtor() {
8638}
8639
8641 // @@protoc_insertion_point(destructor:operations_research.sat.PartialVariableAssignment)
8642 if (GetArenaForAllocation() != nullptr) return;
8643 SharedDtor();
8644 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
8645}
8646
8647inline void PartialVariableAssignment::SharedDtor() {
8648 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
8649}
8650
8651void PartialVariableAssignment::ArenaDtor(void* object) {
8652 PartialVariableAssignment* _this = reinterpret_cast< PartialVariableAssignment* >(object);
8653 (void)_this;
8654}
8655void PartialVariableAssignment::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
8656}
8657void PartialVariableAssignment::SetCachedSize(int size) const {
8658 _cached_size_.Set(size);
8659}
8660
8662// @@protoc_insertion_point(message_clear_start:operations_research.sat.PartialVariableAssignment)
8663 uint32_t cached_has_bits = 0;
8664 // Prevent compiler warnings about cached_has_bits being unused
8665 (void) cached_has_bits;
8666
8667 vars_.Clear();
8668 values_.Clear();
8669 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
8670}
8671
8672const char* PartialVariableAssignment::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
8673#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
8674 while (!ctx->Done(&ptr)) {
8675 uint32_t tag;
8676 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
8677 switch (tag >> 3) {
8678 // repeated int32 vars = 1;
8679 case 1:
8680 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
8681 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_vars(), ptr, ctx);
8682 CHK_(ptr);
8683 } else if (static_cast<uint8_t>(tag) == 8) {
8684 _internal_add_vars(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
8685 CHK_(ptr);
8686 } else
8687 goto handle_unusual;
8688 continue;
8689 // repeated int64 values = 2;
8690 case 2:
8691 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
8692 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_values(), ptr, ctx);
8693 CHK_(ptr);
8694 } else if (static_cast<uint8_t>(tag) == 16) {
8695 _internal_add_values(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
8696 CHK_(ptr);
8697 } else
8698 goto handle_unusual;
8699 continue;
8700 default:
8701 goto handle_unusual;
8702 } // switch
8703 handle_unusual:
8704 if ((tag == 0) || ((tag & 7) == 4)) {
8705 CHK_(ptr);
8706 ctx->SetLastTag(tag);
8707 goto message_done;
8708 }
8709 ptr = UnknownFieldParse(
8710 tag,
8711 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
8712 ptr, ctx);
8713 CHK_(ptr != nullptr);
8714 } // while
8715message_done:
8716 return ptr;
8717failure:
8718 ptr = nullptr;
8719 goto message_done;
8720#undef CHK_
8721}
8722
8724 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
8725 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.PartialVariableAssignment)
8726 uint32_t cached_has_bits = 0;
8727 (void) cached_has_bits;
8728
8729 // repeated int32 vars = 1;
8730 {
8731 int byte_size = _vars_cached_byte_size_.load(std::memory_order_relaxed);
8732 if (byte_size > 0) {
8733 target = stream->WriteInt32Packed(
8734 1, _internal_vars(), byte_size, target);
8735 }
8736 }
8737
8738 // repeated int64 values = 2;
8739 {
8740 int byte_size = _values_cached_byte_size_.load(std::memory_order_relaxed);
8741 if (byte_size > 0) {
8742 target = stream->WriteInt64Packed(
8743 2, _internal_values(), byte_size, target);
8744 }
8745 }
8746
8747 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
8748 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
8749 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
8750 }
8751 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.PartialVariableAssignment)
8752 return target;
8753}
8754
8756// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.PartialVariableAssignment)
8757 size_t total_size = 0;
8758
8759 uint32_t cached_has_bits = 0;
8760 // Prevent compiler warnings about cached_has_bits being unused
8761 (void) cached_has_bits;
8762
8763 // repeated int32 vars = 1;
8764 {
8765 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
8766 Int32Size(this->vars_);
8767 if (data_size > 0) {
8768 total_size += 1 +
8769 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
8770 static_cast<int32_t>(data_size));
8771 }
8772 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
8773 _vars_cached_byte_size_.store(cached_size,
8774 std::memory_order_relaxed);
8775 total_size += data_size;
8776 }
8777
8778 // repeated int64 values = 2;
8779 {
8780 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
8781 Int64Size(this->values_);
8782 if (data_size > 0) {
8783 total_size += 1 +
8784 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
8785 static_cast<int32_t>(data_size));
8786 }
8787 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
8788 _values_cached_byte_size_.store(cached_size,
8789 std::memory_order_relaxed);
8790 total_size += data_size;
8791 }
8792
8793 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
8794}
8795
8796const ::PROTOBUF_NAMESPACE_ID::Message::ClassData PartialVariableAssignment::_class_data_ = {
8797 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
8798 PartialVariableAssignment::MergeImpl
8799};
8800const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*PartialVariableAssignment::GetClassData() const { return &_class_data_; }
8801
8802void PartialVariableAssignment::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
8803 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
8804 static_cast<PartialVariableAssignment *>(to)->MergeFrom(
8805 static_cast<const PartialVariableAssignment &>(from));
8806}
8807
8808
8810// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.PartialVariableAssignment)
8811 GOOGLE_DCHECK_NE(&from, this);
8812 uint32_t cached_has_bits = 0;
8813 (void) cached_has_bits;
8814
8815 vars_.MergeFrom(from.vars_);
8816 values_.MergeFrom(from.values_);
8817 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
8818}
8819
8821// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.PartialVariableAssignment)
8822 if (&from == this) return;
8823 Clear();
8824 MergeFrom(from);
8825}
8826
8828 return true;
8829}
8830
8831void PartialVariableAssignment::InternalSwap(PartialVariableAssignment* other) {
8832 using std::swap;
8833 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
8834 vars_.InternalSwap(&other->vars_);
8835 values_.InternalSwap(&other->values_);
8836}
8837
8838::PROTOBUF_NAMESPACE_ID::Metadata PartialVariableAssignment::GetMetadata() const {
8839 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
8842}
8843
8844// ===================================================================
8845
8847 public:
8848};
8849
8850SparsePermutationProto::SparsePermutationProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
8851 bool is_message_owned)
8852 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
8853 support_(arena),
8854 cycle_sizes_(arena) {
8855 SharedCtor();
8856 if (!is_message_owned) {
8857 RegisterArenaDtor(arena);
8858 }
8859 // @@protoc_insertion_point(arena_constructor:operations_research.sat.SparsePermutationProto)
8860}
8862 : ::PROTOBUF_NAMESPACE_ID::Message(),
8863 support_(from.support_),
8864 cycle_sizes_(from.cycle_sizes_) {
8865 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
8866 // @@protoc_insertion_point(copy_constructor:operations_research.sat.SparsePermutationProto)
8867}
8868
8869inline void SparsePermutationProto::SharedCtor() {
8870}
8871
8873 // @@protoc_insertion_point(destructor:operations_research.sat.SparsePermutationProto)
8874 if (GetArenaForAllocation() != nullptr) return;
8875 SharedDtor();
8876 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
8877}
8878
8879inline void SparsePermutationProto::SharedDtor() {
8880 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
8881}
8882
8883void SparsePermutationProto::ArenaDtor(void* object) {
8884 SparsePermutationProto* _this = reinterpret_cast< SparsePermutationProto* >(object);
8885 (void)_this;
8886}
8887void SparsePermutationProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
8888}
8889void SparsePermutationProto::SetCachedSize(int size) const {
8890 _cached_size_.Set(size);
8891}
8892
8894// @@protoc_insertion_point(message_clear_start:operations_research.sat.SparsePermutationProto)
8895 uint32_t cached_has_bits = 0;
8896 // Prevent compiler warnings about cached_has_bits being unused
8897 (void) cached_has_bits;
8898
8899 support_.Clear();
8900 cycle_sizes_.Clear();
8901 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
8902}
8903
8904const char* SparsePermutationProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
8905#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
8906 while (!ctx->Done(&ptr)) {
8907 uint32_t tag;
8908 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
8909 switch (tag >> 3) {
8910 // repeated int32 support = 1;
8911 case 1:
8912 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
8913 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_support(), ptr, ctx);
8914 CHK_(ptr);
8915 } else if (static_cast<uint8_t>(tag) == 8) {
8916 _internal_add_support(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
8917 CHK_(ptr);
8918 } else
8919 goto handle_unusual;
8920 continue;
8921 // repeated int32 cycle_sizes = 2;
8922 case 2:
8923 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
8924 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_cycle_sizes(), ptr, ctx);
8925 CHK_(ptr);
8926 } else if (static_cast<uint8_t>(tag) == 16) {
8927 _internal_add_cycle_sizes(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
8928 CHK_(ptr);
8929 } else
8930 goto handle_unusual;
8931 continue;
8932 default:
8933 goto handle_unusual;
8934 } // switch
8935 handle_unusual:
8936 if ((tag == 0) || ((tag & 7) == 4)) {
8937 CHK_(ptr);
8938 ctx->SetLastTag(tag);
8939 goto message_done;
8940 }
8941 ptr = UnknownFieldParse(
8942 tag,
8943 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
8944 ptr, ctx);
8945 CHK_(ptr != nullptr);
8946 } // while
8947message_done:
8948 return ptr;
8949failure:
8950 ptr = nullptr;
8951 goto message_done;
8952#undef CHK_
8953}
8954
8956 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
8957 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.SparsePermutationProto)
8958 uint32_t cached_has_bits = 0;
8959 (void) cached_has_bits;
8960
8961 // repeated int32 support = 1;
8962 {
8963 int byte_size = _support_cached_byte_size_.load(std::memory_order_relaxed);
8964 if (byte_size > 0) {
8965 target = stream->WriteInt32Packed(
8966 1, _internal_support(), byte_size, target);
8967 }
8968 }
8969
8970 // repeated int32 cycle_sizes = 2;
8971 {
8972 int byte_size = _cycle_sizes_cached_byte_size_.load(std::memory_order_relaxed);
8973 if (byte_size > 0) {
8974 target = stream->WriteInt32Packed(
8975 2, _internal_cycle_sizes(), byte_size, target);
8976 }
8977 }
8978
8979 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
8980 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
8981 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
8982 }
8983 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.SparsePermutationProto)
8984 return target;
8985}
8986
8988// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.SparsePermutationProto)
8989 size_t total_size = 0;
8990
8991 uint32_t cached_has_bits = 0;
8992 // Prevent compiler warnings about cached_has_bits being unused
8993 (void) cached_has_bits;
8994
8995 // repeated int32 support = 1;
8996 {
8997 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
8998 Int32Size(this->support_);
8999 if (data_size > 0) {
9000 total_size += 1 +
9001 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
9002 static_cast<int32_t>(data_size));
9003 }
9004 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
9005 _support_cached_byte_size_.store(cached_size,
9006 std::memory_order_relaxed);
9007 total_size += data_size;
9008 }
9009
9010 // repeated int32 cycle_sizes = 2;
9011 {
9012 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
9013 Int32Size(this->cycle_sizes_);
9014 if (data_size > 0) {
9015 total_size += 1 +
9016 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
9017 static_cast<int32_t>(data_size));
9018 }
9019 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
9020 _cycle_sizes_cached_byte_size_.store(cached_size,
9021 std::memory_order_relaxed);
9022 total_size += data_size;
9023 }
9024
9025 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
9026}
9027
9028const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SparsePermutationProto::_class_data_ = {
9029 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
9030 SparsePermutationProto::MergeImpl
9031};
9032const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SparsePermutationProto::GetClassData() const { return &_class_data_; }
9033
9034void SparsePermutationProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
9035 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
9036 static_cast<SparsePermutationProto *>(to)->MergeFrom(
9037 static_cast<const SparsePermutationProto &>(from));
9038}
9039
9040
9042// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.SparsePermutationProto)
9043 GOOGLE_DCHECK_NE(&from, this);
9044 uint32_t cached_has_bits = 0;
9045 (void) cached_has_bits;
9046
9047 support_.MergeFrom(from.support_);
9048 cycle_sizes_.MergeFrom(from.cycle_sizes_);
9049 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
9050}
9051
9053// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.SparsePermutationProto)
9054 if (&from == this) return;
9055 Clear();
9056 MergeFrom(from);
9057}
9058
9060 return true;
9061}
9062
9063void SparsePermutationProto::InternalSwap(SparsePermutationProto* other) {
9064 using std::swap;
9065 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
9066 support_.InternalSwap(&other->support_);
9067 cycle_sizes_.InternalSwap(&other->cycle_sizes_);
9068}
9069
9070::PROTOBUF_NAMESPACE_ID::Metadata SparsePermutationProto::GetMetadata() const {
9071 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
9074}
9075
9076// ===================================================================
9077
9079 public:
9080};
9081
9082DenseMatrixProto::DenseMatrixProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
9083 bool is_message_owned)
9084 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
9085 entries_(arena) {
9086 SharedCtor();
9087 if (!is_message_owned) {
9088 RegisterArenaDtor(arena);
9089 }
9090 // @@protoc_insertion_point(arena_constructor:operations_research.sat.DenseMatrixProto)
9091}
9093 : ::PROTOBUF_NAMESPACE_ID::Message(),
9094 entries_(from.entries_) {
9095 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
9096 ::memcpy(&num_rows_, &from.num_rows_,
9097 static_cast<size_t>(reinterpret_cast<char*>(&num_cols_) -
9098 reinterpret_cast<char*>(&num_rows_)) + sizeof(num_cols_));
9099 // @@protoc_insertion_point(copy_constructor:operations_research.sat.DenseMatrixProto)
9100}
9101
9102inline void DenseMatrixProto::SharedCtor() {
9103::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
9104 reinterpret_cast<char*>(&num_rows_) - reinterpret_cast<char*>(this)),
9105 0, static_cast<size_t>(reinterpret_cast<char*>(&num_cols_) -
9106 reinterpret_cast<char*>(&num_rows_)) + sizeof(num_cols_));
9107}
9108
9110 // @@protoc_insertion_point(destructor:operations_research.sat.DenseMatrixProto)
9111 if (GetArenaForAllocation() != nullptr) return;
9112 SharedDtor();
9113 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
9114}
9115
9116inline void DenseMatrixProto::SharedDtor() {
9117 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
9118}
9119
9120void DenseMatrixProto::ArenaDtor(void* object) {
9121 DenseMatrixProto* _this = reinterpret_cast< DenseMatrixProto* >(object);
9122 (void)_this;
9123}
9124void DenseMatrixProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
9125}
9126void DenseMatrixProto::SetCachedSize(int size) const {
9127 _cached_size_.Set(size);
9128}
9129
9131// @@protoc_insertion_point(message_clear_start:operations_research.sat.DenseMatrixProto)
9132 uint32_t cached_has_bits = 0;
9133 // Prevent compiler warnings about cached_has_bits being unused
9134 (void) cached_has_bits;
9135
9136 entries_.Clear();
9137 ::memset(&num_rows_, 0, static_cast<size_t>(
9138 reinterpret_cast<char*>(&num_cols_) -
9139 reinterpret_cast<char*>(&num_rows_)) + sizeof(num_cols_));
9140 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
9141}
9142
9143const char* DenseMatrixProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
9144#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
9145 while (!ctx->Done(&ptr)) {
9146 uint32_t tag;
9147 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
9148 switch (tag >> 3) {
9149 // int32 num_rows = 1;
9150 case 1:
9151 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
9152 num_rows_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
9153 CHK_(ptr);
9154 } else
9155 goto handle_unusual;
9156 continue;
9157 // int32 num_cols = 2;
9158 case 2:
9159 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
9160 num_cols_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
9161 CHK_(ptr);
9162 } else
9163 goto handle_unusual;
9164 continue;
9165 // repeated int32 entries = 3;
9166 case 3:
9167 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
9168 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_entries(), ptr, ctx);
9169 CHK_(ptr);
9170 } else if (static_cast<uint8_t>(tag) == 24) {
9171 _internal_add_entries(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
9172 CHK_(ptr);
9173 } else
9174 goto handle_unusual;
9175 continue;
9176 default:
9177 goto handle_unusual;
9178 } // switch
9179 handle_unusual:
9180 if ((tag == 0) || ((tag & 7) == 4)) {
9181 CHK_(ptr);
9182 ctx->SetLastTag(tag);
9183 goto message_done;
9184 }
9185 ptr = UnknownFieldParse(
9186 tag,
9187 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
9188 ptr, ctx);
9189 CHK_(ptr != nullptr);
9190 } // while
9191message_done:
9192 return ptr;
9193failure:
9194 ptr = nullptr;
9195 goto message_done;
9196#undef CHK_
9197}
9198
9200 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
9201 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.DenseMatrixProto)
9202 uint32_t cached_has_bits = 0;
9203 (void) cached_has_bits;
9204
9205 // int32 num_rows = 1;
9206 if (this->_internal_num_rows() != 0) {
9207 target = stream->EnsureSpace(target);
9208 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_num_rows(), target);
9209 }
9210
9211 // int32 num_cols = 2;
9212 if (this->_internal_num_cols() != 0) {
9213 target = stream->EnsureSpace(target);
9214 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_num_cols(), target);
9215 }
9216
9217 // repeated int32 entries = 3;
9218 {
9219 int byte_size = _entries_cached_byte_size_.load(std::memory_order_relaxed);
9220 if (byte_size > 0) {
9221 target = stream->WriteInt32Packed(
9222 3, _internal_entries(), byte_size, target);
9223 }
9224 }
9225
9226 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
9227 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
9228 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
9229 }
9230 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.DenseMatrixProto)
9231 return target;
9232}
9233
9235// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.DenseMatrixProto)
9236 size_t total_size = 0;
9237
9238 uint32_t cached_has_bits = 0;
9239 // Prevent compiler warnings about cached_has_bits being unused
9240 (void) cached_has_bits;
9241
9242 // repeated int32 entries = 3;
9243 {
9244 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
9245 Int32Size(this->entries_);
9246 if (data_size > 0) {
9247 total_size += 1 +
9248 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
9249 static_cast<int32_t>(data_size));
9250 }
9251 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
9252 _entries_cached_byte_size_.store(cached_size,
9253 std::memory_order_relaxed);
9254 total_size += data_size;
9255 }
9256
9257 // int32 num_rows = 1;
9258 if (this->_internal_num_rows() != 0) {
9259 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_num_rows());
9260 }
9261
9262 // int32 num_cols = 2;
9263 if (this->_internal_num_cols() != 0) {
9264 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_num_cols());
9265 }
9266
9267 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
9268}
9269
9270const ::PROTOBUF_NAMESPACE_ID::Message::ClassData DenseMatrixProto::_class_data_ = {
9271 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
9272 DenseMatrixProto::MergeImpl
9273};
9274const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*DenseMatrixProto::GetClassData() const { return &_class_data_; }
9275
9276void DenseMatrixProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
9277 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
9278 static_cast<DenseMatrixProto *>(to)->MergeFrom(
9279 static_cast<const DenseMatrixProto &>(from));
9280}
9281
9282
9284// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.DenseMatrixProto)
9285 GOOGLE_DCHECK_NE(&from, this);
9286 uint32_t cached_has_bits = 0;
9287 (void) cached_has_bits;
9288
9289 entries_.MergeFrom(from.entries_);
9290 if (from._internal_num_rows() != 0) {
9291 _internal_set_num_rows(from._internal_num_rows());
9292 }
9293 if (from._internal_num_cols() != 0) {
9294 _internal_set_num_cols(from._internal_num_cols());
9295 }
9296 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
9297}
9298
9300// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.DenseMatrixProto)
9301 if (&from == this) return;
9302 Clear();
9303 MergeFrom(from);
9304}
9305
9307 return true;
9308}
9309
9310void DenseMatrixProto::InternalSwap(DenseMatrixProto* other) {
9311 using std::swap;
9312 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
9313 entries_.InternalSwap(&other->entries_);
9314 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
9315 PROTOBUF_FIELD_OFFSET(DenseMatrixProto, num_cols_)
9316 + sizeof(DenseMatrixProto::num_cols_)
9317 - PROTOBUF_FIELD_OFFSET(DenseMatrixProto, num_rows_)>(
9318 reinterpret_cast<char*>(&num_rows_),
9319 reinterpret_cast<char*>(&other->num_rows_));
9320}
9321
9322::PROTOBUF_NAMESPACE_ID::Metadata DenseMatrixProto::GetMetadata() const {
9323 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
9326}
9327
9328// ===================================================================
9329
9331 public:
9332};
9333
9334SymmetryProto::SymmetryProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
9335 bool is_message_owned)
9336 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
9337 permutations_(arena),
9338 orbitopes_(arena) {
9339 SharedCtor();
9340 if (!is_message_owned) {
9341 RegisterArenaDtor(arena);
9342 }
9343 // @@protoc_insertion_point(arena_constructor:operations_research.sat.SymmetryProto)
9344}
9346 : ::PROTOBUF_NAMESPACE_ID::Message(),
9347 permutations_(from.permutations_),
9348 orbitopes_(from.orbitopes_) {
9349 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
9350 // @@protoc_insertion_point(copy_constructor:operations_research.sat.SymmetryProto)
9351}
9352
9353inline void SymmetryProto::SharedCtor() {
9354}
9355
9357 // @@protoc_insertion_point(destructor:operations_research.sat.SymmetryProto)
9358 if (GetArenaForAllocation() != nullptr) return;
9359 SharedDtor();
9360 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
9361}
9362
9363inline void SymmetryProto::SharedDtor() {
9364 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
9365}
9366
9367void SymmetryProto::ArenaDtor(void* object) {
9368 SymmetryProto* _this = reinterpret_cast< SymmetryProto* >(object);
9369 (void)_this;
9370}
9371void SymmetryProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
9372}
9373void SymmetryProto::SetCachedSize(int size) const {
9374 _cached_size_.Set(size);
9375}
9376
9378// @@protoc_insertion_point(message_clear_start:operations_research.sat.SymmetryProto)
9379 uint32_t cached_has_bits = 0;
9380 // Prevent compiler warnings about cached_has_bits being unused
9381 (void) cached_has_bits;
9382
9383 permutations_.Clear();
9384 orbitopes_.Clear();
9385 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
9386}
9387
9388const char* SymmetryProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
9389#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
9390 while (!ctx->Done(&ptr)) {
9391 uint32_t tag;
9392 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
9393 switch (tag >> 3) {
9394 // repeated .operations_research.sat.SparsePermutationProto permutations = 1;
9395 case 1:
9396 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
9397 ptr -= 1;
9398 do {
9399 ptr += 1;
9400 ptr = ctx->ParseMessage(_internal_add_permutations(), ptr);
9401 CHK_(ptr);
9402 if (!ctx->DataAvailable(ptr)) break;
9403 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
9404 } else
9405 goto handle_unusual;
9406 continue;
9407 // repeated .operations_research.sat.DenseMatrixProto orbitopes = 2;
9408 case 2:
9409 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
9410 ptr -= 1;
9411 do {
9412 ptr += 1;
9413 ptr = ctx->ParseMessage(_internal_add_orbitopes(), ptr);
9414 CHK_(ptr);
9415 if (!ctx->DataAvailable(ptr)) break;
9416 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
9417 } else
9418 goto handle_unusual;
9419 continue;
9420 default:
9421 goto handle_unusual;
9422 } // switch
9423 handle_unusual:
9424 if ((tag == 0) || ((tag & 7) == 4)) {
9425 CHK_(ptr);
9426 ctx->SetLastTag(tag);
9427 goto message_done;
9428 }
9429 ptr = UnknownFieldParse(
9430 tag,
9431 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
9432 ptr, ctx);
9433 CHK_(ptr != nullptr);
9434 } // while
9435message_done:
9436 return ptr;
9437failure:
9438 ptr = nullptr;
9439 goto message_done;
9440#undef CHK_
9441}
9442
9444 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
9445 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.SymmetryProto)
9446 uint32_t cached_has_bits = 0;
9447 (void) cached_has_bits;
9448
9449 // repeated .operations_research.sat.SparsePermutationProto permutations = 1;
9450 for (unsigned int i = 0,
9451 n = static_cast<unsigned int>(this->_internal_permutations_size()); i < n; i++) {
9452 target = stream->EnsureSpace(target);
9453 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
9454 InternalWriteMessage(1, this->_internal_permutations(i), target, stream);
9455 }
9456
9457 // repeated .operations_research.sat.DenseMatrixProto orbitopes = 2;
9458 for (unsigned int i = 0,
9459 n = static_cast<unsigned int>(this->_internal_orbitopes_size()); i < n; i++) {
9460 target = stream->EnsureSpace(target);
9461 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
9462 InternalWriteMessage(2, this->_internal_orbitopes(i), target, stream);
9463 }
9464
9465 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
9466 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
9467 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
9468 }
9469 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.SymmetryProto)
9470 return target;
9471}
9472
9474// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.SymmetryProto)
9475 size_t total_size = 0;
9476
9477 uint32_t cached_has_bits = 0;
9478 // Prevent compiler warnings about cached_has_bits being unused
9479 (void) cached_has_bits;
9480
9481 // repeated .operations_research.sat.SparsePermutationProto permutations = 1;
9482 total_size += 1UL * this->_internal_permutations_size();
9483 for (const auto& msg : this->permutations_) {
9484 total_size +=
9485 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
9486 }
9487
9488 // repeated .operations_research.sat.DenseMatrixProto orbitopes = 2;
9489 total_size += 1UL * this->_internal_orbitopes_size();
9490 for (const auto& msg : this->orbitopes_) {
9491 total_size +=
9492 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
9493 }
9494
9495 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
9496}
9497
9498const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SymmetryProto::_class_data_ = {
9499 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
9500 SymmetryProto::MergeImpl
9501};
9502const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SymmetryProto::GetClassData() const { return &_class_data_; }
9503
9504void SymmetryProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
9505 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
9506 static_cast<SymmetryProto *>(to)->MergeFrom(
9507 static_cast<const SymmetryProto &>(from));
9508}
9509
9510
9512// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.SymmetryProto)
9513 GOOGLE_DCHECK_NE(&from, this);
9514 uint32_t cached_has_bits = 0;
9515 (void) cached_has_bits;
9516
9517 permutations_.MergeFrom(from.permutations_);
9518 orbitopes_.MergeFrom(from.orbitopes_);
9519 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
9520}
9521
9523// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.SymmetryProto)
9524 if (&from == this) return;
9525 Clear();
9526 MergeFrom(from);
9527}
9528
9530 return true;
9531}
9532
9533void SymmetryProto::InternalSwap(SymmetryProto* other) {
9534 using std::swap;
9535 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
9536 permutations_.InternalSwap(&other->permutations_);
9537 orbitopes_.InternalSwap(&other->orbitopes_);
9538}
9539
9540::PROTOBUF_NAMESPACE_ID::Metadata SymmetryProto::GetMetadata() const {
9541 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
9544}
9545
9546// ===================================================================
9547
9549 public:
9550 static const ::operations_research::sat::CpObjectiveProto& objective(const CpModelProto* msg);
9551 static const ::operations_research::sat::FloatObjectiveProto& floating_point_objective(const CpModelProto* msg);
9552 static const ::operations_research::sat::PartialVariableAssignment& solution_hint(const CpModelProto* msg);
9553 static const ::operations_research::sat::SymmetryProto& symmetry(const CpModelProto* msg);
9554};
9555
9556const ::operations_research::sat::CpObjectiveProto&
9558 return *msg->objective_;
9559}
9560const ::operations_research::sat::FloatObjectiveProto&
9562 return *msg->floating_point_objective_;
9563}
9564const ::operations_research::sat::PartialVariableAssignment&
9566 return *msg->solution_hint_;
9567}
9568const ::operations_research::sat::SymmetryProto&
9570 return *msg->symmetry_;
9571}
9572CpModelProto::CpModelProto(::PROTOBUF_NAMESPACE_ID::Arena* arena,
9573 bool is_message_owned)
9574 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
9575 variables_(arena),
9576 constraints_(arena),
9577 search_strategy_(arena),
9578 assumptions_(arena) {
9579 SharedCtor();
9580 if (!is_message_owned) {
9581 RegisterArenaDtor(arena);
9582 }
9583 // @@protoc_insertion_point(arena_constructor:operations_research.sat.CpModelProto)
9584}
9586 : ::PROTOBUF_NAMESPACE_ID::Message(),
9587 variables_(from.variables_),
9588 constraints_(from.constraints_),
9589 search_strategy_(from.search_strategy_),
9590 assumptions_(from.assumptions_) {
9591 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
9592 name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
9593 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
9594 name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
9595 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
9596 if (!from._internal_name().empty()) {
9597 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
9598 GetArenaForAllocation());
9599 }
9600 if (from._internal_has_objective()) {
9601 objective_ = new ::operations_research::sat::CpObjectiveProto(*from.objective_);
9602 } else {
9603 objective_ = nullptr;
9604 }
9605 if (from._internal_has_solution_hint()) {
9606 solution_hint_ = new ::operations_research::sat::PartialVariableAssignment(*from.solution_hint_);
9607 } else {
9608 solution_hint_ = nullptr;
9609 }
9610 if (from._internal_has_symmetry()) {
9611 symmetry_ = new ::operations_research::sat::SymmetryProto(*from.symmetry_);
9612 } else {
9613 symmetry_ = nullptr;
9614 }
9615 if (from._internal_has_floating_point_objective()) {
9616 floating_point_objective_ = new ::operations_research::sat::FloatObjectiveProto(*from.floating_point_objective_);
9617 } else {
9618 floating_point_objective_ = nullptr;
9619 }
9620 // @@protoc_insertion_point(copy_constructor:operations_research.sat.CpModelProto)
9621}
9622
9623inline void CpModelProto::SharedCtor() {
9624name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
9625#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
9626 name_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
9627#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
9628::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
9629 reinterpret_cast<char*>(&objective_) - reinterpret_cast<char*>(this)),
9630 0, static_cast<size_t>(reinterpret_cast<char*>(&floating_point_objective_) -
9631 reinterpret_cast<char*>(&objective_)) + sizeof(floating_point_objective_));
9632}
9633
9635 // @@protoc_insertion_point(destructor:operations_research.sat.CpModelProto)
9636 if (GetArenaForAllocation() != nullptr) return;
9637 SharedDtor();
9638 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
9639}
9640
9641inline void CpModelProto::SharedDtor() {
9642 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
9643 name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
9644 if (this != internal_default_instance()) delete objective_;
9645 if (this != internal_default_instance()) delete solution_hint_;
9646 if (this != internal_default_instance()) delete symmetry_;
9647 if (this != internal_default_instance()) delete floating_point_objective_;
9648}
9649
9650void CpModelProto::ArenaDtor(void* object) {
9651 CpModelProto* _this = reinterpret_cast< CpModelProto* >(object);
9652 (void)_this;
9653}
9654void CpModelProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
9655}
9656void CpModelProto::SetCachedSize(int size) const {
9657 _cached_size_.Set(size);
9658}
9659
9661// @@protoc_insertion_point(message_clear_start:operations_research.sat.CpModelProto)
9662 uint32_t cached_has_bits = 0;
9663 // Prevent compiler warnings about cached_has_bits being unused
9664 (void) cached_has_bits;
9665
9666 variables_.Clear();
9667 constraints_.Clear();
9668 search_strategy_.Clear();
9669 assumptions_.Clear();
9670 name_.ClearToEmpty();
9671 if (GetArenaForAllocation() == nullptr && objective_ != nullptr) {
9672 delete objective_;
9673 }
9674 objective_ = nullptr;
9675 if (GetArenaForAllocation() == nullptr && solution_hint_ != nullptr) {
9676 delete solution_hint_;
9677 }
9678 solution_hint_ = nullptr;
9679 if (GetArenaForAllocation() == nullptr && symmetry_ != nullptr) {
9680 delete symmetry_;
9681 }
9682 symmetry_ = nullptr;
9683 if (GetArenaForAllocation() == nullptr && floating_point_objective_ != nullptr) {
9684 delete floating_point_objective_;
9685 }
9686 floating_point_objective_ = nullptr;
9687 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
9688}
9689
9690const char* CpModelProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
9691#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
9692 while (!ctx->Done(&ptr)) {
9693 uint32_t tag;
9694 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
9695 switch (tag >> 3) {
9696 // string name = 1;
9697 case 1:
9698 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
9699 auto str = _internal_mutable_name();
9700 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
9701 CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.sat.CpModelProto.name"));
9702 CHK_(ptr);
9703 } else
9704 goto handle_unusual;
9705 continue;
9706 // repeated .operations_research.sat.IntegerVariableProto variables = 2;
9707 case 2:
9708 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
9709 ptr -= 1;
9710 do {
9711 ptr += 1;
9712 ptr = ctx->ParseMessage(_internal_add_variables(), ptr);
9713 CHK_(ptr);
9714 if (!ctx->DataAvailable(ptr)) break;
9715 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
9716 } else
9717 goto handle_unusual;
9718 continue;
9719 // repeated .operations_research.sat.ConstraintProto constraints = 3;
9720 case 3:
9721 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
9722 ptr -= 1;
9723 do {
9724 ptr += 1;
9725 ptr = ctx->ParseMessage(_internal_add_constraints(), ptr);
9726 CHK_(ptr);
9727 if (!ctx->DataAvailable(ptr)) break;
9728 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
9729 } else
9730 goto handle_unusual;
9731 continue;
9732 // .operations_research.sat.CpObjectiveProto objective = 4;
9733 case 4:
9734 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
9735 ptr = ctx->ParseMessage(_internal_mutable_objective(), ptr);
9736 CHK_(ptr);
9737 } else
9738 goto handle_unusual;
9739 continue;
9740 // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
9741 case 5:
9742 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
9743 ptr -= 1;
9744 do {
9745 ptr += 1;
9746 ptr = ctx->ParseMessage(_internal_add_search_strategy(), ptr);
9747 CHK_(ptr);
9748 if (!ctx->DataAvailable(ptr)) break;
9749 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
9750 } else
9751 goto handle_unusual;
9752 continue;
9753 // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
9754 case 6:
9755 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 50)) {
9756 ptr = ctx->ParseMessage(_internal_mutable_solution_hint(), ptr);
9757 CHK_(ptr);
9758 } else
9759 goto handle_unusual;
9760 continue;
9761 // repeated int32 assumptions = 7;
9762 case 7:
9763 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 58)) {
9764 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_assumptions(), ptr, ctx);
9765 CHK_(ptr);
9766 } else if (static_cast<uint8_t>(tag) == 56) {
9767 _internal_add_assumptions(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
9768 CHK_(ptr);
9769 } else
9770 goto handle_unusual;
9771 continue;
9772 // .operations_research.sat.SymmetryProto symmetry = 8;
9773 case 8:
9774 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 66)) {
9775 ptr = ctx->ParseMessage(_internal_mutable_symmetry(), ptr);
9776 CHK_(ptr);
9777 } else
9778 goto handle_unusual;
9779 continue;
9780 // .operations_research.sat.FloatObjectiveProto floating_point_objective = 9;
9781 case 9:
9782 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 74)) {
9783 ptr = ctx->ParseMessage(_internal_mutable_floating_point_objective(), ptr);
9784 CHK_(ptr);
9785 } else
9786 goto handle_unusual;
9787 continue;
9788 default:
9789 goto handle_unusual;
9790 } // switch
9791 handle_unusual:
9792 if ((tag == 0) || ((tag & 7) == 4)) {
9793 CHK_(ptr);
9794 ctx->SetLastTag(tag);
9795 goto message_done;
9796 }
9797 ptr = UnknownFieldParse(
9798 tag,
9799 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
9800 ptr, ctx);
9801 CHK_(ptr != nullptr);
9802 } // while
9803message_done:
9804 return ptr;
9805failure:
9806 ptr = nullptr;
9807 goto message_done;
9808#undef CHK_
9809}
9810
9812 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
9813 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.CpModelProto)
9814 uint32_t cached_has_bits = 0;
9815 (void) cached_has_bits;
9816
9817 // string name = 1;
9818 if (!this->_internal_name().empty()) {
9819 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
9820 this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
9821 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
9822 "operations_research.sat.CpModelProto.name");
9823 target = stream->WriteStringMaybeAliased(
9824 1, this->_internal_name(), target);
9825 }
9826
9827 // repeated .operations_research.sat.IntegerVariableProto variables = 2;
9828 for (unsigned int i = 0,
9829 n = static_cast<unsigned int>(this->_internal_variables_size()); i < n; i++) {
9830 target = stream->EnsureSpace(target);
9831 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
9832 InternalWriteMessage(2, this->_internal_variables(i), target, stream);
9833 }
9834
9835 // repeated .operations_research.sat.ConstraintProto constraints = 3;
9836 for (unsigned int i = 0,
9837 n = static_cast<unsigned int>(this->_internal_constraints_size()); i < n; i++) {
9838 target = stream->EnsureSpace(target);
9839 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
9840 InternalWriteMessage(3, this->_internal_constraints(i), target, stream);
9841 }
9842
9843 // .operations_research.sat.CpObjectiveProto objective = 4;
9844 if (this->_internal_has_objective()) {
9845 target = stream->EnsureSpace(target);
9846 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
9847 InternalWriteMessage(
9848 4, _Internal::objective(this), target, stream);
9849 }
9850
9851 // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
9852 for (unsigned int i = 0,
9853 n = static_cast<unsigned int>(this->_internal_search_strategy_size()); i < n; i++) {
9854 target = stream->EnsureSpace(target);
9855 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
9856 InternalWriteMessage(5, this->_internal_search_strategy(i), target, stream);
9857 }
9858
9859 // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
9860 if (this->_internal_has_solution_hint()) {
9861 target = stream->EnsureSpace(target);
9862 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
9863 InternalWriteMessage(
9864 6, _Internal::solution_hint(this), target, stream);
9865 }
9866
9867 // repeated int32 assumptions = 7;
9868 {
9869 int byte_size = _assumptions_cached_byte_size_.load(std::memory_order_relaxed);
9870 if (byte_size > 0) {
9871 target = stream->WriteInt32Packed(
9872 7, _internal_assumptions(), byte_size, target);
9873 }
9874 }
9875
9876 // .operations_research.sat.SymmetryProto symmetry = 8;
9877 if (this->_internal_has_symmetry()) {
9878 target = stream->EnsureSpace(target);
9879 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
9880 InternalWriteMessage(
9881 8, _Internal::symmetry(this), target, stream);
9882 }
9883
9884 // .operations_research.sat.FloatObjectiveProto floating_point_objective = 9;
9885 if (this->_internal_has_floating_point_objective()) {
9886 target = stream->EnsureSpace(target);
9887 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
9888 InternalWriteMessage(
9889 9, _Internal::floating_point_objective(this), target, stream);
9890 }
9891
9892 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
9893 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
9894 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
9895 }
9896 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.CpModelProto)
9897 return target;
9898}
9899
9901// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.CpModelProto)
9902 size_t total_size = 0;
9903
9904 uint32_t cached_has_bits = 0;
9905 // Prevent compiler warnings about cached_has_bits being unused
9906 (void) cached_has_bits;
9907
9908 // repeated .operations_research.sat.IntegerVariableProto variables = 2;
9909 total_size += 1UL * this->_internal_variables_size();
9910 for (const auto& msg : this->variables_) {
9911 total_size +=
9912 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
9913 }
9914
9915 // repeated .operations_research.sat.ConstraintProto constraints = 3;
9916 total_size += 1UL * this->_internal_constraints_size();
9917 for (const auto& msg : this->constraints_) {
9918 total_size +=
9919 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
9920 }
9921
9922 // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
9923 total_size += 1UL * this->_internal_search_strategy_size();
9924 for (const auto& msg : this->search_strategy_) {
9925 total_size +=
9926 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
9927 }
9928
9929 // repeated int32 assumptions = 7;
9930 {
9931 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
9932 Int32Size(this->assumptions_);
9933 if (data_size > 0) {
9934 total_size += 1 +
9935 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
9936 static_cast<int32_t>(data_size));
9937 }
9938 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
9939 _assumptions_cached_byte_size_.store(cached_size,
9940 std::memory_order_relaxed);
9941 total_size += data_size;
9942 }
9943
9944 // string name = 1;
9945 if (!this->_internal_name().empty()) {
9946 total_size += 1 +
9947 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
9948 this->_internal_name());
9949 }
9950
9951 // .operations_research.sat.CpObjectiveProto objective = 4;
9952 if (this->_internal_has_objective()) {
9953 total_size += 1 +
9954 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
9955 *objective_);
9956 }
9957
9958 // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
9959 if (this->_internal_has_solution_hint()) {
9960 total_size += 1 +
9961 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
9962 *solution_hint_);
9963 }
9964
9965 // .operations_research.sat.SymmetryProto symmetry = 8;
9966 if (this->_internal_has_symmetry()) {
9967 total_size += 1 +
9968 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
9969 *symmetry_);
9970 }
9971
9972 // .operations_research.sat.FloatObjectiveProto floating_point_objective = 9;
9973 if (this->_internal_has_floating_point_objective()) {
9974 total_size += 1 +
9975 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
9976 *floating_point_objective_);
9977 }
9978
9979 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
9980}
9981
9982const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CpModelProto::_class_data_ = {
9983 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
9984 CpModelProto::MergeImpl
9985};
9986const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CpModelProto::GetClassData() const { return &_class_data_; }
9987
9988void CpModelProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
9989 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
9990 static_cast<CpModelProto *>(to)->MergeFrom(
9991 static_cast<const CpModelProto &>(from));
9992}
9993
9994
9996// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.CpModelProto)
9997 GOOGLE_DCHECK_NE(&from, this);
9998 uint32_t cached_has_bits = 0;
9999 (void) cached_has_bits;
10000
10001 variables_.MergeFrom(from.variables_);
10002 constraints_.MergeFrom(from.constraints_);
10003 search_strategy_.MergeFrom(from.search_strategy_);
10004 assumptions_.MergeFrom(from.assumptions_);
10005 if (!from._internal_name().empty()) {
10006 _internal_set_name(from._internal_name());
10007 }
10008 if (from._internal_has_objective()) {
10009 _internal_mutable_objective()->::operations_research::sat::CpObjectiveProto::MergeFrom(from._internal_objective());
10010 }
10011 if (from._internal_has_solution_hint()) {
10012 _internal_mutable_solution_hint()->::operations_research::sat::PartialVariableAssignment::MergeFrom(from._internal_solution_hint());
10013 }
10014 if (from._internal_has_symmetry()) {
10015 _internal_mutable_symmetry()->::operations_research::sat::SymmetryProto::MergeFrom(from._internal_symmetry());
10016 }
10017 if (from._internal_has_floating_point_objective()) {
10018 _internal_mutable_floating_point_objective()->::operations_research::sat::FloatObjectiveProto::MergeFrom(from._internal_floating_point_objective());
10019 }
10020 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
10021}
10022
10024// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.CpModelProto)
10025 if (&from == this) return;
10026 Clear();
10027 MergeFrom(from);
10028}
10029
10031 return true;
10032}
10033
10034void CpModelProto::InternalSwap(CpModelProto* other) {
10035 using std::swap;
10036 auto* lhs_arena = GetArenaForAllocation();
10037 auto* rhs_arena = other->GetArenaForAllocation();
10038 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
10039 variables_.InternalSwap(&other->variables_);
10040 constraints_.InternalSwap(&other->constraints_);
10041 search_strategy_.InternalSwap(&other->search_strategy_);
10042 assumptions_.InternalSwap(&other->assumptions_);
10043 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
10044 &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
10045 &name_, lhs_arena,
10046 &other->name_, rhs_arena
10047 );
10048 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
10049 PROTOBUF_FIELD_OFFSET(CpModelProto, floating_point_objective_)
10050 + sizeof(CpModelProto::floating_point_objective_)
10051 - PROTOBUF_FIELD_OFFSET(CpModelProto, objective_)>(
10052 reinterpret_cast<char*>(&objective_),
10053 reinterpret_cast<char*>(&other->objective_));
10054}
10055
10056::PROTOBUF_NAMESPACE_ID::Metadata CpModelProto::GetMetadata() const {
10057 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
10060}
10061
10062// ===================================================================
10063
10065 public:
10066};
10067
10068CpSolverSolution::CpSolverSolution(::PROTOBUF_NAMESPACE_ID::Arena* arena,
10069 bool is_message_owned)
10070 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
10071 values_(arena) {
10072 SharedCtor();
10073 if (!is_message_owned) {
10074 RegisterArenaDtor(arena);
10075 }
10076 // @@protoc_insertion_point(arena_constructor:operations_research.sat.CpSolverSolution)
10077}
10079 : ::PROTOBUF_NAMESPACE_ID::Message(),
10080 values_(from.values_) {
10081 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
10082 // @@protoc_insertion_point(copy_constructor:operations_research.sat.CpSolverSolution)
10083}
10084
10085inline void CpSolverSolution::SharedCtor() {
10086}
10087
10089 // @@protoc_insertion_point(destructor:operations_research.sat.CpSolverSolution)
10090 if (GetArenaForAllocation() != nullptr) return;
10091 SharedDtor();
10092 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
10093}
10094
10095inline void CpSolverSolution::SharedDtor() {
10096 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
10097}
10098
10099void CpSolverSolution::ArenaDtor(void* object) {
10100 CpSolverSolution* _this = reinterpret_cast< CpSolverSolution* >(object);
10101 (void)_this;
10102}
10103void CpSolverSolution::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
10104}
10105void CpSolverSolution::SetCachedSize(int size) const {
10106 _cached_size_.Set(size);
10107}
10108
10110// @@protoc_insertion_point(message_clear_start:operations_research.sat.CpSolverSolution)
10111 uint32_t cached_has_bits = 0;
10112 // Prevent compiler warnings about cached_has_bits being unused
10113 (void) cached_has_bits;
10114
10115 values_.Clear();
10116 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
10117}
10118
10119const char* CpSolverSolution::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
10120#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
10121 while (!ctx->Done(&ptr)) {
10122 uint32_t tag;
10123 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
10124 switch (tag >> 3) {
10125 // repeated int64 values = 1;
10126 case 1:
10127 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
10128 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_values(), ptr, ctx);
10129 CHK_(ptr);
10130 } else if (static_cast<uint8_t>(tag) == 8) {
10131 _internal_add_values(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
10132 CHK_(ptr);
10133 } else
10134 goto handle_unusual;
10135 continue;
10136 default:
10137 goto handle_unusual;
10138 } // switch
10139 handle_unusual:
10140 if ((tag == 0) || ((tag & 7) == 4)) {
10141 CHK_(ptr);
10142 ctx->SetLastTag(tag);
10143 goto message_done;
10144 }
10145 ptr = UnknownFieldParse(
10146 tag,
10147 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
10148 ptr, ctx);
10149 CHK_(ptr != nullptr);
10150 } // while
10151message_done:
10152 return ptr;
10153failure:
10154 ptr = nullptr;
10155 goto message_done;
10156#undef CHK_
10157}
10158
10160 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
10161 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.CpSolverSolution)
10162 uint32_t cached_has_bits = 0;
10163 (void) cached_has_bits;
10164
10165 // repeated int64 values = 1;
10166 {
10167 int byte_size = _values_cached_byte_size_.load(std::memory_order_relaxed);
10168 if (byte_size > 0) {
10169 target = stream->WriteInt64Packed(
10170 1, _internal_values(), byte_size, target);
10171 }
10172 }
10173
10174 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
10175 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
10176 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
10177 }
10178 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.CpSolverSolution)
10179 return target;
10180}
10181
10183// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.CpSolverSolution)
10184 size_t total_size = 0;
10185
10186 uint32_t cached_has_bits = 0;
10187 // Prevent compiler warnings about cached_has_bits being unused
10188 (void) cached_has_bits;
10189
10190 // repeated int64 values = 1;
10191 {
10192 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
10193 Int64Size(this->values_);
10194 if (data_size > 0) {
10195 total_size += 1 +
10196 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
10197 static_cast<int32_t>(data_size));
10198 }
10199 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
10200 _values_cached_byte_size_.store(cached_size,
10201 std::memory_order_relaxed);
10202 total_size += data_size;
10203 }
10204
10205 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
10206}
10207
10208const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CpSolverSolution::_class_data_ = {
10209 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
10210 CpSolverSolution::MergeImpl
10211};
10212const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CpSolverSolution::GetClassData() const { return &_class_data_; }
10213
10214void CpSolverSolution::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
10215 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
10216 static_cast<CpSolverSolution *>(to)->MergeFrom(
10217 static_cast<const CpSolverSolution &>(from));
10218}
10219
10220
10222// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.CpSolverSolution)
10223 GOOGLE_DCHECK_NE(&from, this);
10224 uint32_t cached_has_bits = 0;
10225 (void) cached_has_bits;
10226
10227 values_.MergeFrom(from.values_);
10228 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
10229}
10230
10232// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.CpSolverSolution)
10233 if (&from == this) return;
10234 Clear();
10235 MergeFrom(from);
10236}
10237
10239 return true;
10240}
10241
10242void CpSolverSolution::InternalSwap(CpSolverSolution* other) {
10243 using std::swap;
10244 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
10245 values_.InternalSwap(&other->values_);
10246}
10247
10248::PROTOBUF_NAMESPACE_ID::Metadata CpSolverSolution::GetMetadata() const {
10249 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
10252}
10253
10254// ===================================================================
10255
10257 public:
10258 static const ::operations_research::sat::CpObjectiveProto& integer_objective(const CpSolverResponse* msg);
10259};
10260
10261const ::operations_research::sat::CpObjectiveProto&
10263 return *msg->integer_objective_;
10264}
10265CpSolverResponse::CpSolverResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
10266 bool is_message_owned)
10267 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
10268 solution_(arena),
10269 tightened_variables_(arena),
10270 sufficient_assumptions_for_infeasibility_(arena),
10271 additional_solutions_(arena) {
10272 SharedCtor();
10273 if (!is_message_owned) {
10274 RegisterArenaDtor(arena);
10275 }
10276 // @@protoc_insertion_point(arena_constructor:operations_research.sat.CpSolverResponse)
10277}
10279 : ::PROTOBUF_NAMESPACE_ID::Message(),
10280 solution_(from.solution_),
10281 tightened_variables_(from.tightened_variables_),
10282 sufficient_assumptions_for_infeasibility_(from.sufficient_assumptions_for_infeasibility_),
10283 additional_solutions_(from.additional_solutions_) {
10284 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
10285 solution_info_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
10286 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
10287 solution_info_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
10288 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
10289 if (!from._internal_solution_info().empty()) {
10290 solution_info_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_solution_info(),
10291 GetArenaForAllocation());
10292 }
10293 solve_log_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
10294 #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
10295 solve_log_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
10296 #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
10297 if (!from._internal_solve_log().empty()) {
10298 solve_log_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_solve_log(),
10299 GetArenaForAllocation());
10300 }
10301 if (from._internal_has_integer_objective()) {
10302 integer_objective_ = new ::operations_research::sat::CpObjectiveProto(*from.integer_objective_);
10303 } else {
10304 integer_objective_ = nullptr;
10305 }
10306 ::memcpy(&objective_value_, &from.objective_value_,
10307 static_cast<size_t>(reinterpret_cast<char*>(&inner_objective_lower_bound_) -
10308 reinterpret_cast<char*>(&objective_value_)) + sizeof(inner_objective_lower_bound_));
10309 // @@protoc_insertion_point(copy_constructor:operations_research.sat.CpSolverResponse)
10310}
10311
10312inline void CpSolverResponse::SharedCtor() {
10313solution_info_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
10314#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
10315 solution_info_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
10316#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
10317solve_log_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
10318#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
10319 solve_log_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
10320#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
10321::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
10322 reinterpret_cast<char*>(&integer_objective_) - reinterpret_cast<char*>(this)),
10323 0, static_cast<size_t>(reinterpret_cast<char*>(&inner_objective_lower_bound_) -
10324 reinterpret_cast<char*>(&integer_objective_)) + sizeof(inner_objective_lower_bound_));
10325}
10326
10328 // @@protoc_insertion_point(destructor:operations_research.sat.CpSolverResponse)
10329 if (GetArenaForAllocation() != nullptr) return;
10330 SharedDtor();
10331 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
10332}
10333
10334inline void CpSolverResponse::SharedDtor() {
10335 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
10336 solution_info_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
10337 solve_log_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
10338 if (this != internal_default_instance()) delete integer_objective_;
10339}
10340
10341void CpSolverResponse::ArenaDtor(void* object) {
10342 CpSolverResponse* _this = reinterpret_cast< CpSolverResponse* >(object);
10343 (void)_this;
10344}
10345void CpSolverResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
10346}
10347void CpSolverResponse::SetCachedSize(int size) const {
10348 _cached_size_.Set(size);
10349}
10350
10352// @@protoc_insertion_point(message_clear_start:operations_research.sat.CpSolverResponse)
10353 uint32_t cached_has_bits = 0;
10354 // Prevent compiler warnings about cached_has_bits being unused
10355 (void) cached_has_bits;
10356
10357 solution_.Clear();
10358 tightened_variables_.Clear();
10359 sufficient_assumptions_for_infeasibility_.Clear();
10360 additional_solutions_.Clear();
10361 solution_info_.ClearToEmpty();
10362 solve_log_.ClearToEmpty();
10363 if (GetArenaForAllocation() == nullptr && integer_objective_ != nullptr) {
10364 delete integer_objective_;
10365 }
10366 integer_objective_ = nullptr;
10367 ::memset(&objective_value_, 0, static_cast<size_t>(
10368 reinterpret_cast<char*>(&inner_objective_lower_bound_) -
10369 reinterpret_cast<char*>(&objective_value_)) + sizeof(inner_objective_lower_bound_));
10370 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
10371}
10372
10373const char* CpSolverResponse::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
10374#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
10375 while (!ctx->Done(&ptr)) {
10376 uint32_t tag;
10377 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
10378 switch (tag >> 3) {
10379 // .operations_research.sat.CpSolverStatus status = 1;
10380 case 1:
10381 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
10382 uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
10383 CHK_(ptr);
10384 _internal_set_status(static_cast<::operations_research::sat::CpSolverStatus>(val));
10385 } else
10386 goto handle_unusual;
10387 continue;
10388 // repeated int64 solution = 2;
10389 case 2:
10390 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
10391 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_solution(), ptr, ctx);
10392 CHK_(ptr);
10393 } else if (static_cast<uint8_t>(tag) == 16) {
10394 _internal_add_solution(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
10395 CHK_(ptr);
10396 } else
10397 goto handle_unusual;
10398 continue;
10399 // double objective_value = 3;
10400 case 3:
10401 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 25)) {
10402 objective_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
10403 ptr += sizeof(double);
10404 } else
10405 goto handle_unusual;
10406 continue;
10407 // double best_objective_bound = 4;
10408 case 4:
10409 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 33)) {
10410 best_objective_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
10411 ptr += sizeof(double);
10412 } else
10413 goto handle_unusual;
10414 continue;
10415 // int64 num_booleans = 10;
10416 case 10:
10417 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 80)) {
10418 num_booleans_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
10419 CHK_(ptr);
10420 } else
10421 goto handle_unusual;
10422 continue;
10423 // int64 num_conflicts = 11;
10424 case 11:
10425 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 88)) {
10426 num_conflicts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
10427 CHK_(ptr);
10428 } else
10429 goto handle_unusual;
10430 continue;
10431 // int64 num_branches = 12;
10432 case 12:
10433 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 96)) {
10434 num_branches_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
10435 CHK_(ptr);
10436 } else
10437 goto handle_unusual;
10438 continue;
10439 // int64 num_binary_propagations = 13;
10440 case 13:
10441 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 104)) {
10442 num_binary_propagations_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
10443 CHK_(ptr);
10444 } else
10445 goto handle_unusual;
10446 continue;
10447 // int64 num_integer_propagations = 14;
10448 case 14:
10449 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 112)) {
10450 num_integer_propagations_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
10451 CHK_(ptr);
10452 } else
10453 goto handle_unusual;
10454 continue;
10455 // double wall_time = 15;
10456 case 15:
10457 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 121)) {
10458 wall_time_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
10459 ptr += sizeof(double);
10460 } else
10461 goto handle_unusual;
10462 continue;
10463 // double user_time = 16;
10464 case 16:
10465 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 129)) {
10466 user_time_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
10467 ptr += sizeof(double);
10468 } else
10469 goto handle_unusual;
10470 continue;
10471 // double deterministic_time = 17;
10472 case 17:
10473 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 137)) {
10474 deterministic_time_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
10475 ptr += sizeof(double);
10476 } else
10477 goto handle_unusual;
10478 continue;
10479 // string solution_info = 20;
10480 case 20:
10481 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 162)) {
10482 auto str = _internal_mutable_solution_info();
10483 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
10484 CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.sat.CpSolverResponse.solution_info"));
10485 CHK_(ptr);
10486 } else
10487 goto handle_unusual;
10488 continue;
10489 // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
10490 case 21:
10491 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 170)) {
10492 ptr -= 2;
10493 do {
10494 ptr += 2;
10495 ptr = ctx->ParseMessage(_internal_add_tightened_variables(), ptr);
10496 CHK_(ptr);
10497 if (!ctx->DataAvailable(ptr)) break;
10498 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<170>(ptr));
10499 } else
10500 goto handle_unusual;
10501 continue;
10502 // double gap_integral = 22;
10503 case 22:
10504 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 177)) {
10505 gap_integral_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
10506 ptr += sizeof(double);
10507 } else
10508 goto handle_unusual;
10509 continue;
10510 // repeated int32 sufficient_assumptions_for_infeasibility = 23;
10511 case 23:
10512 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 186)) {
10513 ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_sufficient_assumptions_for_infeasibility(), ptr, ctx);
10514 CHK_(ptr);
10515 } else if (static_cast<uint8_t>(tag) == 184) {
10516 _internal_add_sufficient_assumptions_for_infeasibility(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr));
10517 CHK_(ptr);
10518 } else
10519 goto handle_unusual;
10520 continue;
10521 // int64 num_restarts = 24;
10522 case 24:
10523 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 192)) {
10524 num_restarts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
10525 CHK_(ptr);
10526 } else
10527 goto handle_unusual;
10528 continue;
10529 // int64 num_lp_iterations = 25;
10530 case 25:
10531 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 200)) {
10532 num_lp_iterations_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
10533 CHK_(ptr);
10534 } else
10535 goto handle_unusual;
10536 continue;
10537 // string solve_log = 26;
10538 case 26:
10539 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 210)) {
10540 auto str = _internal_mutable_solve_log();
10541 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
10542 CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.sat.CpSolverResponse.solve_log"));
10543 CHK_(ptr);
10544 } else
10545 goto handle_unusual;
10546 continue;
10547 // repeated .operations_research.sat.CpSolverSolution additional_solutions = 27;
10548 case 27:
10549 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 218)) {
10550 ptr -= 2;
10551 do {
10552 ptr += 2;
10553 ptr = ctx->ParseMessage(_internal_add_additional_solutions(), ptr);
10554 CHK_(ptr);
10555 if (!ctx->DataAvailable(ptr)) break;
10556 } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<218>(ptr));
10557 } else
10558 goto handle_unusual;
10559 continue;
10560 // .operations_research.sat.CpObjectiveProto integer_objective = 28;
10561 case 28:
10562 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 226)) {
10563 ptr = ctx->ParseMessage(_internal_mutable_integer_objective(), ptr);
10564 CHK_(ptr);
10565 } else
10566 goto handle_unusual;
10567 continue;
10568 // int64 inner_objective_lower_bound = 29;
10569 case 29:
10570 if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 232)) {
10571 inner_objective_lower_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
10572 CHK_(ptr);
10573 } else
10574 goto handle_unusual;
10575 continue;
10576 default:
10577 goto handle_unusual;
10578 } // switch
10579 handle_unusual:
10580 if ((tag == 0) || ((tag & 7) == 4)) {
10581 CHK_(ptr);
10582 ctx->SetLastTag(tag);
10583 goto message_done;
10584 }
10585 ptr = UnknownFieldParse(
10586 tag,
10587 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
10588 ptr, ctx);
10589 CHK_(ptr != nullptr);
10590 } // while
10591message_done:
10592 return ptr;
10593failure:
10594 ptr = nullptr;
10595 goto message_done;
10596#undef CHK_
10597}
10598
10600 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
10601 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.CpSolverResponse)
10602 uint32_t cached_has_bits = 0;
10603 (void) cached_has_bits;
10604
10605 // .operations_research.sat.CpSolverStatus status = 1;
10606 if (this->_internal_status() != 0) {
10607 target = stream->EnsureSpace(target);
10608 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
10609 1, this->_internal_status(), target);
10610 }
10611
10612 // repeated int64 solution = 2;
10613 {
10614 int byte_size = _solution_cached_byte_size_.load(std::memory_order_relaxed);
10615 if (byte_size > 0) {
10616 target = stream->WriteInt64Packed(
10617 2, _internal_solution(), byte_size, target);
10618 }
10619 }
10620
10621 // double objective_value = 3;
10622 static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
10623 double tmp_objective_value = this->_internal_objective_value();
10624 uint64_t raw_objective_value;
10625 memcpy(&raw_objective_value, &tmp_objective_value, sizeof(tmp_objective_value));
10626 if (raw_objective_value != 0) {
10627 target = stream->EnsureSpace(target);
10628 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(3, this->_internal_objective_value(), target);
10629 }
10630
10631 // double best_objective_bound = 4;
10632 static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
10633 double tmp_best_objective_bound = this->_internal_best_objective_bound();
10634 uint64_t raw_best_objective_bound;
10635 memcpy(&raw_best_objective_bound, &tmp_best_objective_bound, sizeof(tmp_best_objective_bound));
10636 if (raw_best_objective_bound != 0) {
10637 target = stream->EnsureSpace(target);
10638 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(4, this->_internal_best_objective_bound(), target);
10639 }
10640
10641 // int64 num_booleans = 10;
10642 if (this->_internal_num_booleans() != 0) {
10643 target = stream->EnsureSpace(target);
10644 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(10, this->_internal_num_booleans(), target);
10645 }
10646
10647 // int64 num_conflicts = 11;
10648 if (this->_internal_num_conflicts() != 0) {
10649 target = stream->EnsureSpace(target);
10650 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(11, this->_internal_num_conflicts(), target);
10651 }
10652
10653 // int64 num_branches = 12;
10654 if (this->_internal_num_branches() != 0) {
10655 target = stream->EnsureSpace(target);
10656 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(12, this->_internal_num_branches(), target);
10657 }
10658
10659 // int64 num_binary_propagations = 13;
10660 if (this->_internal_num_binary_propagations() != 0) {
10661 target = stream->EnsureSpace(target);
10662 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(13, this->_internal_num_binary_propagations(), target);
10663 }
10664
10665 // int64 num_integer_propagations = 14;
10666 if (this->_internal_num_integer_propagations() != 0) {
10667 target = stream->EnsureSpace(target);
10668 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(14, this->_internal_num_integer_propagations(), target);
10669 }
10670
10671 // double wall_time = 15;
10672 static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
10673 double tmp_wall_time = this->_internal_wall_time();
10674 uint64_t raw_wall_time;
10675 memcpy(&raw_wall_time, &tmp_wall_time, sizeof(tmp_wall_time));
10676 if (raw_wall_time != 0) {
10677 target = stream->EnsureSpace(target);
10678 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(15, this->_internal_wall_time(), target);
10679 }
10680
10681 // double user_time = 16;
10682 static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
10683 double tmp_user_time = this->_internal_user_time();
10684 uint64_t raw_user_time;
10685 memcpy(&raw_user_time, &tmp_user_time, sizeof(tmp_user_time));
10686 if (raw_user_time != 0) {
10687 target = stream->EnsureSpace(target);
10688 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(16, this->_internal_user_time(), target);
10689 }
10690
10691 // double deterministic_time = 17;
10692 static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
10693 double tmp_deterministic_time = this->_internal_deterministic_time();
10694 uint64_t raw_deterministic_time;
10695 memcpy(&raw_deterministic_time, &tmp_deterministic_time, sizeof(tmp_deterministic_time));
10696 if (raw_deterministic_time != 0) {
10697 target = stream->EnsureSpace(target);
10698 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(17, this->_internal_deterministic_time(), target);
10699 }
10700
10701 // string solution_info = 20;
10702 if (!this->_internal_solution_info().empty()) {
10703 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
10704 this->_internal_solution_info().data(), static_cast<int>(this->_internal_solution_info().length()),
10705 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
10706 "operations_research.sat.CpSolverResponse.solution_info");
10707 target = stream->WriteStringMaybeAliased(
10708 20, this->_internal_solution_info(), target);
10709 }
10710
10711 // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
10712 for (unsigned int i = 0,
10713 n = static_cast<unsigned int>(this->_internal_tightened_variables_size()); i < n; i++) {
10714 target = stream->EnsureSpace(target);
10715 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
10716 InternalWriteMessage(21, this->_internal_tightened_variables(i), target, stream);
10717 }
10718
10719 // double gap_integral = 22;
10720 static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
10721 double tmp_gap_integral = this->_internal_gap_integral();
10722 uint64_t raw_gap_integral;
10723 memcpy(&raw_gap_integral, &tmp_gap_integral, sizeof(tmp_gap_integral));
10724 if (raw_gap_integral != 0) {
10725 target = stream->EnsureSpace(target);
10726 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(22, this->_internal_gap_integral(), target);
10727 }
10728
10729 // repeated int32 sufficient_assumptions_for_infeasibility = 23;
10730 {
10731 int byte_size = _sufficient_assumptions_for_infeasibility_cached_byte_size_.load(std::memory_order_relaxed);
10732 if (byte_size > 0) {
10733 target = stream->WriteInt32Packed(
10734 23, _internal_sufficient_assumptions_for_infeasibility(), byte_size, target);
10735 }
10736 }
10737
10738 // int64 num_restarts = 24;
10739 if (this->_internal_num_restarts() != 0) {
10740 target = stream->EnsureSpace(target);
10741 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(24, this->_internal_num_restarts(), target);
10742 }
10743
10744 // int64 num_lp_iterations = 25;
10745 if (this->_internal_num_lp_iterations() != 0) {
10746 target = stream->EnsureSpace(target);
10747 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(25, this->_internal_num_lp_iterations(), target);
10748 }
10749
10750 // string solve_log = 26;
10751 if (!this->_internal_solve_log().empty()) {
10752 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
10753 this->_internal_solve_log().data(), static_cast<int>(this->_internal_solve_log().length()),
10754 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
10755 "operations_research.sat.CpSolverResponse.solve_log");
10756 target = stream->WriteStringMaybeAliased(
10757 26, this->_internal_solve_log(), target);
10758 }
10759
10760 // repeated .operations_research.sat.CpSolverSolution additional_solutions = 27;
10761 for (unsigned int i = 0,
10762 n = static_cast<unsigned int>(this->_internal_additional_solutions_size()); i < n; i++) {
10763 target = stream->EnsureSpace(target);
10764 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
10765 InternalWriteMessage(27, this->_internal_additional_solutions(i), target, stream);
10766 }
10767
10768 // .operations_research.sat.CpObjectiveProto integer_objective = 28;
10769 if (this->_internal_has_integer_objective()) {
10770 target = stream->EnsureSpace(target);
10771 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
10772 InternalWriteMessage(
10773 28, _Internal::integer_objective(this), target, stream);
10774 }
10775
10776 // int64 inner_objective_lower_bound = 29;
10777 if (this->_internal_inner_objective_lower_bound() != 0) {
10778 target = stream->EnsureSpace(target);
10779 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(29, this->_internal_inner_objective_lower_bound(), target);
10780 }
10781
10782 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
10783 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
10784 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
10785 }
10786 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.CpSolverResponse)
10787 return target;
10788}
10789
10791// @@protoc_insertion_point(message_byte_size_start:operations_research.sat.CpSolverResponse)
10792 size_t total_size = 0;
10793
10794 uint32_t cached_has_bits = 0;
10795 // Prevent compiler warnings about cached_has_bits being unused
10796 (void) cached_has_bits;
10797
10798 // repeated int64 solution = 2;
10799 {
10800 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
10801 Int64Size(this->solution_);
10802 if (data_size > 0) {
10803 total_size += 1 +
10804 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
10805 static_cast<int32_t>(data_size));
10806 }
10807 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
10808 _solution_cached_byte_size_.store(cached_size,
10809 std::memory_order_relaxed);
10810 total_size += data_size;
10811 }
10812
10813 // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
10814 total_size += 2UL * this->_internal_tightened_variables_size();
10815 for (const auto& msg : this->tightened_variables_) {
10816 total_size +=
10817 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
10818 }
10819
10820 // repeated int32 sufficient_assumptions_for_infeasibility = 23;
10821 {
10822 size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
10823 Int32Size(this->sufficient_assumptions_for_infeasibility_);
10824 if (data_size > 0) {
10825 total_size += 2 +
10826 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
10827 static_cast<int32_t>(data_size));
10828 }
10829 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
10830 _sufficient_assumptions_for_infeasibility_cached_byte_size_.store(cached_size,
10831 std::memory_order_relaxed);
10832 total_size += data_size;
10833 }
10834
10835 // repeated .operations_research.sat.CpSolverSolution additional_solutions = 27;
10836 total_size += 2UL * this->_internal_additional_solutions_size();
10837 for (const auto& msg : this->additional_solutions_) {
10838 total_size +=
10839 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
10840 }
10841
10842 // string solution_info = 20;
10843 if (!this->_internal_solution_info().empty()) {
10844 total_size += 2 +
10845 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
10846 this->_internal_solution_info());
10847 }
10848
10849 // string solve_log = 26;
10850 if (!this->_internal_solve_log().empty()) {
10851 total_size += 2 +
10852 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
10853 this->_internal_solve_log());
10854 }
10855
10856 // .operations_research.sat.CpObjectiveProto integer_objective = 28;
10857 if (this->_internal_has_integer_objective()) {
10858 total_size += 2 +
10859 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
10860 *integer_objective_);
10861 }
10862
10863 // double objective_value = 3;
10864 static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
10865 double tmp_objective_value = this->_internal_objective_value();
10866 uint64_t raw_objective_value;
10867 memcpy(&raw_objective_value, &tmp_objective_value, sizeof(tmp_objective_value));
10868 if (raw_objective_value != 0) {
10869 total_size += 1 + 8;
10870 }
10871
10872 // double best_objective_bound = 4;
10873 static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
10874 double tmp_best_objective_bound = this->_internal_best_objective_bound();
10875 uint64_t raw_best_objective_bound;
10876 memcpy(&raw_best_objective_bound, &tmp_best_objective_bound, sizeof(tmp_best_objective_bound));
10877 if (raw_best_objective_bound != 0) {
10878 total_size += 1 + 8;
10879 }
10880
10881 // int64 num_booleans = 10;
10882 if (this->_internal_num_booleans() != 0) {
10883 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_num_booleans());
10884 }
10885
10886 // int64 num_conflicts = 11;
10887 if (this->_internal_num_conflicts() != 0) {
10888 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_num_conflicts());
10889 }
10890
10891 // int64 num_branches = 12;
10892 if (this->_internal_num_branches() != 0) {
10893 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_num_branches());
10894 }
10895
10896 // int64 num_binary_propagations = 13;
10897 if (this->_internal_num_binary_propagations() != 0) {
10898 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_num_binary_propagations());
10899 }
10900
10901 // int64 num_integer_propagations = 14;
10902 if (this->_internal_num_integer_propagations() != 0) {
10903 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_num_integer_propagations());
10904 }
10905
10906 // double wall_time = 15;
10907 static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
10908 double tmp_wall_time = this->_internal_wall_time();
10909 uint64_t raw_wall_time;
10910 memcpy(&raw_wall_time, &tmp_wall_time, sizeof(tmp_wall_time));
10911 if (raw_wall_time != 0) {
10912 total_size += 1 + 8;
10913 }
10914
10915 // double user_time = 16;
10916 static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
10917 double tmp_user_time = this->_internal_user_time();
10918 uint64_t raw_user_time;
10919 memcpy(&raw_user_time, &tmp_user_time, sizeof(tmp_user_time));
10920 if (raw_user_time != 0) {
10921 total_size += 2 + 8;
10922 }
10923
10924 // double deterministic_time = 17;
10925 static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
10926 double tmp_deterministic_time = this->_internal_deterministic_time();
10927 uint64_t raw_deterministic_time;
10928 memcpy(&raw_deterministic_time, &tmp_deterministic_time, sizeof(tmp_deterministic_time));
10929 if (raw_deterministic_time != 0) {
10930 total_size += 2 + 8;
10931 }
10932
10933 // double gap_integral = 22;
10934 static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
10935 double tmp_gap_integral = this->_internal_gap_integral();
10936 uint64_t raw_gap_integral;
10937 memcpy(&raw_gap_integral, &tmp_gap_integral, sizeof(tmp_gap_integral));
10938 if (raw_gap_integral != 0) {
10939 total_size += 2 + 8;
10940 }
10941
10942 // .operations_research.sat.CpSolverStatus status = 1;
10943 if (this->_internal_status() != 0) {
10944 total_size += 1 +
10945 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_status());
10946 }
10947
10948 // int64 num_restarts = 24;
10949 if (this->_internal_num_restarts() != 0) {
10950 total_size += 2 +
10951 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
10952 this->_internal_num_restarts());
10953 }
10954
10955 // int64 num_lp_iterations = 25;
10956 if (this->_internal_num_lp_iterations() != 0) {
10957 total_size += 2 +
10958 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
10959 this->_internal_num_lp_iterations());
10960 }
10961
10962 // int64 inner_objective_lower_bound = 29;
10963 if (this->_internal_inner_objective_lower_bound() != 0) {
10964 total_size += 2 +
10965 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
10966 this->_internal_inner_objective_lower_bound());
10967 }
10968
10969 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
10970}
10971
10972const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CpSolverResponse::_class_data_ = {
10973 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
10974 CpSolverResponse::MergeImpl
10975};
10976const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CpSolverResponse::GetClassData() const { return &_class_data_; }
10977
10978void CpSolverResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
10979 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
10980 static_cast<CpSolverResponse *>(to)->MergeFrom(
10981 static_cast<const CpSolverResponse &>(from));
10982}
10983
10984
10986// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.CpSolverResponse)
10987 GOOGLE_DCHECK_NE(&from, this);
10988 uint32_t cached_has_bits = 0;
10989 (void) cached_has_bits;
10990
10991 solution_.MergeFrom(from.solution_);
10992 tightened_variables_.MergeFrom(from.tightened_variables_);
10993 sufficient_assumptions_for_infeasibility_.MergeFrom(from.sufficient_assumptions_for_infeasibility_);
10994 additional_solutions_.MergeFrom(from.additional_solutions_);
10995 if (!from._internal_solution_info().empty()) {
10996 _internal_set_solution_info(from._internal_solution_info());
10997 }
10998 if (!from._internal_solve_log().empty()) {
10999 _internal_set_solve_log(from._internal_solve_log());
11000 }
11001 if (from._internal_has_integer_objective()) {
11002 _internal_mutable_integer_objective()->::operations_research::sat::CpObjectiveProto::MergeFrom(from._internal_integer_objective());
11003 }
11004 static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
11005 double tmp_objective_value = from._internal_objective_value();
11006 uint64_t raw_objective_value;
11007 memcpy(&raw_objective_value, &tmp_objective_value, sizeof(tmp_objective_value));
11008 if (raw_objective_value != 0) {
11009 _internal_set_objective_value(from._internal_objective_value());
11010 }
11011 static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
11012 double tmp_best_objective_bound = from._internal_best_objective_bound();
11013 uint64_t raw_best_objective_bound;
11014 memcpy(&raw_best_objective_bound, &tmp_best_objective_bound, sizeof(tmp_best_objective_bound));
11015 if (raw_best_objective_bound != 0) {
11016 _internal_set_best_objective_bound(from._internal_best_objective_bound());
11017 }
11018 if (from._internal_num_booleans() != 0) {
11019 _internal_set_num_booleans(from._internal_num_booleans());
11020 }
11021 if (from._internal_num_conflicts() != 0) {
11022 _internal_set_num_conflicts(from._internal_num_conflicts());
11023 }
11024 if (from._internal_num_branches() != 0) {
11025 _internal_set_num_branches(from._internal_num_branches());
11026 }
11027 if (from._internal_num_binary_propagations() != 0) {
11028 _internal_set_num_binary_propagations(from._internal_num_binary_propagations());
11029 }
11030 if (from._internal_num_integer_propagations() != 0) {
11031 _internal_set_num_integer_propagations(from._internal_num_integer_propagations());
11032 }
11033 static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
11034 double tmp_wall_time = from._internal_wall_time();
11035 uint64_t raw_wall_time;
11036 memcpy(&raw_wall_time, &tmp_wall_time, sizeof(tmp_wall_time));
11037 if (raw_wall_time != 0) {
11038 _internal_set_wall_time(from._internal_wall_time());
11039 }
11040 static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
11041 double tmp_user_time = from._internal_user_time();
11042 uint64_t raw_user_time;
11043 memcpy(&raw_user_time, &tmp_user_time, sizeof(tmp_user_time));
11044 if (raw_user_time != 0) {
11045 _internal_set_user_time(from._internal_user_time());
11046 }
11047 static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
11048 double tmp_deterministic_time = from._internal_deterministic_time();
11049 uint64_t raw_deterministic_time;
11050 memcpy(&raw_deterministic_time, &tmp_deterministic_time, sizeof(tmp_deterministic_time));
11051 if (raw_deterministic_time != 0) {
11052 _internal_set_deterministic_time(from._internal_deterministic_time());
11053 }
11054 static_assert(sizeof(uint64_t) == sizeof(double), "Code assumes uint64_t and double are the same size.");
11055 double tmp_gap_integral = from._internal_gap_integral();
11056 uint64_t raw_gap_integral;
11057 memcpy(&raw_gap_integral, &tmp_gap_integral, sizeof(tmp_gap_integral));
11058 if (raw_gap_integral != 0) {
11059 _internal_set_gap_integral(from._internal_gap_integral());
11060 }
11061 if (from._internal_status() != 0) {
11062 _internal_set_status(from._internal_status());
11063 }
11064 if (from._internal_num_restarts() != 0) {
11065 _internal_set_num_restarts(from._internal_num_restarts());
11066 }
11067 if (from._internal_num_lp_iterations() != 0) {
11068 _internal_set_num_lp_iterations(from._internal_num_lp_iterations());
11069 }
11070 if (from._internal_inner_objective_lower_bound() != 0) {
11071 _internal_set_inner_objective_lower_bound(from._internal_inner_objective_lower_bound());
11072 }
11073 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
11074}
11075
11077// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.CpSolverResponse)
11078 if (&from == this) return;
11079 Clear();
11080 MergeFrom(from);
11081}
11082
11084 return true;
11085}
11086
11087void CpSolverResponse::InternalSwap(CpSolverResponse* other) {
11088 using std::swap;
11089 auto* lhs_arena = GetArenaForAllocation();
11090 auto* rhs_arena = other->GetArenaForAllocation();
11091 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
11092 solution_.InternalSwap(&other->solution_);
11093 tightened_variables_.InternalSwap(&other->tightened_variables_);
11094 sufficient_assumptions_for_infeasibility_.InternalSwap(&other->sufficient_assumptions_for_infeasibility_);
11095 additional_solutions_.InternalSwap(&other->additional_solutions_);
11096 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
11097 &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
11098 &solution_info_, lhs_arena,
11099 &other->solution_info_, rhs_arena
11100 );
11101 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
11102 &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
11103 &solve_log_, lhs_arena,
11104 &other->solve_log_, rhs_arena
11105 );
11106 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
11107 PROTOBUF_FIELD_OFFSET(CpSolverResponse, inner_objective_lower_bound_)
11108 + sizeof(CpSolverResponse::inner_objective_lower_bound_)
11109 - PROTOBUF_FIELD_OFFSET(CpSolverResponse, integer_objective_)>(
11110 reinterpret_cast<char*>(&integer_objective_),
11111 reinterpret_cast<char*>(&other->integer_objective_));
11112}
11113
11114::PROTOBUF_NAMESPACE_ID::Metadata CpSolverResponse::GetMetadata() const {
11115 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
11118}
11119
11120// @@protoc_insertion_point(namespace_scope)
11121} // namespace sat
11122} // namespace operations_research
11123PROTOBUF_NAMESPACE_OPEN
11124template<> PROTOBUF_NOINLINE ::operations_research::sat::IntegerVariableProto* Arena::CreateMaybeMessage< ::operations_research::sat::IntegerVariableProto >(Arena* arena) {
11125 return Arena::CreateMessageInternal< ::operations_research::sat::IntegerVariableProto >(arena);
11126}
11127template<> PROTOBUF_NOINLINE ::operations_research::sat::BoolArgumentProto* Arena::CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(Arena* arena) {
11128 return Arena::CreateMessageInternal< ::operations_research::sat::BoolArgumentProto >(arena);
11129}
11130template<> PROTOBUF_NOINLINE ::operations_research::sat::LinearExpressionProto* Arena::CreateMaybeMessage< ::operations_research::sat::LinearExpressionProto >(Arena* arena) {
11131 return Arena::CreateMessageInternal< ::operations_research::sat::LinearExpressionProto >(arena);
11132}
11133template<> PROTOBUF_NOINLINE ::operations_research::sat::LinearArgumentProto* Arena::CreateMaybeMessage< ::operations_research::sat::LinearArgumentProto >(Arena* arena) {
11134 return Arena::CreateMessageInternal< ::operations_research::sat::LinearArgumentProto >(arena);
11135}
11136template<> PROTOBUF_NOINLINE ::operations_research::sat::AllDifferentConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::AllDifferentConstraintProto >(Arena* arena) {
11137 return Arena::CreateMessageInternal< ::operations_research::sat::AllDifferentConstraintProto >(arena);
11138}
11139template<> PROTOBUF_NOINLINE ::operations_research::sat::LinearConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::LinearConstraintProto >(Arena* arena) {
11140 return Arena::CreateMessageInternal< ::operations_research::sat::LinearConstraintProto >(arena);
11141}
11142template<> PROTOBUF_NOINLINE ::operations_research::sat::ElementConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::ElementConstraintProto >(Arena* arena) {
11143 return Arena::CreateMessageInternal< ::operations_research::sat::ElementConstraintProto >(arena);
11144}
11145template<> PROTOBUF_NOINLINE ::operations_research::sat::IntervalConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::IntervalConstraintProto >(Arena* arena) {
11146 return Arena::CreateMessageInternal< ::operations_research::sat::IntervalConstraintProto >(arena);
11147}
11148template<> PROTOBUF_NOINLINE ::operations_research::sat::NoOverlapConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::NoOverlapConstraintProto >(Arena* arena) {
11149 return Arena::CreateMessageInternal< ::operations_research::sat::NoOverlapConstraintProto >(arena);
11150}
11151template<> PROTOBUF_NOINLINE ::operations_research::sat::NoOverlap2DConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::NoOverlap2DConstraintProto >(Arena* arena) {
11152 return Arena::CreateMessageInternal< ::operations_research::sat::NoOverlap2DConstraintProto >(arena);
11153}
11154template<> PROTOBUF_NOINLINE ::operations_research::sat::CumulativeConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::CumulativeConstraintProto >(Arena* arena) {
11155 return Arena::CreateMessageInternal< ::operations_research::sat::CumulativeConstraintProto >(arena);
11156}
11157template<> PROTOBUF_NOINLINE ::operations_research::sat::ReservoirConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::ReservoirConstraintProto >(Arena* arena) {
11158 return Arena::CreateMessageInternal< ::operations_research::sat::ReservoirConstraintProto >(arena);
11159}
11160template<> PROTOBUF_NOINLINE ::operations_research::sat::CircuitConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::CircuitConstraintProto >(Arena* arena) {
11161 return Arena::CreateMessageInternal< ::operations_research::sat::CircuitConstraintProto >(arena);
11162}
11163template<> PROTOBUF_NOINLINE ::operations_research::sat::RoutesConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::RoutesConstraintProto >(Arena* arena) {
11164 return Arena::CreateMessageInternal< ::operations_research::sat::RoutesConstraintProto >(arena);
11165}
11166template<> PROTOBUF_NOINLINE ::operations_research::sat::TableConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::TableConstraintProto >(Arena* arena) {
11167 return Arena::CreateMessageInternal< ::operations_research::sat::TableConstraintProto >(arena);
11168}
11169template<> PROTOBUF_NOINLINE ::operations_research::sat::InverseConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::InverseConstraintProto >(Arena* arena) {
11170 return Arena::CreateMessageInternal< ::operations_research::sat::InverseConstraintProto >(arena);
11171}
11172template<> PROTOBUF_NOINLINE ::operations_research::sat::AutomatonConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::AutomatonConstraintProto >(Arena* arena) {
11173 return Arena::CreateMessageInternal< ::operations_research::sat::AutomatonConstraintProto >(arena);
11174}
11175template<> PROTOBUF_NOINLINE ::operations_research::sat::ListOfVariablesProto* Arena::CreateMaybeMessage< ::operations_research::sat::ListOfVariablesProto >(Arena* arena) {
11176 return Arena::CreateMessageInternal< ::operations_research::sat::ListOfVariablesProto >(arena);
11177}
11178template<> PROTOBUF_NOINLINE ::operations_research::sat::ConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::ConstraintProto >(Arena* arena) {
11179 return Arena::CreateMessageInternal< ::operations_research::sat::ConstraintProto >(arena);
11180}
11181template<> PROTOBUF_NOINLINE ::operations_research::sat::CpObjectiveProto* Arena::CreateMaybeMessage< ::operations_research::sat::CpObjectiveProto >(Arena* arena) {
11182 return Arena::CreateMessageInternal< ::operations_research::sat::CpObjectiveProto >(arena);
11183}
11184template<> PROTOBUF_NOINLINE ::operations_research::sat::FloatObjectiveProto* Arena::CreateMaybeMessage< ::operations_research::sat::FloatObjectiveProto >(Arena* arena) {
11185 return Arena::CreateMessageInternal< ::operations_research::sat::FloatObjectiveProto >(arena);
11186}
11187template<> PROTOBUF_NOINLINE ::operations_research::sat::DecisionStrategyProto_AffineTransformation* Arena::CreateMaybeMessage< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >(Arena* arena) {
11188 return Arena::CreateMessageInternal< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >(arena);
11189}
11190template<> PROTOBUF_NOINLINE ::operations_research::sat::DecisionStrategyProto* Arena::CreateMaybeMessage< ::operations_research::sat::DecisionStrategyProto >(Arena* arena) {
11191 return Arena::CreateMessageInternal< ::operations_research::sat::DecisionStrategyProto >(arena);
11192}
11193template<> PROTOBUF_NOINLINE ::operations_research::sat::PartialVariableAssignment* Arena::CreateMaybeMessage< ::operations_research::sat::PartialVariableAssignment >(Arena* arena) {
11194 return Arena::CreateMessageInternal< ::operations_research::sat::PartialVariableAssignment >(arena);
11195}
11196template<> PROTOBUF_NOINLINE ::operations_research::sat::SparsePermutationProto* Arena::CreateMaybeMessage< ::operations_research::sat::SparsePermutationProto >(Arena* arena) {
11197 return Arena::CreateMessageInternal< ::operations_research::sat::SparsePermutationProto >(arena);
11198}
11199template<> PROTOBUF_NOINLINE ::operations_research::sat::DenseMatrixProto* Arena::CreateMaybeMessage< ::operations_research::sat::DenseMatrixProto >(Arena* arena) {
11200 return Arena::CreateMessageInternal< ::operations_research::sat::DenseMatrixProto >(arena);
11201}
11202template<> PROTOBUF_NOINLINE ::operations_research::sat::SymmetryProto* Arena::CreateMaybeMessage< ::operations_research::sat::SymmetryProto >(Arena* arena) {
11203 return Arena::CreateMessageInternal< ::operations_research::sat::SymmetryProto >(arena);
11204}
11205template<> PROTOBUF_NOINLINE ::operations_research::sat::CpModelProto* Arena::CreateMaybeMessage< ::operations_research::sat::CpModelProto >(Arena* arena) {
11206 return Arena::CreateMessageInternal< ::operations_research::sat::CpModelProto >(arena);
11207}
11208template<> PROTOBUF_NOINLINE ::operations_research::sat::CpSolverSolution* Arena::CreateMaybeMessage< ::operations_research::sat::CpSolverSolution >(Arena* arena) {
11209 return Arena::CreateMessageInternal< ::operations_research::sat::CpSolverSolution >(arena);
11210}
11211template<> PROTOBUF_NOINLINE ::operations_research::sat::CpSolverResponse* Arena::CreateMaybeMessage< ::operations_research::sat::CpSolverResponse >(Arena* arena) {
11212 return Arena::CreateMessageInternal< ::operations_research::sat::CpSolverResponse >(arena);
11213}
11214PROTOBUF_NAMESPACE_CLOSE
11215
11216// @@protoc_insertion_point(global_scope)
11217#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
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void MergeFrom(const AllDifferentConstraintProto &from)
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
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
friend void swap(AutomatonConstraintProto &a, AutomatonConstraintProto &b)
Definition: cp_model.pb.h:3391
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
uint8_t * _InternalSerialize(uint8_t *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)
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
static const ::operations_research::sat::LinearArgumentProto & int_prod(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::BoolArgumentProto & bool_and(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::LinearConstraintProto & linear(const ConstraintProto *msg)
static const ::operations_research::sat::LinearArgumentProto & int_div(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::LinearArgumentProto & int_mod(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::AllDifferentConstraintProto & all_diff(const ConstraintProto *msg)
static const ::operations_research::sat::BoolArgumentProto & bool_xor(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)
const ::operations_research::sat::BoolArgumentProto & at_most_one() const
Definition: cp_model.pb.h:9691
void set_allocated_bool_or(::operations_research::sat::BoolArgumentProto *bool_or)
const ::operations_research::sat::CircuitConstraintProto & circuit() const
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_int_prod(::operations_research::sat::LinearArgumentProto *int_prod)
void set_allocated_no_overlap(::operations_research::sat::NoOverlapConstraintProto *no_overlap)
void CopyFrom(const ConstraintProto &from)
friend void swap(ConstraintProto &a, ConstraintProto &b)
Definition: cp_model.pb.h:3849
const ::operations_research::sat::LinearArgumentProto & int_prod() const
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::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
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)
void set_allocated_int_mod(::operations_research::sat::LinearArgumentProto *int_mod)
const ::operations_research::sat::CumulativeConstraintProto & cumulative() const
void set_allocated_at_most_one(::operations_research::sat::BoolArgumentProto *at_most_one)
const ::operations_research::sat::BoolArgumentProto & exactly_one() const
Definition: cp_model.pb.h:9765
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:9543
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
void set_allocated_lin_max(::operations_research::sat::LinearArgumentProto *lin_max)
const ::operations_research::sat::LinearArgumentProto & int_div() const
Definition: cp_model.pb.h:9913
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_div(::operations_research::sat::LinearArgumentProto *int_div)
void set_allocated_circuit(::operations_research::sat::CircuitConstraintProto *circuit)
void set_allocated_bool_and(::operations_research::sat::BoolArgumentProto *bool_and)
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
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::LinearArgumentProto & int_mod() const
Definition: cp_model.pb.h:9987
const ::operations_research::sat::BoolArgumentProto & bool_and() const
Definition: cp_model.pb.h:9617
const ::operations_research::sat::BoolArgumentProto & bool_xor() const
Definition: cp_model.pb.h:9839
void set_allocated_table(::operations_research::sat::TableConstraintProto *table)
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::FloatObjectiveProto & floating_point_objective(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:6223
static const CpModelProto * internal_default_instance()
Definition: cp_model.pb.h:6154
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
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
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
static const ::operations_research::sat::CpObjectiveProto & integer_objective(const CpSolverResponse *msg)
void CopyFrom(const CpSolverResponse &from)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void MergeFrom(const CpSolverResponse &from)
static const CpSolverResponse * internal_default_instance()
Definition: cp_model.pb.h:6630
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void CopyFrom(const CpSolverSolution &from)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void MergeFrom(const CpSolverSolution &from)
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
static const ::operations_research::sat::LinearExpressionProto & capacity(const CumulativeConstraintProto *msg)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void CopyFrom(const CumulativeConstraintProto &from)
static const CumulativeConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2120
void MergeFrom(const CumulativeConstraintProto &from)
friend void swap(CumulativeConstraintProto &a, CumulativeConstraintProto &b)
Definition: cp_model.pb.h:2127
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
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
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
static constexpr DomainReductionStrategy SELECT_MIN_VALUE
Definition: cp_model.pb.h:5266
static constexpr VariableSelectionStrategy VariableSelectionStrategy_MAX
Definition: cp_model.pb.h:5245
static constexpr DomainReductionStrategy DomainReductionStrategy_MIN
Definition: cp_model.pb.h:5279
static constexpr int VariableSelectionStrategy_ARRAYSIZE
Definition: cp_model.pb.h:5247
static constexpr VariableSelectionStrategy VariableSelectionStrategy_MIN
Definition: cp_model.pb.h:5243
static constexpr DomainReductionStrategy SELECT_MAX_VALUE
Definition: cp_model.pb.h:5268
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:5238
static constexpr VariableSelectionStrategy CHOOSE_LOWEST_MIN
Definition: cp_model.pb.h:5232
void CopyFrom(const DecisionStrategyProto &from)
static constexpr DomainReductionStrategy SELECT_MEDIAN_VALUE
Definition: cp_model.pb.h:5274
static constexpr DomainReductionStrategy SELECT_LOWER_HALF
Definition: cp_model.pb.h:5270
static constexpr VariableSelectionStrategy CHOOSE_MIN_DOMAIN_SIZE
Definition: cp_model.pb.h:5236
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:5234
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
static constexpr VariableSelectionStrategy CHOOSE_FIRST
Definition: cp_model.pb.h:5230
static constexpr DomainReductionStrategy DomainReductionStrategy_MAX
Definition: cp_model.pb.h:5281
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void MergeFrom(const DecisionStrategyProto &from)
static constexpr DomainReductionStrategy SELECT_UPPER_HALF
Definition: cp_model.pb.h:5272
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)
uint8_t * _InternalSerialize(uint8_t *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_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void CopyFrom(const ElementConstraintProto &from)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void MergeFrom(const FloatObjectiveProto &from)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void CopyFrom(const FloatObjectiveProto &from)
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
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void MergeFrom(const IntegerVariableProto &from)
static const ::operations_research::sat::LinearExpressionProto & end(const IntervalConstraintProto *msg)
static const ::operations_research::sat::LinearExpressionProto & start(const IntervalConstraintProto *msg)
static const ::operations_research::sat::LinearExpressionProto & size(const IntervalConstraintProto *msg)
void CopyFrom(const IntervalConstraintProto &from)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
static const IntervalConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1569
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void MergeFrom(const IntervalConstraintProto &from)
const ::operations_research::sat::LinearExpressionProto & size() const
Definition: cp_model.pb.h:7921
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
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void CopyFrom(const InverseConstraintProto &from)
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:7327
static const LinearArgumentProto * internal_default_instance()
Definition: cp_model.pb.h:847
friend void swap(LinearArgumentProto &a, LinearArgumentProto &b)
Definition: cp_model.pb.h:854
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
uint8_t * _InternalSerialize(uint8_t *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
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void CopyFrom(const LinearExpressionProto &from)
friend void swap(LinearExpressionProto &a, LinearExpressionProto &b)
Definition: cp_model.pb.h:658
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
uint8_t * _InternalSerialize(uint8_t *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
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
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:1931
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void MergeFrom(const NoOverlap2DConstraintProto &from)
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
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void CopyFrom(const NoOverlapConstraintProto &from)
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)
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
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)
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
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:2764
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
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
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void CopyFrom(const SymmetryProto &from)
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void MergeFrom(const SymmetryProto &from)
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:3010
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void MergeFrom(const TableConstraintProto &from)
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)
#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::FloatObjectiveProto * Arena::CreateMaybeMessage< ::operations_research::sat::FloatObjectiveProto >(Arena *arena)
PROTOBUF_NOINLINE::operations_research::sat::LinearArgumentProto * Arena::CreateMaybeMessage< ::operations_research::sat::LinearArgumentProto >(Arena *arena)
const uint32_t TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const ** file_level_service_descriptors_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:517
PROTOBUF_NOINLINE::operations_research::sat::CpSolverSolution * Arena::CreateMaybeMessage< ::operations_research::sat::CpSolverSolution >(Arena *arena)
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:870
::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
::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_ortools_2fsat_2fcp_5fmodel_2eproto[30]
Definition: cp_model.pb.cc:515
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:516
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:262
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SparsePermutationProtoDefaultTypeInternal _SparsePermutationProto_default_instance_
Definition: cp_model.pb.cc:414
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * CpSolverStatus_descriptor()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT InverseConstraintProtoDefaultTypeInternal _InverseConstraintProto_default_instance_
Definition: cp_model.pb.cc:264
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CpObjectiveProtoDefaultTypeInternal _CpObjectiveProto_default_instance_
Definition: cp_model.pb.cc:336
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DecisionStrategyProto_DomainReductionStrategy_descriptor()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LinearArgumentProtoDefaultTypeInternal _LinearArgumentProto_default_instance_
Definition: cp_model.pb.cc:76
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:463
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT DecisionStrategyProto_AffineTransformationDefaultTypeInternal _DecisionStrategyProto_AffineTransformation_default_instance_
Definition: cp_model.pb.cc:366
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AllDifferentConstraintProtoDefaultTypeInternal _AllDifferentConstraintProto_default_instance_
Definition: cp_model.pb.cc:88
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT NoOverlap2DConstraintProtoDefaultTypeInternal _NoOverlap2DConstraintProto_default_instance_
Definition: cp_model.pb.cc:163
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT IntervalConstraintProtoDefaultTypeInternal _IntervalConstraintProto_default_instance_
Definition: cp_model.pb.cc:134
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RoutesConstraintProtoDefaultTypeInternal _RoutesConstraintProto_default_instance_
Definition: cp_model.pb.cc:233
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:384
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LinearConstraintProtoDefaultTypeInternal _LinearConstraintProto_default_instance_
Definition: cp_model.pb.cc:105
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT FloatObjectiveProtoDefaultTypeInternal _FloatObjectiveProto_default_instance_
Definition: cp_model.pb.cc:352
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CpSolverResponseDefaultTypeInternal _CpSolverResponse_default_instance_
Definition: cp_model.pb.cc:512
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DecisionStrategyProto_VariableSelectionStrategy_descriptor()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT NoOverlapConstraintProtoDefaultTypeInternal _NoOverlapConstraintProto_default_instance_
Definition: cp_model.pb.cc:147
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ElementConstraintProtoDefaultTypeInternal _ElementConstraintProto_default_instance_
Definition: cp_model.pb.cc:120
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SymmetryProtoDefaultTypeInternal _SymmetryProto_default_instance_
Definition: cp_model.pb.cc:442
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AutomatonConstraintProtoDefaultTypeInternal _AutomatonConstraintProto_default_instance_
Definition: cp_model.pb.cc:286
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LinearExpressionProtoDefaultTypeInternal _LinearExpressionProto_default_instance_
Definition: cp_model.pb.cc:63
bool DecisionStrategyProto_VariableSelectionStrategy_IsValid(int value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CpSolverSolutionDefaultTypeInternal _CpSolverSolution_default_instance_
Definition: cp_model.pb.cc:476
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT DenseMatrixProtoDefaultTypeInternal _DenseMatrixProto_default_instance_
Definition: cp_model.pb.cc:429
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PartialVariableAssignmentDefaultTypeInternal _PartialVariableAssignment_default_instance_
Definition: cp_model.pb.cc:399
bool CpSolverStatus_IsValid(int value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CircuitConstraintProtoDefaultTypeInternal _CircuitConstraintProto_default_instance_
Definition: cp_model.pb.cc:213
bool DecisionStrategyProto_DomainReductionStrategy_IsValid(int value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT TableConstraintProtoDefaultTypeInternal _TableConstraintProto_default_instance_
Definition: cp_model.pb.cc:249
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CumulativeConstraintProtoDefaultTypeInternal _CumulativeConstraintProto_default_instance_
Definition: cp_model.pb.cc:178
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ConstraintProtoDefaultTypeInternal _ConstraintProto_default_instance_
Definition: cp_model.pb.cc:314
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ListOfVariablesProtoDefaultTypeInternal _ListOfVariablesProto_default_instance_
Definition: cp_model.pb.cc:299
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ReservoirConstraintProtoDefaultTypeInternal _ReservoirConstraintProto_default_instance_
Definition: cp_model.pb.cc:196
Collection of objects used to extend the Constraint Solver library.
static constexpr ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema * schemas
const bool maximize_
Definition: search.cc:2559
IntVar *const objective_
Definition: search.cc:3017