Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
cp_model.pb.cc
Go to the documentation of this file.
1// Generated by the protocol buffer compiler. DO NOT EDIT!
2// NO CHECKED-IN PROTOBUF GENCODE
3// source: ortools/sat/cp_model.proto
4// Protobuf C++ Version: 6.33.1
5
7
8#include <algorithm>
9#include <type_traits>
10#include "google/protobuf/io/coded_stream.h"
11#include "google/protobuf/generated_message_tctable_impl.h"
12#include "google/protobuf/extension_set.h"
13#include "google/protobuf/generated_message_util.h"
14#include "google/protobuf/wire_format_lite.h"
15#include "google/protobuf/descriptor.h"
16#include "google/protobuf/generated_message_reflection.h"
17#include "google/protobuf/reflection_ops.h"
18#include "google/protobuf/wire_format.h"
19// @@protoc_insertion_point(includes)
20
21// Must be included last.
22#include "google/protobuf/port_def.inc"
23PROTOBUF_PRAGMA_INIT_SEG
24namespace _pb = ::google::protobuf;
26namespace _fl = ::google::protobuf::internal::field_layout;
27namespace operations_research {
28namespace sat {
29
30inline constexpr SparsePermutationProto::Impl_::Impl_(
31 ::_pbi::ConstantInitialized) noexcept
32 : _cached_size_{0},
33 support_{},
34 _support_cached_byte_size_{0},
35 cycle_sizes_{},
36 _cycle_sizes_cached_byte_size_{0} {}
37
38template <typename>
39PROTOBUF_CONSTEXPR SparsePermutationProto::SparsePermutationProto(::_pbi::ConstantInitialized)
40#if defined(PROTOBUF_CUSTOM_VTABLE)
41 : ::google::protobuf::Message(SparsePermutationProto_class_data_.base()),
42#else // PROTOBUF_CUSTOM_VTABLE
43 : ::google::protobuf::Message(),
44#endif // PROTOBUF_CUSTOM_VTABLE
45 _impl_(::_pbi::ConstantInitialized()) {
46}
54
55PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
57
58inline constexpr PartialVariableAssignment::Impl_::Impl_(
59 ::_pbi::ConstantInitialized) noexcept
60 : _cached_size_{0},
61 vars_{},
62 _vars_cached_byte_size_{0},
63 values_{},
64 _values_cached_byte_size_{0} {}
65
66template <typename>
67PROTOBUF_CONSTEXPR PartialVariableAssignment::PartialVariableAssignment(::_pbi::ConstantInitialized)
68#if defined(PROTOBUF_CUSTOM_VTABLE)
69 : ::google::protobuf::Message(PartialVariableAssignment_class_data_.base()),
70#else // PROTOBUF_CUSTOM_VTABLE
71 : ::google::protobuf::Message(),
72#endif // PROTOBUF_CUSTOM_VTABLE
73 _impl_(::_pbi::ConstantInitialized()) {
74}
82
83PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
85
86inline constexpr NoOverlapConstraintProto::Impl_::Impl_(
87 ::_pbi::ConstantInitialized) noexcept
88 : _cached_size_{0},
89 intervals_{},
90 _intervals_cached_byte_size_{0} {}
91
92template <typename>
93PROTOBUF_CONSTEXPR NoOverlapConstraintProto::NoOverlapConstraintProto(::_pbi::ConstantInitialized)
94#if defined(PROTOBUF_CUSTOM_VTABLE)
95 : ::google::protobuf::Message(NoOverlapConstraintProto_class_data_.base()),
96#else // PROTOBUF_CUSTOM_VTABLE
97 : ::google::protobuf::Message(),
98#endif // PROTOBUF_CUSTOM_VTABLE
99 _impl_(::_pbi::ConstantInitialized()) {
100}
108
109PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
111
112inline constexpr NoOverlap2DConstraintProto::Impl_::Impl_(
113 ::_pbi::ConstantInitialized) noexcept
114 : _cached_size_{0},
115 x_intervals_{},
116 _x_intervals_cached_byte_size_{0},
117 y_intervals_{},
118 _y_intervals_cached_byte_size_{0} {}
119
120template <typename>
121PROTOBUF_CONSTEXPR NoOverlap2DConstraintProto::NoOverlap2DConstraintProto(::_pbi::ConstantInitialized)
122#if defined(PROTOBUF_CUSTOM_VTABLE)
123 : ::google::protobuf::Message(NoOverlap2DConstraintProto_class_data_.base()),
124#else // PROTOBUF_CUSTOM_VTABLE
125 : ::google::protobuf::Message(),
126#endif // PROTOBUF_CUSTOM_VTABLE
127 _impl_(::_pbi::ConstantInitialized()) {
128}
136
137PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
139
140inline constexpr ListOfVariablesProto::Impl_::Impl_(
141 ::_pbi::ConstantInitialized) noexcept
142 : _cached_size_{0},
143 vars_{},
144 _vars_cached_byte_size_{0} {}
145
146template <typename>
147PROTOBUF_CONSTEXPR ListOfVariablesProto::ListOfVariablesProto(::_pbi::ConstantInitialized)
148#if defined(PROTOBUF_CUSTOM_VTABLE)
149 : ::google::protobuf::Message(ListOfVariablesProto_class_data_.base()),
150#else // PROTOBUF_CUSTOM_VTABLE
151 : ::google::protobuf::Message(),
152#endif // PROTOBUF_CUSTOM_VTABLE
153 _impl_(::_pbi::ConstantInitialized()) {
154}
162
163PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
165
166inline constexpr LinearExpressionProto::Impl_::Impl_(
167 ::_pbi::ConstantInitialized) noexcept
168 : _cached_size_{0},
169 vars_{},
170 _vars_cached_byte_size_{0},
171 coeffs_{},
172 _coeffs_cached_byte_size_{0},
173 offset_{::int64_t{0}} {}
174
175template <typename>
176PROTOBUF_CONSTEXPR LinearExpressionProto::LinearExpressionProto(::_pbi::ConstantInitialized)
177#if defined(PROTOBUF_CUSTOM_VTABLE)
178 : ::google::protobuf::Message(LinearExpressionProto_class_data_.base()),
179#else // PROTOBUF_CUSTOM_VTABLE
180 : ::google::protobuf::Message(),
181#endif // PROTOBUF_CUSTOM_VTABLE
182 _impl_(::_pbi::ConstantInitialized()) {
183}
191
192PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
194
195inline constexpr LinearConstraintProto::Impl_::Impl_(
196 ::_pbi::ConstantInitialized) noexcept
197 : _cached_size_{0},
198 vars_{},
199 _vars_cached_byte_size_{0},
200 coeffs_{},
201 _coeffs_cached_byte_size_{0},
202 domain_{},
203 _domain_cached_byte_size_{0} {}
204
205template <typename>
206PROTOBUF_CONSTEXPR LinearConstraintProto::LinearConstraintProto(::_pbi::ConstantInitialized)
207#if defined(PROTOBUF_CUSTOM_VTABLE)
208 : ::google::protobuf::Message(LinearConstraintProto_class_data_.base()),
209#else // PROTOBUF_CUSTOM_VTABLE
210 : ::google::protobuf::Message(),
211#endif // PROTOBUF_CUSTOM_VTABLE
212 _impl_(::_pbi::ConstantInitialized()) {
213}
221
222PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
224
225inline constexpr InverseConstraintProto::Impl_::Impl_(
226 ::_pbi::ConstantInitialized) noexcept
227 : _cached_size_{0},
228 f_direct_{},
229 _f_direct_cached_byte_size_{0},
230 f_inverse_{},
231 _f_inverse_cached_byte_size_{0} {}
232
233template <typename>
234PROTOBUF_CONSTEXPR InverseConstraintProto::InverseConstraintProto(::_pbi::ConstantInitialized)
235#if defined(PROTOBUF_CUSTOM_VTABLE)
236 : ::google::protobuf::Message(InverseConstraintProto_class_data_.base()),
237#else // PROTOBUF_CUSTOM_VTABLE
238 : ::google::protobuf::Message(),
239#endif // PROTOBUF_CUSTOM_VTABLE
240 _impl_(::_pbi::ConstantInitialized()) {
241}
249
250PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
252
253inline constexpr IntegerVariableProto::Impl_::Impl_(
254 ::_pbi::ConstantInitialized) noexcept
255 : _cached_size_{0},
256 domain_{},
257 _domain_cached_byte_size_{0},
258 name_(
259 &::google::protobuf::internal::fixed_address_empty_string,
260 ::_pbi::ConstantInitialized()) {}
261
262template <typename>
263PROTOBUF_CONSTEXPR IntegerVariableProto::IntegerVariableProto(::_pbi::ConstantInitialized)
264#if defined(PROTOBUF_CUSTOM_VTABLE)
265 : ::google::protobuf::Message(IntegerVariableProto_class_data_.base()),
266#else // PROTOBUF_CUSTOM_VTABLE
267 : ::google::protobuf::Message(),
268#endif // PROTOBUF_CUSTOM_VTABLE
269 _impl_(::_pbi::ConstantInitialized()) {
270}
278
279PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
281
282inline constexpr FloatObjectiveProto::Impl_::Impl_(
283 ::_pbi::ConstantInitialized) noexcept
284 : _cached_size_{0},
285 vars_{},
286 _vars_cached_byte_size_{0},
287 coeffs_{},
288 offset_{0},
289 maximize_{false} {}
290
291template <typename>
292PROTOBUF_CONSTEXPR FloatObjectiveProto::FloatObjectiveProto(::_pbi::ConstantInitialized)
293#if defined(PROTOBUF_CUSTOM_VTABLE)
294 : ::google::protobuf::Message(FloatObjectiveProto_class_data_.base()),
295#else // PROTOBUF_CUSTOM_VTABLE
296 : ::google::protobuf::Message(),
297#endif // PROTOBUF_CUSTOM_VTABLE
298 _impl_(::_pbi::ConstantInitialized()) {
299}
307
308PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
310
311inline constexpr DenseMatrixProto::Impl_::Impl_(
312 ::_pbi::ConstantInitialized) noexcept
313 : _cached_size_{0},
314 entries_{},
315 _entries_cached_byte_size_{0},
316 num_rows_{0},
317 num_cols_{0} {}
318
319template <typename>
320PROTOBUF_CONSTEXPR DenseMatrixProto::DenseMatrixProto(::_pbi::ConstantInitialized)
321#if defined(PROTOBUF_CUSTOM_VTABLE)
322 : ::google::protobuf::Message(DenseMatrixProto_class_data_.base()),
323#else // PROTOBUF_CUSTOM_VTABLE
324 : ::google::protobuf::Message(),
325#endif // PROTOBUF_CUSTOM_VTABLE
326 _impl_(::_pbi::ConstantInitialized()) {
327}
335
336PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
338
339inline constexpr CpSolverSolution::Impl_::Impl_(
340 ::_pbi::ConstantInitialized) noexcept
341 : _cached_size_{0},
342 values_{},
343 _values_cached_byte_size_{0} {}
344
345template <typename>
346PROTOBUF_CONSTEXPR CpSolverSolution::CpSolverSolution(::_pbi::ConstantInitialized)
347#if defined(PROTOBUF_CUSTOM_VTABLE)
348 : ::google::protobuf::Message(CpSolverSolution_class_data_.base()),
349#else // PROTOBUF_CUSTOM_VTABLE
350 : ::google::protobuf::Message(),
351#endif // PROTOBUF_CUSTOM_VTABLE
352 _impl_(::_pbi::ConstantInitialized()) {
353}
361
362PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
364
365inline constexpr CpObjectiveProto::Impl_::Impl_(
366 ::_pbi::ConstantInitialized) noexcept
367 : _cached_size_{0},
368 vars_{},
369 _vars_cached_byte_size_{0},
370 coeffs_{},
371 _coeffs_cached_byte_size_{0},
372 domain_{},
373 _domain_cached_byte_size_{0},
374 offset_{0},
375 scaling_factor_{0},
376 integer_before_offset_{::int64_t{0}},
377 integer_scaling_factor_{::int64_t{0}},
378 integer_after_offset_{::int64_t{0}},
379 scaling_was_exact_{false} {}
380
381template <typename>
382PROTOBUF_CONSTEXPR CpObjectiveProto::CpObjectiveProto(::_pbi::ConstantInitialized)
383#if defined(PROTOBUF_CUSTOM_VTABLE)
384 : ::google::protobuf::Message(CpObjectiveProto_class_data_.base()),
385#else // PROTOBUF_CUSTOM_VTABLE
386 : ::google::protobuf::Message(),
387#endif // PROTOBUF_CUSTOM_VTABLE
388 _impl_(::_pbi::ConstantInitialized()) {
389}
397
398PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
400
401inline constexpr CircuitConstraintProto::Impl_::Impl_(
402 ::_pbi::ConstantInitialized) noexcept
403 : _cached_size_{0},
404 tails_{},
405 _tails_cached_byte_size_{0},
406 heads_{},
407 _heads_cached_byte_size_{0},
408 literals_{},
409 _literals_cached_byte_size_{0} {}
410
411template <typename>
412PROTOBUF_CONSTEXPR CircuitConstraintProto::CircuitConstraintProto(::_pbi::ConstantInitialized)
413#if defined(PROTOBUF_CUSTOM_VTABLE)
414 : ::google::protobuf::Message(CircuitConstraintProto_class_data_.base()),
415#else // PROTOBUF_CUSTOM_VTABLE
416 : ::google::protobuf::Message(),
417#endif // PROTOBUF_CUSTOM_VTABLE
418 _impl_(::_pbi::ConstantInitialized()) {
419}
427
428PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
430
431inline constexpr BoolArgumentProto::Impl_::Impl_(
432 ::_pbi::ConstantInitialized) noexcept
433 : _cached_size_{0},
434 literals_{},
435 _literals_cached_byte_size_{0} {}
436
437template <typename>
438PROTOBUF_CONSTEXPR BoolArgumentProto::BoolArgumentProto(::_pbi::ConstantInitialized)
439#if defined(PROTOBUF_CUSTOM_VTABLE)
440 : ::google::protobuf::Message(BoolArgumentProto_class_data_.base()),
441#else // PROTOBUF_CUSTOM_VTABLE
442 : ::google::protobuf::Message(),
443#endif // PROTOBUF_CUSTOM_VTABLE
444 _impl_(::_pbi::ConstantInitialized()) {
445}
453
454PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
456
457inline constexpr TableConstraintProto::Impl_::Impl_(
458 ::_pbi::ConstantInitialized) noexcept
459 : _cached_size_{0},
460 vars_{},
461 _vars_cached_byte_size_{0},
462 values_{},
463 _values_cached_byte_size_{0},
464 exprs_{},
465 negated_{false} {}
466
467template <typename>
468PROTOBUF_CONSTEXPR TableConstraintProto::TableConstraintProto(::_pbi::ConstantInitialized)
469#if defined(PROTOBUF_CUSTOM_VTABLE)
470 : ::google::protobuf::Message(TableConstraintProto_class_data_.base()),
471#else // PROTOBUF_CUSTOM_VTABLE
472 : ::google::protobuf::Message(),
473#endif // PROTOBUF_CUSTOM_VTABLE
474 _impl_(::_pbi::ConstantInitialized()) {
475}
483
484PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
486
487inline constexpr SymmetryProto::Impl_::Impl_(
488 ::_pbi::ConstantInitialized) noexcept
489 : _cached_size_{0},
490 permutations_{},
491 orbitopes_{} {}
492
493template <typename>
494PROTOBUF_CONSTEXPR SymmetryProto::SymmetryProto(::_pbi::ConstantInitialized)
495#if defined(PROTOBUF_CUSTOM_VTABLE)
496 : ::google::protobuf::Message(SymmetryProto_class_data_.base()),
497#else // PROTOBUF_CUSTOM_VTABLE
498 : ::google::protobuf::Message(),
499#endif // PROTOBUF_CUSTOM_VTABLE
500 _impl_(::_pbi::ConstantInitialized()) {
501}
503 PROTOBUF_CONSTEXPR SymmetryProtoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
505 union {
507 };
508};
509
510PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
512
513inline constexpr RoutesConstraintProto_NodeExpressions::Impl_::Impl_(
514 ::_pbi::ConstantInitialized) noexcept
515 : _cached_size_{0},
516 exprs_{} {}
517
518template <typename>
520#if defined(PROTOBUF_CUSTOM_VTABLE)
521 : ::google::protobuf::Message(RoutesConstraintProto_NodeExpressions_class_data_.base()),
522#else // PROTOBUF_CUSTOM_VTABLE
523 : ::google::protobuf::Message(),
524#endif // PROTOBUF_CUSTOM_VTABLE
525 _impl_(::_pbi::ConstantInitialized()) {
526}
534
535PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
537
538inline constexpr ReservoirConstraintProto::Impl_::Impl_(
539 ::_pbi::ConstantInitialized) noexcept
540 : _cached_size_{0},
541 time_exprs_{},
542 active_literals_{},
543 _active_literals_cached_byte_size_{0},
544 level_changes_{},
545 min_level_{::int64_t{0}},
546 max_level_{::int64_t{0}} {}
547
548template <typename>
549PROTOBUF_CONSTEXPR ReservoirConstraintProto::ReservoirConstraintProto(::_pbi::ConstantInitialized)
550#if defined(PROTOBUF_CUSTOM_VTABLE)
551 : ::google::protobuf::Message(ReservoirConstraintProto_class_data_.base()),
552#else // PROTOBUF_CUSTOM_VTABLE
553 : ::google::protobuf::Message(),
554#endif // PROTOBUF_CUSTOM_VTABLE
555 _impl_(::_pbi::ConstantInitialized()) {
556}
564
565PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
567
568inline constexpr LinearArgumentProto::Impl_::Impl_(
569 ::_pbi::ConstantInitialized) noexcept
570 : _cached_size_{0},
571 exprs_{},
572 target_{nullptr} {}
573
574template <typename>
575PROTOBUF_CONSTEXPR LinearArgumentProto::LinearArgumentProto(::_pbi::ConstantInitialized)
576#if defined(PROTOBUF_CUSTOM_VTABLE)
577 : ::google::protobuf::Message(LinearArgumentProto_class_data_.base()),
578#else // PROTOBUF_CUSTOM_VTABLE
579 : ::google::protobuf::Message(),
580#endif // PROTOBUF_CUSTOM_VTABLE
581 _impl_(::_pbi::ConstantInitialized()) {
582}
590
591PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
593
594inline constexpr IntervalConstraintProto::Impl_::Impl_(
595 ::_pbi::ConstantInitialized) noexcept
596 : _cached_size_{0},
597 start_{nullptr},
598 end_{nullptr},
599 size_{nullptr} {}
600
601template <typename>
602PROTOBUF_CONSTEXPR IntervalConstraintProto::IntervalConstraintProto(::_pbi::ConstantInitialized)
603#if defined(PROTOBUF_CUSTOM_VTABLE)
604 : ::google::protobuf::Message(IntervalConstraintProto_class_data_.base()),
605#else // PROTOBUF_CUSTOM_VTABLE
606 : ::google::protobuf::Message(),
607#endif // PROTOBUF_CUSTOM_VTABLE
608 _impl_(::_pbi::ConstantInitialized()) {
609}
617
618PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
620
621inline constexpr ElementConstraintProto::Impl_::Impl_(
622 ::_pbi::ConstantInitialized) noexcept
623 : _cached_size_{0},
624 vars_{},
625 _vars_cached_byte_size_{0},
626 exprs_{},
627 linear_index_{nullptr},
628 linear_target_{nullptr},
629 index_{0},
630 target_{0} {}
631
632template <typename>
633PROTOBUF_CONSTEXPR ElementConstraintProto::ElementConstraintProto(::_pbi::ConstantInitialized)
634#if defined(PROTOBUF_CUSTOM_VTABLE)
635 : ::google::protobuf::Message(ElementConstraintProto_class_data_.base()),
636#else // PROTOBUF_CUSTOM_VTABLE
637 : ::google::protobuf::Message(),
638#endif // PROTOBUF_CUSTOM_VTABLE
639 _impl_(::_pbi::ConstantInitialized()) {
640}
648
649PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
651
652inline constexpr DecisionStrategyProto::Impl_::Impl_(
653 ::_pbi::ConstantInitialized) noexcept
654 : _cached_size_{0},
655 variables_{},
656 _variables_cached_byte_size_{0},
657 exprs_{},
658 variable_selection_strategy_{static_cast< ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy >(0)},
659 domain_reduction_strategy_{static_cast< ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy >(0)} {}
660
661template <typename>
662PROTOBUF_CONSTEXPR DecisionStrategyProto::DecisionStrategyProto(::_pbi::ConstantInitialized)
663#if defined(PROTOBUF_CUSTOM_VTABLE)
664 : ::google::protobuf::Message(DecisionStrategyProto_class_data_.base()),
665#else // PROTOBUF_CUSTOM_VTABLE
666 : ::google::protobuf::Message(),
667#endif // PROTOBUF_CUSTOM_VTABLE
668 _impl_(::_pbi::ConstantInitialized()) {
669}
677
678PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
680
681inline constexpr CumulativeConstraintProto::Impl_::Impl_(
682 ::_pbi::ConstantInitialized) noexcept
683 : _cached_size_{0},
684 intervals_{},
685 _intervals_cached_byte_size_{0},
686 demands_{},
687 capacity_{nullptr} {}
688
689template <typename>
690PROTOBUF_CONSTEXPR CumulativeConstraintProto::CumulativeConstraintProto(::_pbi::ConstantInitialized)
691#if defined(PROTOBUF_CUSTOM_VTABLE)
692 : ::google::protobuf::Message(CumulativeConstraintProto_class_data_.base()),
693#else // PROTOBUF_CUSTOM_VTABLE
694 : ::google::protobuf::Message(),
695#endif // PROTOBUF_CUSTOM_VTABLE
696 _impl_(::_pbi::ConstantInitialized()) {
697}
705
706PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
708
709inline constexpr CpSolverResponse::Impl_::Impl_(
710 ::_pbi::ConstantInitialized) noexcept
711 : _cached_size_{0},
712 solution_{},
713 _solution_cached_byte_size_{0},
714 tightened_variables_{},
715 sufficient_assumptions_for_infeasibility_{},
716 _sufficient_assumptions_for_infeasibility_cached_byte_size_{0},
717 additional_solutions_{},
718 solution_info_(
719 &::google::protobuf::internal::fixed_address_empty_string,
720 ::_pbi::ConstantInitialized()),
721 solve_log_(
722 &::google::protobuf::internal::fixed_address_empty_string,
723 ::_pbi::ConstantInitialized()),
724 integer_objective_{nullptr},
725 objective_value_{0},
726 best_objective_bound_{0},
727 num_booleans_{::int64_t{0}},
728 num_conflicts_{::int64_t{0}},
729 num_branches_{::int64_t{0}},
730 num_binary_propagations_{::int64_t{0}},
731 num_integer_propagations_{::int64_t{0}},
732 wall_time_{0},
733 user_time_{0},
734 deterministic_time_{0},
735 gap_integral_{0},
736 num_restarts_{::int64_t{0}},
737 num_lp_iterations_{::int64_t{0}},
738 inner_objective_lower_bound_{::int64_t{0}},
739 num_integers_{::int64_t{0}},
740 num_fixed_booleans_{::int64_t{0}},
741 status_{static_cast< ::operations_research::sat::CpSolverStatus >(0)} {}
742
743template <typename>
744PROTOBUF_CONSTEXPR CpSolverResponse::CpSolverResponse(::_pbi::ConstantInitialized)
745#if defined(PROTOBUF_CUSTOM_VTABLE)
746 : ::google::protobuf::Message(CpSolverResponse_class_data_.base()),
747#else // PROTOBUF_CUSTOM_VTABLE
748 : ::google::protobuf::Message(),
749#endif // PROTOBUF_CUSTOM_VTABLE
750 _impl_(::_pbi::ConstantInitialized()) {
751}
759
760PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
762
763inline constexpr AutomatonConstraintProto::Impl_::Impl_(
764 ::_pbi::ConstantInitialized) noexcept
765 : _cached_size_{0},
766 final_states_{},
767 _final_states_cached_byte_size_{0},
768 transition_tail_{},
769 _transition_tail_cached_byte_size_{0},
770 transition_head_{},
771 _transition_head_cached_byte_size_{0},
772 transition_label_{},
773 _transition_label_cached_byte_size_{0},
774 vars_{},
775 _vars_cached_byte_size_{0},
776 exprs_{},
777 starting_state_{::int64_t{0}} {}
778
779template <typename>
780PROTOBUF_CONSTEXPR AutomatonConstraintProto::AutomatonConstraintProto(::_pbi::ConstantInitialized)
781#if defined(PROTOBUF_CUSTOM_VTABLE)
782 : ::google::protobuf::Message(AutomatonConstraintProto_class_data_.base()),
783#else // PROTOBUF_CUSTOM_VTABLE
784 : ::google::protobuf::Message(),
785#endif // PROTOBUF_CUSTOM_VTABLE
786 _impl_(::_pbi::ConstantInitialized()) {
787}
795
796PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
798
799inline constexpr AllDifferentConstraintProto::Impl_::Impl_(
800 ::_pbi::ConstantInitialized) noexcept
801 : _cached_size_{0},
802 exprs_{} {}
803
804template <typename>
805PROTOBUF_CONSTEXPR AllDifferentConstraintProto::AllDifferentConstraintProto(::_pbi::ConstantInitialized)
806#if defined(PROTOBUF_CUSTOM_VTABLE)
807 : ::google::protobuf::Message(AllDifferentConstraintProto_class_data_.base()),
808#else // PROTOBUF_CUSTOM_VTABLE
809 : ::google::protobuf::Message(),
810#endif // PROTOBUF_CUSTOM_VTABLE
811 _impl_(::_pbi::ConstantInitialized()) {
812}
820
821PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
823
824inline constexpr RoutesConstraintProto::Impl_::Impl_(
825 ::_pbi::ConstantInitialized) noexcept
826 : _cached_size_{0},
827 tails_{},
828 _tails_cached_byte_size_{0},
829 heads_{},
830 _heads_cached_byte_size_{0},
831 literals_{},
832 _literals_cached_byte_size_{0},
833 demands_{},
834 _demands_cached_byte_size_{0},
835 dimensions_{},
836 capacity_{::int64_t{0}} {}
837
838template <typename>
839PROTOBUF_CONSTEXPR RoutesConstraintProto::RoutesConstraintProto(::_pbi::ConstantInitialized)
840#if defined(PROTOBUF_CUSTOM_VTABLE)
841 : ::google::protobuf::Message(RoutesConstraintProto_class_data_.base()),
842#else // PROTOBUF_CUSTOM_VTABLE
843 : ::google::protobuf::Message(),
844#endif // PROTOBUF_CUSTOM_VTABLE
845 _impl_(::_pbi::ConstantInitialized()) {
846}
854
855PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
857
858inline constexpr ConstraintProto::Impl_::Impl_(
859 ::_pbi::ConstantInitialized) noexcept
860 : _cached_size_{0},
861 enforcement_literal_{},
862 _enforcement_literal_cached_byte_size_{0},
863 name_(
864 &::google::protobuf::internal::fixed_address_empty_string,
865 ::_pbi::ConstantInitialized()),
866 constraint_{},
867 _oneof_case_{} {}
868
869template <typename>
870PROTOBUF_CONSTEXPR ConstraintProto::ConstraintProto(::_pbi::ConstantInitialized)
871#if defined(PROTOBUF_CUSTOM_VTABLE)
872 : ::google::protobuf::Message(ConstraintProto_class_data_.base()),
873#else // PROTOBUF_CUSTOM_VTABLE
874 : ::google::protobuf::Message(),
875#endif // PROTOBUF_CUSTOM_VTABLE
876 _impl_(::_pbi::ConstantInitialized()) {
877}
885
886PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
888
889inline constexpr CpModelProto::Impl_::Impl_(
890 ::_pbi::ConstantInitialized) noexcept
891 : _cached_size_{0},
892 variables_{},
893 constraints_{},
894 search_strategy_{},
895 assumptions_{},
896 _assumptions_cached_byte_size_{0},
897 name_(
898 &::google::protobuf::internal::fixed_address_empty_string,
899 ::_pbi::ConstantInitialized()),
900 objective_{nullptr},
901 solution_hint_{nullptr},
902 symmetry_{nullptr},
903 floating_point_objective_{nullptr} {}
904
905template <typename>
906PROTOBUF_CONSTEXPR CpModelProto::CpModelProto(::_pbi::ConstantInitialized)
907#if defined(PROTOBUF_CUSTOM_VTABLE)
908 : ::google::protobuf::Message(CpModelProto_class_data_.base()),
909#else // PROTOBUF_CUSTOM_VTABLE
910 : ::google::protobuf::Message(),
911#endif // PROTOBUF_CUSTOM_VTABLE
912 _impl_(::_pbi::ConstantInitialized()) {
913}
915 PROTOBUF_CONSTEXPR CpModelProtoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
917 union {
919 };
920};
921
922PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL
924} // namespace sat
925} // namespace operations_research
926static const ::_pb::EnumDescriptor* PROTOBUF_NONNULL
928static constexpr const ::_pb::ServiceDescriptor* PROTOBUF_NONNULL* PROTOBUF_NULLABLE
930const ::uint32_t
932 protodesc_cold) = {
933 0x081, // bitmap
934 PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntegerVariableProto, _impl_._has_bits_),
935 5, // hasbit index offset
936 PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntegerVariableProto, _impl_.name_),
937 PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntegerVariableProto, _impl_.domain_),
938 1,
939 0,
940 0x081, // bitmap
941 PROTOBUF_FIELD_OFFSET(::operations_research::sat::BoolArgumentProto, _impl_._has_bits_),
942 4, // hasbit index offset
943 PROTOBUF_FIELD_OFFSET(::operations_research::sat::BoolArgumentProto, _impl_.literals_),
944 0,
945 0x081, // bitmap
946 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearExpressionProto, _impl_._has_bits_),
947 6, // hasbit index offset
948 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearExpressionProto, _impl_.vars_),
949 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearExpressionProto, _impl_.coeffs_),
950 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearExpressionProto, _impl_.offset_),
951 0,
952 1,
953 2,
954 0x081, // bitmap
955 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearArgumentProto, _impl_._has_bits_),
956 5, // hasbit index offset
957 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearArgumentProto, _impl_.target_),
958 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearArgumentProto, _impl_.exprs_),
959 1,
960 0,
961 0x081, // bitmap
962 PROTOBUF_FIELD_OFFSET(::operations_research::sat::AllDifferentConstraintProto, _impl_._has_bits_),
963 4, // hasbit index offset
964 PROTOBUF_FIELD_OFFSET(::operations_research::sat::AllDifferentConstraintProto, _impl_.exprs_),
965 0,
966 0x081, // bitmap
967 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearConstraintProto, _impl_._has_bits_),
968 6, // hasbit index offset
969 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearConstraintProto, _impl_.vars_),
970 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearConstraintProto, _impl_.coeffs_),
971 PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearConstraintProto, _impl_.domain_),
972 0,
973 1,
974 2,
975 0x081, // bitmap
976 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ElementConstraintProto, _impl_._has_bits_),
977 9, // hasbit index offset
978 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ElementConstraintProto, _impl_.index_),
979 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ElementConstraintProto, _impl_.target_),
980 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ElementConstraintProto, _impl_.vars_),
981 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ElementConstraintProto, _impl_.linear_index_),
982 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ElementConstraintProto, _impl_.linear_target_),
983 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ElementConstraintProto, _impl_.exprs_),
984 4,
985 5,
986 0,
987 2,
988 3,
989 1,
990 0x081, // bitmap
991 PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntervalConstraintProto, _impl_._has_bits_),
992 6, // hasbit index offset
993 PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntervalConstraintProto, _impl_.start_),
994 PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntervalConstraintProto, _impl_.end_),
995 PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntervalConstraintProto, _impl_.size_),
996 0,
997 1,
998 2,
999 0x081, // bitmap
1000 PROTOBUF_FIELD_OFFSET(::operations_research::sat::NoOverlapConstraintProto, _impl_._has_bits_),
1001 4, // hasbit index offset
1002 PROTOBUF_FIELD_OFFSET(::operations_research::sat::NoOverlapConstraintProto, _impl_.intervals_),
1003 0,
1004 0x081, // bitmap
1005 PROTOBUF_FIELD_OFFSET(::operations_research::sat::NoOverlap2DConstraintProto, _impl_._has_bits_),
1006 5, // hasbit index offset
1007 PROTOBUF_FIELD_OFFSET(::operations_research::sat::NoOverlap2DConstraintProto, _impl_.x_intervals_),
1008 PROTOBUF_FIELD_OFFSET(::operations_research::sat::NoOverlap2DConstraintProto, _impl_.y_intervals_),
1009 0,
1010 1,
1011 0x081, // bitmap
1012 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CumulativeConstraintProto, _impl_._has_bits_),
1013 6, // hasbit index offset
1014 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CumulativeConstraintProto, _impl_.capacity_),
1015 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CumulativeConstraintProto, _impl_.intervals_),
1016 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CumulativeConstraintProto, _impl_.demands_),
1017 2,
1018 0,
1019 1,
1020 0x081, // bitmap
1021 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ReservoirConstraintProto, _impl_._has_bits_),
1022 8, // hasbit index offset
1023 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ReservoirConstraintProto, _impl_.min_level_),
1024 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ReservoirConstraintProto, _impl_.max_level_),
1025 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ReservoirConstraintProto, _impl_.time_exprs_),
1026 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ReservoirConstraintProto, _impl_.level_changes_),
1027 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ReservoirConstraintProto, _impl_.active_literals_),
1028 3,
1029 4,
1030 0,
1031 2,
1032 1,
1033 0x081, // bitmap
1034 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CircuitConstraintProto, _impl_._has_bits_),
1035 6, // hasbit index offset
1036 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CircuitConstraintProto, _impl_.tails_),
1037 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CircuitConstraintProto, _impl_.heads_),
1038 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CircuitConstraintProto, _impl_.literals_),
1039 0,
1040 1,
1041 2,
1042 0x081, // bitmap
1043 PROTOBUF_FIELD_OFFSET(::operations_research::sat::RoutesConstraintProto_NodeExpressions, _impl_._has_bits_),
1044 4, // hasbit index offset
1045 PROTOBUF_FIELD_OFFSET(::operations_research::sat::RoutesConstraintProto_NodeExpressions, _impl_.exprs_),
1046 0,
1047 0x081, // bitmap
1048 PROTOBUF_FIELD_OFFSET(::operations_research::sat::RoutesConstraintProto, _impl_._has_bits_),
1049 9, // hasbit index offset
1050 PROTOBUF_FIELD_OFFSET(::operations_research::sat::RoutesConstraintProto, _impl_.tails_),
1051 PROTOBUF_FIELD_OFFSET(::operations_research::sat::RoutesConstraintProto, _impl_.heads_),
1052 PROTOBUF_FIELD_OFFSET(::operations_research::sat::RoutesConstraintProto, _impl_.literals_),
1053 PROTOBUF_FIELD_OFFSET(::operations_research::sat::RoutesConstraintProto, _impl_.demands_),
1054 PROTOBUF_FIELD_OFFSET(::operations_research::sat::RoutesConstraintProto, _impl_.capacity_),
1055 PROTOBUF_FIELD_OFFSET(::operations_research::sat::RoutesConstraintProto, _impl_.dimensions_),
1056 0,
1057 1,
1058 2,
1059 3,
1060 5,
1061 4,
1062 0x081, // bitmap
1063 PROTOBUF_FIELD_OFFSET(::operations_research::sat::TableConstraintProto, _impl_._has_bits_),
1064 7, // hasbit index offset
1065 PROTOBUF_FIELD_OFFSET(::operations_research::sat::TableConstraintProto, _impl_.vars_),
1066 PROTOBUF_FIELD_OFFSET(::operations_research::sat::TableConstraintProto, _impl_.values_),
1067 PROTOBUF_FIELD_OFFSET(::operations_research::sat::TableConstraintProto, _impl_.exprs_),
1068 PROTOBUF_FIELD_OFFSET(::operations_research::sat::TableConstraintProto, _impl_.negated_),
1069 0,
1070 1,
1071 2,
1072 3,
1073 0x081, // bitmap
1074 PROTOBUF_FIELD_OFFSET(::operations_research::sat::InverseConstraintProto, _impl_._has_bits_),
1075 5, // hasbit index offset
1076 PROTOBUF_FIELD_OFFSET(::operations_research::sat::InverseConstraintProto, _impl_.f_direct_),
1077 PROTOBUF_FIELD_OFFSET(::operations_research::sat::InverseConstraintProto, _impl_.f_inverse_),
1078 0,
1079 1,
1080 0x081, // bitmap
1081 PROTOBUF_FIELD_OFFSET(::operations_research::sat::AutomatonConstraintProto, _impl_._has_bits_),
1082 10, // hasbit index offset
1083 PROTOBUF_FIELD_OFFSET(::operations_research::sat::AutomatonConstraintProto, _impl_.starting_state_),
1084 PROTOBUF_FIELD_OFFSET(::operations_research::sat::AutomatonConstraintProto, _impl_.final_states_),
1085 PROTOBUF_FIELD_OFFSET(::operations_research::sat::AutomatonConstraintProto, _impl_.transition_tail_),
1086 PROTOBUF_FIELD_OFFSET(::operations_research::sat::AutomatonConstraintProto, _impl_.transition_head_),
1087 PROTOBUF_FIELD_OFFSET(::operations_research::sat::AutomatonConstraintProto, _impl_.transition_label_),
1088 PROTOBUF_FIELD_OFFSET(::operations_research::sat::AutomatonConstraintProto, _impl_.vars_),
1089 PROTOBUF_FIELD_OFFSET(::operations_research::sat::AutomatonConstraintProto, _impl_.exprs_),
1090 6,
1091 0,
1092 1,
1093 2,
1094 3,
1095 4,
1096 5,
1097 0x081, // bitmap
1098 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ListOfVariablesProto, _impl_._has_bits_),
1099 4, // hasbit index offset
1100 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ListOfVariablesProto, _impl_.vars_),
1101 0,
1102 0x085, // bitmap
1103 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _impl_._has_bits_),
1104 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _impl_._oneof_case_[0]),
1105 30, // hasbit index offset
1106 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _impl_.name_),
1107 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _impl_.enforcement_literal_),
1108 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _impl_.constraint_),
1109 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _impl_.constraint_),
1110 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _impl_.constraint_),
1111 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _impl_.constraint_),
1112 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _impl_.constraint_),
1113 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _impl_.constraint_),
1114 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _impl_.constraint_),
1115 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _impl_.constraint_),
1116 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _impl_.constraint_),
1117 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _impl_.constraint_),
1118 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _impl_.constraint_),
1119 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _impl_.constraint_),
1120 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _impl_.constraint_),
1121 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _impl_.constraint_),
1122 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _impl_.constraint_),
1123 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _impl_.constraint_),
1124 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _impl_.constraint_),
1125 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _impl_.constraint_),
1126 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _impl_.constraint_),
1127 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _impl_.constraint_),
1128 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _impl_.constraint_),
1129 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _impl_.constraint_),
1130 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _impl_.constraint_),
1131 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _impl_.constraint_),
1132 1,
1133 0,
1134 ~0u,
1135 ~0u,
1136 ~0u,
1137 ~0u,
1138 ~0u,
1139 ~0u,
1140 ~0u,
1141 ~0u,
1142 ~0u,
1143 ~0u,
1144 ~0u,
1145 ~0u,
1146 ~0u,
1147 ~0u,
1148 ~0u,
1149 ~0u,
1150 ~0u,
1151 ~0u,
1152 ~0u,
1153 ~0u,
1154 ~0u,
1155 ~0u,
1156 ~0u,
1157 0x081, // bitmap
1158 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpObjectiveProto, _impl_._has_bits_),
1159 12, // hasbit index offset
1160 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpObjectiveProto, _impl_.vars_),
1161 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpObjectiveProto, _impl_.coeffs_),
1162 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpObjectiveProto, _impl_.offset_),
1163 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpObjectiveProto, _impl_.scaling_factor_),
1164 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpObjectiveProto, _impl_.domain_),
1165 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpObjectiveProto, _impl_.scaling_was_exact_),
1166 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpObjectiveProto, _impl_.integer_before_offset_),
1167 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpObjectiveProto, _impl_.integer_after_offset_),
1168 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpObjectiveProto, _impl_.integer_scaling_factor_),
1169 0,
1170 1,
1171 3,
1172 4,
1173 2,
1174 8,
1175 5,
1176 7,
1177 6,
1178 0x081, // bitmap
1179 PROTOBUF_FIELD_OFFSET(::operations_research::sat::FloatObjectiveProto, _impl_._has_bits_),
1180 7, // hasbit index offset
1181 PROTOBUF_FIELD_OFFSET(::operations_research::sat::FloatObjectiveProto, _impl_.vars_),
1182 PROTOBUF_FIELD_OFFSET(::operations_research::sat::FloatObjectiveProto, _impl_.coeffs_),
1183 PROTOBUF_FIELD_OFFSET(::operations_research::sat::FloatObjectiveProto, _impl_.offset_),
1184 PROTOBUF_FIELD_OFFSET(::operations_research::sat::FloatObjectiveProto, _impl_.maximize_),
1185 0,
1186 1,
1187 2,
1188 3,
1189 0x081, // bitmap
1190 PROTOBUF_FIELD_OFFSET(::operations_research::sat::DecisionStrategyProto, _impl_._has_bits_),
1191 7, // hasbit index offset
1192 PROTOBUF_FIELD_OFFSET(::operations_research::sat::DecisionStrategyProto, _impl_.variables_),
1193 PROTOBUF_FIELD_OFFSET(::operations_research::sat::DecisionStrategyProto, _impl_.exprs_),
1194 PROTOBUF_FIELD_OFFSET(::operations_research::sat::DecisionStrategyProto, _impl_.variable_selection_strategy_),
1195 PROTOBUF_FIELD_OFFSET(::operations_research::sat::DecisionStrategyProto, _impl_.domain_reduction_strategy_),
1196 0,
1197 1,
1198 2,
1199 3,
1200 0x081, // bitmap
1201 PROTOBUF_FIELD_OFFSET(::operations_research::sat::PartialVariableAssignment, _impl_._has_bits_),
1202 5, // hasbit index offset
1203 PROTOBUF_FIELD_OFFSET(::operations_research::sat::PartialVariableAssignment, _impl_.vars_),
1204 PROTOBUF_FIELD_OFFSET(::operations_research::sat::PartialVariableAssignment, _impl_.values_),
1205 0,
1206 1,
1207 0x081, // bitmap
1208 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SparsePermutationProto, _impl_._has_bits_),
1209 5, // hasbit index offset
1210 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SparsePermutationProto, _impl_.support_),
1211 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SparsePermutationProto, _impl_.cycle_sizes_),
1212 0,
1213 1,
1214 0x081, // bitmap
1215 PROTOBUF_FIELD_OFFSET(::operations_research::sat::DenseMatrixProto, _impl_._has_bits_),
1216 6, // hasbit index offset
1217 PROTOBUF_FIELD_OFFSET(::operations_research::sat::DenseMatrixProto, _impl_.num_rows_),
1218 PROTOBUF_FIELD_OFFSET(::operations_research::sat::DenseMatrixProto, _impl_.num_cols_),
1219 PROTOBUF_FIELD_OFFSET(::operations_research::sat::DenseMatrixProto, _impl_.entries_),
1220 1,
1221 2,
1222 0,
1223 0x081, // bitmap
1224 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SymmetryProto, _impl_._has_bits_),
1225 5, // hasbit index offset
1226 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SymmetryProto, _impl_.permutations_),
1227 PROTOBUF_FIELD_OFFSET(::operations_research::sat::SymmetryProto, _impl_.orbitopes_),
1228 0,
1229 1,
1230 0x081, // bitmap
1231 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, _impl_._has_bits_),
1232 12, // hasbit index offset
1233 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, _impl_.name_),
1234 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, _impl_.variables_),
1235 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, _impl_.constraints_),
1236 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, _impl_.objective_),
1237 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, _impl_.floating_point_objective_),
1238 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, _impl_.search_strategy_),
1239 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, _impl_.solution_hint_),
1240 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, _impl_.assumptions_),
1241 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, _impl_.symmetry_),
1242 4,
1243 0,
1244 1,
1245 5,
1246 8,
1247 2,
1248 6,
1249 3,
1250 7,
1251 0x081, // bitmap
1252 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverSolution, _impl_._has_bits_),
1253 4, // hasbit index offset
1254 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverSolution, _impl_.values_),
1255 0,
1256 0x081, // bitmap
1257 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, _impl_._has_bits_),
1258 27, // hasbit index offset
1259 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, _impl_.status_),
1260 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, _impl_.solution_),
1261 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, _impl_.objective_value_),
1262 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, _impl_.best_objective_bound_),
1263 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, _impl_.additional_solutions_),
1264 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, _impl_.tightened_variables_),
1265 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, _impl_.sufficient_assumptions_for_infeasibility_),
1266 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, _impl_.integer_objective_),
1267 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, _impl_.inner_objective_lower_bound_),
1268 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, _impl_.num_integers_),
1269 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, _impl_.num_booleans_),
1270 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, _impl_.num_fixed_booleans_),
1271 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, _impl_.num_conflicts_),
1272 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, _impl_.num_branches_),
1273 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, _impl_.num_binary_propagations_),
1274 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, _impl_.num_integer_propagations_),
1275 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, _impl_.num_restarts_),
1276 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, _impl_.num_lp_iterations_),
1277 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, _impl_.wall_time_),
1278 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, _impl_.user_time_),
1279 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, _impl_.deterministic_time_),
1280 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, _impl_.gap_integral_),
1281 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, _impl_.solution_info_),
1282 PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, _impl_.solve_log_),
1283 23,
1284 0,
1285 7,
1286 8,
1287 3,
1288 1,
1289 2,
1290 6,
1291 20,
1292 21,
1293 9,
1294 22,
1295 10,
1296 11,
1297 12,
1298 13,
1299 18,
1300 19,
1301 14,
1302 15,
1303 16,
1304 17,
1305 4,
1306 5,
1307};
1308
1309static const ::_pbi::MigrationSchema
1310 schemas[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
1341};
1342static const ::_pb::Message* PROTOBUF_NONNULL const file_default_instances[] = {
1373};
1374const char descriptor_table_protodef_ortools_2fsat_2fcp_5fmodel_2eproto[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
1375 protodesc_cold) = {
1376 "\n\032ortools/sat/cp_model.proto\022\027operations"
1377 "_research.sat\"4\n\024IntegerVariableProto\022\014\n"
1378 "\004name\030\001 \001(\t\022\016\n\006domain\030\002 \003(\003\"%\n\021BoolArgum"
1379 "entProto\022\020\n\010literals\030\001 \003(\005\"E\n\025LinearExpr"
1380 "essionProto\022\014\n\004vars\030\001 \003(\005\022\016\n\006coeffs\030\002 \003("
1381 "\003\022\016\n\006offset\030\003 \001(\003\"\224\001\n\023LinearArgumentProt"
1382 "o\022>\n\006target\030\001 \001(\0132..operations_research."
1383 "sat.LinearExpressionProto\022=\n\005exprs\030\002 \003(\013"
1384 "2..operations_research.sat.LinearExpress"
1385 "ionProto\"\\\n\033AllDifferentConstraintProto\022"
1386 "=\n\005exprs\030\001 \003(\0132..operations_research.sat"
1387 ".LinearExpressionProto\"E\n\025LinearConstrai"
1388 "ntProto\022\014\n\004vars\030\001 \003(\005\022\016\n\006coeffs\030\002 \003(\003\022\016\n"
1389 "\006domain\030\003 \003(\003\"\221\002\n\026ElementConstraintProto"
1390 "\022\r\n\005index\030\001 \001(\005\022\016\n\006target\030\002 \001(\005\022\014\n\004vars\030"
1391 "\003 \003(\005\022D\n\014linear_index\030\004 \001(\0132..operations"
1392 "_research.sat.LinearExpressionProto\022E\n\rl"
1393 "inear_target\030\005 \001(\0132..operations_research"
1394 ".sat.LinearExpressionProto\022=\n\005exprs\030\006 \003("
1395 "\0132..operations_research.sat.LinearExpres"
1396 "sionProto\"\323\001\n\027IntervalConstraintProto\022=\n"
1397 "\005start\030\004 \001(\0132..operations_research.sat.L"
1398 "inearExpressionProto\022;\n\003end\030\005 \001(\0132..oper"
1399 "ations_research.sat.LinearExpressionProt"
1400 "o\022<\n\004size\030\006 \001(\0132..operations_research.sa"
1401 "t.LinearExpressionProto\"-\n\030NoOverlapCons"
1402 "traintProto\022\021\n\tintervals\030\001 \003(\005\"F\n\032NoOver"
1403 "lap2DConstraintProto\022\023\n\013x_intervals\030\001 \003("
1404 "\005\022\023\n\013y_intervals\030\002 \003(\005\"\261\001\n\031CumulativeCon"
1405 "straintProto\022@\n\010capacity\030\001 \001(\0132..operati"
1406 "ons_research.sat.LinearExpressionProto\022\021"
1407 "\n\tintervals\030\002 \003(\005\022\?\n\007demands\030\003 \003(\0132..ope"
1408 "rations_research.sat.LinearExpressionPro"
1409 "to\"\352\001\n\030ReservoirConstraintProto\022\021\n\tmin_l"
1410 "evel\030\001 \001(\003\022\021\n\tmax_level\030\002 \001(\003\022B\n\ntime_ex"
1411 "prs\030\003 \003(\0132..operations_research.sat.Line"
1412 "arExpressionProto\022E\n\rlevel_changes\030\006 \003(\013"
1413 "2..operations_research.sat.LinearExpress"
1414 "ionProto\022\027\n\017active_literals\030\005 \003(\005J\004\010\004\020\005\""
1415 "H\n\026CircuitConstraintProto\022\r\n\005tails\030\003 \003(\005"
1416 "\022\r\n\005heads\030\004 \003(\005\022\020\n\010literals\030\005 \003(\005\"\220\002\n\025Ro"
1417 "utesConstraintProto\022\r\n\005tails\030\001 \003(\005\022\r\n\005he"
1418 "ads\030\002 \003(\005\022\020\n\010literals\030\003 \003(\005\022\017\n\007demands\030\004"
1419 " \003(\005\022\020\n\010capacity\030\005 \001(\003\022R\n\ndimensions\030\006 \003"
1420 "(\0132>.operations_research.sat.RoutesConst"
1421 "raintProto.NodeExpressions\032P\n\017NodeExpres"
1422 "sions\022=\n\005exprs\030\001 \003(\0132..operations_resear"
1423 "ch.sat.LinearExpressionProto\"\204\001\n\024TableCo"
1424 "nstraintProto\022\014\n\004vars\030\001 \003(\005\022\016\n\006values\030\002 "
1425 "\003(\003\022=\n\005exprs\030\004 \003(\0132..operations_research"
1426 ".sat.LinearExpressionProto\022\017\n\007negated\030\003 "
1427 "\001(\010\"=\n\026InverseConstraintProto\022\020\n\010f_direc"
1428 "t\030\001 \003(\005\022\021\n\tf_inverse\030\002 \003(\005\"\341\001\n\030Automaton"
1429 "ConstraintProto\022\026\n\016starting_state\030\002 \001(\003\022"
1430 "\024\n\014final_states\030\003 \003(\003\022\027\n\017transition_tail"
1431 "\030\004 \003(\003\022\027\n\017transition_head\030\005 \003(\003\022\030\n\020trans"
1432 "ition_label\030\006 \003(\003\022\014\n\004vars\030\007 \003(\005\022=\n\005exprs"
1433 "\030\010 \003(\0132..operations_research.sat.LinearE"
1434 "xpressionProto\"$\n\024ListOfVariablesProto\022\014"
1435 "\n\004vars\030\001 \003(\005\"\360\014\n\017ConstraintProto\022\014\n\004name"
1436 "\030\001 \001(\t\022\033\n\023enforcement_literal\030\002 \003(\005\022=\n\007b"
1437 "ool_or\030\003 \001(\0132*.operations_research.sat.B"
1438 "oolArgumentProtoH\000\022>\n\010bool_and\030\004 \001(\0132*.o"
1439 "perations_research.sat.BoolArgumentProto"
1440 "H\000\022A\n\013at_most_one\030\032 \001(\0132*.operations_res"
1441 "earch.sat.BoolArgumentProtoH\000\022A\n\013exactly"
1442 "_one\030\035 \001(\0132*.operations_research.sat.Boo"
1443 "lArgumentProtoH\000\022>\n\010bool_xor\030\005 \001(\0132*.ope"
1444 "rations_research.sat.BoolArgumentProtoH\000"
1445 "\022\?\n\007int_div\030\007 \001(\0132,.operations_research."
1446 "sat.LinearArgumentProtoH\000\022\?\n\007int_mod\030\010 \001"
1447 "(\0132,.operations_research.sat.LinearArgum"
1448 "entProtoH\000\022@\n\010int_prod\030\013 \001(\0132,.operation"
1449 "s_research.sat.LinearArgumentProtoH\000\022\?\n\007"
1450 "lin_max\030\033 \001(\0132,.operations_research.sat."
1451 "LinearArgumentProtoH\000\022@\n\006linear\030\014 \001(\0132.."
1452 "operations_research.sat.LinearConstraint"
1453 "ProtoH\000\022H\n\010all_diff\030\r \001(\01324.operations_r"
1454 "esearch.sat.AllDifferentConstraintProtoH"
1455 "\000\022B\n\007element\030\016 \001(\0132/.operations_research"
1456 ".sat.ElementConstraintProtoH\000\022B\n\007circuit"
1457 "\030\017 \001(\0132/.operations_research.sat.Circuit"
1458 "ConstraintProtoH\000\022@\n\006routes\030\027 \001(\0132..oper"
1459 "ations_research.sat.RoutesConstraintProt"
1460 "oH\000\022>\n\005table\030\020 \001(\0132-.operations_research"
1461 ".sat.TableConstraintProtoH\000\022F\n\tautomaton"
1462 "\030\021 \001(\01321.operations_research.sat.Automat"
1463 "onConstraintProtoH\000\022B\n\007inverse\030\022 \001(\0132/.o"
1464 "perations_research.sat.InverseConstraint"
1465 "ProtoH\000\022F\n\treservoir\030\030 \001(\01321.operations_"
1466 "research.sat.ReservoirConstraintProtoH\000\022"
1467 "D\n\010interval\030\023 \001(\01320.operations_research."
1468 "sat.IntervalConstraintProtoH\000\022G\n\nno_over"
1469 "lap\030\024 \001(\01321.operations_research.sat.NoOv"
1470 "erlapConstraintProtoH\000\022L\n\rno_overlap_2d\030"
1471 "\025 \001(\01323.operations_research.sat.NoOverla"
1472 "p2DConstraintProtoH\000\022H\n\ncumulative\030\026 \001(\013"
1473 "22.operations_research.sat.CumulativeCon"
1474 "straintProtoH\000\022I\n\020dummy_constraint\030\036 \001(\013"
1475 "2-.operations_research.sat.ListOfVariabl"
1476 "esProtoH\000B\014\n\nconstraint\"\340\001\n\020CpObjectiveP"
1477 "roto\022\014\n\004vars\030\001 \003(\005\022\016\n\006coeffs\030\004 \003(\003\022\016\n\006of"
1478 "fset\030\002 \001(\001\022\026\n\016scaling_factor\030\003 \001(\001\022\016\n\006do"
1479 "main\030\005 \003(\003\022\031\n\021scaling_was_exact\030\006 \001(\010\022\035\n"
1480 "\025integer_before_offset\030\007 \001(\003\022\034\n\024integer_"
1481 "after_offset\030\t \001(\003\022\036\n\026integer_scaling_fa"
1482 "ctor\030\010 \001(\003\"U\n\023FloatObjectiveProto\022\014\n\004var"
1483 "s\030\001 \003(\005\022\016\n\006coeffs\030\002 \003(\001\022\016\n\006offset\030\003 \001(\001\022"
1484 "\020\n\010maximize\030\004 \001(\010\"\201\005\n\025DecisionStrategyPr"
1485 "oto\022\021\n\tvariables\030\001 \003(\005\022=\n\005exprs\030\005 \003(\0132.."
1486 "operations_research.sat.LinearExpression"
1487 "Proto\022m\n\033variable_selection_strategy\030\002 \001"
1488 "(\0162H.operations_research.sat.DecisionStr"
1489 "ategyProto.VariableSelectionStrategy\022i\n\031"
1490 "domain_reduction_strategy\030\003 \001(\0162F.operat"
1491 "ions_research.sat.DecisionStrategyProto."
1492 "DomainReductionStrategy\"\224\001\n\031VariableSele"
1493 "ctionStrategy\022\020\n\014CHOOSE_FIRST\020\000\022\025\n\021CHOOS"
1494 "E_LOWEST_MIN\020\001\022\026\n\022CHOOSE_HIGHEST_MAX\020\002\022\032"
1495 "\n\026CHOOSE_MIN_DOMAIN_SIZE\020\003\022\032\n\026CHOOSE_MAX"
1496 "_DOMAIN_SIZE\020\004\"\244\001\n\027DomainReductionStrate"
1497 "gy\022\024\n\020SELECT_MIN_VALUE\020\000\022\024\n\020SELECT_MAX_V"
1498 "ALUE\020\001\022\025\n\021SELECT_LOWER_HALF\020\002\022\025\n\021SELECT_"
1499 "UPPER_HALF\020\003\022\027\n\023SELECT_MEDIAN_VALUE\020\004\022\026\n"
1500 "\022SELECT_RANDOM_HALF\020\005\"9\n\031PartialVariable"
1501 "Assignment\022\014\n\004vars\030\001 \003(\005\022\016\n\006values\030\002 \003(\003"
1502 "\">\n\026SparsePermutationProto\022\017\n\007support\030\001 "
1503 "\003(\005\022\023\n\013cycle_sizes\030\002 \003(\005\"G\n\020DenseMatrixP"
1504 "roto\022\020\n\010num_rows\030\001 \001(\005\022\020\n\010num_cols\030\002 \001(\005"
1505 "\022\017\n\007entries\030\003 \003(\005\"\224\001\n\rSymmetryProto\022E\n\014p"
1506 "ermutations\030\001 \003(\0132/.operations_research."
1507 "sat.SparsePermutationProto\022<\n\torbitopes\030"
1508 "\002 \003(\0132).operations_research.sat.DenseMat"
1509 "rixProto\"\216\004\n\014CpModelProto\022\014\n\004name\030\001 \001(\t\022"
1510 "@\n\tvariables\030\002 \003(\0132-.operations_research"
1511 ".sat.IntegerVariableProto\022=\n\013constraints"
1512 "\030\003 \003(\0132(.operations_research.sat.Constra"
1513 "intProto\022<\n\tobjective\030\004 \001(\0132).operations"
1514 "_research.sat.CpObjectiveProto\022N\n\030floati"
1515 "ng_point_objective\030\t \001(\0132,.operations_re"
1516 "search.sat.FloatObjectiveProto\022G\n\017search"
1517 "_strategy\030\005 \003(\0132..operations_research.sa"
1518 "t.DecisionStrategyProto\022I\n\rsolution_hint"
1519 "\030\006 \001(\01322.operations_research.sat.Partial"
1520 "VariableAssignment\022\023\n\013assumptions\030\007 \003(\005\022"
1521 "8\n\010symmetry\030\010 \001(\0132&.operations_research."
1522 "sat.SymmetryProto\"\"\n\020CpSolverSolution\022\016\n"
1523 "\006values\030\001 \003(\003\"\261\006\n\020CpSolverResponse\0227\n\006st"
1524 "atus\030\001 \001(\0162\'.operations_research.sat.CpS"
1525 "olverStatus\022\020\n\010solution\030\002 \003(\003\022\027\n\017objecti"
1526 "ve_value\030\003 \001(\001\022\034\n\024best_objective_bound\030\004"
1527 " \001(\001\022G\n\024additional_solutions\030\033 \003(\0132).ope"
1528 "rations_research.sat.CpSolverSolution\022J\n"
1529 "\023tightened_variables\030\025 \003(\0132-.operations_"
1530 "research.sat.IntegerVariableProto\0220\n(suf"
1531 "ficient_assumptions_for_infeasibility\030\027 "
1532 "\003(\005\022D\n\021integer_objective\030\034 \001(\0132).operati"
1533 "ons_research.sat.CpObjectiveProto\022#\n\033inn"
1534 "er_objective_lower_bound\030\035 \001(\003\022\024\n\014num_in"
1535 "tegers\030\036 \001(\003\022\024\n\014num_booleans\030\n \001(\003\022\032\n\022nu"
1536 "m_fixed_booleans\030\037 \001(\003\022\025\n\rnum_conflicts\030"
1537 "\013 \001(\003\022\024\n\014num_branches\030\014 \001(\003\022\037\n\027num_binar"
1538 "y_propagations\030\r \001(\003\022 \n\030num_integer_prop"
1539 "agations\030\016 \001(\003\022\024\n\014num_restarts\030\030 \001(\003\022\031\n\021"
1540 "num_lp_iterations\030\031 \001(\003\022\021\n\twall_time\030\017 \001"
1541 "(\001\022\021\n\tuser_time\030\020 \001(\001\022\032\n\022deterministic_t"
1542 "ime\030\021 \001(\001\022\024\n\014gap_integral\030\026 \001(\001\022\025\n\rsolut"
1543 "ion_info\030\024 \001(\t\022\021\n\tsolve_log\030\032 \001(\t*[\n\016CpS"
1544 "olverStatus\022\013\n\007UNKNOWN\020\000\022\021\n\rMODEL_INVALI"
1545 "D\020\001\022\014\n\010FEASIBLE\020\002\022\016\n\nINFEASIBLE\020\003\022\013\n\007OPT"
1546 "IMAL\020\004Bv\n\026com.google.ortools.satB\017CpMode"
1547 "lProtobufP\001Z4github.com/google/or-tools/"
1548 "ortools/sat/proto/cpmodel\252\002\022Google.OrToo"
1549 "ls.Satb\006proto3"
1550};
1552PROTOBUF_CONSTINIT const ::_pbi::DescriptorTable descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto = {
1553 false,
1554 false,
1555 6934,
1556 descriptor_table_protodef_ortools_2fsat_2fcp_5fmodel_2eproto,
1557 "ortools/sat/cp_model.proto",
1559 nullptr,
1560 0,
1561 30,
1562 schemas,
1567};
1568namespace operations_research {
1569namespace sat {
1570const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL DecisionStrategyProto_VariableSelectionStrategy_descriptor() {
1571 ::google::protobuf::internal::AssignDescriptors(&descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1573}
1575 327680u, 0u, };
1576const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL DecisionStrategyProto_DomainReductionStrategy_descriptor() {
1577 ::google::protobuf::internal::AssignDescriptors(&descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1579}
1581 393216u, 0u, };
1582const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL CpSolverStatus_descriptor() {
1583 ::google::protobuf::internal::AssignDescriptors(&descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1585}
1586PROTOBUF_CONSTINIT const uint32_t CpSolverStatus_internal_data_[] = {
1587 327680u, 0u, };
1588// ===================================================================
1589
1590class IntegerVariableProto::_Internal {
1591 public:
1592 using HasBits =
1593 decltype(::std::declval<IntegerVariableProto>()._impl_._has_bits_);
1594 static constexpr ::int32_t kHasBitsOffset =
1595 8 * PROTOBUF_FIELD_OFFSET(IntegerVariableProto, _impl_._has_bits_);
1596};
1597
1598IntegerVariableProto::IntegerVariableProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1599#if defined(PROTOBUF_CUSTOM_VTABLE)
1600 : ::google::protobuf::Message(arena, IntegerVariableProto_class_data_.base()) {
1601#else // PROTOBUF_CUSTOM_VTABLE
1602 : ::google::protobuf::Message(arena) {
1603#endif // PROTOBUF_CUSTOM_VTABLE
1604 SharedCtor(arena);
1605 // @@protoc_insertion_point(arena_constructor:operations_research.sat.IntegerVariableProto)
1606}
1607PROTOBUF_NDEBUG_INLINE IntegerVariableProto::Impl_::Impl_(
1608 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1609 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1610 [[maybe_unused]] const ::operations_research::sat::IntegerVariableProto& from_msg)
1611 : _has_bits_{from._has_bits_},
1612 _cached_size_{0},
1613 domain_{visibility, arena, from.domain_},
1614 _domain_cached_byte_size_{0},
1615 name_(arena, from.name_) {}
1616
1618 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
1619 const IntegerVariableProto& from)
1620#if defined(PROTOBUF_CUSTOM_VTABLE)
1621 : ::google::protobuf::Message(arena, IntegerVariableProto_class_data_.base()) {
1622#else // PROTOBUF_CUSTOM_VTABLE
1623 : ::google::protobuf::Message(arena) {
1624#endif // PROTOBUF_CUSTOM_VTABLE
1625 IntegerVariableProto* const _this = this;
1626 (void)_this;
1627 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1628 from._internal_metadata_);
1629 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
1630
1631 // @@protoc_insertion_point(copy_constructor:operations_research.sat.IntegerVariableProto)
1632}
1633PROTOBUF_NDEBUG_INLINE IntegerVariableProto::Impl_::Impl_(
1634 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1635 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1636 : _cached_size_{0},
1637 domain_{visibility, arena},
1638 _domain_cached_byte_size_{0},
1639 name_(arena) {}
1640
1641inline void IntegerVariableProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
1642 new (&_impl_) Impl_(internal_visibility(), arena);
1643}
1645 // @@protoc_insertion_point(destructor:operations_research.sat.IntegerVariableProto)
1646 SharedDtor(*this);
1647}
1648inline void IntegerVariableProto::SharedDtor(MessageLite& self) {
1649 IntegerVariableProto& this_ = static_cast<IntegerVariableProto&>(self);
1650 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1651 this_.CheckHasBitConsistency();
1652 }
1653 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
1654 ABSL_DCHECK(this_.GetArena() == nullptr);
1655 this_._impl_.name_.Destroy();
1656 this_._impl_.~Impl_();
1657}
1658
1659inline void* PROTOBUF_NONNULL IntegerVariableProto::PlacementNew_(
1660 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1661 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
1662 return ::new (mem) IntegerVariableProto(arena);
1663}
1664constexpr auto IntegerVariableProto::InternalNewImpl_() {
1665 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
1666 PROTOBUF_FIELD_OFFSET(IntegerVariableProto, _impl_.domain_) +
1667 decltype(IntegerVariableProto::_impl_.domain_)::
1668 InternalGetArenaOffset(
1669 ::google::protobuf::Message::internal_visibility()),
1670 });
1671 if (arena_bits.has_value()) {
1672 return ::google::protobuf::internal::MessageCreator::CopyInit(
1673 sizeof(IntegerVariableProto), alignof(IntegerVariableProto), *arena_bits);
1674 } else {
1675 return ::google::protobuf::internal::MessageCreator(&IntegerVariableProto::PlacementNew_,
1676 sizeof(IntegerVariableProto),
1677 alignof(IntegerVariableProto));
1678 }
1679}
1681 return ::google::protobuf::internal::ClassDataFull{
1682 ::google::protobuf::internal::ClassData{
1684 &_table_.header,
1685 nullptr, // OnDemandRegisterArenaDtor
1686 nullptr, // IsInitialized
1687 &IntegerVariableProto::MergeImpl,
1688 ::google::protobuf::Message::GetNewImpl<IntegerVariableProto>(),
1689#if defined(PROTOBUF_CUSTOM_VTABLE)
1690 &IntegerVariableProto::SharedDtor,
1691 ::google::protobuf::Message::GetClearImpl<IntegerVariableProto>(), &IntegerVariableProto::ByteSizeLong,
1693#endif // PROTOBUF_CUSTOM_VTABLE
1694 PROTOBUF_FIELD_OFFSET(IntegerVariableProto, _impl_._cached_size_),
1695 false,
1696 },
1697 &IntegerVariableProto::kDescriptorMethods,
1699 nullptr, // tracker
1700 };
1701}
1702
1703PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
1704 ::google::protobuf::internal::ClassDataFull IntegerVariableProto_class_data_ =
1706
1707PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
1708IntegerVariableProto::GetClassData() const {
1709 ::google::protobuf::internal::PrefetchToLocalCache(&IntegerVariableProto_class_data_);
1710 ::google::protobuf::internal::PrefetchToLocalCache(IntegerVariableProto_class_data_.tc_table);
1712}
1713PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
1714const ::_pbi::TcParseTable<1, 2, 0, 57, 2>
1715IntegerVariableProto::_table_ = {
1716 {
1717 PROTOBUF_FIELD_OFFSET(IntegerVariableProto, _impl_._has_bits_),
1718 0, // no _extensions_
1719 2, 8, // max_field_number, fast_idx_mask
1720 offsetof(decltype(_table_), field_lookup_table),
1721 4294967292, // skipmap
1722 offsetof(decltype(_table_), field_entries),
1723 2, // num_field_entries
1724 0, // num_aux_entries
1725 offsetof(decltype(_table_), field_names), // no aux_entries
1727 nullptr, // post_loop_handler
1728 ::_pbi::TcParser::GenericFallback, // fallback
1729 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
1730 ::_pbi::TcParser::GetTable<::operations_research::sat::IntegerVariableProto>(), // to_prefetch
1731 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
1732 }, {{
1733 // repeated int64 domain = 2;
1734 {::_pbi::TcParser::FastV64P1,
1735 {18, 0, 0,
1736 PROTOBUF_FIELD_OFFSET(IntegerVariableProto, _impl_.domain_)}},
1737 // string name = 1;
1738 {::_pbi::TcParser::FastUS1,
1739 {10, 1, 0,
1740 PROTOBUF_FIELD_OFFSET(IntegerVariableProto, _impl_.name_)}},
1741 }}, {{
1742 65535, 65535
1743 }}, {{
1744 // string name = 1;
1745 {PROTOBUF_FIELD_OFFSET(IntegerVariableProto, _impl_.name_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
1746 // repeated int64 domain = 2;
1747 {PROTOBUF_FIELD_OFFSET(IntegerVariableProto, _impl_.domain_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt64)},
1748 }},
1749 // no aux_entries
1750 {{
1751 "\54\4\0\0\0\0\0\0"
1752 "operations_research.sat.IntegerVariableProto"
1753 "name"
1754 }},
1755};
1756PROTOBUF_NOINLINE void IntegerVariableProto::Clear() {
1757// @@protoc_insertion_point(message_clear_start:operations_research.sat.IntegerVariableProto)
1758 ::google::protobuf::internal::TSanWrite(&_impl_);
1759 ::uint32_t cached_has_bits = 0;
1760 // Prevent compiler warnings about cached_has_bits being unused
1761 (void) cached_has_bits;
1762
1763 cached_has_bits = _impl_._has_bits_[0];
1764 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
1765 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1766 _impl_.domain_.Clear();
1767 }
1768 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
1769 _impl_.name_.ClearNonDefaultToEmpty();
1770 }
1771 }
1772 _impl_._has_bits_.Clear();
1773 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
1774}
1775
1776#if defined(PROTOBUF_CUSTOM_VTABLE)
1777::uint8_t* PROTOBUF_NONNULL IntegerVariableProto::_InternalSerialize(
1778 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
1779 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
1780 const IntegerVariableProto& this_ = static_cast<const IntegerVariableProto&>(base);
1781#else // PROTOBUF_CUSTOM_VTABLE
1782::uint8_t* PROTOBUF_NONNULL IntegerVariableProto::_InternalSerialize(
1783 ::uint8_t* PROTOBUF_NONNULL target,
1784 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1785 const IntegerVariableProto& this_ = *this;
1786#endif // PROTOBUF_CUSTOM_VTABLE
1787 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1788 this_.CheckHasBitConsistency();
1789 }
1790 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.IntegerVariableProto)
1791 ::uint32_t cached_has_bits = 0;
1792 (void)cached_has_bits;
1793
1794 cached_has_bits = this_._impl_._has_bits_[0];
1795 // string name = 1;
1796 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
1797 if (!this_._internal_name().empty()) {
1798 const ::std::string& _s = this_._internal_name();
1799 ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
1800 _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "operations_research.sat.IntegerVariableProto.name");
1801 target = stream->WriteStringMaybeAliased(1, _s, target);
1802 }
1803 }
1804
1805 // repeated int64 domain = 2;
1806 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1807 {
1808 int byte_size = this_._impl_._domain_cached_byte_size_.Get();
1809 if (byte_size > 0) {
1810 target = stream->WriteInt64Packed(
1811 2, this_._internal_domain(), byte_size, target);
1812 }
1813 }
1814 }
1815
1816 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
1817 target =
1818 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
1819 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
1820 }
1821 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.IntegerVariableProto)
1822 return target;
1823}
1824
1825#if defined(PROTOBUF_CUSTOM_VTABLE)
1827 const IntegerVariableProto& this_ = static_cast<const IntegerVariableProto&>(base);
1828#else // PROTOBUF_CUSTOM_VTABLE
1829::size_t IntegerVariableProto::ByteSizeLong() const {
1830 const IntegerVariableProto& this_ = *this;
1831#endif // PROTOBUF_CUSTOM_VTABLE
1832 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.IntegerVariableProto)
1833 ::size_t total_size = 0;
1834
1835 ::uint32_t cached_has_bits = 0;
1836 // Prevent compiler warnings about cached_has_bits being unused
1837 (void)cached_has_bits;
1838
1839 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
1840 cached_has_bits = this_._impl_._has_bits_[0];
1841 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
1842 // repeated int64 domain = 2;
1843 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1844 total_size +=
1845 ::_pbi::WireFormatLite::Int64SizeWithPackedTagSize(
1846 this_._internal_domain(), 1,
1847 this_._impl_._domain_cached_byte_size_);
1848 }
1849 // string name = 1;
1850 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
1851 if (!this_._internal_name().empty()) {
1852 total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
1853 this_._internal_name());
1854 }
1855 }
1856 }
1857 return this_.MaybeComputeUnknownFieldsSize(total_size,
1858 &this_._impl_._cached_size_);
1859}
1860
1861void IntegerVariableProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
1862 const ::google::protobuf::MessageLite& from_msg) {
1863 auto* const _this =
1864 static_cast<IntegerVariableProto*>(&to_msg);
1865 auto& from = static_cast<const IntegerVariableProto&>(from_msg);
1866 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1867 from.CheckHasBitConsistency();
1868 }
1869 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.IntegerVariableProto)
1870 ABSL_DCHECK_NE(&from, _this);
1871 ::uint32_t cached_has_bits = 0;
1872 (void)cached_has_bits;
1873
1874 cached_has_bits = from._impl_._has_bits_[0];
1875 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
1876 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
1877 _this->_internal_mutable_domain()->MergeFrom(from._internal_domain());
1878 }
1879 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
1880 if (!from._internal_name().empty()) {
1881 _this->_internal_set_name(from._internal_name());
1882 } else {
1883 if (_this->_impl_.name_.IsDefault()) {
1884 _this->_internal_set_name("");
1885 }
1886 }
1887 }
1888 }
1889 _this->_impl_._has_bits_[0] |= cached_has_bits;
1890 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1891 from._internal_metadata_);
1892}
1893
1895 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.IntegerVariableProto)
1896 if (&from == this) return;
1897 Clear();
1898 MergeFrom(from);
1899}
1900
1901
1902void IntegerVariableProto::InternalSwap(IntegerVariableProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
1903 using ::std::swap;
1904 auto* arena = GetArena();
1905 ABSL_DCHECK_EQ(arena, other->GetArena());
1906 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1907 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
1908 _impl_.domain_.InternalSwap(&other->_impl_.domain_);
1909 ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
1910}
1911
1912::google::protobuf::Metadata IntegerVariableProto::GetMetadata() const {
1913 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
1914}
1915// ===================================================================
1916
1918 public:
1919 using HasBits =
1920 decltype(::std::declval<BoolArgumentProto>()._impl_._has_bits_);
1921 static constexpr ::int32_t kHasBitsOffset =
1922 8 * PROTOBUF_FIELD_OFFSET(BoolArgumentProto, _impl_._has_bits_);
1924
1925BoolArgumentProto::BoolArgumentProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1926#if defined(PROTOBUF_CUSTOM_VTABLE)
1927 : ::google::protobuf::Message(arena, BoolArgumentProto_class_data_.base()) {
1928#else // PROTOBUF_CUSTOM_VTABLE
1929 : ::google::protobuf::Message(arena) {
1930#endif // PROTOBUF_CUSTOM_VTABLE
1931 SharedCtor(arena);
1932 // @@protoc_insertion_point(arena_constructor:operations_research.sat.BoolArgumentProto)
1933}
1934PROTOBUF_NDEBUG_INLINE BoolArgumentProto::Impl_::Impl_(
1935 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1936 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1937 [[maybe_unused]] const ::operations_research::sat::BoolArgumentProto& from_msg)
1938 : _has_bits_{from._has_bits_},
1939 _cached_size_{0},
1940 literals_{visibility, arena, from.literals_},
1941 _literals_cached_byte_size_{0} {}
1942
1944 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
1945 const BoolArgumentProto& from)
1946#if defined(PROTOBUF_CUSTOM_VTABLE)
1947 : ::google::protobuf::Message(arena, BoolArgumentProto_class_data_.base()) {
1948#else // PROTOBUF_CUSTOM_VTABLE
1949 : ::google::protobuf::Message(arena) {
1950#endif // PROTOBUF_CUSTOM_VTABLE
1951 BoolArgumentProto* const _this = this;
1952 (void)_this;
1953 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
1954 from._internal_metadata_);
1955 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
1956
1957 // @@protoc_insertion_point(copy_constructor:operations_research.sat.BoolArgumentProto)
1958}
1959PROTOBUF_NDEBUG_INLINE BoolArgumentProto::Impl_::Impl_(
1960 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
1961 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
1962 : _cached_size_{0},
1963 literals_{visibility, arena},
1964 _literals_cached_byte_size_{0} {}
1965
1966inline void BoolArgumentProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
1967 new (&_impl_) Impl_(internal_visibility(), arena);
1968}
1970 // @@protoc_insertion_point(destructor:operations_research.sat.BoolArgumentProto)
1971 SharedDtor(*this);
1972}
1973inline void BoolArgumentProto::SharedDtor(MessageLite& self) {
1974 BoolArgumentProto& this_ = static_cast<BoolArgumentProto&>(self);
1975 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
1976 this_.CheckHasBitConsistency();
1977 }
1978 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
1979 ABSL_DCHECK(this_.GetArena() == nullptr);
1980 this_._impl_.~Impl_();
1981}
1982
1983inline void* PROTOBUF_NONNULL BoolArgumentProto::PlacementNew_(
1984 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1985 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
1986 return ::new (mem) BoolArgumentProto(arena);
1987}
1988constexpr auto BoolArgumentProto::InternalNewImpl_() {
1989 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
1990 PROTOBUF_FIELD_OFFSET(BoolArgumentProto, _impl_.literals_) +
1991 decltype(BoolArgumentProto::_impl_.literals_)::
1992 InternalGetArenaOffset(
1993 ::google::protobuf::Message::internal_visibility()),
1994 });
1995 if (arena_bits.has_value()) {
1996 return ::google::protobuf::internal::MessageCreator::ZeroInit(
1997 sizeof(BoolArgumentProto), alignof(BoolArgumentProto), *arena_bits);
1998 } else {
1999 return ::google::protobuf::internal::MessageCreator(&BoolArgumentProto::PlacementNew_,
2000 sizeof(BoolArgumentProto),
2001 alignof(BoolArgumentProto));
2002 }
2003}
2005 return ::google::protobuf::internal::ClassDataFull{
2006 ::google::protobuf::internal::ClassData{
2008 &_table_.header,
2009 nullptr, // OnDemandRegisterArenaDtor
2010 nullptr, // IsInitialized
2011 &BoolArgumentProto::MergeImpl,
2012 ::google::protobuf::Message::GetNewImpl<BoolArgumentProto>(),
2013#if defined(PROTOBUF_CUSTOM_VTABLE)
2014 &BoolArgumentProto::SharedDtor,
2015 ::google::protobuf::Message::GetClearImpl<BoolArgumentProto>(), &BoolArgumentProto::ByteSizeLong,
2017#endif // PROTOBUF_CUSTOM_VTABLE
2018 PROTOBUF_FIELD_OFFSET(BoolArgumentProto, _impl_._cached_size_),
2019 false,
2020 },
2021 &BoolArgumentProto::kDescriptorMethods,
2023 nullptr, // tracker
2024 };
2025}
2026
2027PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
2028 ::google::protobuf::internal::ClassDataFull BoolArgumentProto_class_data_ =
2031PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
2032BoolArgumentProto::GetClassData() const {
2033 ::google::protobuf::internal::PrefetchToLocalCache(&BoolArgumentProto_class_data_);
2034 ::google::protobuf::internal::PrefetchToLocalCache(BoolArgumentProto_class_data_.tc_table);
2035 return BoolArgumentProto_class_data_.base();
2036}
2037PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
2038const ::_pbi::TcParseTable<0, 1, 0, 0, 2>
2039BoolArgumentProto::_table_ = {
2040 {
2041 PROTOBUF_FIELD_OFFSET(BoolArgumentProto, _impl_._has_bits_),
2042 0, // no _extensions_
2043 1, 0, // max_field_number, fast_idx_mask
2044 offsetof(decltype(_table_), field_lookup_table),
2045 4294967294, // skipmap
2046 offsetof(decltype(_table_), field_entries),
2047 1, // num_field_entries
2048 0, // num_aux_entries
2049 offsetof(decltype(_table_), field_names), // no aux_entries
2051 nullptr, // post_loop_handler
2052 ::_pbi::TcParser::GenericFallback, // fallback
2053 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
2054 ::_pbi::TcParser::GetTable<::operations_research::sat::BoolArgumentProto>(), // to_prefetch
2055 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
2056 }, {{
2057 // repeated int32 literals = 1;
2058 {::_pbi::TcParser::FastV32P1,
2059 {10, 0, 0,
2060 PROTOBUF_FIELD_OFFSET(BoolArgumentProto, _impl_.literals_)}},
2061 }}, {{
2062 65535, 65535
2063 }}, {{
2064 // repeated int32 literals = 1;
2065 {PROTOBUF_FIELD_OFFSET(BoolArgumentProto, _impl_.literals_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
2066 }},
2067 // no aux_entries
2068 {{
2069 }},
2070};
2071PROTOBUF_NOINLINE void BoolArgumentProto::Clear() {
2072// @@protoc_insertion_point(message_clear_start:operations_research.sat.BoolArgumentProto)
2073 ::google::protobuf::internal::TSanWrite(&_impl_);
2074 ::uint32_t cached_has_bits = 0;
2075 // Prevent compiler warnings about cached_has_bits being unused
2076 (void) cached_has_bits;
2077
2078 cached_has_bits = _impl_._has_bits_[0];
2079 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2080 _impl_.literals_.Clear();
2081 }
2082 _impl_._has_bits_.Clear();
2083 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
2084}
2085
2086#if defined(PROTOBUF_CUSTOM_VTABLE)
2087::uint8_t* PROTOBUF_NONNULL BoolArgumentProto::_InternalSerialize(
2088 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
2089 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
2090 const BoolArgumentProto& this_ = static_cast<const BoolArgumentProto&>(base);
2091#else // PROTOBUF_CUSTOM_VTABLE
2092::uint8_t* PROTOBUF_NONNULL BoolArgumentProto::_InternalSerialize(
2093 ::uint8_t* PROTOBUF_NONNULL target,
2094 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
2095 const BoolArgumentProto& this_ = *this;
2096#endif // PROTOBUF_CUSTOM_VTABLE
2097 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2098 this_.CheckHasBitConsistency();
2099 }
2100 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.BoolArgumentProto)
2101 ::uint32_t cached_has_bits = 0;
2102 (void)cached_has_bits;
2103
2104 cached_has_bits = this_._impl_._has_bits_[0];
2105 // repeated int32 literals = 1;
2106 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2107 {
2108 int byte_size = this_._impl_._literals_cached_byte_size_.Get();
2109 if (byte_size > 0) {
2110 target = stream->WriteInt32Packed(
2111 1, this_._internal_literals(), byte_size, target);
2112 }
2113 }
2114 }
2115
2116 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
2117 target =
2118 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
2119 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
2120 }
2121 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.BoolArgumentProto)
2122 return target;
2123}
2124
2125#if defined(PROTOBUF_CUSTOM_VTABLE)
2127 const BoolArgumentProto& this_ = static_cast<const BoolArgumentProto&>(base);
2128#else // PROTOBUF_CUSTOM_VTABLE
2129::size_t BoolArgumentProto::ByteSizeLong() const {
2130 const BoolArgumentProto& this_ = *this;
2131#endif // PROTOBUF_CUSTOM_VTABLE
2132 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.BoolArgumentProto)
2133 ::size_t total_size = 0;
2134
2135 ::uint32_t cached_has_bits = 0;
2136 // Prevent compiler warnings about cached_has_bits being unused
2137 (void)cached_has_bits;
2138
2139 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
2140 {
2141 // repeated int32 literals = 1;
2142 cached_has_bits = this_._impl_._has_bits_[0];
2143 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2144 total_size +=
2145 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
2146 this_._internal_literals(), 1,
2147 this_._impl_._literals_cached_byte_size_);
2148 }
2149 }
2150 return this_.MaybeComputeUnknownFieldsSize(total_size,
2151 &this_._impl_._cached_size_);
2152}
2153
2154void BoolArgumentProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
2155 const ::google::protobuf::MessageLite& from_msg) {
2156 auto* const _this =
2157 static_cast<BoolArgumentProto*>(&to_msg);
2158 auto& from = static_cast<const BoolArgumentProto&>(from_msg);
2159 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2160 from.CheckHasBitConsistency();
2161 }
2162 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.BoolArgumentProto)
2163 ABSL_DCHECK_NE(&from, _this);
2164 ::uint32_t cached_has_bits = 0;
2165 (void)cached_has_bits;
2166
2167 cached_has_bits = from._impl_._has_bits_[0];
2168 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2169 _this->_internal_mutable_literals()->MergeFrom(from._internal_literals());
2170 }
2171 _this->_impl_._has_bits_[0] |= cached_has_bits;
2172 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2173 from._internal_metadata_);
2174}
2175
2177 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.BoolArgumentProto)
2178 if (&from == this) return;
2179 Clear();
2180 MergeFrom(from);
2181}
2182
2183
2184void BoolArgumentProto::InternalSwap(BoolArgumentProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
2185 using ::std::swap;
2186 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2187 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
2188 _impl_.literals_.InternalSwap(&other->_impl_.literals_);
2189}
2190
2191::google::protobuf::Metadata BoolArgumentProto::GetMetadata() const {
2192 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
2194// ===================================================================
2195
2197 public:
2198 using HasBits =
2199 decltype(::std::declval<LinearExpressionProto>()._impl_._has_bits_);
2200 static constexpr ::int32_t kHasBitsOffset =
2201 8 * PROTOBUF_FIELD_OFFSET(LinearExpressionProto, _impl_._has_bits_);
2202};
2204LinearExpressionProto::LinearExpressionProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2205#if defined(PROTOBUF_CUSTOM_VTABLE)
2206 : ::google::protobuf::Message(arena, LinearExpressionProto_class_data_.base()) {
2207#else // PROTOBUF_CUSTOM_VTABLE
2208 : ::google::protobuf::Message(arena) {
2209#endif // PROTOBUF_CUSTOM_VTABLE
2210 SharedCtor(arena);
2211 // @@protoc_insertion_point(arena_constructor:operations_research.sat.LinearExpressionProto)
2212}
2213PROTOBUF_NDEBUG_INLINE LinearExpressionProto::Impl_::Impl_(
2214 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
2215 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2216 [[maybe_unused]] const ::operations_research::sat::LinearExpressionProto& from_msg)
2217 : _has_bits_{from._has_bits_},
2218 _cached_size_{0},
2219 vars_{visibility, arena, from.vars_},
2220 _vars_cached_byte_size_{0},
2221 coeffs_{visibility, arena, from.coeffs_},
2222 _coeffs_cached_byte_size_{0} {}
2223
2225 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
2226 const LinearExpressionProto& from)
2227#if defined(PROTOBUF_CUSTOM_VTABLE)
2228 : ::google::protobuf::Message(arena, LinearExpressionProto_class_data_.base()) {
2229#else // PROTOBUF_CUSTOM_VTABLE
2230 : ::google::protobuf::Message(arena) {
2231#endif // PROTOBUF_CUSTOM_VTABLE
2232 LinearExpressionProto* const _this = this;
2233 (void)_this;
2234 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2235 from._internal_metadata_);
2236 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
2237 _impl_.offset_ = from._impl_.offset_;
2238
2239 // @@protoc_insertion_point(copy_constructor:operations_research.sat.LinearExpressionProto)
2240}
2241PROTOBUF_NDEBUG_INLINE LinearExpressionProto::Impl_::Impl_(
2242 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
2243 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2244 : _cached_size_{0},
2245 vars_{visibility, arena},
2246 _vars_cached_byte_size_{0},
2247 coeffs_{visibility, arena},
2248 _coeffs_cached_byte_size_{0} {}
2249
2250inline void LinearExpressionProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
2251 new (&_impl_) Impl_(internal_visibility(), arena);
2252 _impl_.offset_ = {};
2253}
2255 // @@protoc_insertion_point(destructor:operations_research.sat.LinearExpressionProto)
2256 SharedDtor(*this);
2258inline void LinearExpressionProto::SharedDtor(MessageLite& self) {
2259 LinearExpressionProto& this_ = static_cast<LinearExpressionProto&>(self);
2260 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2261 this_.CheckHasBitConsistency();
2262 }
2263 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
2264 ABSL_DCHECK(this_.GetArena() == nullptr);
2265 this_._impl_.~Impl_();
2266}
2267
2268inline void* PROTOBUF_NONNULL LinearExpressionProto::PlacementNew_(
2269 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2270 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
2271 return ::new (mem) LinearExpressionProto(arena);
2272}
2273constexpr auto LinearExpressionProto::InternalNewImpl_() {
2274 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
2275 PROTOBUF_FIELD_OFFSET(LinearExpressionProto, _impl_.vars_) +
2276 decltype(LinearExpressionProto::_impl_.vars_)::
2277 InternalGetArenaOffset(
2278 ::google::protobuf::Message::internal_visibility()),
2279 PROTOBUF_FIELD_OFFSET(LinearExpressionProto, _impl_.coeffs_) +
2280 decltype(LinearExpressionProto::_impl_.coeffs_)::
2281 InternalGetArenaOffset(
2282 ::google::protobuf::Message::internal_visibility()),
2283 });
2284 if (arena_bits.has_value()) {
2285 return ::google::protobuf::internal::MessageCreator::ZeroInit(
2286 sizeof(LinearExpressionProto), alignof(LinearExpressionProto), *arena_bits);
2287 } else {
2288 return ::google::protobuf::internal::MessageCreator(&LinearExpressionProto::PlacementNew_,
2289 sizeof(LinearExpressionProto),
2290 alignof(LinearExpressionProto));
2291 }
2292}
2294 return ::google::protobuf::internal::ClassDataFull{
2295 ::google::protobuf::internal::ClassData{
2297 &_table_.header,
2298 nullptr, // OnDemandRegisterArenaDtor
2299 nullptr, // IsInitialized
2300 &LinearExpressionProto::MergeImpl,
2301 ::google::protobuf::Message::GetNewImpl<LinearExpressionProto>(),
2302#if defined(PROTOBUF_CUSTOM_VTABLE)
2303 &LinearExpressionProto::SharedDtor,
2304 ::google::protobuf::Message::GetClearImpl<LinearExpressionProto>(), &LinearExpressionProto::ByteSizeLong,
2306#endif // PROTOBUF_CUSTOM_VTABLE
2307 PROTOBUF_FIELD_OFFSET(LinearExpressionProto, _impl_._cached_size_),
2308 false,
2309 },
2310 &LinearExpressionProto::kDescriptorMethods,
2312 nullptr, // tracker
2313 };
2314}
2315
2316PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
2317 ::google::protobuf::internal::ClassDataFull LinearExpressionProto_class_data_ =
2319
2320PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
2321LinearExpressionProto::GetClassData() const {
2322 ::google::protobuf::internal::PrefetchToLocalCache(&LinearExpressionProto_class_data_);
2323 ::google::protobuf::internal::PrefetchToLocalCache(LinearExpressionProto_class_data_.tc_table);
2325}
2326PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
2327const ::_pbi::TcParseTable<2, 3, 0, 0, 2>
2328LinearExpressionProto::_table_ = {
2329 {
2330 PROTOBUF_FIELD_OFFSET(LinearExpressionProto, _impl_._has_bits_),
2331 0, // no _extensions_
2332 3, 24, // max_field_number, fast_idx_mask
2333 offsetof(decltype(_table_), field_lookup_table),
2334 4294967288, // skipmap
2335 offsetof(decltype(_table_), field_entries),
2336 3, // num_field_entries
2337 0, // num_aux_entries
2338 offsetof(decltype(_table_), field_names), // no aux_entries
2340 nullptr, // post_loop_handler
2341 ::_pbi::TcParser::GenericFallback, // fallback
2342 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
2343 ::_pbi::TcParser::GetTable<::operations_research::sat::LinearExpressionProto>(), // to_prefetch
2344 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
2345 }, {{
2346 {::_pbi::TcParser::MiniParse, {}},
2347 // repeated int32 vars = 1;
2348 {::_pbi::TcParser::FastV32P1,
2349 {10, 0, 0,
2350 PROTOBUF_FIELD_OFFSET(LinearExpressionProto, _impl_.vars_)}},
2351 // repeated int64 coeffs = 2;
2352 {::_pbi::TcParser::FastV64P1,
2353 {18, 1, 0,
2354 PROTOBUF_FIELD_OFFSET(LinearExpressionProto, _impl_.coeffs_)}},
2355 // int64 offset = 3;
2356 {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(LinearExpressionProto, _impl_.offset_), 2>(),
2357 {24, 2, 0,
2358 PROTOBUF_FIELD_OFFSET(LinearExpressionProto, _impl_.offset_)}},
2359 }}, {{
2360 65535, 65535
2361 }}, {{
2362 // repeated int32 vars = 1;
2363 {PROTOBUF_FIELD_OFFSET(LinearExpressionProto, _impl_.vars_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
2364 // repeated int64 coeffs = 2;
2365 {PROTOBUF_FIELD_OFFSET(LinearExpressionProto, _impl_.coeffs_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt64)},
2366 // int64 offset = 3;
2367 {PROTOBUF_FIELD_OFFSET(LinearExpressionProto, _impl_.offset_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
2368 }},
2369 // no aux_entries
2370 {{
2371 }},
2372};
2373PROTOBUF_NOINLINE void LinearExpressionProto::Clear() {
2374// @@protoc_insertion_point(message_clear_start:operations_research.sat.LinearExpressionProto)
2375 ::google::protobuf::internal::TSanWrite(&_impl_);
2376 ::uint32_t cached_has_bits = 0;
2377 // Prevent compiler warnings about cached_has_bits being unused
2378 (void) cached_has_bits;
2379
2380 cached_has_bits = _impl_._has_bits_[0];
2381 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
2382 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2383 _impl_.vars_.Clear();
2384 }
2385 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
2386 _impl_.coeffs_.Clear();
2387 }
2388 }
2389 _impl_.offset_ = ::int64_t{0};
2390 _impl_._has_bits_.Clear();
2391 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
2392}
2393
2394#if defined(PROTOBUF_CUSTOM_VTABLE)
2395::uint8_t* PROTOBUF_NONNULL LinearExpressionProto::_InternalSerialize(
2396 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
2397 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
2398 const LinearExpressionProto& this_ = static_cast<const LinearExpressionProto&>(base);
2399#else // PROTOBUF_CUSTOM_VTABLE
2400::uint8_t* PROTOBUF_NONNULL LinearExpressionProto::_InternalSerialize(
2401 ::uint8_t* PROTOBUF_NONNULL target,
2402 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
2403 const LinearExpressionProto& this_ = *this;
2404#endif // PROTOBUF_CUSTOM_VTABLE
2405 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2406 this_.CheckHasBitConsistency();
2407 }
2408 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.LinearExpressionProto)
2409 ::uint32_t cached_has_bits = 0;
2410 (void)cached_has_bits;
2411
2412 cached_has_bits = this_._impl_._has_bits_[0];
2413 // repeated int32 vars = 1;
2414 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2415 {
2416 int byte_size = this_._impl_._vars_cached_byte_size_.Get();
2417 if (byte_size > 0) {
2418 target = stream->WriteInt32Packed(
2419 1, this_._internal_vars(), byte_size, target);
2420 }
2421 }
2422 }
2423
2424 // repeated int64 coeffs = 2;
2425 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
2426 {
2427 int byte_size = this_._impl_._coeffs_cached_byte_size_.Get();
2428 if (byte_size > 0) {
2429 target = stream->WriteInt64Packed(
2430 2, this_._internal_coeffs(), byte_size, target);
2431 }
2432 }
2433 }
2434
2435 // int64 offset = 3;
2436 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
2437 if (this_._internal_offset() != 0) {
2438 target =
2439 ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<3>(
2440 stream, this_._internal_offset(), target);
2441 }
2442 }
2443
2444 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
2445 target =
2446 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
2447 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
2448 }
2449 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.LinearExpressionProto)
2450 return target;
2451}
2452
2453#if defined(PROTOBUF_CUSTOM_VTABLE)
2455 const LinearExpressionProto& this_ = static_cast<const LinearExpressionProto&>(base);
2456#else // PROTOBUF_CUSTOM_VTABLE
2457::size_t LinearExpressionProto::ByteSizeLong() const {
2458 const LinearExpressionProto& this_ = *this;
2459#endif // PROTOBUF_CUSTOM_VTABLE
2460 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.LinearExpressionProto)
2461 ::size_t total_size = 0;
2462
2463 ::uint32_t cached_has_bits = 0;
2464 // Prevent compiler warnings about cached_has_bits being unused
2465 (void)cached_has_bits;
2466
2467 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
2468 cached_has_bits = this_._impl_._has_bits_[0];
2469 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
2470 // repeated int32 vars = 1;
2471 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2472 total_size +=
2473 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
2474 this_._internal_vars(), 1,
2475 this_._impl_._vars_cached_byte_size_);
2476 }
2477 // repeated int64 coeffs = 2;
2478 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
2479 total_size +=
2480 ::_pbi::WireFormatLite::Int64SizeWithPackedTagSize(
2481 this_._internal_coeffs(), 1,
2482 this_._impl_._coeffs_cached_byte_size_);
2483 }
2484 // int64 offset = 3;
2485 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
2486 if (this_._internal_offset() != 0) {
2487 total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
2488 this_._internal_offset());
2489 }
2490 }
2491 }
2492 return this_.MaybeComputeUnknownFieldsSize(total_size,
2493 &this_._impl_._cached_size_);
2494}
2495
2496void LinearExpressionProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
2497 const ::google::protobuf::MessageLite& from_msg) {
2498 auto* const _this =
2499 static_cast<LinearExpressionProto*>(&to_msg);
2500 auto& from = static_cast<const LinearExpressionProto&>(from_msg);
2501 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2502 from.CheckHasBitConsistency();
2503 }
2504 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.LinearExpressionProto)
2505 ABSL_DCHECK_NE(&from, _this);
2506 ::uint32_t cached_has_bits = 0;
2507 (void)cached_has_bits;
2508
2509 cached_has_bits = from._impl_._has_bits_[0];
2510 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
2511 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2512 _this->_internal_mutable_vars()->MergeFrom(from._internal_vars());
2513 }
2514 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
2515 _this->_internal_mutable_coeffs()->MergeFrom(from._internal_coeffs());
2516 }
2517 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
2518 if (from._internal_offset() != 0) {
2519 _this->_impl_.offset_ = from._impl_.offset_;
2520 }
2521 }
2522 }
2523 _this->_impl_._has_bits_[0] |= cached_has_bits;
2524 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2525 from._internal_metadata_);
2526}
2527
2528void LinearExpressionProto::CopyFrom(const LinearExpressionProto& from) {
2529 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.LinearExpressionProto)
2530 if (&from == this) return;
2532 MergeFrom(from);
2533}
2534
2535
2536void LinearExpressionProto::InternalSwap(LinearExpressionProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
2537 using ::std::swap;
2538 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2539 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
2540 _impl_.vars_.InternalSwap(&other->_impl_.vars_);
2541 _impl_.coeffs_.InternalSwap(&other->_impl_.coeffs_);
2542 swap(_impl_.offset_, other->_impl_.offset_);
2543}
2544
2545::google::protobuf::Metadata LinearExpressionProto::GetMetadata() const {
2546 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
2547}
2548// ===================================================================
2549
2551 public:
2552 using HasBits =
2553 decltype(::std::declval<LinearArgumentProto>()._impl_._has_bits_);
2554 static constexpr ::int32_t kHasBitsOffset =
2555 8 * PROTOBUF_FIELD_OFFSET(LinearArgumentProto, _impl_._has_bits_);
2557
2558LinearArgumentProto::LinearArgumentProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2559#if defined(PROTOBUF_CUSTOM_VTABLE)
2560 : ::google::protobuf::Message(arena, LinearArgumentProto_class_data_.base()) {
2561#else // PROTOBUF_CUSTOM_VTABLE
2562 : ::google::protobuf::Message(arena) {
2563#endif // PROTOBUF_CUSTOM_VTABLE
2564 SharedCtor(arena);
2565 // @@protoc_insertion_point(arena_constructor:operations_research.sat.LinearArgumentProto)
2566}
2567PROTOBUF_NDEBUG_INLINE LinearArgumentProto::Impl_::Impl_(
2568 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
2569 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2570 [[maybe_unused]] const ::operations_research::sat::LinearArgumentProto& from_msg)
2571 : _has_bits_{from._has_bits_},
2572 _cached_size_{0},
2573 exprs_{visibility, arena, from.exprs_} {}
2574
2576 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
2577 const LinearArgumentProto& from)
2578#if defined(PROTOBUF_CUSTOM_VTABLE)
2579 : ::google::protobuf::Message(arena, LinearArgumentProto_class_data_.base()) {
2580#else // PROTOBUF_CUSTOM_VTABLE
2581 : ::google::protobuf::Message(arena) {
2582#endif // PROTOBUF_CUSTOM_VTABLE
2583 LinearArgumentProto* const _this = this;
2584 (void)_this;
2585 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2586 from._internal_metadata_);
2587 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
2588 ::uint32_t cached_has_bits = _impl_._has_bits_[0];
2589 _impl_.target_ = (CheckHasBit(cached_has_bits, 0x00000002U))
2590 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.target_)
2591 : nullptr;
2592
2593 // @@protoc_insertion_point(copy_constructor:operations_research.sat.LinearArgumentProto)
2594}
2595PROTOBUF_NDEBUG_INLINE LinearArgumentProto::Impl_::Impl_(
2596 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
2597 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2598 : _cached_size_{0},
2599 exprs_{visibility, arena} {}
2600
2601inline void LinearArgumentProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
2602 new (&_impl_) Impl_(internal_visibility(), arena);
2603 _impl_.target_ = {};
2604}
2606 // @@protoc_insertion_point(destructor:operations_research.sat.LinearArgumentProto)
2607 SharedDtor(*this);
2608}
2609inline void LinearArgumentProto::SharedDtor(MessageLite& self) {
2610 LinearArgumentProto& this_ = static_cast<LinearArgumentProto&>(self);
2611 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2612 this_.CheckHasBitConsistency();
2613 }
2614 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
2615 ABSL_DCHECK(this_.GetArena() == nullptr);
2616 delete this_._impl_.target_;
2617 this_._impl_.~Impl_();
2618}
2619
2620inline void* PROTOBUF_NONNULL LinearArgumentProto::PlacementNew_(
2621 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2622 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
2623 return ::new (mem) LinearArgumentProto(arena);
2624}
2625constexpr auto LinearArgumentProto::InternalNewImpl_() {
2626 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
2627 PROTOBUF_FIELD_OFFSET(LinearArgumentProto, _impl_.exprs_) +
2628 decltype(LinearArgumentProto::_impl_.exprs_)::
2629 InternalGetArenaOffset(
2630 ::google::protobuf::Message::internal_visibility()),
2631 });
2632 if (arena_bits.has_value()) {
2633 return ::google::protobuf::internal::MessageCreator::ZeroInit(
2634 sizeof(LinearArgumentProto), alignof(LinearArgumentProto), *arena_bits);
2635 } else {
2636 return ::google::protobuf::internal::MessageCreator(&LinearArgumentProto::PlacementNew_,
2637 sizeof(LinearArgumentProto),
2638 alignof(LinearArgumentProto));
2639 }
2640}
2642 return ::google::protobuf::internal::ClassDataFull{
2643 ::google::protobuf::internal::ClassData{
2645 &_table_.header,
2646 nullptr, // OnDemandRegisterArenaDtor
2647 nullptr, // IsInitialized
2648 &LinearArgumentProto::MergeImpl,
2649 ::google::protobuf::Message::GetNewImpl<LinearArgumentProto>(),
2650#if defined(PROTOBUF_CUSTOM_VTABLE)
2651 &LinearArgumentProto::SharedDtor,
2652 ::google::protobuf::Message::GetClearImpl<LinearArgumentProto>(), &LinearArgumentProto::ByteSizeLong,
2654#endif // PROTOBUF_CUSTOM_VTABLE
2655 PROTOBUF_FIELD_OFFSET(LinearArgumentProto, _impl_._cached_size_),
2656 false,
2657 },
2658 &LinearArgumentProto::kDescriptorMethods,
2660 nullptr, // tracker
2661 };
2662}
2663
2664PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
2665 ::google::protobuf::internal::ClassDataFull LinearArgumentProto_class_data_ =
2667
2668PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
2669LinearArgumentProto::GetClassData() const {
2670 ::google::protobuf::internal::PrefetchToLocalCache(&LinearArgumentProto_class_data_);
2671 ::google::protobuf::internal::PrefetchToLocalCache(LinearArgumentProto_class_data_.tc_table);
2672 return LinearArgumentProto_class_data_.base();
2673}
2674PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
2675const ::_pbi::TcParseTable<1, 2, 2, 0, 2>
2676LinearArgumentProto::_table_ = {
2677 {
2678 PROTOBUF_FIELD_OFFSET(LinearArgumentProto, _impl_._has_bits_),
2679 0, // no _extensions_
2680 2, 8, // max_field_number, fast_idx_mask
2681 offsetof(decltype(_table_), field_lookup_table),
2682 4294967292, // skipmap
2683 offsetof(decltype(_table_), field_entries),
2684 2, // num_field_entries
2685 2, // num_aux_entries
2686 offsetof(decltype(_table_), aux_entries),
2688 nullptr, // post_loop_handler
2689 ::_pbi::TcParser::GenericFallback, // fallback
2690 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
2691 ::_pbi::TcParser::GetTable<::operations_research::sat::LinearArgumentProto>(), // to_prefetch
2692 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
2693 }, {{
2694 // repeated .operations_research.sat.LinearExpressionProto exprs = 2;
2695 {::_pbi::TcParser::FastMtR1,
2696 {18, 0, 1,
2697 PROTOBUF_FIELD_OFFSET(LinearArgumentProto, _impl_.exprs_)}},
2698 // .operations_research.sat.LinearExpressionProto target = 1;
2699 {::_pbi::TcParser::FastMtS1,
2700 {10, 1, 0,
2701 PROTOBUF_FIELD_OFFSET(LinearArgumentProto, _impl_.target_)}},
2702 }}, {{
2703 65535, 65535
2704 }}, {{
2705 // .operations_research.sat.LinearExpressionProto target = 1;
2706 {PROTOBUF_FIELD_OFFSET(LinearArgumentProto, _impl_.target_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
2707 // repeated .operations_research.sat.LinearExpressionProto exprs = 2;
2708 {PROTOBUF_FIELD_OFFSET(LinearArgumentProto, _impl_.exprs_), _Internal::kHasBitsOffset + 0, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
2709 }},
2710 {{
2711 {::_pbi::TcParser::GetTable<::operations_research::sat::LinearExpressionProto>()},
2712 {::_pbi::TcParser::GetTable<::operations_research::sat::LinearExpressionProto>()},
2713 }},
2714 {{
2715 }},
2716};
2717PROTOBUF_NOINLINE void LinearArgumentProto::Clear() {
2718// @@protoc_insertion_point(message_clear_start:operations_research.sat.LinearArgumentProto)
2719 ::google::protobuf::internal::TSanWrite(&_impl_);
2720 ::uint32_t cached_has_bits = 0;
2721 // Prevent compiler warnings about cached_has_bits being unused
2722 (void) cached_has_bits;
2723
2724 cached_has_bits = _impl_._has_bits_[0];
2725 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
2726 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2727 _impl_.exprs_.Clear();
2728 }
2729 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
2730 ABSL_DCHECK(_impl_.target_ != nullptr);
2731 _impl_.target_->Clear();
2732 }
2733 }
2734 _impl_._has_bits_.Clear();
2735 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
2736}
2737
2738#if defined(PROTOBUF_CUSTOM_VTABLE)
2739::uint8_t* PROTOBUF_NONNULL LinearArgumentProto::_InternalSerialize(
2740 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
2741 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
2742 const LinearArgumentProto& this_ = static_cast<const LinearArgumentProto&>(base);
2743#else // PROTOBUF_CUSTOM_VTABLE
2744::uint8_t* PROTOBUF_NONNULL LinearArgumentProto::_InternalSerialize(
2745 ::uint8_t* PROTOBUF_NONNULL target,
2746 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
2747 const LinearArgumentProto& this_ = *this;
2748#endif // PROTOBUF_CUSTOM_VTABLE
2749 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2750 this_.CheckHasBitConsistency();
2751 }
2752 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.LinearArgumentProto)
2753 ::uint32_t cached_has_bits = 0;
2754 (void)cached_has_bits;
2755
2756 cached_has_bits = this_._impl_._has_bits_[0];
2757 // .operations_research.sat.LinearExpressionProto target = 1;
2758 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
2759 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
2760 1, *this_._impl_.target_, this_._impl_.target_->GetCachedSize(), target,
2761 stream);
2762 }
2763
2764 // repeated .operations_research.sat.LinearExpressionProto exprs = 2;
2765 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2766 for (unsigned i = 0, n = static_cast<unsigned>(
2767 this_._internal_exprs_size());
2768 i < n; i++) {
2769 const auto& repfield = this_._internal_exprs().Get(i);
2770 target =
2771 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
2772 2, repfield, repfield.GetCachedSize(),
2773 target, stream);
2774 }
2775 }
2776
2777 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
2778 target =
2779 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
2780 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
2781 }
2782 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.LinearArgumentProto)
2783 return target;
2784}
2785
2786#if defined(PROTOBUF_CUSTOM_VTABLE)
2787::size_t LinearArgumentProto::ByteSizeLong(const MessageLite& base) {
2788 const LinearArgumentProto& this_ = static_cast<const LinearArgumentProto&>(base);
2789#else // PROTOBUF_CUSTOM_VTABLE
2790::size_t LinearArgumentProto::ByteSizeLong() const {
2791 const LinearArgumentProto& this_ = *this;
2792#endif // PROTOBUF_CUSTOM_VTABLE
2793 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.LinearArgumentProto)
2794 ::size_t total_size = 0;
2795
2796 ::uint32_t cached_has_bits = 0;
2797 // Prevent compiler warnings about cached_has_bits being unused
2798 (void)cached_has_bits;
2799
2800 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
2801 cached_has_bits = this_._impl_._has_bits_[0];
2802 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
2803 // repeated .operations_research.sat.LinearExpressionProto exprs = 2;
2804 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2805 total_size += 1UL * this_._internal_exprs_size();
2806 for (const auto& msg : this_._internal_exprs()) {
2807 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
2808 }
2809 }
2810 // .operations_research.sat.LinearExpressionProto target = 1;
2811 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
2812 total_size += 1 +
2813 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.target_);
2814 }
2815 }
2816 return this_.MaybeComputeUnknownFieldsSize(total_size,
2817 &this_._impl_._cached_size_);
2818}
2819
2820void LinearArgumentProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
2821 const ::google::protobuf::MessageLite& from_msg) {
2822 auto* const _this =
2823 static_cast<LinearArgumentProto*>(&to_msg);
2824 auto& from = static_cast<const LinearArgumentProto&>(from_msg);
2825 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2826 from.CheckHasBitConsistency();
2827 }
2828 ::google::protobuf::Arena* arena = _this->GetArena();
2829 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.LinearArgumentProto)
2830 ABSL_DCHECK_NE(&from, _this);
2831 ::uint32_t cached_has_bits = 0;
2832 (void)cached_has_bits;
2833
2834 cached_has_bits = from._impl_._has_bits_[0];
2835 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
2836 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
2837 _this->_internal_mutable_exprs()->InternalMergeFromWithArena(
2838 ::google::protobuf::MessageLite::internal_visibility(), arena,
2839 from._internal_exprs());
2840 }
2841 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
2842 ABSL_DCHECK(from._impl_.target_ != nullptr);
2843 if (_this->_impl_.target_ == nullptr) {
2844 _this->_impl_.target_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.target_);
2845 } else {
2846 _this->_impl_.target_->MergeFrom(*from._impl_.target_);
2847 }
2848 }
2849 }
2850 _this->_impl_._has_bits_[0] |= cached_has_bits;
2851 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2852 from._internal_metadata_);
2853}
2854
2855void LinearArgumentProto::CopyFrom(const LinearArgumentProto& from) {
2856 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.LinearArgumentProto)
2857 if (&from == this) return;
2858 Clear();
2860}
2861
2862
2863void LinearArgumentProto::InternalSwap(LinearArgumentProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
2864 using ::std::swap;
2865 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2866 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
2867 _impl_.exprs_.InternalSwap(&other->_impl_.exprs_);
2868 swap(_impl_.target_, other->_impl_.target_);
2869}
2870
2871::google::protobuf::Metadata LinearArgumentProto::GetMetadata() const {
2872 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
2873}
2874// ===================================================================
2878 using HasBits =
2879 decltype(::std::declval<AllDifferentConstraintProto>()._impl_._has_bits_);
2880 static constexpr ::int32_t kHasBitsOffset =
2881 8 * PROTOBUF_FIELD_OFFSET(AllDifferentConstraintProto, _impl_._has_bits_);
2882};
2884AllDifferentConstraintProto::AllDifferentConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2885#if defined(PROTOBUF_CUSTOM_VTABLE)
2886 : ::google::protobuf::Message(arena, AllDifferentConstraintProto_class_data_.base()) {
2887#else // PROTOBUF_CUSTOM_VTABLE
2888 : ::google::protobuf::Message(arena) {
2889#endif // PROTOBUF_CUSTOM_VTABLE
2890 SharedCtor(arena);
2891 // @@protoc_insertion_point(arena_constructor:operations_research.sat.AllDifferentConstraintProto)
2892}
2893PROTOBUF_NDEBUG_INLINE AllDifferentConstraintProto::Impl_::Impl_(
2894 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
2895 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2896 [[maybe_unused]] const ::operations_research::sat::AllDifferentConstraintProto& from_msg)
2897 : _has_bits_{from._has_bits_},
2898 _cached_size_{0},
2899 exprs_{visibility, arena, from.exprs_} {}
2900
2902 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
2903 const AllDifferentConstraintProto& from)
2904#if defined(PROTOBUF_CUSTOM_VTABLE)
2905 : ::google::protobuf::Message(arena, AllDifferentConstraintProto_class_data_.base()) {
2906#else // PROTOBUF_CUSTOM_VTABLE
2907 : ::google::protobuf::Message(arena) {
2908#endif // PROTOBUF_CUSTOM_VTABLE
2909 AllDifferentConstraintProto* const _this = this;
2910 (void)_this;
2911 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
2912 from._internal_metadata_);
2913 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
2914
2915 // @@protoc_insertion_point(copy_constructor:operations_research.sat.AllDifferentConstraintProto)
2916}
2917PROTOBUF_NDEBUG_INLINE AllDifferentConstraintProto::Impl_::Impl_(
2918 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
2919 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
2920 : _cached_size_{0},
2921 exprs_{visibility, arena} {}
2922
2923inline void AllDifferentConstraintProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
2924 new (&_impl_) Impl_(internal_visibility(), arena);
2925}
2927 // @@protoc_insertion_point(destructor:operations_research.sat.AllDifferentConstraintProto)
2928 SharedDtor(*this);
2929}
2930inline void AllDifferentConstraintProto::SharedDtor(MessageLite& self) {
2932 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
2933 this_.CheckHasBitConsistency();
2934 }
2935 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
2936 ABSL_DCHECK(this_.GetArena() == nullptr);
2937 this_._impl_.~Impl_();
2938}
2939
2940inline void* PROTOBUF_NONNULL AllDifferentConstraintProto::PlacementNew_(
2941 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2942 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
2943 return ::new (mem) AllDifferentConstraintProto(arena);
2944}
2945constexpr auto AllDifferentConstraintProto::InternalNewImpl_() {
2946 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
2947 PROTOBUF_FIELD_OFFSET(AllDifferentConstraintProto, _impl_.exprs_) +
2948 decltype(AllDifferentConstraintProto::_impl_.exprs_)::
2949 InternalGetArenaOffset(
2950 ::google::protobuf::Message::internal_visibility()),
2951 });
2952 if (arena_bits.has_value()) {
2953 return ::google::protobuf::internal::MessageCreator::ZeroInit(
2954 sizeof(AllDifferentConstraintProto), alignof(AllDifferentConstraintProto), *arena_bits);
2955 } else {
2956 return ::google::protobuf::internal::MessageCreator(&AllDifferentConstraintProto::PlacementNew_,
2957 sizeof(AllDifferentConstraintProto),
2958 alignof(AllDifferentConstraintProto));
2959 }
2960}
2962 return ::google::protobuf::internal::ClassDataFull{
2963 ::google::protobuf::internal::ClassData{
2965 &_table_.header,
2966 nullptr, // OnDemandRegisterArenaDtor
2967 nullptr, // IsInitialized
2968 &AllDifferentConstraintProto::MergeImpl,
2969 ::google::protobuf::Message::GetNewImpl<AllDifferentConstraintProto>(),
2970#if defined(PROTOBUF_CUSTOM_VTABLE)
2971 &AllDifferentConstraintProto::SharedDtor,
2972 ::google::protobuf::Message::GetClearImpl<AllDifferentConstraintProto>(), &AllDifferentConstraintProto::ByteSizeLong,
2974#endif // PROTOBUF_CUSTOM_VTABLE
2975 PROTOBUF_FIELD_OFFSET(AllDifferentConstraintProto, _impl_._cached_size_),
2976 false,
2977 },
2978 &AllDifferentConstraintProto::kDescriptorMethods,
2980 nullptr, // tracker
2981 };
2982}
2983
2984PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
2985 ::google::protobuf::internal::ClassDataFull AllDifferentConstraintProto_class_data_ =
2987
2988PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
2989AllDifferentConstraintProto::GetClassData() const {
2990 ::google::protobuf::internal::PrefetchToLocalCache(&AllDifferentConstraintProto_class_data_);
2991 ::google::protobuf::internal::PrefetchToLocalCache(AllDifferentConstraintProto_class_data_.tc_table);
2993}
2994PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
2995const ::_pbi::TcParseTable<0, 1, 1, 0, 2>
2996AllDifferentConstraintProto::_table_ = {
2997 {
2998 PROTOBUF_FIELD_OFFSET(AllDifferentConstraintProto, _impl_._has_bits_),
2999 0, // no _extensions_
3000 1, 0, // max_field_number, fast_idx_mask
3001 offsetof(decltype(_table_), field_lookup_table),
3002 4294967294, // skipmap
3003 offsetof(decltype(_table_), field_entries),
3004 1, // num_field_entries
3005 1, // num_aux_entries
3006 offsetof(decltype(_table_), aux_entries),
3008 nullptr, // post_loop_handler
3009 ::_pbi::TcParser::GenericFallback, // fallback
3010 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
3011 ::_pbi::TcParser::GetTable<::operations_research::sat::AllDifferentConstraintProto>(), // to_prefetch
3012 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
3013 }, {{
3014 // repeated .operations_research.sat.LinearExpressionProto exprs = 1;
3015 {::_pbi::TcParser::FastMtR1,
3016 {10, 0, 0,
3017 PROTOBUF_FIELD_OFFSET(AllDifferentConstraintProto, _impl_.exprs_)}},
3018 }}, {{
3019 65535, 65535
3020 }}, {{
3021 // repeated .operations_research.sat.LinearExpressionProto exprs = 1;
3022 {PROTOBUF_FIELD_OFFSET(AllDifferentConstraintProto, _impl_.exprs_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
3023 }},
3024 {{
3025 {::_pbi::TcParser::GetTable<::operations_research::sat::LinearExpressionProto>()},
3026 }},
3027 {{
3028 }},
3029};
3030PROTOBUF_NOINLINE void AllDifferentConstraintProto::Clear() {
3031// @@protoc_insertion_point(message_clear_start:operations_research.sat.AllDifferentConstraintProto)
3032 ::google::protobuf::internal::TSanWrite(&_impl_);
3033 ::uint32_t cached_has_bits = 0;
3034 // Prevent compiler warnings about cached_has_bits being unused
3035 (void) cached_has_bits;
3036
3037 cached_has_bits = _impl_._has_bits_[0];
3038 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3039 _impl_.exprs_.Clear();
3040 }
3041 _impl_._has_bits_.Clear();
3042 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
3043}
3044
3045#if defined(PROTOBUF_CUSTOM_VTABLE)
3046::uint8_t* PROTOBUF_NONNULL AllDifferentConstraintProto::_InternalSerialize(
3047 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
3048 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
3049 const AllDifferentConstraintProto& this_ = static_cast<const AllDifferentConstraintProto&>(base);
3050#else // PROTOBUF_CUSTOM_VTABLE
3051::uint8_t* PROTOBUF_NONNULL AllDifferentConstraintProto::_InternalSerialize(
3052 ::uint8_t* PROTOBUF_NONNULL target,
3053 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
3054 const AllDifferentConstraintProto& this_ = *this;
3055#endif // PROTOBUF_CUSTOM_VTABLE
3056 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3057 this_.CheckHasBitConsistency();
3058 }
3059 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.AllDifferentConstraintProto)
3060 ::uint32_t cached_has_bits = 0;
3061 (void)cached_has_bits;
3062
3063 cached_has_bits = this_._impl_._has_bits_[0];
3064 // repeated .operations_research.sat.LinearExpressionProto exprs = 1;
3065 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3066 for (unsigned i = 0, n = static_cast<unsigned>(
3067 this_._internal_exprs_size());
3068 i < n; i++) {
3069 const auto& repfield = this_._internal_exprs().Get(i);
3070 target =
3071 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
3072 1, repfield, repfield.GetCachedSize(),
3073 target, stream);
3074 }
3075 }
3076
3077 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
3078 target =
3079 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
3080 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
3081 }
3082 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.AllDifferentConstraintProto)
3083 return target;
3084}
3085
3086#if defined(PROTOBUF_CUSTOM_VTABLE)
3088 const AllDifferentConstraintProto& this_ = static_cast<const AllDifferentConstraintProto&>(base);
3089#else // PROTOBUF_CUSTOM_VTABLE
3091 const AllDifferentConstraintProto& this_ = *this;
3092#endif // PROTOBUF_CUSTOM_VTABLE
3093 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.AllDifferentConstraintProto)
3094 ::size_t total_size = 0;
3096 ::uint32_t cached_has_bits = 0;
3097 // Prevent compiler warnings about cached_has_bits being unused
3098 (void)cached_has_bits;
3099
3100 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
3101 {
3102 // repeated .operations_research.sat.LinearExpressionProto exprs = 1;
3103 cached_has_bits = this_._impl_._has_bits_[0];
3104 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3105 total_size += 1UL * this_._internal_exprs_size();
3106 for (const auto& msg : this_._internal_exprs()) {
3107 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
3108 }
3109 }
3110 }
3111 return this_.MaybeComputeUnknownFieldsSize(total_size,
3112 &this_._impl_._cached_size_);
3113}
3114
3115void AllDifferentConstraintProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
3116 const ::google::protobuf::MessageLite& from_msg) {
3117 auto* const _this =
3118 static_cast<AllDifferentConstraintProto*>(&to_msg);
3119 auto& from = static_cast<const AllDifferentConstraintProto&>(from_msg);
3120 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3121 from.CheckHasBitConsistency();
3122 }
3123 ::google::protobuf::Arena* arena = _this->GetArena();
3124 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.AllDifferentConstraintProto)
3125 ABSL_DCHECK_NE(&from, _this);
3126 ::uint32_t cached_has_bits = 0;
3127 (void)cached_has_bits;
3128
3129 cached_has_bits = from._impl_._has_bits_[0];
3130 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3131 _this->_internal_mutable_exprs()->InternalMergeFromWithArena(
3132 ::google::protobuf::MessageLite::internal_visibility(), arena,
3133 from._internal_exprs());
3134 }
3135 _this->_impl_._has_bits_[0] |= cached_has_bits;
3136 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
3137 from._internal_metadata_);
3138}
3139
3140void AllDifferentConstraintProto::CopyFrom(const AllDifferentConstraintProto& from) {
3141 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.AllDifferentConstraintProto)
3142 if (&from == this) return;
3143 Clear();
3144 MergeFrom(from);
3146
3147
3148void AllDifferentConstraintProto::InternalSwap(AllDifferentConstraintProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
3149 using ::std::swap;
3150 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
3151 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
3152 _impl_.exprs_.InternalSwap(&other->_impl_.exprs_);
3153}
3154
3155::google::protobuf::Metadata AllDifferentConstraintProto::GetMetadata() const {
3156 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
3157}
3158// ===================================================================
3159
3161 public:
3162 using HasBits =
3163 decltype(::std::declval<LinearConstraintProto>()._impl_._has_bits_);
3164 static constexpr ::int32_t kHasBitsOffset =
3165 8 * PROTOBUF_FIELD_OFFSET(LinearConstraintProto, _impl_._has_bits_);
3167
3168LinearConstraintProto::LinearConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
3169#if defined(PROTOBUF_CUSTOM_VTABLE)
3170 : ::google::protobuf::Message(arena, LinearConstraintProto_class_data_.base()) {
3171#else // PROTOBUF_CUSTOM_VTABLE
3172 : ::google::protobuf::Message(arena) {
3173#endif // PROTOBUF_CUSTOM_VTABLE
3174 SharedCtor(arena);
3175 // @@protoc_insertion_point(arena_constructor:operations_research.sat.LinearConstraintProto)
3176}
3177PROTOBUF_NDEBUG_INLINE LinearConstraintProto::Impl_::Impl_(
3178 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
3179 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
3180 [[maybe_unused]] const ::operations_research::sat::LinearConstraintProto& from_msg)
3181 : _has_bits_{from._has_bits_},
3182 _cached_size_{0},
3183 vars_{visibility, arena, from.vars_},
3184 _vars_cached_byte_size_{0},
3185 coeffs_{visibility, arena, from.coeffs_},
3186 _coeffs_cached_byte_size_{0},
3187 domain_{visibility, arena, from.domain_},
3188 _domain_cached_byte_size_{0} {}
3189
3191 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
3192 const LinearConstraintProto& from)
3193#if defined(PROTOBUF_CUSTOM_VTABLE)
3194 : ::google::protobuf::Message(arena, LinearConstraintProto_class_data_.base()) {
3195#else // PROTOBUF_CUSTOM_VTABLE
3196 : ::google::protobuf::Message(arena) {
3197#endif // PROTOBUF_CUSTOM_VTABLE
3198 LinearConstraintProto* const _this = this;
3199 (void)_this;
3200 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
3201 from._internal_metadata_);
3202 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
3203
3204 // @@protoc_insertion_point(copy_constructor:operations_research.sat.LinearConstraintProto)
3205}
3206PROTOBUF_NDEBUG_INLINE LinearConstraintProto::Impl_::Impl_(
3207 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
3208 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
3209 : _cached_size_{0},
3210 vars_{visibility, arena},
3211 _vars_cached_byte_size_{0},
3212 coeffs_{visibility, arena},
3213 _coeffs_cached_byte_size_{0},
3214 domain_{visibility, arena},
3215 _domain_cached_byte_size_{0} {}
3216
3217inline void LinearConstraintProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
3218 new (&_impl_) Impl_(internal_visibility(), arena);
3219}
3221 // @@protoc_insertion_point(destructor:operations_research.sat.LinearConstraintProto)
3222 SharedDtor(*this);
3223}
3224inline void LinearConstraintProto::SharedDtor(MessageLite& self) {
3225 LinearConstraintProto& this_ = static_cast<LinearConstraintProto&>(self);
3226 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3227 this_.CheckHasBitConsistency();
3228 }
3229 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
3230 ABSL_DCHECK(this_.GetArena() == nullptr);
3231 this_._impl_.~Impl_();
3232}
3233
3234inline void* PROTOBUF_NONNULL LinearConstraintProto::PlacementNew_(
3235 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
3236 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
3237 return ::new (mem) LinearConstraintProto(arena);
3238}
3239constexpr auto LinearConstraintProto::InternalNewImpl_() {
3240 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
3241 PROTOBUF_FIELD_OFFSET(LinearConstraintProto, _impl_.vars_) +
3242 decltype(LinearConstraintProto::_impl_.vars_)::
3243 InternalGetArenaOffset(
3244 ::google::protobuf::Message::internal_visibility()),
3245 PROTOBUF_FIELD_OFFSET(LinearConstraintProto, _impl_.coeffs_) +
3246 decltype(LinearConstraintProto::_impl_.coeffs_)::
3247 InternalGetArenaOffset(
3248 ::google::protobuf::Message::internal_visibility()),
3249 PROTOBUF_FIELD_OFFSET(LinearConstraintProto, _impl_.domain_) +
3250 decltype(LinearConstraintProto::_impl_.domain_)::
3251 InternalGetArenaOffset(
3252 ::google::protobuf::Message::internal_visibility()),
3253 });
3254 if (arena_bits.has_value()) {
3255 return ::google::protobuf::internal::MessageCreator::ZeroInit(
3256 sizeof(LinearConstraintProto), alignof(LinearConstraintProto), *arena_bits);
3257 } else {
3258 return ::google::protobuf::internal::MessageCreator(&LinearConstraintProto::PlacementNew_,
3259 sizeof(LinearConstraintProto),
3260 alignof(LinearConstraintProto));
3261 }
3262}
3264 return ::google::protobuf::internal::ClassDataFull{
3265 ::google::protobuf::internal::ClassData{
3267 &_table_.header,
3268 nullptr, // OnDemandRegisterArenaDtor
3269 nullptr, // IsInitialized
3270 &LinearConstraintProto::MergeImpl,
3271 ::google::protobuf::Message::GetNewImpl<LinearConstraintProto>(),
3272#if defined(PROTOBUF_CUSTOM_VTABLE)
3273 &LinearConstraintProto::SharedDtor,
3274 ::google::protobuf::Message::GetClearImpl<LinearConstraintProto>(), &LinearConstraintProto::ByteSizeLong,
3276#endif // PROTOBUF_CUSTOM_VTABLE
3277 PROTOBUF_FIELD_OFFSET(LinearConstraintProto, _impl_._cached_size_),
3278 false,
3279 },
3280 &LinearConstraintProto::kDescriptorMethods,
3282 nullptr, // tracker
3283 };
3284}
3285
3286PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
3287 ::google::protobuf::internal::ClassDataFull LinearConstraintProto_class_data_ =
3289
3290PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
3291LinearConstraintProto::GetClassData() const {
3292 ::google::protobuf::internal::PrefetchToLocalCache(&LinearConstraintProto_class_data_);
3293 ::google::protobuf::internal::PrefetchToLocalCache(LinearConstraintProto_class_data_.tc_table);
3295}
3296PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
3297const ::_pbi::TcParseTable<2, 3, 0, 0, 2>
3298LinearConstraintProto::_table_ = {
3299 {
3300 PROTOBUF_FIELD_OFFSET(LinearConstraintProto, _impl_._has_bits_),
3301 0, // no _extensions_
3302 3, 24, // max_field_number, fast_idx_mask
3303 offsetof(decltype(_table_), field_lookup_table),
3304 4294967288, // skipmap
3305 offsetof(decltype(_table_), field_entries),
3306 3, // num_field_entries
3307 0, // num_aux_entries
3308 offsetof(decltype(_table_), field_names), // no aux_entries
3310 nullptr, // post_loop_handler
3311 ::_pbi::TcParser::GenericFallback, // fallback
3312 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
3313 ::_pbi::TcParser::GetTable<::operations_research::sat::LinearConstraintProto>(), // to_prefetch
3314 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
3315 }, {{
3316 {::_pbi::TcParser::MiniParse, {}},
3317 // repeated int32 vars = 1;
3318 {::_pbi::TcParser::FastV32P1,
3319 {10, 0, 0,
3320 PROTOBUF_FIELD_OFFSET(LinearConstraintProto, _impl_.vars_)}},
3321 // repeated int64 coeffs = 2;
3322 {::_pbi::TcParser::FastV64P1,
3323 {18, 1, 0,
3324 PROTOBUF_FIELD_OFFSET(LinearConstraintProto, _impl_.coeffs_)}},
3325 // repeated int64 domain = 3;
3326 {::_pbi::TcParser::FastV64P1,
3327 {26, 2, 0,
3328 PROTOBUF_FIELD_OFFSET(LinearConstraintProto, _impl_.domain_)}},
3329 }}, {{
3330 65535, 65535
3331 }}, {{
3332 // repeated int32 vars = 1;
3333 {PROTOBUF_FIELD_OFFSET(LinearConstraintProto, _impl_.vars_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
3334 // repeated int64 coeffs = 2;
3335 {PROTOBUF_FIELD_OFFSET(LinearConstraintProto, _impl_.coeffs_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt64)},
3336 // repeated int64 domain = 3;
3337 {PROTOBUF_FIELD_OFFSET(LinearConstraintProto, _impl_.domain_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt64)},
3338 }},
3339 // no aux_entries
3340 {{
3341 }},
3342};
3343PROTOBUF_NOINLINE void LinearConstraintProto::Clear() {
3344// @@protoc_insertion_point(message_clear_start:operations_research.sat.LinearConstraintProto)
3345 ::google::protobuf::internal::TSanWrite(&_impl_);
3346 ::uint32_t cached_has_bits = 0;
3347 // Prevent compiler warnings about cached_has_bits being unused
3348 (void) cached_has_bits;
3350 cached_has_bits = _impl_._has_bits_[0];
3351 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
3352 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3353 _impl_.vars_.Clear();
3354 }
3355 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
3356 _impl_.coeffs_.Clear();
3357 }
3358 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
3359 _impl_.domain_.Clear();
3360 }
3361 }
3362 _impl_._has_bits_.Clear();
3363 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
3364}
3365
3366#if defined(PROTOBUF_CUSTOM_VTABLE)
3367::uint8_t* PROTOBUF_NONNULL LinearConstraintProto::_InternalSerialize(
3368 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
3369 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
3370 const LinearConstraintProto& this_ = static_cast<const LinearConstraintProto&>(base);
3371#else // PROTOBUF_CUSTOM_VTABLE
3372::uint8_t* PROTOBUF_NONNULL LinearConstraintProto::_InternalSerialize(
3373 ::uint8_t* PROTOBUF_NONNULL target,
3374 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
3375 const LinearConstraintProto& this_ = *this;
3376#endif // PROTOBUF_CUSTOM_VTABLE
3377 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3378 this_.CheckHasBitConsistency();
3379 }
3380 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.LinearConstraintProto)
3381 ::uint32_t cached_has_bits = 0;
3382 (void)cached_has_bits;
3383
3384 cached_has_bits = this_._impl_._has_bits_[0];
3385 // repeated int32 vars = 1;
3386 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3387 {
3388 int byte_size = this_._impl_._vars_cached_byte_size_.Get();
3389 if (byte_size > 0) {
3390 target = stream->WriteInt32Packed(
3391 1, this_._internal_vars(), byte_size, target);
3392 }
3393 }
3394 }
3395
3396 // repeated int64 coeffs = 2;
3397 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
3398 {
3399 int byte_size = this_._impl_._coeffs_cached_byte_size_.Get();
3400 if (byte_size > 0) {
3401 target = stream->WriteInt64Packed(
3402 2, this_._internal_coeffs(), byte_size, target);
3403 }
3404 }
3405 }
3406
3407 // repeated int64 domain = 3;
3408 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
3409 {
3410 int byte_size = this_._impl_._domain_cached_byte_size_.Get();
3411 if (byte_size > 0) {
3412 target = stream->WriteInt64Packed(
3413 3, this_._internal_domain(), byte_size, target);
3414 }
3415 }
3416 }
3417
3418 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
3419 target =
3420 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
3421 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
3422 }
3423 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.LinearConstraintProto)
3424 return target;
3425}
3426
3427#if defined(PROTOBUF_CUSTOM_VTABLE)
3429 const LinearConstraintProto& this_ = static_cast<const LinearConstraintProto&>(base);
3430#else // PROTOBUF_CUSTOM_VTABLE
3431::size_t LinearConstraintProto::ByteSizeLong() const {
3432 const LinearConstraintProto& this_ = *this;
3433#endif // PROTOBUF_CUSTOM_VTABLE
3434 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.LinearConstraintProto)
3435 ::size_t total_size = 0;
3436
3437 ::uint32_t cached_has_bits = 0;
3438 // Prevent compiler warnings about cached_has_bits being unused
3439 (void)cached_has_bits;
3440
3441 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
3442 cached_has_bits = this_._impl_._has_bits_[0];
3443 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
3444 // repeated int32 vars = 1;
3445 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3446 total_size +=
3447 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
3448 this_._internal_vars(), 1,
3449 this_._impl_._vars_cached_byte_size_);
3450 }
3451 // repeated int64 coeffs = 2;
3452 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
3453 total_size +=
3454 ::_pbi::WireFormatLite::Int64SizeWithPackedTagSize(
3455 this_._internal_coeffs(), 1,
3456 this_._impl_._coeffs_cached_byte_size_);
3457 }
3458 // repeated int64 domain = 3;
3459 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
3460 total_size +=
3461 ::_pbi::WireFormatLite::Int64SizeWithPackedTagSize(
3462 this_._internal_domain(), 1,
3463 this_._impl_._domain_cached_byte_size_);
3464 }
3465 }
3466 return this_.MaybeComputeUnknownFieldsSize(total_size,
3467 &this_._impl_._cached_size_);
3468}
3469
3470void LinearConstraintProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
3471 const ::google::protobuf::MessageLite& from_msg) {
3472 auto* const _this =
3473 static_cast<LinearConstraintProto*>(&to_msg);
3474 auto& from = static_cast<const LinearConstraintProto&>(from_msg);
3475 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3476 from.CheckHasBitConsistency();
3477 }
3478 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.LinearConstraintProto)
3479 ABSL_DCHECK_NE(&from, _this);
3480 ::uint32_t cached_has_bits = 0;
3481 (void)cached_has_bits;
3482
3483 cached_has_bits = from._impl_._has_bits_[0];
3484 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
3485 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3486 _this->_internal_mutable_vars()->MergeFrom(from._internal_vars());
3487 }
3488 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
3489 _this->_internal_mutable_coeffs()->MergeFrom(from._internal_coeffs());
3490 }
3491 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
3492 _this->_internal_mutable_domain()->MergeFrom(from._internal_domain());
3493 }
3494 }
3495 _this->_impl_._has_bits_[0] |= cached_has_bits;
3496 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
3497 from._internal_metadata_);
3498}
3499
3500void LinearConstraintProto::CopyFrom(const LinearConstraintProto& from) {
3501 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.LinearConstraintProto)
3502 if (&from == this) return;
3503 Clear();
3504 MergeFrom(from);
3505}
3507
3508void LinearConstraintProto::InternalSwap(LinearConstraintProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
3509 using ::std::swap;
3510 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
3511 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
3512 _impl_.vars_.InternalSwap(&other->_impl_.vars_);
3513 _impl_.coeffs_.InternalSwap(&other->_impl_.coeffs_);
3514 _impl_.domain_.InternalSwap(&other->_impl_.domain_);
3515}
3516
3517::google::protobuf::Metadata LinearConstraintProto::GetMetadata() const {
3518 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
3519}
3520// ===================================================================
3521
3522class ElementConstraintProto::_Internal {
3523 public:
3524 using HasBits =
3525 decltype(::std::declval<ElementConstraintProto>()._impl_._has_bits_);
3526 static constexpr ::int32_t kHasBitsOffset =
3527 8 * PROTOBUF_FIELD_OFFSET(ElementConstraintProto, _impl_._has_bits_);
3528};
3530ElementConstraintProto::ElementConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
3531#if defined(PROTOBUF_CUSTOM_VTABLE)
3532 : ::google::protobuf::Message(arena, ElementConstraintProto_class_data_.base()) {
3533#else // PROTOBUF_CUSTOM_VTABLE
3534 : ::google::protobuf::Message(arena) {
3535#endif // PROTOBUF_CUSTOM_VTABLE
3536 SharedCtor(arena);
3537 // @@protoc_insertion_point(arena_constructor:operations_research.sat.ElementConstraintProto)
3538}
3539PROTOBUF_NDEBUG_INLINE ElementConstraintProto::Impl_::Impl_(
3540 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
3541 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
3542 [[maybe_unused]] const ::operations_research::sat::ElementConstraintProto& from_msg)
3543 : _has_bits_{from._has_bits_},
3544 _cached_size_{0},
3545 vars_{visibility, arena, from.vars_},
3546 _vars_cached_byte_size_{0},
3547 exprs_{visibility, arena, from.exprs_} {}
3548
3550 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
3551 const ElementConstraintProto& from)
3552#if defined(PROTOBUF_CUSTOM_VTABLE)
3553 : ::google::protobuf::Message(arena, ElementConstraintProto_class_data_.base()) {
3554#else // PROTOBUF_CUSTOM_VTABLE
3555 : ::google::protobuf::Message(arena) {
3556#endif // PROTOBUF_CUSTOM_VTABLE
3557 ElementConstraintProto* const _this = this;
3558 (void)_this;
3559 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
3560 from._internal_metadata_);
3561 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
3562 ::uint32_t cached_has_bits = _impl_._has_bits_[0];
3563 _impl_.linear_index_ = (CheckHasBit(cached_has_bits, 0x00000004U))
3564 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.linear_index_)
3565 : nullptr;
3566 _impl_.linear_target_ = (CheckHasBit(cached_has_bits, 0x00000008U))
3567 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.linear_target_)
3568 : nullptr;
3569 ::memcpy(reinterpret_cast<char*>(&_impl_) +
3570 offsetof(Impl_, index_),
3571 reinterpret_cast<const char*>(&from._impl_) +
3572 offsetof(Impl_, index_),
3573 offsetof(Impl_, target_) -
3574 offsetof(Impl_, index_) +
3575 sizeof(Impl_::target_));
3576
3577 // @@protoc_insertion_point(copy_constructor:operations_research.sat.ElementConstraintProto)
3578}
3579PROTOBUF_NDEBUG_INLINE ElementConstraintProto::Impl_::Impl_(
3580 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
3581 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
3582 : _cached_size_{0},
3583 vars_{visibility, arena},
3584 _vars_cached_byte_size_{0},
3585 exprs_{visibility, arena} {}
3586
3587inline void ElementConstraintProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
3588 new (&_impl_) Impl_(internal_visibility(), arena);
3589 ::memset(reinterpret_cast<char*>(&_impl_) +
3590 offsetof(Impl_, linear_index_),
3591 0,
3592 offsetof(Impl_, target_) -
3593 offsetof(Impl_, linear_index_) +
3594 sizeof(Impl_::target_));
3595}
3597 // @@protoc_insertion_point(destructor:operations_research.sat.ElementConstraintProto)
3598 SharedDtor(*this);
3599}
3600inline void ElementConstraintProto::SharedDtor(MessageLite& self) {
3601 ElementConstraintProto& this_ = static_cast<ElementConstraintProto&>(self);
3602 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3603 this_.CheckHasBitConsistency();
3604 }
3605 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
3606 ABSL_DCHECK(this_.GetArena() == nullptr);
3607 delete this_._impl_.linear_index_;
3608 delete this_._impl_.linear_target_;
3609 this_._impl_.~Impl_();
3610}
3611
3612inline void* PROTOBUF_NONNULL ElementConstraintProto::PlacementNew_(
3613 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
3614 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
3615 return ::new (mem) ElementConstraintProto(arena);
3616}
3617constexpr auto ElementConstraintProto::InternalNewImpl_() {
3618 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
3619 PROTOBUF_FIELD_OFFSET(ElementConstraintProto, _impl_.vars_) +
3620 decltype(ElementConstraintProto::_impl_.vars_)::
3621 InternalGetArenaOffset(
3622 ::google::protobuf::Message::internal_visibility()),
3623 PROTOBUF_FIELD_OFFSET(ElementConstraintProto, _impl_.exprs_) +
3624 decltype(ElementConstraintProto::_impl_.exprs_)::
3625 InternalGetArenaOffset(
3626 ::google::protobuf::Message::internal_visibility()),
3627 });
3628 if (arena_bits.has_value()) {
3629 return ::google::protobuf::internal::MessageCreator::ZeroInit(
3630 sizeof(ElementConstraintProto), alignof(ElementConstraintProto), *arena_bits);
3631 } else {
3632 return ::google::protobuf::internal::MessageCreator(&ElementConstraintProto::PlacementNew_,
3633 sizeof(ElementConstraintProto),
3634 alignof(ElementConstraintProto));
3635 }
3636}
3638 return ::google::protobuf::internal::ClassDataFull{
3639 ::google::protobuf::internal::ClassData{
3641 &_table_.header,
3642 nullptr, // OnDemandRegisterArenaDtor
3643 nullptr, // IsInitialized
3644 &ElementConstraintProto::MergeImpl,
3645 ::google::protobuf::Message::GetNewImpl<ElementConstraintProto>(),
3646#if defined(PROTOBUF_CUSTOM_VTABLE)
3647 &ElementConstraintProto::SharedDtor,
3648 ::google::protobuf::Message::GetClearImpl<ElementConstraintProto>(), &ElementConstraintProto::ByteSizeLong,
3650#endif // PROTOBUF_CUSTOM_VTABLE
3651 PROTOBUF_FIELD_OFFSET(ElementConstraintProto, _impl_._cached_size_),
3652 false,
3653 },
3654 &ElementConstraintProto::kDescriptorMethods,
3656 nullptr, // tracker
3657 };
3658}
3659
3660PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
3661 ::google::protobuf::internal::ClassDataFull ElementConstraintProto_class_data_ =
3663
3664PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
3665ElementConstraintProto::GetClassData() const {
3666 ::google::protobuf::internal::PrefetchToLocalCache(&ElementConstraintProto_class_data_);
3667 ::google::protobuf::internal::PrefetchToLocalCache(ElementConstraintProto_class_data_.tc_table);
3669}
3670PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
3671const ::_pbi::TcParseTable<3, 6, 3, 0, 2>
3672ElementConstraintProto::_table_ = {
3673 {
3674 PROTOBUF_FIELD_OFFSET(ElementConstraintProto, _impl_._has_bits_),
3675 0, // no _extensions_
3676 6, 56, // max_field_number, fast_idx_mask
3677 offsetof(decltype(_table_), field_lookup_table),
3678 4294967232, // skipmap
3679 offsetof(decltype(_table_), field_entries),
3680 6, // num_field_entries
3681 3, // num_aux_entries
3682 offsetof(decltype(_table_), aux_entries),
3684 nullptr, // post_loop_handler
3685 ::_pbi::TcParser::GenericFallback, // fallback
3686 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
3687 ::_pbi::TcParser::GetTable<::operations_research::sat::ElementConstraintProto>(), // to_prefetch
3688 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
3689 }, {{
3690 {::_pbi::TcParser::MiniParse, {}},
3691 // int32 index = 1;
3692 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ElementConstraintProto, _impl_.index_), 4>(),
3693 {8, 4, 0,
3694 PROTOBUF_FIELD_OFFSET(ElementConstraintProto, _impl_.index_)}},
3695 // int32 target = 2;
3696 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ElementConstraintProto, _impl_.target_), 5>(),
3697 {16, 5, 0,
3698 PROTOBUF_FIELD_OFFSET(ElementConstraintProto, _impl_.target_)}},
3699 // repeated int32 vars = 3;
3700 {::_pbi::TcParser::FastV32P1,
3701 {26, 0, 0,
3702 PROTOBUF_FIELD_OFFSET(ElementConstraintProto, _impl_.vars_)}},
3703 // .operations_research.sat.LinearExpressionProto linear_index = 4;
3704 {::_pbi::TcParser::FastMtS1,
3705 {34, 2, 0,
3706 PROTOBUF_FIELD_OFFSET(ElementConstraintProto, _impl_.linear_index_)}},
3707 // .operations_research.sat.LinearExpressionProto linear_target = 5;
3708 {::_pbi::TcParser::FastMtS1,
3709 {42, 3, 1,
3710 PROTOBUF_FIELD_OFFSET(ElementConstraintProto, _impl_.linear_target_)}},
3711 // repeated .operations_research.sat.LinearExpressionProto exprs = 6;
3712 {::_pbi::TcParser::FastMtR1,
3713 {50, 1, 2,
3714 PROTOBUF_FIELD_OFFSET(ElementConstraintProto, _impl_.exprs_)}},
3715 {::_pbi::TcParser::MiniParse, {}},
3716 }}, {{
3717 65535, 65535
3718 }}, {{
3719 // int32 index = 1;
3720 {PROTOBUF_FIELD_OFFSET(ElementConstraintProto, _impl_.index_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
3721 // int32 target = 2;
3722 {PROTOBUF_FIELD_OFFSET(ElementConstraintProto, _impl_.target_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
3723 // repeated int32 vars = 3;
3724 {PROTOBUF_FIELD_OFFSET(ElementConstraintProto, _impl_.vars_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
3725 // .operations_research.sat.LinearExpressionProto linear_index = 4;
3726 {PROTOBUF_FIELD_OFFSET(ElementConstraintProto, _impl_.linear_index_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
3727 // .operations_research.sat.LinearExpressionProto linear_target = 5;
3728 {PROTOBUF_FIELD_OFFSET(ElementConstraintProto, _impl_.linear_target_), _Internal::kHasBitsOffset + 3, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
3729 // repeated .operations_research.sat.LinearExpressionProto exprs = 6;
3730 {PROTOBUF_FIELD_OFFSET(ElementConstraintProto, _impl_.exprs_), _Internal::kHasBitsOffset + 1, 2, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
3731 }},
3732 {{
3733 {::_pbi::TcParser::GetTable<::operations_research::sat::LinearExpressionProto>()},
3734 {::_pbi::TcParser::GetTable<::operations_research::sat::LinearExpressionProto>()},
3735 {::_pbi::TcParser::GetTable<::operations_research::sat::LinearExpressionProto>()},
3736 }},
3737 {{
3738 }},
3739};
3740PROTOBUF_NOINLINE void ElementConstraintProto::Clear() {
3741// @@protoc_insertion_point(message_clear_start:operations_research.sat.ElementConstraintProto)
3742 ::google::protobuf::internal::TSanWrite(&_impl_);
3743 ::uint32_t cached_has_bits = 0;
3744 // Prevent compiler warnings about cached_has_bits being unused
3745 (void) cached_has_bits;
3746
3747 cached_has_bits = _impl_._has_bits_[0];
3748 if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
3749 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3750 _impl_.vars_.Clear();
3751 }
3752 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
3753 _impl_.exprs_.Clear();
3754 }
3755 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
3756 ABSL_DCHECK(_impl_.linear_index_ != nullptr);
3757 _impl_.linear_index_->Clear();
3758 }
3759 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
3760 ABSL_DCHECK(_impl_.linear_target_ != nullptr);
3761 _impl_.linear_target_->Clear();
3762 }
3763 }
3764 if (BatchCheckHasBit(cached_has_bits, 0x00000030U)) {
3765 ::memset(&_impl_.index_, 0, static_cast<::size_t>(
3766 reinterpret_cast<char*>(&_impl_.target_) -
3767 reinterpret_cast<char*>(&_impl_.index_)) + sizeof(_impl_.target_));
3768 }
3769 _impl_._has_bits_.Clear();
3770 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
3771}
3772
3773#if defined(PROTOBUF_CUSTOM_VTABLE)
3774::uint8_t* PROTOBUF_NONNULL ElementConstraintProto::_InternalSerialize(
3775 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
3776 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
3777 const ElementConstraintProto& this_ = static_cast<const ElementConstraintProto&>(base);
3778#else // PROTOBUF_CUSTOM_VTABLE
3779::uint8_t* PROTOBUF_NONNULL ElementConstraintProto::_InternalSerialize(
3780 ::uint8_t* PROTOBUF_NONNULL target,
3781 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
3782 const ElementConstraintProto& this_ = *this;
3783#endif // PROTOBUF_CUSTOM_VTABLE
3784 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3785 this_.CheckHasBitConsistency();
3787 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.ElementConstraintProto)
3788 ::uint32_t cached_has_bits = 0;
3789 (void)cached_has_bits;
3790
3791 cached_has_bits = this_._impl_._has_bits_[0];
3792 // int32 index = 1;
3793 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
3794 if (this_._internal_index() != 0) {
3795 target =
3796 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
3797 stream, this_._internal_index(), target);
3798 }
3799 }
3800
3801 // int32 target = 2;
3802 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
3803 if (this_._internal_target() != 0) {
3804 target =
3805 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
3806 stream, this_._internal_target(), target);
3807 }
3808 }
3809
3810 // repeated int32 vars = 3;
3811 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3812 {
3813 int byte_size = this_._impl_._vars_cached_byte_size_.Get();
3814 if (byte_size > 0) {
3815 target = stream->WriteInt32Packed(
3816 3, this_._internal_vars(), byte_size, target);
3817 }
3818 }
3819 }
3820
3821 // .operations_research.sat.LinearExpressionProto linear_index = 4;
3822 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
3823 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
3824 4, *this_._impl_.linear_index_, this_._impl_.linear_index_->GetCachedSize(), target,
3825 stream);
3826 }
3827
3828 // .operations_research.sat.LinearExpressionProto linear_target = 5;
3829 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
3830 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
3831 5, *this_._impl_.linear_target_, this_._impl_.linear_target_->GetCachedSize(), target,
3832 stream);
3833 }
3834
3835 // repeated .operations_research.sat.LinearExpressionProto exprs = 6;
3836 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
3837 for (unsigned i = 0, n = static_cast<unsigned>(
3838 this_._internal_exprs_size());
3839 i < n; i++) {
3840 const auto& repfield = this_._internal_exprs().Get(i);
3841 target =
3842 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
3843 6, repfield, repfield.GetCachedSize(),
3844 target, stream);
3845 }
3846 }
3847
3848 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
3849 target =
3850 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
3851 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
3852 }
3853 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.ElementConstraintProto)
3854 return target;
3855}
3856
3857#if defined(PROTOBUF_CUSTOM_VTABLE)
3859 const ElementConstraintProto& this_ = static_cast<const ElementConstraintProto&>(base);
3860#else // PROTOBUF_CUSTOM_VTABLE
3861::size_t ElementConstraintProto::ByteSizeLong() const {
3862 const ElementConstraintProto& this_ = *this;
3863#endif // PROTOBUF_CUSTOM_VTABLE
3864 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.ElementConstraintProto)
3865 ::size_t total_size = 0;
3866
3867 ::uint32_t cached_has_bits = 0;
3868 // Prevent compiler warnings about cached_has_bits being unused
3869 (void)cached_has_bits;
3870
3871 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
3872 cached_has_bits = this_._impl_._has_bits_[0];
3873 if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) {
3874 // repeated int32 vars = 3;
3875 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3876 total_size +=
3877 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
3878 this_._internal_vars(), 1,
3879 this_._impl_._vars_cached_byte_size_);
3880 }
3881 // repeated .operations_research.sat.LinearExpressionProto exprs = 6;
3882 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
3883 total_size += 1UL * this_._internal_exprs_size();
3884 for (const auto& msg : this_._internal_exprs()) {
3885 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
3886 }
3887 }
3888 // .operations_research.sat.LinearExpressionProto linear_index = 4;
3889 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
3890 total_size += 1 +
3891 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.linear_index_);
3892 }
3893 // .operations_research.sat.LinearExpressionProto linear_target = 5;
3894 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
3895 total_size += 1 +
3896 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.linear_target_);
3897 }
3898 // int32 index = 1;
3899 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
3900 if (this_._internal_index() != 0) {
3901 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
3902 this_._internal_index());
3903 }
3904 }
3905 // int32 target = 2;
3906 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
3907 if (this_._internal_target() != 0) {
3908 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
3909 this_._internal_target());
3910 }
3911 }
3912 }
3913 return this_.MaybeComputeUnknownFieldsSize(total_size,
3914 &this_._impl_._cached_size_);
3915}
3916
3917void ElementConstraintProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
3918 const ::google::protobuf::MessageLite& from_msg) {
3919 auto* const _this =
3920 static_cast<ElementConstraintProto*>(&to_msg);
3921 auto& from = static_cast<const ElementConstraintProto&>(from_msg);
3922 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
3923 from.CheckHasBitConsistency();
3924 }
3925 ::google::protobuf::Arena* arena = _this->GetArena();
3926 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.ElementConstraintProto)
3927 ABSL_DCHECK_NE(&from, _this);
3928 ::uint32_t cached_has_bits = 0;
3929 (void)cached_has_bits;
3930
3931 cached_has_bits = from._impl_._has_bits_[0];
3932 if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) {
3933 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
3934 _this->_internal_mutable_vars()->MergeFrom(from._internal_vars());
3935 }
3936 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
3937 _this->_internal_mutable_exprs()->InternalMergeFromWithArena(
3938 ::google::protobuf::MessageLite::internal_visibility(), arena,
3939 from._internal_exprs());
3940 }
3941 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
3942 ABSL_DCHECK(from._impl_.linear_index_ != nullptr);
3943 if (_this->_impl_.linear_index_ == nullptr) {
3944 _this->_impl_.linear_index_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.linear_index_);
3945 } else {
3946 _this->_impl_.linear_index_->MergeFrom(*from._impl_.linear_index_);
3947 }
3948 }
3949 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
3950 ABSL_DCHECK(from._impl_.linear_target_ != nullptr);
3951 if (_this->_impl_.linear_target_ == nullptr) {
3952 _this->_impl_.linear_target_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.linear_target_);
3953 } else {
3954 _this->_impl_.linear_target_->MergeFrom(*from._impl_.linear_target_);
3955 }
3956 }
3957 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
3958 if (from._internal_index() != 0) {
3959 _this->_impl_.index_ = from._impl_.index_;
3960 }
3961 }
3962 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
3963 if (from._internal_target() != 0) {
3964 _this->_impl_.target_ = from._impl_.target_;
3965 }
3966 }
3967 }
3968 _this->_impl_._has_bits_[0] |= cached_has_bits;
3969 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
3970 from._internal_metadata_);
3971}
3972
3974 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.ElementConstraintProto)
3975 if (&from == this) return;
3976 Clear();
3977 MergeFrom(from);
3978}
3979
3981void ElementConstraintProto::InternalSwap(ElementConstraintProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
3982 using ::std::swap;
3983 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
3984 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
3985 _impl_.vars_.InternalSwap(&other->_impl_.vars_);
3986 _impl_.exprs_.InternalSwap(&other->_impl_.exprs_);
3987 ::google::protobuf::internal::memswap<
3988 PROTOBUF_FIELD_OFFSET(ElementConstraintProto, _impl_.target_)
3989 + sizeof(ElementConstraintProto::_impl_.target_)
3990 - PROTOBUF_FIELD_OFFSET(ElementConstraintProto, _impl_.linear_index_)>(
3991 reinterpret_cast<char*>(&_impl_.linear_index_),
3992 reinterpret_cast<char*>(&other->_impl_.linear_index_));
3993}
3994
3995::google::protobuf::Metadata ElementConstraintProto::GetMetadata() const {
3996 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
3997}
3998// ===================================================================
3999
4000class IntervalConstraintProto::_Internal {
4001 public:
4002 using HasBits =
4003 decltype(::std::declval<IntervalConstraintProto>()._impl_._has_bits_);
4004 static constexpr ::int32_t kHasBitsOffset =
4005 8 * PROTOBUF_FIELD_OFFSET(IntervalConstraintProto, _impl_._has_bits_);
4006};
4007
4008IntervalConstraintProto::IntervalConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
4009#if defined(PROTOBUF_CUSTOM_VTABLE)
4010 : ::google::protobuf::Message(arena, IntervalConstraintProto_class_data_.base()) {
4011#else // PROTOBUF_CUSTOM_VTABLE
4012 : ::google::protobuf::Message(arena) {
4013#endif // PROTOBUF_CUSTOM_VTABLE
4014 SharedCtor(arena);
4015 // @@protoc_insertion_point(arena_constructor:operations_research.sat.IntervalConstraintProto)
4016}
4017PROTOBUF_NDEBUG_INLINE IntervalConstraintProto::Impl_::Impl_(
4018 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
4019 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
4020 [[maybe_unused]] const ::operations_research::sat::IntervalConstraintProto& from_msg)
4021 : _has_bits_{from._has_bits_},
4022 _cached_size_{0} {}
4023
4025 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
4026 const IntervalConstraintProto& from)
4027#if defined(PROTOBUF_CUSTOM_VTABLE)
4028 : ::google::protobuf::Message(arena, IntervalConstraintProto_class_data_.base()) {
4029#else // PROTOBUF_CUSTOM_VTABLE
4030 : ::google::protobuf::Message(arena) {
4031#endif // PROTOBUF_CUSTOM_VTABLE
4032 IntervalConstraintProto* const _this = this;
4033 (void)_this;
4034 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
4035 from._internal_metadata_);
4036 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
4037 ::uint32_t cached_has_bits = _impl_._has_bits_[0];
4038 _impl_.start_ = (CheckHasBit(cached_has_bits, 0x00000001U))
4039 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.start_)
4040 : nullptr;
4041 _impl_.end_ = (CheckHasBit(cached_has_bits, 0x00000002U))
4042 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.end_)
4043 : nullptr;
4044 _impl_.size_ = (CheckHasBit(cached_has_bits, 0x00000004U))
4045 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.size_)
4046 : nullptr;
4047
4048 // @@protoc_insertion_point(copy_constructor:operations_research.sat.IntervalConstraintProto)
4049}
4050PROTOBUF_NDEBUG_INLINE IntervalConstraintProto::Impl_::Impl_(
4051 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
4052 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
4053 : _cached_size_{0} {}
4054
4055inline void IntervalConstraintProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
4056 new (&_impl_) Impl_(internal_visibility(), arena);
4057 ::memset(reinterpret_cast<char*>(&_impl_) +
4058 offsetof(Impl_, start_),
4059 0,
4060 offsetof(Impl_, size_) -
4061 offsetof(Impl_, start_) +
4062 sizeof(Impl_::size_));
4063}
4065 // @@protoc_insertion_point(destructor:operations_research.sat.IntervalConstraintProto)
4066 SharedDtor(*this);
4067}
4068inline void IntervalConstraintProto::SharedDtor(MessageLite& self) {
4069 IntervalConstraintProto& this_ = static_cast<IntervalConstraintProto&>(self);
4070 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
4071 this_.CheckHasBitConsistency();
4073 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
4074 ABSL_DCHECK(this_.GetArena() == nullptr);
4075 delete this_._impl_.start_;
4076 delete this_._impl_.end_;
4077 delete this_._impl_.size_;
4078 this_._impl_.~Impl_();
4079}
4080
4081inline void* PROTOBUF_NONNULL IntervalConstraintProto::PlacementNew_(
4082 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
4083 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
4084 return ::new (mem) IntervalConstraintProto(arena);
4085}
4086constexpr auto IntervalConstraintProto::InternalNewImpl_() {
4087 return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(IntervalConstraintProto),
4088 alignof(IntervalConstraintProto));
4089}
4091 return ::google::protobuf::internal::ClassDataFull{
4092 ::google::protobuf::internal::ClassData{
4094 &_table_.header,
4095 nullptr, // OnDemandRegisterArenaDtor
4096 nullptr, // IsInitialized
4097 &IntervalConstraintProto::MergeImpl,
4098 ::google::protobuf::Message::GetNewImpl<IntervalConstraintProto>(),
4099#if defined(PROTOBUF_CUSTOM_VTABLE)
4100 &IntervalConstraintProto::SharedDtor,
4101 ::google::protobuf::Message::GetClearImpl<IntervalConstraintProto>(), &IntervalConstraintProto::ByteSizeLong,
4103#endif // PROTOBUF_CUSTOM_VTABLE
4104 PROTOBUF_FIELD_OFFSET(IntervalConstraintProto, _impl_._cached_size_),
4105 false,
4106 },
4107 &IntervalConstraintProto::kDescriptorMethods,
4109 nullptr, // tracker
4110 };
4111}
4112
4113PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
4114 ::google::protobuf::internal::ClassDataFull IntervalConstraintProto_class_data_ =
4116
4117PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
4118IntervalConstraintProto::GetClassData() const {
4119 ::google::protobuf::internal::PrefetchToLocalCache(&IntervalConstraintProto_class_data_);
4120 ::google::protobuf::internal::PrefetchToLocalCache(IntervalConstraintProto_class_data_.tc_table);
4123PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
4124const ::_pbi::TcParseTable<2, 3, 3, 0, 2>
4125IntervalConstraintProto::_table_ = {
4126 {
4127 PROTOBUF_FIELD_OFFSET(IntervalConstraintProto, _impl_._has_bits_),
4128 0, // no _extensions_
4129 6, 24, // max_field_number, fast_idx_mask
4130 offsetof(decltype(_table_), field_lookup_table),
4131 4294967239, // skipmap
4132 offsetof(decltype(_table_), field_entries),
4133 3, // num_field_entries
4134 3, // num_aux_entries
4135 offsetof(decltype(_table_), aux_entries),
4137 nullptr, // post_loop_handler
4138 ::_pbi::TcParser::GenericFallback, // fallback
4139 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
4140 ::_pbi::TcParser::GetTable<::operations_research::sat::IntervalConstraintProto>(), // to_prefetch
4141 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
4142 }, {{
4143 // .operations_research.sat.LinearExpressionProto start = 4;
4144 {::_pbi::TcParser::FastMtS1,
4145 {34, 0, 0,
4146 PROTOBUF_FIELD_OFFSET(IntervalConstraintProto, _impl_.start_)}},
4147 // .operations_research.sat.LinearExpressionProto end = 5;
4148 {::_pbi::TcParser::FastMtS1,
4149 {42, 1, 1,
4150 PROTOBUF_FIELD_OFFSET(IntervalConstraintProto, _impl_.end_)}},
4151 // .operations_research.sat.LinearExpressionProto size = 6;
4152 {::_pbi::TcParser::FastMtS1,
4153 {50, 2, 2,
4154 PROTOBUF_FIELD_OFFSET(IntervalConstraintProto, _impl_.size_)}},
4155 {::_pbi::TcParser::MiniParse, {}},
4156 }}, {{
4157 65535, 65535
4158 }}, {{
4159 // .operations_research.sat.LinearExpressionProto start = 4;
4160 {PROTOBUF_FIELD_OFFSET(IntervalConstraintProto, _impl_.start_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
4161 // .operations_research.sat.LinearExpressionProto end = 5;
4162 {PROTOBUF_FIELD_OFFSET(IntervalConstraintProto, _impl_.end_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
4163 // .operations_research.sat.LinearExpressionProto size = 6;
4164 {PROTOBUF_FIELD_OFFSET(IntervalConstraintProto, _impl_.size_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
4165 }},
4166 {{
4167 {::_pbi::TcParser::GetTable<::operations_research::sat::LinearExpressionProto>()},
4168 {::_pbi::TcParser::GetTable<::operations_research::sat::LinearExpressionProto>()},
4169 {::_pbi::TcParser::GetTable<::operations_research::sat::LinearExpressionProto>()},
4170 }},
4171 {{
4172 }},
4173};
4174PROTOBUF_NOINLINE void IntervalConstraintProto::Clear() {
4175// @@protoc_insertion_point(message_clear_start:operations_research.sat.IntervalConstraintProto)
4176 ::google::protobuf::internal::TSanWrite(&_impl_);
4177 ::uint32_t cached_has_bits = 0;
4178 // Prevent compiler warnings about cached_has_bits being unused
4179 (void) cached_has_bits;
4180
4181 cached_has_bits = _impl_._has_bits_[0];
4182 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
4183 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
4184 ABSL_DCHECK(_impl_.start_ != nullptr);
4185 _impl_.start_->Clear();
4186 }
4187 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
4188 ABSL_DCHECK(_impl_.end_ != nullptr);
4189 _impl_.end_->Clear();
4190 }
4191 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
4192 ABSL_DCHECK(_impl_.size_ != nullptr);
4193 _impl_.size_->Clear();
4194 }
4195 }
4196 _impl_._has_bits_.Clear();
4197 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
4198}
4199
4200#if defined(PROTOBUF_CUSTOM_VTABLE)
4201::uint8_t* PROTOBUF_NONNULL IntervalConstraintProto::_InternalSerialize(
4202 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
4203 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
4204 const IntervalConstraintProto& this_ = static_cast<const IntervalConstraintProto&>(base);
4205#else // PROTOBUF_CUSTOM_VTABLE
4206::uint8_t* PROTOBUF_NONNULL IntervalConstraintProto::_InternalSerialize(
4207 ::uint8_t* PROTOBUF_NONNULL target,
4208 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
4209 const IntervalConstraintProto& this_ = *this;
4210#endif // PROTOBUF_CUSTOM_VTABLE
4211 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
4212 this_.CheckHasBitConsistency();
4213 }
4214 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.IntervalConstraintProto)
4215 ::uint32_t cached_has_bits = 0;
4216 (void)cached_has_bits;
4217
4218 cached_has_bits = this_._impl_._has_bits_[0];
4219 // .operations_research.sat.LinearExpressionProto start = 4;
4220 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
4221 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
4222 4, *this_._impl_.start_, this_._impl_.start_->GetCachedSize(), target,
4223 stream);
4224 }
4225
4226 // .operations_research.sat.LinearExpressionProto end = 5;
4227 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
4228 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
4229 5, *this_._impl_.end_, this_._impl_.end_->GetCachedSize(), target,
4230 stream);
4231 }
4232
4233 // .operations_research.sat.LinearExpressionProto size = 6;
4234 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
4235 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
4236 6, *this_._impl_.size_, this_._impl_.size_->GetCachedSize(), target,
4237 stream);
4238 }
4239
4240 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
4241 target =
4242 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
4243 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
4244 }
4245 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.IntervalConstraintProto)
4246 return target;
4247}
4248
4249#if defined(PROTOBUF_CUSTOM_VTABLE)
4251 const IntervalConstraintProto& this_ = static_cast<const IntervalConstraintProto&>(base);
4252#else // PROTOBUF_CUSTOM_VTABLE
4254 const IntervalConstraintProto& this_ = *this;
4255#endif // PROTOBUF_CUSTOM_VTABLE
4256 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.IntervalConstraintProto)
4257 ::size_t total_size = 0;
4258
4259 ::uint32_t cached_has_bits = 0;
4260 // Prevent compiler warnings about cached_has_bits being unused
4261 (void)cached_has_bits;
4262
4263 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
4264 cached_has_bits = this_._impl_._has_bits_[0];
4265 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
4266 // .operations_research.sat.LinearExpressionProto start = 4;
4267 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
4268 total_size += 1 +
4269 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.start_);
4270 }
4271 // .operations_research.sat.LinearExpressionProto end = 5;
4272 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
4273 total_size += 1 +
4274 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.end_);
4275 }
4276 // .operations_research.sat.LinearExpressionProto size = 6;
4277 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
4278 total_size += 1 +
4279 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.size_);
4280 }
4281 }
4282 return this_.MaybeComputeUnknownFieldsSize(total_size,
4283 &this_._impl_._cached_size_);
4284}
4285
4286void IntervalConstraintProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
4287 const ::google::protobuf::MessageLite& from_msg) {
4288 auto* const _this =
4289 static_cast<IntervalConstraintProto*>(&to_msg);
4290 auto& from = static_cast<const IntervalConstraintProto&>(from_msg);
4291 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
4292 from.CheckHasBitConsistency();
4293 }
4294 ::google::protobuf::Arena* arena = _this->GetArena();
4295 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.IntervalConstraintProto)
4296 ABSL_DCHECK_NE(&from, _this);
4297 ::uint32_t cached_has_bits = 0;
4298 (void)cached_has_bits;
4299
4300 cached_has_bits = from._impl_._has_bits_[0];
4301 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
4302 if (CheckHasBit(cached_has_bits, 0x00000001U)) {
4303 ABSL_DCHECK(from._impl_.start_ != nullptr);
4304 if (_this->_impl_.start_ == nullptr) {
4305 _this->_impl_.start_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.start_);
4306 } else {
4307 _this->_impl_.start_->MergeFrom(*from._impl_.start_);
4308 }
4309 }
4310 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
4311 ABSL_DCHECK(from._impl_.end_ != nullptr);
4312 if (_this->_impl_.end_ == nullptr) {
4313 _this->_impl_.end_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.end_);
4314 } else {
4315 _this->_impl_.end_->MergeFrom(*from._impl_.end_);
4316 }
4317 }
4318 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
4319 ABSL_DCHECK(from._impl_.size_ != nullptr);
4320 if (_this->_impl_.size_ == nullptr) {
4321 _this->_impl_.size_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.size_);
4322 } else {
4323 _this->_impl_.size_->MergeFrom(*from._impl_.size_);
4324 }
4325 }
4326 }
4327 _this->_impl_._has_bits_[0] |= cached_has_bits;
4328 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
4329 from._internal_metadata_);
4330}
4331
4333 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.IntervalConstraintProto)
4334 if (&from == this) return;
4335 Clear();
4336 MergeFrom(from);
4337}
4338
4339
4340void IntervalConstraintProto::InternalSwap(IntervalConstraintProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
4341 using ::std::swap;
4342 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
4343 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
4344 ::google::protobuf::internal::memswap<
4345 PROTOBUF_FIELD_OFFSET(IntervalConstraintProto, _impl_.size_)
4346 + sizeof(IntervalConstraintProto::_impl_.size_)
4347 - PROTOBUF_FIELD_OFFSET(IntervalConstraintProto, _impl_.start_)>(
4348 reinterpret_cast<char*>(&_impl_.start_),
4349 reinterpret_cast<char*>(&other->_impl_.start_));
4350}
4351
4352::google::protobuf::Metadata IntervalConstraintProto::GetMetadata() const {
4353 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
4354}
4355// ===================================================================
4356
4357class NoOverlapConstraintProto::_Internal {
4358 public:
4359 using HasBits =
4360 decltype(::std::declval<NoOverlapConstraintProto>()._impl_._has_bits_);
4361 static constexpr ::int32_t kHasBitsOffset =
4362 8 * PROTOBUF_FIELD_OFFSET(NoOverlapConstraintProto, _impl_._has_bits_);
4363};
4364
4365NoOverlapConstraintProto::NoOverlapConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
4366#if defined(PROTOBUF_CUSTOM_VTABLE)
4367 : ::google::protobuf::Message(arena, NoOverlapConstraintProto_class_data_.base()) {
4368#else // PROTOBUF_CUSTOM_VTABLE
4369 : ::google::protobuf::Message(arena) {
4370#endif // PROTOBUF_CUSTOM_VTABLE
4371 SharedCtor(arena);
4372 // @@protoc_insertion_point(arena_constructor:operations_research.sat.NoOverlapConstraintProto)
4373}
4374PROTOBUF_NDEBUG_INLINE NoOverlapConstraintProto::Impl_::Impl_(
4375 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
4376 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
4377 [[maybe_unused]] const ::operations_research::sat::NoOverlapConstraintProto& from_msg)
4378 : _has_bits_{from._has_bits_},
4379 _cached_size_{0},
4380 intervals_{visibility, arena, from.intervals_},
4381 _intervals_cached_byte_size_{0} {}
4382
4384 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
4385 const NoOverlapConstraintProto& from)
4386#if defined(PROTOBUF_CUSTOM_VTABLE)
4387 : ::google::protobuf::Message(arena, NoOverlapConstraintProto_class_data_.base()) {
4388#else // PROTOBUF_CUSTOM_VTABLE
4389 : ::google::protobuf::Message(arena) {
4390#endif // PROTOBUF_CUSTOM_VTABLE
4391 NoOverlapConstraintProto* const _this = this;
4392 (void)_this;
4393 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
4394 from._internal_metadata_);
4395 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
4396
4397 // @@protoc_insertion_point(copy_constructor:operations_research.sat.NoOverlapConstraintProto)
4398}
4399PROTOBUF_NDEBUG_INLINE NoOverlapConstraintProto::Impl_::Impl_(
4400 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
4401 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
4402 : _cached_size_{0},
4403 intervals_{visibility, arena},
4404 _intervals_cached_byte_size_{0} {}
4405
4406inline void NoOverlapConstraintProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
4407 new (&_impl_) Impl_(internal_visibility(), arena);
4408}
4410 // @@protoc_insertion_point(destructor:operations_research.sat.NoOverlapConstraintProto)
4411 SharedDtor(*this);
4412}
4413inline void NoOverlapConstraintProto::SharedDtor(MessageLite& self) {
4414 NoOverlapConstraintProto& this_ = static_cast<NoOverlapConstraintProto&>(self);
4415 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
4416 this_.CheckHasBitConsistency();
4417 }
4418 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
4419 ABSL_DCHECK(this_.GetArena() == nullptr);
4420 this_._impl_.~Impl_();
4421}
4422
4423inline void* PROTOBUF_NONNULL NoOverlapConstraintProto::PlacementNew_(
4424 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
4425 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
4426 return ::new (mem) NoOverlapConstraintProto(arena);
4427}
4428constexpr auto NoOverlapConstraintProto::InternalNewImpl_() {
4429 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
4430 PROTOBUF_FIELD_OFFSET(NoOverlapConstraintProto, _impl_.intervals_) +
4431 decltype(NoOverlapConstraintProto::_impl_.intervals_)::
4432 InternalGetArenaOffset(
4433 ::google::protobuf::Message::internal_visibility()),
4434 });
4435 if (arena_bits.has_value()) {
4436 return ::google::protobuf::internal::MessageCreator::ZeroInit(
4437 sizeof(NoOverlapConstraintProto), alignof(NoOverlapConstraintProto), *arena_bits);
4438 } else {
4439 return ::google::protobuf::internal::MessageCreator(&NoOverlapConstraintProto::PlacementNew_,
4440 sizeof(NoOverlapConstraintProto),
4441 alignof(NoOverlapConstraintProto));
4442 }
4443}
4445 return ::google::protobuf::internal::ClassDataFull{
4446 ::google::protobuf::internal::ClassData{
4448 &_table_.header,
4449 nullptr, // OnDemandRegisterArenaDtor
4450 nullptr, // IsInitialized
4451 &NoOverlapConstraintProto::MergeImpl,
4452 ::google::protobuf::Message::GetNewImpl<NoOverlapConstraintProto>(),
4453#if defined(PROTOBUF_CUSTOM_VTABLE)
4454 &NoOverlapConstraintProto::SharedDtor,
4455 ::google::protobuf::Message::GetClearImpl<NoOverlapConstraintProto>(), &NoOverlapConstraintProto::ByteSizeLong,
4457#endif // PROTOBUF_CUSTOM_VTABLE
4458 PROTOBUF_FIELD_OFFSET(NoOverlapConstraintProto, _impl_._cached_size_),
4459 false,
4460 },
4461 &NoOverlapConstraintProto::kDescriptorMethods,
4463 nullptr, // tracker
4464 };
4465}
4466
4467PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
4468 ::google::protobuf::internal::ClassDataFull NoOverlapConstraintProto_class_data_ =
4470
4471PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
4472NoOverlapConstraintProto::GetClassData() const {
4473 ::google::protobuf::internal::PrefetchToLocalCache(&NoOverlapConstraintProto_class_data_);
4474 ::google::protobuf::internal::PrefetchToLocalCache(NoOverlapConstraintProto_class_data_.tc_table);
4476}
4477PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
4478const ::_pbi::TcParseTable<0, 1, 0, 0, 2>
4479NoOverlapConstraintProto::_table_ = {
4480 {
4481 PROTOBUF_FIELD_OFFSET(NoOverlapConstraintProto, _impl_._has_bits_),
4482 0, // no _extensions_
4483 1, 0, // max_field_number, fast_idx_mask
4484 offsetof(decltype(_table_), field_lookup_table),
4485 4294967294, // skipmap
4486 offsetof(decltype(_table_), field_entries),
4487 1, // num_field_entries
4488 0, // num_aux_entries
4489 offsetof(decltype(_table_), field_names), // no aux_entries
4491 nullptr, // post_loop_handler
4492 ::_pbi::TcParser::GenericFallback, // fallback
4493 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
4494 ::_pbi::TcParser::GetTable<::operations_research::sat::NoOverlapConstraintProto>(), // to_prefetch
4495 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
4496 }, {{
4497 // repeated int32 intervals = 1;
4498 {::_pbi::TcParser::FastV32P1,
4499 {10, 0, 0,
4500 PROTOBUF_FIELD_OFFSET(NoOverlapConstraintProto, _impl_.intervals_)}},
4501 }}, {{
4502 65535, 65535
4503 }}, {{
4504 // repeated int32 intervals = 1;
4505 {PROTOBUF_FIELD_OFFSET(NoOverlapConstraintProto, _impl_.intervals_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
4506 }},
4507 // no aux_entries
4508 {{
4509 }},
4510};
4511PROTOBUF_NOINLINE void NoOverlapConstraintProto::Clear() {
4512// @@protoc_insertion_point(message_clear_start:operations_research.sat.NoOverlapConstraintProto)
4513 ::google::protobuf::internal::TSanWrite(&_impl_);
4514 ::uint32_t cached_has_bits = 0;
4515 // Prevent compiler warnings about cached_has_bits being unused
4516 (void) cached_has_bits;
4517
4518 cached_has_bits = _impl_._has_bits_[0];
4519 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
4520 _impl_.intervals_.Clear();
4521 }
4522 _impl_._has_bits_.Clear();
4523 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
4524}
4525
4526#if defined(PROTOBUF_CUSTOM_VTABLE)
4527::uint8_t* PROTOBUF_NONNULL NoOverlapConstraintProto::_InternalSerialize(
4528 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
4529 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
4530 const NoOverlapConstraintProto& this_ = static_cast<const NoOverlapConstraintProto&>(base);
4531#else // PROTOBUF_CUSTOM_VTABLE
4532::uint8_t* PROTOBUF_NONNULL NoOverlapConstraintProto::_InternalSerialize(
4533 ::uint8_t* PROTOBUF_NONNULL target,
4534 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
4535 const NoOverlapConstraintProto& this_ = *this;
4536#endif // PROTOBUF_CUSTOM_VTABLE
4537 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
4538 this_.CheckHasBitConsistency();
4539 }
4540 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.NoOverlapConstraintProto)
4541 ::uint32_t cached_has_bits = 0;
4542 (void)cached_has_bits;
4543
4544 cached_has_bits = this_._impl_._has_bits_[0];
4545 // repeated int32 intervals = 1;
4546 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
4547 {
4548 int byte_size = this_._impl_._intervals_cached_byte_size_.Get();
4549 if (byte_size > 0) {
4550 target = stream->WriteInt32Packed(
4551 1, this_._internal_intervals(), byte_size, target);
4552 }
4553 }
4554 }
4555
4556 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
4557 target =
4558 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
4559 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
4560 }
4561 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.NoOverlapConstraintProto)
4562 return target;
4563}
4564
4565#if defined(PROTOBUF_CUSTOM_VTABLE)
4567 const NoOverlapConstraintProto& this_ = static_cast<const NoOverlapConstraintProto&>(base);
4568#else // PROTOBUF_CUSTOM_VTABLE
4570 const NoOverlapConstraintProto& this_ = *this;
4571#endif // PROTOBUF_CUSTOM_VTABLE
4572 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.NoOverlapConstraintProto)
4573 ::size_t total_size = 0;
4574
4575 ::uint32_t cached_has_bits = 0;
4576 // Prevent compiler warnings about cached_has_bits being unused
4577 (void)cached_has_bits;
4579 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
4580 {
4581 // repeated int32 intervals = 1;
4582 cached_has_bits = this_._impl_._has_bits_[0];
4583 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
4584 total_size +=
4585 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
4586 this_._internal_intervals(), 1,
4587 this_._impl_._intervals_cached_byte_size_);
4588 }
4589 }
4590 return this_.MaybeComputeUnknownFieldsSize(total_size,
4591 &this_._impl_._cached_size_);
4592}
4593
4594void NoOverlapConstraintProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
4595 const ::google::protobuf::MessageLite& from_msg) {
4596 auto* const _this =
4597 static_cast<NoOverlapConstraintProto*>(&to_msg);
4598 auto& from = static_cast<const NoOverlapConstraintProto&>(from_msg);
4599 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
4600 from.CheckHasBitConsistency();
4601 }
4602 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.NoOverlapConstraintProto)
4603 ABSL_DCHECK_NE(&from, _this);
4604 ::uint32_t cached_has_bits = 0;
4605 (void)cached_has_bits;
4606
4607 cached_has_bits = from._impl_._has_bits_[0];
4608 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
4609 _this->_internal_mutable_intervals()->MergeFrom(from._internal_intervals());
4610 }
4611 _this->_impl_._has_bits_[0] |= cached_has_bits;
4612 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
4613 from._internal_metadata_);
4614}
4615
4617 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.NoOverlapConstraintProto)
4618 if (&from == this) return;
4619 Clear();
4620 MergeFrom(from);
4621}
4622
4623
4624void NoOverlapConstraintProto::InternalSwap(NoOverlapConstraintProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
4625 using ::std::swap;
4626 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
4627 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
4628 _impl_.intervals_.InternalSwap(&other->_impl_.intervals_);
4629}
4630
4631::google::protobuf::Metadata NoOverlapConstraintProto::GetMetadata() const {
4632 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
4633}
4634// ===================================================================
4635
4636class NoOverlap2DConstraintProto::_Internal {
4637 public:
4638 using HasBits =
4639 decltype(::std::declval<NoOverlap2DConstraintProto>()._impl_._has_bits_);
4640 static constexpr ::int32_t kHasBitsOffset =
4641 8 * PROTOBUF_FIELD_OFFSET(NoOverlap2DConstraintProto, _impl_._has_bits_);
4642};
4643
4644NoOverlap2DConstraintProto::NoOverlap2DConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
4645#if defined(PROTOBUF_CUSTOM_VTABLE)
4646 : ::google::protobuf::Message(arena, NoOverlap2DConstraintProto_class_data_.base()) {
4647#else // PROTOBUF_CUSTOM_VTABLE
4648 : ::google::protobuf::Message(arena) {
4649#endif // PROTOBUF_CUSTOM_VTABLE
4650 SharedCtor(arena);
4651 // @@protoc_insertion_point(arena_constructor:operations_research.sat.NoOverlap2DConstraintProto)
4652}
4653PROTOBUF_NDEBUG_INLINE NoOverlap2DConstraintProto::Impl_::Impl_(
4654 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
4655 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
4656 [[maybe_unused]] const ::operations_research::sat::NoOverlap2DConstraintProto& from_msg)
4657 : _has_bits_{from._has_bits_},
4658 _cached_size_{0},
4659 x_intervals_{visibility, arena, from.x_intervals_},
4660 _x_intervals_cached_byte_size_{0},
4661 y_intervals_{visibility, arena, from.y_intervals_},
4662 _y_intervals_cached_byte_size_{0} {}
4663
4665 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
4666 const NoOverlap2DConstraintProto& from)
4667#if defined(PROTOBUF_CUSTOM_VTABLE)
4668 : ::google::protobuf::Message(arena, NoOverlap2DConstraintProto_class_data_.base()) {
4669#else // PROTOBUF_CUSTOM_VTABLE
4670 : ::google::protobuf::Message(arena) {
4671#endif // PROTOBUF_CUSTOM_VTABLE
4672 NoOverlap2DConstraintProto* const _this = this;
4673 (void)_this;
4674 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
4675 from._internal_metadata_);
4676 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
4677
4678 // @@protoc_insertion_point(copy_constructor:operations_research.sat.NoOverlap2DConstraintProto)
4679}
4680PROTOBUF_NDEBUG_INLINE NoOverlap2DConstraintProto::Impl_::Impl_(
4681 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
4682 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
4683 : _cached_size_{0},
4684 x_intervals_{visibility, arena},
4685 _x_intervals_cached_byte_size_{0},
4686 y_intervals_{visibility, arena},
4687 _y_intervals_cached_byte_size_{0} {}
4688
4689inline void NoOverlap2DConstraintProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
4690 new (&_impl_) Impl_(internal_visibility(), arena);
4691}
4693 // @@protoc_insertion_point(destructor:operations_research.sat.NoOverlap2DConstraintProto)
4694 SharedDtor(*this);
4695}
4696inline void NoOverlap2DConstraintProto::SharedDtor(MessageLite& self) {
4697 NoOverlap2DConstraintProto& this_ = static_cast<NoOverlap2DConstraintProto&>(self);
4698 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
4699 this_.CheckHasBitConsistency();
4700 }
4701 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
4702 ABSL_DCHECK(this_.GetArena() == nullptr);
4703 this_._impl_.~Impl_();
4704}
4705
4706inline void* PROTOBUF_NONNULL NoOverlap2DConstraintProto::PlacementNew_(
4707 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
4708 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
4709 return ::new (mem) NoOverlap2DConstraintProto(arena);
4710}
4711constexpr auto NoOverlap2DConstraintProto::InternalNewImpl_() {
4712 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
4713 PROTOBUF_FIELD_OFFSET(NoOverlap2DConstraintProto, _impl_.x_intervals_) +
4714 decltype(NoOverlap2DConstraintProto::_impl_.x_intervals_)::
4715 InternalGetArenaOffset(
4716 ::google::protobuf::Message::internal_visibility()),
4717 PROTOBUF_FIELD_OFFSET(NoOverlap2DConstraintProto, _impl_.y_intervals_) +
4718 decltype(NoOverlap2DConstraintProto::_impl_.y_intervals_)::
4719 InternalGetArenaOffset(
4720 ::google::protobuf::Message::internal_visibility()),
4721 });
4722 if (arena_bits.has_value()) {
4723 return ::google::protobuf::internal::MessageCreator::ZeroInit(
4724 sizeof(NoOverlap2DConstraintProto), alignof(NoOverlap2DConstraintProto), *arena_bits);
4725 } else {
4726 return ::google::protobuf::internal::MessageCreator(&NoOverlap2DConstraintProto::PlacementNew_,
4727 sizeof(NoOverlap2DConstraintProto),
4728 alignof(NoOverlap2DConstraintProto));
4729 }
4730}
4732 return ::google::protobuf::internal::ClassDataFull{
4733 ::google::protobuf::internal::ClassData{
4735 &_table_.header,
4736 nullptr, // OnDemandRegisterArenaDtor
4737 nullptr, // IsInitialized
4738 &NoOverlap2DConstraintProto::MergeImpl,
4739 ::google::protobuf::Message::GetNewImpl<NoOverlap2DConstraintProto>(),
4740#if defined(PROTOBUF_CUSTOM_VTABLE)
4741 &NoOverlap2DConstraintProto::SharedDtor,
4742 ::google::protobuf::Message::GetClearImpl<NoOverlap2DConstraintProto>(), &NoOverlap2DConstraintProto::ByteSizeLong,
4744#endif // PROTOBUF_CUSTOM_VTABLE
4745 PROTOBUF_FIELD_OFFSET(NoOverlap2DConstraintProto, _impl_._cached_size_),
4746 false,
4747 },
4748 &NoOverlap2DConstraintProto::kDescriptorMethods,
4750 nullptr, // tracker
4751 };
4752}
4753
4754PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
4755 ::google::protobuf::internal::ClassDataFull NoOverlap2DConstraintProto_class_data_ =
4757
4758PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
4759NoOverlap2DConstraintProto::GetClassData() const {
4760 ::google::protobuf::internal::PrefetchToLocalCache(&NoOverlap2DConstraintProto_class_data_);
4761 ::google::protobuf::internal::PrefetchToLocalCache(NoOverlap2DConstraintProto_class_data_.tc_table);
4763}
4764PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
4765const ::_pbi::TcParseTable<1, 2, 0, 0, 2>
4766NoOverlap2DConstraintProto::_table_ = {
4767 {
4768 PROTOBUF_FIELD_OFFSET(NoOverlap2DConstraintProto, _impl_._has_bits_),
4769 0, // no _extensions_
4770 2, 8, // max_field_number, fast_idx_mask
4771 offsetof(decltype(_table_), field_lookup_table),
4772 4294967292, // skipmap
4773 offsetof(decltype(_table_), field_entries),
4774 2, // num_field_entries
4775 0, // num_aux_entries
4776 offsetof(decltype(_table_), field_names), // no aux_entries
4778 nullptr, // post_loop_handler
4779 ::_pbi::TcParser::GenericFallback, // fallback
4780 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
4781 ::_pbi::TcParser::GetTable<::operations_research::sat::NoOverlap2DConstraintProto>(), // to_prefetch
4782 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
4783 }, {{
4784 // repeated int32 y_intervals = 2;
4785 {::_pbi::TcParser::FastV32P1,
4786 {18, 1, 0,
4787 PROTOBUF_FIELD_OFFSET(NoOverlap2DConstraintProto, _impl_.y_intervals_)}},
4788 // repeated int32 x_intervals = 1;
4789 {::_pbi::TcParser::FastV32P1,
4790 {10, 0, 0,
4791 PROTOBUF_FIELD_OFFSET(NoOverlap2DConstraintProto, _impl_.x_intervals_)}},
4792 }}, {{
4793 65535, 65535
4794 }}, {{
4795 // repeated int32 x_intervals = 1;
4796 {PROTOBUF_FIELD_OFFSET(NoOverlap2DConstraintProto, _impl_.x_intervals_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
4797 // repeated int32 y_intervals = 2;
4798 {PROTOBUF_FIELD_OFFSET(NoOverlap2DConstraintProto, _impl_.y_intervals_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
4799 }},
4800 // no aux_entries
4801 {{
4802 }},
4803};
4804PROTOBUF_NOINLINE void NoOverlap2DConstraintProto::Clear() {
4805// @@protoc_insertion_point(message_clear_start:operations_research.sat.NoOverlap2DConstraintProto)
4806 ::google::protobuf::internal::TSanWrite(&_impl_);
4807 ::uint32_t cached_has_bits = 0;
4808 // Prevent compiler warnings about cached_has_bits being unused
4809 (void) cached_has_bits;
4810
4811 cached_has_bits = _impl_._has_bits_[0];
4812 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
4813 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
4814 _impl_.x_intervals_.Clear();
4815 }
4816 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
4817 _impl_.y_intervals_.Clear();
4818 }
4819 }
4820 _impl_._has_bits_.Clear();
4821 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
4822}
4823
4824#if defined(PROTOBUF_CUSTOM_VTABLE)
4825::uint8_t* PROTOBUF_NONNULL NoOverlap2DConstraintProto::_InternalSerialize(
4826 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
4827 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
4828 const NoOverlap2DConstraintProto& this_ = static_cast<const NoOverlap2DConstraintProto&>(base);
4829#else // PROTOBUF_CUSTOM_VTABLE
4830::uint8_t* PROTOBUF_NONNULL NoOverlap2DConstraintProto::_InternalSerialize(
4831 ::uint8_t* PROTOBUF_NONNULL target,
4832 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
4833 const NoOverlap2DConstraintProto& this_ = *this;
4834#endif // PROTOBUF_CUSTOM_VTABLE
4835 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
4836 this_.CheckHasBitConsistency();
4837 }
4838 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.NoOverlap2DConstraintProto)
4839 ::uint32_t cached_has_bits = 0;
4840 (void)cached_has_bits;
4841
4842 cached_has_bits = this_._impl_._has_bits_[0];
4843 // repeated int32 x_intervals = 1;
4844 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
4845 {
4846 int byte_size = this_._impl_._x_intervals_cached_byte_size_.Get();
4847 if (byte_size > 0) {
4848 target = stream->WriteInt32Packed(
4849 1, this_._internal_x_intervals(), byte_size, target);
4850 }
4851 }
4852 }
4853
4854 // repeated int32 y_intervals = 2;
4855 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
4856 {
4857 int byte_size = this_._impl_._y_intervals_cached_byte_size_.Get();
4858 if (byte_size > 0) {
4859 target = stream->WriteInt32Packed(
4860 2, this_._internal_y_intervals(), byte_size, target);
4861 }
4862 }
4863 }
4864
4865 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
4866 target =
4867 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
4868 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
4869 }
4870 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.NoOverlap2DConstraintProto)
4871 return target;
4872}
4873
4874#if defined(PROTOBUF_CUSTOM_VTABLE)
4876 const NoOverlap2DConstraintProto& this_ = static_cast<const NoOverlap2DConstraintProto&>(base);
4877#else // PROTOBUF_CUSTOM_VTABLE
4879 const NoOverlap2DConstraintProto& this_ = *this;
4880#endif // PROTOBUF_CUSTOM_VTABLE
4881 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.NoOverlap2DConstraintProto)
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 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
4889 cached_has_bits = this_._impl_._has_bits_[0];
4890 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
4891 // repeated int32 x_intervals = 1;
4892 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
4893 total_size +=
4894 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
4895 this_._internal_x_intervals(), 1,
4896 this_._impl_._x_intervals_cached_byte_size_);
4897 }
4898 // repeated int32 y_intervals = 2;
4899 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
4900 total_size +=
4901 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
4902 this_._internal_y_intervals(), 1,
4903 this_._impl_._y_intervals_cached_byte_size_);
4904 }
4905 }
4906 return this_.MaybeComputeUnknownFieldsSize(total_size,
4907 &this_._impl_._cached_size_);
4908}
4909
4910void NoOverlap2DConstraintProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
4911 const ::google::protobuf::MessageLite& from_msg) {
4912 auto* const _this =
4913 static_cast<NoOverlap2DConstraintProto*>(&to_msg);
4914 auto& from = static_cast<const NoOverlap2DConstraintProto&>(from_msg);
4915 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
4916 from.CheckHasBitConsistency();
4917 }
4918 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.NoOverlap2DConstraintProto)
4919 ABSL_DCHECK_NE(&from, _this);
4920 ::uint32_t cached_has_bits = 0;
4921 (void)cached_has_bits;
4922
4923 cached_has_bits = from._impl_._has_bits_[0];
4924 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
4925 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
4926 _this->_internal_mutable_x_intervals()->MergeFrom(from._internal_x_intervals());
4927 }
4928 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
4929 _this->_internal_mutable_y_intervals()->MergeFrom(from._internal_y_intervals());
4930 }
4931 }
4932 _this->_impl_._has_bits_[0] |= cached_has_bits;
4933 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
4934 from._internal_metadata_);
4935}
4936
4938 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.NoOverlap2DConstraintProto)
4939 if (&from == this) return;
4940 Clear();
4941 MergeFrom(from);
4942}
4943
4944
4945void NoOverlap2DConstraintProto::InternalSwap(NoOverlap2DConstraintProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
4946 using ::std::swap;
4947 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
4948 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
4949 _impl_.x_intervals_.InternalSwap(&other->_impl_.x_intervals_);
4950 _impl_.y_intervals_.InternalSwap(&other->_impl_.y_intervals_);
4951}
4952
4953::google::protobuf::Metadata NoOverlap2DConstraintProto::GetMetadata() const {
4954 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
4955}
4956// ===================================================================
4957
4958class CumulativeConstraintProto::_Internal {
4959 public:
4960 using HasBits =
4961 decltype(::std::declval<CumulativeConstraintProto>()._impl_._has_bits_);
4962 static constexpr ::int32_t kHasBitsOffset =
4963 8 * PROTOBUF_FIELD_OFFSET(CumulativeConstraintProto, _impl_._has_bits_);
4964};
4965
4966CumulativeConstraintProto::CumulativeConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
4967#if defined(PROTOBUF_CUSTOM_VTABLE)
4968 : ::google::protobuf::Message(arena, CumulativeConstraintProto_class_data_.base()) {
4969#else // PROTOBUF_CUSTOM_VTABLE
4970 : ::google::protobuf::Message(arena) {
4971#endif // PROTOBUF_CUSTOM_VTABLE
4972 SharedCtor(arena);
4973 // @@protoc_insertion_point(arena_constructor:operations_research.sat.CumulativeConstraintProto)
4974}
4975PROTOBUF_NDEBUG_INLINE CumulativeConstraintProto::Impl_::Impl_(
4976 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
4977 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
4978 [[maybe_unused]] const ::operations_research::sat::CumulativeConstraintProto& from_msg)
4979 : _has_bits_{from._has_bits_},
4980 _cached_size_{0},
4981 intervals_{visibility, arena, from.intervals_},
4982 _intervals_cached_byte_size_{0},
4983 demands_{visibility, arena, from.demands_} {}
4984
4986 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
4987 const CumulativeConstraintProto& from)
4988#if defined(PROTOBUF_CUSTOM_VTABLE)
4989 : ::google::protobuf::Message(arena, CumulativeConstraintProto_class_data_.base()) {
4990#else // PROTOBUF_CUSTOM_VTABLE
4991 : ::google::protobuf::Message(arena) {
4992#endif // PROTOBUF_CUSTOM_VTABLE
4993 CumulativeConstraintProto* const _this = this;
4994 (void)_this;
4995 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
4996 from._internal_metadata_);
4997 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
4998 ::uint32_t cached_has_bits = _impl_._has_bits_[0];
4999 _impl_.capacity_ = (CheckHasBit(cached_has_bits, 0x00000004U))
5000 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.capacity_)
5001 : nullptr;
5002
5003 // @@protoc_insertion_point(copy_constructor:operations_research.sat.CumulativeConstraintProto)
5004}
5005PROTOBUF_NDEBUG_INLINE CumulativeConstraintProto::Impl_::Impl_(
5006 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
5007 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
5008 : _cached_size_{0},
5009 intervals_{visibility, arena},
5010 _intervals_cached_byte_size_{0},
5011 demands_{visibility, arena} {}
5012
5013inline void CumulativeConstraintProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
5014 new (&_impl_) Impl_(internal_visibility(), arena);
5015 _impl_.capacity_ = {};
5016}
5018 // @@protoc_insertion_point(destructor:operations_research.sat.CumulativeConstraintProto)
5019 SharedDtor(*this);
5020}
5021inline void CumulativeConstraintProto::SharedDtor(MessageLite& self) {
5022 CumulativeConstraintProto& this_ = static_cast<CumulativeConstraintProto&>(self);
5023 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
5024 this_.CheckHasBitConsistency();
5025 }
5026 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
5027 ABSL_DCHECK(this_.GetArena() == nullptr);
5028 delete this_._impl_.capacity_;
5029 this_._impl_.~Impl_();
5030}
5031
5032inline void* PROTOBUF_NONNULL CumulativeConstraintProto::PlacementNew_(
5033 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
5034 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
5035 return ::new (mem) CumulativeConstraintProto(arena);
5036}
5037constexpr auto CumulativeConstraintProto::InternalNewImpl_() {
5038 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
5039 PROTOBUF_FIELD_OFFSET(CumulativeConstraintProto, _impl_.intervals_) +
5040 decltype(CumulativeConstraintProto::_impl_.intervals_)::
5041 InternalGetArenaOffset(
5042 ::google::protobuf::Message::internal_visibility()),
5043 PROTOBUF_FIELD_OFFSET(CumulativeConstraintProto, _impl_.demands_) +
5044 decltype(CumulativeConstraintProto::_impl_.demands_)::
5045 InternalGetArenaOffset(
5046 ::google::protobuf::Message::internal_visibility()),
5047 });
5048 if (arena_bits.has_value()) {
5049 return ::google::protobuf::internal::MessageCreator::ZeroInit(
5050 sizeof(CumulativeConstraintProto), alignof(CumulativeConstraintProto), *arena_bits);
5051 } else {
5052 return ::google::protobuf::internal::MessageCreator(&CumulativeConstraintProto::PlacementNew_,
5053 sizeof(CumulativeConstraintProto),
5054 alignof(CumulativeConstraintProto));
5055 }
5056}
5058 return ::google::protobuf::internal::ClassDataFull{
5059 ::google::protobuf::internal::ClassData{
5061 &_table_.header,
5062 nullptr, // OnDemandRegisterArenaDtor
5063 nullptr, // IsInitialized
5064 &CumulativeConstraintProto::MergeImpl,
5065 ::google::protobuf::Message::GetNewImpl<CumulativeConstraintProto>(),
5066#if defined(PROTOBUF_CUSTOM_VTABLE)
5067 &CumulativeConstraintProto::SharedDtor,
5068 ::google::protobuf::Message::GetClearImpl<CumulativeConstraintProto>(), &CumulativeConstraintProto::ByteSizeLong,
5070#endif // PROTOBUF_CUSTOM_VTABLE
5071 PROTOBUF_FIELD_OFFSET(CumulativeConstraintProto, _impl_._cached_size_),
5072 false,
5073 },
5074 &CumulativeConstraintProto::kDescriptorMethods,
5076 nullptr, // tracker
5077 };
5078}
5079
5080PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
5081 ::google::protobuf::internal::ClassDataFull CumulativeConstraintProto_class_data_ =
5083
5084PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
5085CumulativeConstraintProto::GetClassData() const {
5086 ::google::protobuf::internal::PrefetchToLocalCache(&CumulativeConstraintProto_class_data_);
5087 ::google::protobuf::internal::PrefetchToLocalCache(CumulativeConstraintProto_class_data_.tc_table);
5089}
5090PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
5091const ::_pbi::TcParseTable<2, 3, 2, 0, 2>
5092CumulativeConstraintProto::_table_ = {
5093 {
5094 PROTOBUF_FIELD_OFFSET(CumulativeConstraintProto, _impl_._has_bits_),
5095 0, // no _extensions_
5096 3, 24, // max_field_number, fast_idx_mask
5097 offsetof(decltype(_table_), field_lookup_table),
5098 4294967288, // skipmap
5099 offsetof(decltype(_table_), field_entries),
5100 3, // num_field_entries
5101 2, // num_aux_entries
5102 offsetof(decltype(_table_), aux_entries),
5104 nullptr, // post_loop_handler
5105 ::_pbi::TcParser::GenericFallback, // fallback
5106 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
5107 ::_pbi::TcParser::GetTable<::operations_research::sat::CumulativeConstraintProto>(), // to_prefetch
5108 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
5109 }, {{
5110 {::_pbi::TcParser::MiniParse, {}},
5111 // .operations_research.sat.LinearExpressionProto capacity = 1;
5112 {::_pbi::TcParser::FastMtS1,
5113 {10, 2, 0,
5114 PROTOBUF_FIELD_OFFSET(CumulativeConstraintProto, _impl_.capacity_)}},
5115 // repeated int32 intervals = 2;
5116 {::_pbi::TcParser::FastV32P1,
5117 {18, 0, 0,
5118 PROTOBUF_FIELD_OFFSET(CumulativeConstraintProto, _impl_.intervals_)}},
5119 // repeated .operations_research.sat.LinearExpressionProto demands = 3;
5120 {::_pbi::TcParser::FastMtR1,
5121 {26, 1, 1,
5122 PROTOBUF_FIELD_OFFSET(CumulativeConstraintProto, _impl_.demands_)}},
5123 }}, {{
5124 65535, 65535
5125 }}, {{
5126 // .operations_research.sat.LinearExpressionProto capacity = 1;
5127 {PROTOBUF_FIELD_OFFSET(CumulativeConstraintProto, _impl_.capacity_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
5128 // repeated int32 intervals = 2;
5129 {PROTOBUF_FIELD_OFFSET(CumulativeConstraintProto, _impl_.intervals_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
5130 // repeated .operations_research.sat.LinearExpressionProto demands = 3;
5131 {PROTOBUF_FIELD_OFFSET(CumulativeConstraintProto, _impl_.demands_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
5132 }},
5133 {{
5134 {::_pbi::TcParser::GetTable<::operations_research::sat::LinearExpressionProto>()},
5135 {::_pbi::TcParser::GetTable<::operations_research::sat::LinearExpressionProto>()},
5136 }},
5137 {{
5138 }},
5139};
5140PROTOBUF_NOINLINE void CumulativeConstraintProto::Clear() {
5141// @@protoc_insertion_point(message_clear_start:operations_research.sat.CumulativeConstraintProto)
5142 ::google::protobuf::internal::TSanWrite(&_impl_);
5143 ::uint32_t cached_has_bits = 0;
5144 // Prevent compiler warnings about cached_has_bits being unused
5145 (void) cached_has_bits;
5146
5147 cached_has_bits = _impl_._has_bits_[0];
5148 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
5149 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
5150 _impl_.intervals_.Clear();
5152 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
5153 _impl_.demands_.Clear();
5154 }
5155 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
5156 ABSL_DCHECK(_impl_.capacity_ != nullptr);
5157 _impl_.capacity_->Clear();
5158 }
5159 }
5160 _impl_._has_bits_.Clear();
5161 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
5162}
5163
5164#if defined(PROTOBUF_CUSTOM_VTABLE)
5165::uint8_t* PROTOBUF_NONNULL CumulativeConstraintProto::_InternalSerialize(
5166 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
5167 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
5168 const CumulativeConstraintProto& this_ = static_cast<const CumulativeConstraintProto&>(base);
5169#else // PROTOBUF_CUSTOM_VTABLE
5170::uint8_t* PROTOBUF_NONNULL CumulativeConstraintProto::_InternalSerialize(
5171 ::uint8_t* PROTOBUF_NONNULL target,
5172 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
5173 const CumulativeConstraintProto& this_ = *this;
5174#endif // PROTOBUF_CUSTOM_VTABLE
5175 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
5176 this_.CheckHasBitConsistency();
5177 }
5178 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.CumulativeConstraintProto)
5179 ::uint32_t cached_has_bits = 0;
5180 (void)cached_has_bits;
5182 cached_has_bits = this_._impl_._has_bits_[0];
5183 // .operations_research.sat.LinearExpressionProto capacity = 1;
5184 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
5185 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
5186 1, *this_._impl_.capacity_, this_._impl_.capacity_->GetCachedSize(), target,
5187 stream);
5188 }
5189
5190 // repeated int32 intervals = 2;
5191 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
5192 {
5193 int byte_size = this_._impl_._intervals_cached_byte_size_.Get();
5194 if (byte_size > 0) {
5195 target = stream->WriteInt32Packed(
5196 2, this_._internal_intervals(), byte_size, target);
5197 }
5198 }
5199 }
5200
5201 // repeated .operations_research.sat.LinearExpressionProto demands = 3;
5202 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
5203 for (unsigned i = 0, n = static_cast<unsigned>(
5204 this_._internal_demands_size());
5205 i < n; i++) {
5206 const auto& repfield = this_._internal_demands().Get(i);
5207 target =
5208 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
5209 3, repfield, repfield.GetCachedSize(),
5210 target, stream);
5211 }
5212 }
5213
5214 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
5215 target =
5216 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
5217 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
5218 }
5219 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.CumulativeConstraintProto)
5220 return target;
5221}
5222
5223#if defined(PROTOBUF_CUSTOM_VTABLE)
5225 const CumulativeConstraintProto& this_ = static_cast<const CumulativeConstraintProto&>(base);
5226#else // PROTOBUF_CUSTOM_VTABLE
5228 const CumulativeConstraintProto& this_ = *this;
5229#endif // PROTOBUF_CUSTOM_VTABLE
5230 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.CumulativeConstraintProto)
5231 ::size_t total_size = 0;
5232
5233 ::uint32_t cached_has_bits = 0;
5234 // Prevent compiler warnings about cached_has_bits being unused
5235 (void)cached_has_bits;
5236
5237 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
5238 cached_has_bits = this_._impl_._has_bits_[0];
5239 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
5240 // repeated int32 intervals = 2;
5241 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
5242 total_size +=
5243 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
5244 this_._internal_intervals(), 1,
5245 this_._impl_._intervals_cached_byte_size_);
5246 }
5247 // repeated .operations_research.sat.LinearExpressionProto demands = 3;
5248 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
5249 total_size += 1UL * this_._internal_demands_size();
5250 for (const auto& msg : this_._internal_demands()) {
5251 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
5252 }
5253 }
5254 // .operations_research.sat.LinearExpressionProto capacity = 1;
5255 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
5256 total_size += 1 +
5257 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.capacity_);
5258 }
5259 }
5260 return this_.MaybeComputeUnknownFieldsSize(total_size,
5261 &this_._impl_._cached_size_);
5262}
5263
5264void CumulativeConstraintProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
5265 const ::google::protobuf::MessageLite& from_msg) {
5266 auto* const _this =
5267 static_cast<CumulativeConstraintProto*>(&to_msg);
5268 auto& from = static_cast<const CumulativeConstraintProto&>(from_msg);
5269 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
5270 from.CheckHasBitConsistency();
5271 }
5272 ::google::protobuf::Arena* arena = _this->GetArena();
5273 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.CumulativeConstraintProto)
5274 ABSL_DCHECK_NE(&from, _this);
5275 ::uint32_t cached_has_bits = 0;
5276 (void)cached_has_bits;
5277
5278 cached_has_bits = from._impl_._has_bits_[0];
5279 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
5280 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
5281 _this->_internal_mutable_intervals()->MergeFrom(from._internal_intervals());
5282 }
5283 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
5284 _this->_internal_mutable_demands()->InternalMergeFromWithArena(
5285 ::google::protobuf::MessageLite::internal_visibility(), arena,
5286 from._internal_demands());
5287 }
5288 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
5289 ABSL_DCHECK(from._impl_.capacity_ != nullptr);
5290 if (_this->_impl_.capacity_ == nullptr) {
5291 _this->_impl_.capacity_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.capacity_);
5292 } else {
5293 _this->_impl_.capacity_->MergeFrom(*from._impl_.capacity_);
5294 }
5295 }
5296 }
5297 _this->_impl_._has_bits_[0] |= cached_has_bits;
5298 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
5299 from._internal_metadata_);
5300}
5301
5303 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.CumulativeConstraintProto)
5304 if (&from == this) return;
5305 Clear();
5306 MergeFrom(from);
5307}
5308
5309
5310void CumulativeConstraintProto::InternalSwap(CumulativeConstraintProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
5311 using ::std::swap;
5312 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
5313 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
5314 _impl_.intervals_.InternalSwap(&other->_impl_.intervals_);
5315 _impl_.demands_.InternalSwap(&other->_impl_.demands_);
5316 swap(_impl_.capacity_, other->_impl_.capacity_);
5317}
5318
5319::google::protobuf::Metadata CumulativeConstraintProto::GetMetadata() const {
5320 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
5321}
5322// ===================================================================
5323
5324class ReservoirConstraintProto::_Internal {
5325 public:
5326 using HasBits =
5327 decltype(::std::declval<ReservoirConstraintProto>()._impl_._has_bits_);
5328 static constexpr ::int32_t kHasBitsOffset =
5329 8 * PROTOBUF_FIELD_OFFSET(ReservoirConstraintProto, _impl_._has_bits_);
5331
5332ReservoirConstraintProto::ReservoirConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
5333#if defined(PROTOBUF_CUSTOM_VTABLE)
5334 : ::google::protobuf::Message(arena, ReservoirConstraintProto_class_data_.base()) {
5335#else // PROTOBUF_CUSTOM_VTABLE
5336 : ::google::protobuf::Message(arena) {
5337#endif // PROTOBUF_CUSTOM_VTABLE
5338 SharedCtor(arena);
5339 // @@protoc_insertion_point(arena_constructor:operations_research.sat.ReservoirConstraintProto)
5341PROTOBUF_NDEBUG_INLINE ReservoirConstraintProto::Impl_::Impl_(
5342 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
5343 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
5344 [[maybe_unused]] const ::operations_research::sat::ReservoirConstraintProto& from_msg)
5345 : _has_bits_{from._has_bits_},
5346 _cached_size_{0},
5347 time_exprs_{visibility, arena, from.time_exprs_},
5348 active_literals_{visibility, arena, from.active_literals_},
5349 _active_literals_cached_byte_size_{0},
5350 level_changes_{visibility, arena, from.level_changes_} {}
5351
5353 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
5354 const ReservoirConstraintProto& from)
5355#if defined(PROTOBUF_CUSTOM_VTABLE)
5356 : ::google::protobuf::Message(arena, ReservoirConstraintProto_class_data_.base()) {
5357#else // PROTOBUF_CUSTOM_VTABLE
5358 : ::google::protobuf::Message(arena) {
5359#endif // PROTOBUF_CUSTOM_VTABLE
5360 ReservoirConstraintProto* const _this = this;
5361 (void)_this;
5362 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
5363 from._internal_metadata_);
5364 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
5365 ::memcpy(reinterpret_cast<char*>(&_impl_) +
5366 offsetof(Impl_, min_level_),
5367 reinterpret_cast<const char*>(&from._impl_) +
5368 offsetof(Impl_, min_level_),
5369 offsetof(Impl_, max_level_) -
5370 offsetof(Impl_, min_level_) +
5371 sizeof(Impl_::max_level_));
5372
5373 // @@protoc_insertion_point(copy_constructor:operations_research.sat.ReservoirConstraintProto)
5374}
5375PROTOBUF_NDEBUG_INLINE ReservoirConstraintProto::Impl_::Impl_(
5376 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
5377 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
5378 : _cached_size_{0},
5379 time_exprs_{visibility, arena},
5380 active_literals_{visibility, arena},
5381 _active_literals_cached_byte_size_{0},
5382 level_changes_{visibility, arena} {}
5383
5384inline void ReservoirConstraintProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
5385 new (&_impl_) Impl_(internal_visibility(), arena);
5386 ::memset(reinterpret_cast<char*>(&_impl_) +
5387 offsetof(Impl_, min_level_),
5388 0,
5389 offsetof(Impl_, max_level_) -
5390 offsetof(Impl_, min_level_) +
5391 sizeof(Impl_::max_level_));
5392}
5394 // @@protoc_insertion_point(destructor:operations_research.sat.ReservoirConstraintProto)
5395 SharedDtor(*this);
5396}
5397inline void ReservoirConstraintProto::SharedDtor(MessageLite& self) {
5398 ReservoirConstraintProto& this_ = static_cast<ReservoirConstraintProto&>(self);
5399 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
5400 this_.CheckHasBitConsistency();
5401 }
5402 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
5403 ABSL_DCHECK(this_.GetArena() == nullptr);
5404 this_._impl_.~Impl_();
5406
5407inline void* PROTOBUF_NONNULL ReservoirConstraintProto::PlacementNew_(
5408 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
5409 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
5410 return ::new (mem) ReservoirConstraintProto(arena);
5411}
5412constexpr auto ReservoirConstraintProto::InternalNewImpl_() {
5413 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
5414 PROTOBUF_FIELD_OFFSET(ReservoirConstraintProto, _impl_.time_exprs_) +
5415 decltype(ReservoirConstraintProto::_impl_.time_exprs_)::
5416 InternalGetArenaOffset(
5417 ::google::protobuf::Message::internal_visibility()),
5418 PROTOBUF_FIELD_OFFSET(ReservoirConstraintProto, _impl_.level_changes_) +
5419 decltype(ReservoirConstraintProto::_impl_.level_changes_)::
5420 InternalGetArenaOffset(
5421 ::google::protobuf::Message::internal_visibility()),
5422 PROTOBUF_FIELD_OFFSET(ReservoirConstraintProto, _impl_.active_literals_) +
5423 decltype(ReservoirConstraintProto::_impl_.active_literals_)::
5424 InternalGetArenaOffset(
5425 ::google::protobuf::Message::internal_visibility()),
5426 });
5427 if (arena_bits.has_value()) {
5428 return ::google::protobuf::internal::MessageCreator::ZeroInit(
5429 sizeof(ReservoirConstraintProto), alignof(ReservoirConstraintProto), *arena_bits);
5430 } else {
5431 return ::google::protobuf::internal::MessageCreator(&ReservoirConstraintProto::PlacementNew_,
5432 sizeof(ReservoirConstraintProto),
5433 alignof(ReservoirConstraintProto));
5434 }
5435}
5437 return ::google::protobuf::internal::ClassDataFull{
5438 ::google::protobuf::internal::ClassData{
5440 &_table_.header,
5441 nullptr, // OnDemandRegisterArenaDtor
5442 nullptr, // IsInitialized
5443 &ReservoirConstraintProto::MergeImpl,
5444 ::google::protobuf::Message::GetNewImpl<ReservoirConstraintProto>(),
5445#if defined(PROTOBUF_CUSTOM_VTABLE)
5446 &ReservoirConstraintProto::SharedDtor,
5447 ::google::protobuf::Message::GetClearImpl<ReservoirConstraintProto>(), &ReservoirConstraintProto::ByteSizeLong,
5449#endif // PROTOBUF_CUSTOM_VTABLE
5450 PROTOBUF_FIELD_OFFSET(ReservoirConstraintProto, _impl_._cached_size_),
5451 false,
5452 },
5453 &ReservoirConstraintProto::kDescriptorMethods,
5455 nullptr, // tracker
5456 };
5457}
5458
5459PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
5460 ::google::protobuf::internal::ClassDataFull ReservoirConstraintProto_class_data_ =
5462
5463PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
5464ReservoirConstraintProto::GetClassData() const {
5465 ::google::protobuf::internal::PrefetchToLocalCache(&ReservoirConstraintProto_class_data_);
5466 ::google::protobuf::internal::PrefetchToLocalCache(ReservoirConstraintProto_class_data_.tc_table);
5468}
5469PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
5470const ::_pbi::TcParseTable<3, 5, 2, 0, 2>
5471ReservoirConstraintProto::_table_ = {
5473 PROTOBUF_FIELD_OFFSET(ReservoirConstraintProto, _impl_._has_bits_),
5474 0, // no _extensions_
5475 6, 56, // max_field_number, fast_idx_mask
5476 offsetof(decltype(_table_), field_lookup_table),
5477 4294967240, // skipmap
5478 offsetof(decltype(_table_), field_entries),
5479 5, // num_field_entries
5480 2, // num_aux_entries
5481 offsetof(decltype(_table_), aux_entries),
5483 nullptr, // post_loop_handler
5484 ::_pbi::TcParser::GenericFallback, // fallback
5485 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
5486 ::_pbi::TcParser::GetTable<::operations_research::sat::ReservoirConstraintProto>(), // to_prefetch
5487 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
5488 }, {{
5489 {::_pbi::TcParser::MiniParse, {}},
5490 // int64 min_level = 1;
5491 {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(ReservoirConstraintProto, _impl_.min_level_), 3>(),
5492 {8, 3, 0,
5493 PROTOBUF_FIELD_OFFSET(ReservoirConstraintProto, _impl_.min_level_)}},
5494 // int64 max_level = 2;
5495 {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(ReservoirConstraintProto, _impl_.max_level_), 4>(),
5496 {16, 4, 0,
5497 PROTOBUF_FIELD_OFFSET(ReservoirConstraintProto, _impl_.max_level_)}},
5498 // repeated .operations_research.sat.LinearExpressionProto time_exprs = 3;
5499 {::_pbi::TcParser::FastMtR1,
5500 {26, 0, 0,
5501 PROTOBUF_FIELD_OFFSET(ReservoirConstraintProto, _impl_.time_exprs_)}},
5502 {::_pbi::TcParser::MiniParse, {}},
5503 // repeated int32 active_literals = 5;
5504 {::_pbi::TcParser::FastV32P1,
5505 {42, 1, 0,
5506 PROTOBUF_FIELD_OFFSET(ReservoirConstraintProto, _impl_.active_literals_)}},
5507 // repeated .operations_research.sat.LinearExpressionProto level_changes = 6;
5508 {::_pbi::TcParser::FastMtR1,
5509 {50, 2, 1,
5510 PROTOBUF_FIELD_OFFSET(ReservoirConstraintProto, _impl_.level_changes_)}},
5511 {::_pbi::TcParser::MiniParse, {}},
5512 }}, {{
5513 65535, 65535
5514 }}, {{
5515 // int64 min_level = 1;
5516 {PROTOBUF_FIELD_OFFSET(ReservoirConstraintProto, _impl_.min_level_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
5517 // int64 max_level = 2;
5518 {PROTOBUF_FIELD_OFFSET(ReservoirConstraintProto, _impl_.max_level_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
5519 // repeated .operations_research.sat.LinearExpressionProto time_exprs = 3;
5520 {PROTOBUF_FIELD_OFFSET(ReservoirConstraintProto, _impl_.time_exprs_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
5521 // repeated int32 active_literals = 5;
5522 {PROTOBUF_FIELD_OFFSET(ReservoirConstraintProto, _impl_.active_literals_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
5523 // repeated .operations_research.sat.LinearExpressionProto level_changes = 6;
5524 {PROTOBUF_FIELD_OFFSET(ReservoirConstraintProto, _impl_.level_changes_), _Internal::kHasBitsOffset + 2, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
5525 }},
5526 {{
5527 {::_pbi::TcParser::GetTable<::operations_research::sat::LinearExpressionProto>()},
5528 {::_pbi::TcParser::GetTable<::operations_research::sat::LinearExpressionProto>()},
5529 }},
5530 {{
5531 }},
5532};
5533PROTOBUF_NOINLINE void ReservoirConstraintProto::Clear() {
5534// @@protoc_insertion_point(message_clear_start:operations_research.sat.ReservoirConstraintProto)
5535 ::google::protobuf::internal::TSanWrite(&_impl_);
5536 ::uint32_t cached_has_bits = 0;
5537 // Prevent compiler warnings about cached_has_bits being unused
5538 (void) cached_has_bits;
5539
5540 cached_has_bits = _impl_._has_bits_[0];
5541 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
5542 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
5543 _impl_.time_exprs_.Clear();
5544 }
5545 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
5546 _impl_.active_literals_.Clear();
5547 }
5548 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
5549 _impl_.level_changes_.Clear();
5550 }
5551 }
5552 if (BatchCheckHasBit(cached_has_bits, 0x00000018U)) {
5553 ::memset(&_impl_.min_level_, 0, static_cast<::size_t>(
5554 reinterpret_cast<char*>(&_impl_.max_level_) -
5555 reinterpret_cast<char*>(&_impl_.min_level_)) + sizeof(_impl_.max_level_));
5556 }
5557 _impl_._has_bits_.Clear();
5558 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
5559}
5560
5561#if defined(PROTOBUF_CUSTOM_VTABLE)
5562::uint8_t* PROTOBUF_NONNULL ReservoirConstraintProto::_InternalSerialize(
5563 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
5564 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
5565 const ReservoirConstraintProto& this_ = static_cast<const ReservoirConstraintProto&>(base);
5566#else // PROTOBUF_CUSTOM_VTABLE
5567::uint8_t* PROTOBUF_NONNULL ReservoirConstraintProto::_InternalSerialize(
5568 ::uint8_t* PROTOBUF_NONNULL target,
5569 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
5570 const ReservoirConstraintProto& this_ = *this;
5571#endif // PROTOBUF_CUSTOM_VTABLE
5572 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
5573 this_.CheckHasBitConsistency();
5574 }
5575 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.ReservoirConstraintProto)
5576 ::uint32_t cached_has_bits = 0;
5577 (void)cached_has_bits;
5578
5579 cached_has_bits = this_._impl_._has_bits_[0];
5580 // int64 min_level = 1;
5581 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
5582 if (this_._internal_min_level() != 0) {
5583 target =
5584 ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
5585 stream, this_._internal_min_level(), target);
5586 }
5587 }
5588
5589 // int64 max_level = 2;
5590 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
5591 if (this_._internal_max_level() != 0) {
5592 target =
5593 ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<2>(
5594 stream, this_._internal_max_level(), target);
5595 }
5596 }
5597
5598 // repeated .operations_research.sat.LinearExpressionProto time_exprs = 3;
5599 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
5600 for (unsigned i = 0, n = static_cast<unsigned>(
5601 this_._internal_time_exprs_size());
5602 i < n; i++) {
5603 const auto& repfield = this_._internal_time_exprs().Get(i);
5604 target =
5605 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
5606 3, repfield, repfield.GetCachedSize(),
5607 target, stream);
5608 }
5609 }
5610
5611 // repeated int32 active_literals = 5;
5612 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
5613 {
5614 int byte_size = this_._impl_._active_literals_cached_byte_size_.Get();
5615 if (byte_size > 0) {
5616 target = stream->WriteInt32Packed(
5617 5, this_._internal_active_literals(), byte_size, target);
5618 }
5619 }
5620 }
5621
5622 // repeated .operations_research.sat.LinearExpressionProto level_changes = 6;
5623 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
5624 for (unsigned i = 0, n = static_cast<unsigned>(
5625 this_._internal_level_changes_size());
5626 i < n; i++) {
5627 const auto& repfield = this_._internal_level_changes().Get(i);
5628 target =
5629 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
5630 6, repfield, repfield.GetCachedSize(),
5631 target, stream);
5632 }
5633 }
5634
5635 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
5636 target =
5637 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
5638 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
5639 }
5640 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.ReservoirConstraintProto)
5641 return target;
5642}
5643
5644#if defined(PROTOBUF_CUSTOM_VTABLE)
5646 const ReservoirConstraintProto& this_ = static_cast<const ReservoirConstraintProto&>(base);
5647#else // PROTOBUF_CUSTOM_VTABLE
5649 const ReservoirConstraintProto& this_ = *this;
5650#endif // PROTOBUF_CUSTOM_VTABLE
5651 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.ReservoirConstraintProto)
5652 ::size_t total_size = 0;
5653
5654 ::uint32_t cached_has_bits = 0;
5655 // Prevent compiler warnings about cached_has_bits being unused
5656 (void)cached_has_bits;
5657
5658 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
5659 cached_has_bits = this_._impl_._has_bits_[0];
5660 if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
5661 // repeated .operations_research.sat.LinearExpressionProto time_exprs = 3;
5662 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
5663 total_size += 1UL * this_._internal_time_exprs_size();
5664 for (const auto& msg : this_._internal_time_exprs()) {
5665 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
5666 }
5667 }
5668 // repeated int32 active_literals = 5;
5669 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
5670 total_size +=
5671 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
5672 this_._internal_active_literals(), 1,
5673 this_._impl_._active_literals_cached_byte_size_);
5674 }
5675 // repeated .operations_research.sat.LinearExpressionProto level_changes = 6;
5676 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
5677 total_size += 1UL * this_._internal_level_changes_size();
5678 for (const auto& msg : this_._internal_level_changes()) {
5679 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
5680 }
5681 }
5682 // int64 min_level = 1;
5683 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
5684 if (this_._internal_min_level() != 0) {
5685 total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
5686 this_._internal_min_level());
5687 }
5688 }
5689 // int64 max_level = 2;
5690 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
5691 if (this_._internal_max_level() != 0) {
5692 total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
5693 this_._internal_max_level());
5694 }
5695 }
5696 }
5697 return this_.MaybeComputeUnknownFieldsSize(total_size,
5698 &this_._impl_._cached_size_);
5699}
5700
5701void ReservoirConstraintProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
5702 const ::google::protobuf::MessageLite& from_msg) {
5703 auto* const _this =
5704 static_cast<ReservoirConstraintProto*>(&to_msg);
5705 auto& from = static_cast<const ReservoirConstraintProto&>(from_msg);
5706 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
5707 from.CheckHasBitConsistency();
5708 }
5709 ::google::protobuf::Arena* arena = _this->GetArena();
5710 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.ReservoirConstraintProto)
5711 ABSL_DCHECK_NE(&from, _this);
5712 ::uint32_t cached_has_bits = 0;
5713 (void)cached_has_bits;
5714
5715 cached_has_bits = from._impl_._has_bits_[0];
5716 if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
5717 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
5718 _this->_internal_mutable_time_exprs()->InternalMergeFromWithArena(
5719 ::google::protobuf::MessageLite::internal_visibility(), arena,
5720 from._internal_time_exprs());
5721 }
5722 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
5723 _this->_internal_mutable_active_literals()->MergeFrom(from._internal_active_literals());
5724 }
5725 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
5726 _this->_internal_mutable_level_changes()->InternalMergeFromWithArena(
5727 ::google::protobuf::MessageLite::internal_visibility(), arena,
5728 from._internal_level_changes());
5729 }
5730 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
5731 if (from._internal_min_level() != 0) {
5732 _this->_impl_.min_level_ = from._impl_.min_level_;
5733 }
5734 }
5735 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
5736 if (from._internal_max_level() != 0) {
5737 _this->_impl_.max_level_ = from._impl_.max_level_;
5738 }
5739 }
5740 }
5741 _this->_impl_._has_bits_[0] |= cached_has_bits;
5742 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
5743 from._internal_metadata_);
5744}
5745
5747 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.ReservoirConstraintProto)
5748 if (&from == this) return;
5749 Clear();
5750 MergeFrom(from);
5751}
5752
5753
5754void ReservoirConstraintProto::InternalSwap(ReservoirConstraintProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
5755 using ::std::swap;
5756 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
5757 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
5758 _impl_.time_exprs_.InternalSwap(&other->_impl_.time_exprs_);
5759 _impl_.active_literals_.InternalSwap(&other->_impl_.active_literals_);
5760 _impl_.level_changes_.InternalSwap(&other->_impl_.level_changes_);
5761 ::google::protobuf::internal::memswap<
5762 PROTOBUF_FIELD_OFFSET(ReservoirConstraintProto, _impl_.max_level_)
5763 + sizeof(ReservoirConstraintProto::_impl_.max_level_)
5764 - PROTOBUF_FIELD_OFFSET(ReservoirConstraintProto, _impl_.min_level_)>(
5765 reinterpret_cast<char*>(&_impl_.min_level_),
5766 reinterpret_cast<char*>(&other->_impl_.min_level_));
5767}
5768
5769::google::protobuf::Metadata ReservoirConstraintProto::GetMetadata() const {
5770 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
5771}
5772// ===================================================================
5773
5774class CircuitConstraintProto::_Internal {
5775 public:
5776 using HasBits =
5777 decltype(::std::declval<CircuitConstraintProto>()._impl_._has_bits_);
5778 static constexpr ::int32_t kHasBitsOffset =
5779 8 * PROTOBUF_FIELD_OFFSET(CircuitConstraintProto, _impl_._has_bits_);
5780};
5782CircuitConstraintProto::CircuitConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
5783#if defined(PROTOBUF_CUSTOM_VTABLE)
5784 : ::google::protobuf::Message(arena, CircuitConstraintProto_class_data_.base()) {
5785#else // PROTOBUF_CUSTOM_VTABLE
5786 : ::google::protobuf::Message(arena) {
5787#endif // PROTOBUF_CUSTOM_VTABLE
5788 SharedCtor(arena);
5789 // @@protoc_insertion_point(arena_constructor:operations_research.sat.CircuitConstraintProto)
5790}
5791PROTOBUF_NDEBUG_INLINE CircuitConstraintProto::Impl_::Impl_(
5792 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
5793 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
5794 [[maybe_unused]] const ::operations_research::sat::CircuitConstraintProto& from_msg)
5795 : _has_bits_{from._has_bits_},
5796 _cached_size_{0},
5797 tails_{visibility, arena, from.tails_},
5798 _tails_cached_byte_size_{0},
5799 heads_{visibility, arena, from.heads_},
5800 _heads_cached_byte_size_{0},
5801 literals_{visibility, arena, from.literals_},
5802 _literals_cached_byte_size_{0} {}
5803
5805 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
5806 const CircuitConstraintProto& from)
5807#if defined(PROTOBUF_CUSTOM_VTABLE)
5808 : ::google::protobuf::Message(arena, CircuitConstraintProto_class_data_.base()) {
5809#else // PROTOBUF_CUSTOM_VTABLE
5810 : ::google::protobuf::Message(arena) {
5811#endif // PROTOBUF_CUSTOM_VTABLE
5812 CircuitConstraintProto* const _this = this;
5813 (void)_this;
5814 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
5815 from._internal_metadata_);
5816 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
5817
5818 // @@protoc_insertion_point(copy_constructor:operations_research.sat.CircuitConstraintProto)
5819}
5820PROTOBUF_NDEBUG_INLINE CircuitConstraintProto::Impl_::Impl_(
5821 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
5822 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
5823 : _cached_size_{0},
5824 tails_{visibility, arena},
5825 _tails_cached_byte_size_{0},
5826 heads_{visibility, arena},
5827 _heads_cached_byte_size_{0},
5828 literals_{visibility, arena},
5829 _literals_cached_byte_size_{0} {}
5830
5831inline void CircuitConstraintProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
5832 new (&_impl_) Impl_(internal_visibility(), arena);
5833}
5835 // @@protoc_insertion_point(destructor:operations_research.sat.CircuitConstraintProto)
5836 SharedDtor(*this);
5837}
5838inline void CircuitConstraintProto::SharedDtor(MessageLite& self) {
5839 CircuitConstraintProto& this_ = static_cast<CircuitConstraintProto&>(self);
5840 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
5841 this_.CheckHasBitConsistency();
5842 }
5843 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
5844 ABSL_DCHECK(this_.GetArena() == nullptr);
5845 this_._impl_.~Impl_();
5846}
5848inline void* PROTOBUF_NONNULL CircuitConstraintProto::PlacementNew_(
5849 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
5850 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
5851 return ::new (mem) CircuitConstraintProto(arena);
5852}
5853constexpr auto CircuitConstraintProto::InternalNewImpl_() {
5854 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
5855 PROTOBUF_FIELD_OFFSET(CircuitConstraintProto, _impl_.tails_) +
5856 decltype(CircuitConstraintProto::_impl_.tails_)::
5857 InternalGetArenaOffset(
5858 ::google::protobuf::Message::internal_visibility()),
5859 PROTOBUF_FIELD_OFFSET(CircuitConstraintProto, _impl_.heads_) +
5860 decltype(CircuitConstraintProto::_impl_.heads_)::
5861 InternalGetArenaOffset(
5862 ::google::protobuf::Message::internal_visibility()),
5863 PROTOBUF_FIELD_OFFSET(CircuitConstraintProto, _impl_.literals_) +
5864 decltype(CircuitConstraintProto::_impl_.literals_)::
5865 InternalGetArenaOffset(
5866 ::google::protobuf::Message::internal_visibility()),
5867 });
5868 if (arena_bits.has_value()) {
5869 return ::google::protobuf::internal::MessageCreator::ZeroInit(
5870 sizeof(CircuitConstraintProto), alignof(CircuitConstraintProto), *arena_bits);
5871 } else {
5872 return ::google::protobuf::internal::MessageCreator(&CircuitConstraintProto::PlacementNew_,
5873 sizeof(CircuitConstraintProto),
5874 alignof(CircuitConstraintProto));
5875 }
5876}
5878 return ::google::protobuf::internal::ClassDataFull{
5879 ::google::protobuf::internal::ClassData{
5881 &_table_.header,
5882 nullptr, // OnDemandRegisterArenaDtor
5883 nullptr, // IsInitialized
5884 &CircuitConstraintProto::MergeImpl,
5885 ::google::protobuf::Message::GetNewImpl<CircuitConstraintProto>(),
5886#if defined(PROTOBUF_CUSTOM_VTABLE)
5887 &CircuitConstraintProto::SharedDtor,
5888 ::google::protobuf::Message::GetClearImpl<CircuitConstraintProto>(), &CircuitConstraintProto::ByteSizeLong,
5890#endif // PROTOBUF_CUSTOM_VTABLE
5891 PROTOBUF_FIELD_OFFSET(CircuitConstraintProto, _impl_._cached_size_),
5892 false,
5893 },
5894 &CircuitConstraintProto::kDescriptorMethods,
5896 nullptr, // tracker
5897 };
5898}
5899
5900PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
5901 ::google::protobuf::internal::ClassDataFull CircuitConstraintProto_class_data_ =
5903
5904PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
5905CircuitConstraintProto::GetClassData() const {
5906 ::google::protobuf::internal::PrefetchToLocalCache(&CircuitConstraintProto_class_data_);
5907 ::google::protobuf::internal::PrefetchToLocalCache(CircuitConstraintProto_class_data_.tc_table);
5909}
5910PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
5911const ::_pbi::TcParseTable<2, 3, 0, 0, 2>
5912CircuitConstraintProto::_table_ = {
5913 {
5914 PROTOBUF_FIELD_OFFSET(CircuitConstraintProto, _impl_._has_bits_),
5915 0, // no _extensions_
5916 5, 24, // max_field_number, fast_idx_mask
5917 offsetof(decltype(_table_), field_lookup_table),
5918 4294967267, // skipmap
5919 offsetof(decltype(_table_), field_entries),
5920 3, // num_field_entries
5921 0, // num_aux_entries
5922 offsetof(decltype(_table_), field_names), // no aux_entries
5924 nullptr, // post_loop_handler
5925 ::_pbi::TcParser::GenericFallback, // fallback
5926 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
5927 ::_pbi::TcParser::GetTable<::operations_research::sat::CircuitConstraintProto>(), // to_prefetch
5928 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
5929 }, {{
5930 // repeated int32 heads = 4;
5931 {::_pbi::TcParser::FastV32P1,
5932 {34, 1, 0,
5933 PROTOBUF_FIELD_OFFSET(CircuitConstraintProto, _impl_.heads_)}},
5934 // repeated int32 literals = 5;
5935 {::_pbi::TcParser::FastV32P1,
5936 {42, 2, 0,
5937 PROTOBUF_FIELD_OFFSET(CircuitConstraintProto, _impl_.literals_)}},
5938 {::_pbi::TcParser::MiniParse, {}},
5939 // repeated int32 tails = 3;
5940 {::_pbi::TcParser::FastV32P1,
5941 {26, 0, 0,
5942 PROTOBUF_FIELD_OFFSET(CircuitConstraintProto, _impl_.tails_)}},
5943 }}, {{
5944 65535, 65535
5945 }}, {{
5946 // repeated int32 tails = 3;
5947 {PROTOBUF_FIELD_OFFSET(CircuitConstraintProto, _impl_.tails_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
5948 // repeated int32 heads = 4;
5949 {PROTOBUF_FIELD_OFFSET(CircuitConstraintProto, _impl_.heads_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
5950 // repeated int32 literals = 5;
5951 {PROTOBUF_FIELD_OFFSET(CircuitConstraintProto, _impl_.literals_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
5952 }},
5953 // no aux_entries
5954 {{
5955 }},
5956};
5957PROTOBUF_NOINLINE void CircuitConstraintProto::Clear() {
5958// @@protoc_insertion_point(message_clear_start:operations_research.sat.CircuitConstraintProto)
5959 ::google::protobuf::internal::TSanWrite(&_impl_);
5960 ::uint32_t cached_has_bits = 0;
5961 // Prevent compiler warnings about cached_has_bits being unused
5962 (void) cached_has_bits;
5963
5964 cached_has_bits = _impl_._has_bits_[0];
5965 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
5966 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
5967 _impl_.tails_.Clear();
5968 }
5969 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
5970 _impl_.heads_.Clear();
5971 }
5972 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
5973 _impl_.literals_.Clear();
5974 }
5975 }
5976 _impl_._has_bits_.Clear();
5977 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
5978}
5979
5980#if defined(PROTOBUF_CUSTOM_VTABLE)
5981::uint8_t* PROTOBUF_NONNULL CircuitConstraintProto::_InternalSerialize(
5982 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
5983 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
5984 const CircuitConstraintProto& this_ = static_cast<const CircuitConstraintProto&>(base);
5985#else // PROTOBUF_CUSTOM_VTABLE
5986::uint8_t* PROTOBUF_NONNULL CircuitConstraintProto::_InternalSerialize(
5987 ::uint8_t* PROTOBUF_NONNULL target,
5988 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
5989 const CircuitConstraintProto& this_ = *this;
5990#endif // PROTOBUF_CUSTOM_VTABLE
5991 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
5992 this_.CheckHasBitConsistency();
5993 }
5994 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.CircuitConstraintProto)
5995 ::uint32_t cached_has_bits = 0;
5996 (void)cached_has_bits;
5997
5998 cached_has_bits = this_._impl_._has_bits_[0];
5999 // repeated int32 tails = 3;
6000 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
6001 {
6002 int byte_size = this_._impl_._tails_cached_byte_size_.Get();
6003 if (byte_size > 0) {
6004 target = stream->WriteInt32Packed(
6005 3, this_._internal_tails(), byte_size, target);
6006 }
6007 }
6008 }
6009
6010 // repeated int32 heads = 4;
6011 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
6012 {
6013 int byte_size = this_._impl_._heads_cached_byte_size_.Get();
6014 if (byte_size > 0) {
6015 target = stream->WriteInt32Packed(
6016 4, this_._internal_heads(), byte_size, target);
6017 }
6018 }
6019 }
6020
6021 // repeated int32 literals = 5;
6022 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
6023 {
6024 int byte_size = this_._impl_._literals_cached_byte_size_.Get();
6025 if (byte_size > 0) {
6026 target = stream->WriteInt32Packed(
6027 5, this_._internal_literals(), byte_size, target);
6028 }
6029 }
6030 }
6031
6032 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
6033 target =
6034 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
6035 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
6036 }
6037 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.CircuitConstraintProto)
6038 return target;
6039}
6040
6041#if defined(PROTOBUF_CUSTOM_VTABLE)
6043 const CircuitConstraintProto& this_ = static_cast<const CircuitConstraintProto&>(base);
6044#else // PROTOBUF_CUSTOM_VTABLE
6045::size_t CircuitConstraintProto::ByteSizeLong() const {
6046 const CircuitConstraintProto& this_ = *this;
6047#endif // PROTOBUF_CUSTOM_VTABLE
6048 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.CircuitConstraintProto)
6049 ::size_t total_size = 0;
6050
6051 ::uint32_t cached_has_bits = 0;
6052 // Prevent compiler warnings about cached_has_bits being unused
6053 (void)cached_has_bits;
6054
6055 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
6056 cached_has_bits = this_._impl_._has_bits_[0];
6057 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
6058 // repeated int32 tails = 3;
6059 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
6060 total_size +=
6061 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
6062 this_._internal_tails(), 1,
6063 this_._impl_._tails_cached_byte_size_);
6064 }
6065 // repeated int32 heads = 4;
6066 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
6067 total_size +=
6068 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
6069 this_._internal_heads(), 1,
6070 this_._impl_._heads_cached_byte_size_);
6071 }
6072 // repeated int32 literals = 5;
6073 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
6074 total_size +=
6075 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
6076 this_._internal_literals(), 1,
6077 this_._impl_._literals_cached_byte_size_);
6078 }
6079 }
6080 return this_.MaybeComputeUnknownFieldsSize(total_size,
6081 &this_._impl_._cached_size_);
6082}
6083
6084void CircuitConstraintProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
6085 const ::google::protobuf::MessageLite& from_msg) {
6086 auto* const _this =
6087 static_cast<CircuitConstraintProto*>(&to_msg);
6088 auto& from = static_cast<const CircuitConstraintProto&>(from_msg);
6089 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
6090 from.CheckHasBitConsistency();
6091 }
6092 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.CircuitConstraintProto)
6093 ABSL_DCHECK_NE(&from, _this);
6094 ::uint32_t cached_has_bits = 0;
6095 (void)cached_has_bits;
6096
6097 cached_has_bits = from._impl_._has_bits_[0];
6098 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
6099 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
6100 _this->_internal_mutable_tails()->MergeFrom(from._internal_tails());
6101 }
6102 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
6103 _this->_internal_mutable_heads()->MergeFrom(from._internal_heads());
6104 }
6105 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
6106 _this->_internal_mutable_literals()->MergeFrom(from._internal_literals());
6107 }
6108 }
6109 _this->_impl_._has_bits_[0] |= cached_has_bits;
6110 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
6111 from._internal_metadata_);
6112}
6113
6115 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.CircuitConstraintProto)
6116 if (&from == this) return;
6117 Clear();
6118 MergeFrom(from);
6119}
6120
6121
6122void CircuitConstraintProto::InternalSwap(CircuitConstraintProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
6123 using ::std::swap;
6124 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
6125 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
6126 _impl_.tails_.InternalSwap(&other->_impl_.tails_);
6127 _impl_.heads_.InternalSwap(&other->_impl_.heads_);
6128 _impl_.literals_.InternalSwap(&other->_impl_.literals_);
6129}
6130
6131::google::protobuf::Metadata CircuitConstraintProto::GetMetadata() const {
6132 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
6133}
6134// ===================================================================
6135
6136class RoutesConstraintProto_NodeExpressions::_Internal {
6137 public:
6138 using HasBits =
6139 decltype(::std::declval<RoutesConstraintProto_NodeExpressions>()._impl_._has_bits_);
6140 static constexpr ::int32_t kHasBitsOffset =
6141 8 * PROTOBUF_FIELD_OFFSET(RoutesConstraintProto_NodeExpressions, _impl_._has_bits_);
6142};
6143
6145#if defined(PROTOBUF_CUSTOM_VTABLE)
6146 : ::google::protobuf::Message(arena, RoutesConstraintProto_NodeExpressions_class_data_.base()) {
6147#else // PROTOBUF_CUSTOM_VTABLE
6148 : ::google::protobuf::Message(arena) {
6149#endif // PROTOBUF_CUSTOM_VTABLE
6150 SharedCtor(arena);
6151 // @@protoc_insertion_point(arena_constructor:operations_research.sat.RoutesConstraintProto.NodeExpressions)
6153PROTOBUF_NDEBUG_INLINE RoutesConstraintProto_NodeExpressions::Impl_::Impl_(
6154 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
6155 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
6156 [[maybe_unused]] const ::operations_research::sat::RoutesConstraintProto_NodeExpressions& from_msg)
6157 : _has_bits_{from._has_bits_},
6158 _cached_size_{0},
6159 exprs_{visibility, arena, from.exprs_} {}
6160
6162 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
6164#if defined(PROTOBUF_CUSTOM_VTABLE)
6165 : ::google::protobuf::Message(arena, RoutesConstraintProto_NodeExpressions_class_data_.base()) {
6166#else // PROTOBUF_CUSTOM_VTABLE
6167 : ::google::protobuf::Message(arena) {
6168#endif // PROTOBUF_CUSTOM_VTABLE
6169 RoutesConstraintProto_NodeExpressions* const _this = this;
6170 (void)_this;
6171 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
6172 from._internal_metadata_);
6173 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
6174
6175 // @@protoc_insertion_point(copy_constructor:operations_research.sat.RoutesConstraintProto.NodeExpressions)
6176}
6177PROTOBUF_NDEBUG_INLINE RoutesConstraintProto_NodeExpressions::Impl_::Impl_(
6178 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
6179 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
6180 : _cached_size_{0},
6181 exprs_{visibility, arena} {}
6182
6183inline void RoutesConstraintProto_NodeExpressions::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
6184 new (&_impl_) Impl_(internal_visibility(), arena);
6185}
6187 // @@protoc_insertion_point(destructor:operations_research.sat.RoutesConstraintProto.NodeExpressions)
6188 SharedDtor(*this);
6189}
6190inline void RoutesConstraintProto_NodeExpressions::SharedDtor(MessageLite& self) {
6192 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
6193 this_.CheckHasBitConsistency();
6194 }
6195 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
6196 ABSL_DCHECK(this_.GetArena() == nullptr);
6197 this_._impl_.~Impl_();
6198}
6199
6200inline void* PROTOBUF_NONNULL RoutesConstraintProto_NodeExpressions::PlacementNew_(
6201 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
6202 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
6203 return ::new (mem) RoutesConstraintProto_NodeExpressions(arena);
6204}
6205constexpr auto RoutesConstraintProto_NodeExpressions::InternalNewImpl_() {
6206 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
6207 PROTOBUF_FIELD_OFFSET(RoutesConstraintProto_NodeExpressions, _impl_.exprs_) +
6209 InternalGetArenaOffset(
6210 ::google::protobuf::Message::internal_visibility()),
6211 });
6212 if (arena_bits.has_value()) {
6213 return ::google::protobuf::internal::MessageCreator::ZeroInit(
6214 sizeof(RoutesConstraintProto_NodeExpressions), alignof(RoutesConstraintProto_NodeExpressions), *arena_bits);
6215 } else {
6216 return ::google::protobuf::internal::MessageCreator(&RoutesConstraintProto_NodeExpressions::PlacementNew_,
6217 sizeof(RoutesConstraintProto_NodeExpressions),
6218 alignof(RoutesConstraintProto_NodeExpressions));
6219 }
6220}
6222 return ::google::protobuf::internal::ClassDataFull{
6223 ::google::protobuf::internal::ClassData{
6225 &_table_.header,
6226 nullptr, // OnDemandRegisterArenaDtor
6227 nullptr, // IsInitialized
6228 &RoutesConstraintProto_NodeExpressions::MergeImpl,
6229 ::google::protobuf::Message::GetNewImpl<RoutesConstraintProto_NodeExpressions>(),
6230#if defined(PROTOBUF_CUSTOM_VTABLE)
6231 &RoutesConstraintProto_NodeExpressions::SharedDtor,
6232 ::google::protobuf::Message::GetClearImpl<RoutesConstraintProto_NodeExpressions>(), &RoutesConstraintProto_NodeExpressions::ByteSizeLong,
6234#endif // PROTOBUF_CUSTOM_VTABLE
6235 PROTOBUF_FIELD_OFFSET(RoutesConstraintProto_NodeExpressions, _impl_._cached_size_),
6236 false,
6237 },
6238 &RoutesConstraintProto_NodeExpressions::kDescriptorMethods,
6240 nullptr, // tracker
6241 };
6242}
6243
6244PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
6245 ::google::protobuf::internal::ClassDataFull RoutesConstraintProto_NodeExpressions_class_data_ =
6247
6248PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
6249RoutesConstraintProto_NodeExpressions::GetClassData() const {
6250 ::google::protobuf::internal::PrefetchToLocalCache(&RoutesConstraintProto_NodeExpressions_class_data_);
6251 ::google::protobuf::internal::PrefetchToLocalCache(RoutesConstraintProto_NodeExpressions_class_data_.tc_table);
6253}
6254PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
6255const ::_pbi::TcParseTable<0, 1, 1, 0, 2>
6256RoutesConstraintProto_NodeExpressions::_table_ = {
6257 {
6258 PROTOBUF_FIELD_OFFSET(RoutesConstraintProto_NodeExpressions, _impl_._has_bits_),
6259 0, // no _extensions_
6260 1, 0, // max_field_number, fast_idx_mask
6261 offsetof(decltype(_table_), field_lookup_table),
6262 4294967294, // skipmap
6263 offsetof(decltype(_table_), field_entries),
6264 1, // num_field_entries
6265 1, // num_aux_entries
6266 offsetof(decltype(_table_), aux_entries),
6268 nullptr, // post_loop_handler
6269 ::_pbi::TcParser::GenericFallback, // fallback
6270 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
6271 ::_pbi::TcParser::GetTable<::operations_research::sat::RoutesConstraintProto_NodeExpressions>(), // to_prefetch
6272 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
6273 }, {{
6274 // repeated .operations_research.sat.LinearExpressionProto exprs = 1;
6275 {::_pbi::TcParser::FastMtR1,
6276 {10, 0, 0,
6277 PROTOBUF_FIELD_OFFSET(RoutesConstraintProto_NodeExpressions, _impl_.exprs_)}},
6278 }}, {{
6279 65535, 65535
6280 }}, {{
6281 // repeated .operations_research.sat.LinearExpressionProto exprs = 1;
6282 {PROTOBUF_FIELD_OFFSET(RoutesConstraintProto_NodeExpressions, _impl_.exprs_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
6283 }},
6284 {{
6285 {::_pbi::TcParser::GetTable<::operations_research::sat::LinearExpressionProto>()},
6286 }},
6287 {{
6288 }},
6289};
6290PROTOBUF_NOINLINE void RoutesConstraintProto_NodeExpressions::Clear() {
6291// @@protoc_insertion_point(message_clear_start:operations_research.sat.RoutesConstraintProto.NodeExpressions)
6292 ::google::protobuf::internal::TSanWrite(&_impl_);
6293 ::uint32_t cached_has_bits = 0;
6294 // Prevent compiler warnings about cached_has_bits being unused
6295 (void) cached_has_bits;
6296
6297 cached_has_bits = _impl_._has_bits_[0];
6298 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
6299 _impl_.exprs_.Clear();
6300 }
6301 _impl_._has_bits_.Clear();
6302 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
6303}
6305#if defined(PROTOBUF_CUSTOM_VTABLE)
6307 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
6308 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
6310#else // PROTOBUF_CUSTOM_VTABLE
6312 ::uint8_t* PROTOBUF_NONNULL target,
6313 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
6314 const RoutesConstraintProto_NodeExpressions& this_ = *this;
6315#endif // PROTOBUF_CUSTOM_VTABLE
6316 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
6317 this_.CheckHasBitConsistency();
6318 }
6319 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.RoutesConstraintProto.NodeExpressions)
6320 ::uint32_t cached_has_bits = 0;
6321 (void)cached_has_bits;
6322
6323 cached_has_bits = this_._impl_._has_bits_[0];
6324 // repeated .operations_research.sat.LinearExpressionProto exprs = 1;
6325 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
6326 for (unsigned i = 0, n = static_cast<unsigned>(
6327 this_._internal_exprs_size());
6328 i < n; i++) {
6329 const auto& repfield = this_._internal_exprs().Get(i);
6330 target =
6331 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
6332 1, repfield, repfield.GetCachedSize(),
6333 target, stream);
6334 }
6335 }
6336
6337 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
6338 target =
6339 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
6340 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
6341 }
6342 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.RoutesConstraintProto.NodeExpressions)
6343 return target;
6344}
6345
6346#if defined(PROTOBUF_CUSTOM_VTABLE)
6349#else // PROTOBUF_CUSTOM_VTABLE
6351 const RoutesConstraintProto_NodeExpressions& this_ = *this;
6352#endif // PROTOBUF_CUSTOM_VTABLE
6353 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.RoutesConstraintProto.NodeExpressions)
6354 ::size_t total_size = 0;
6355
6356 ::uint32_t cached_has_bits = 0;
6357 // Prevent compiler warnings about cached_has_bits being unused
6358 (void)cached_has_bits;
6359
6360 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
6361 {
6362 // repeated .operations_research.sat.LinearExpressionProto exprs = 1;
6363 cached_has_bits = this_._impl_._has_bits_[0];
6364 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
6365 total_size += 1UL * this_._internal_exprs_size();
6366 for (const auto& msg : this_._internal_exprs()) {
6367 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
6368 }
6369 }
6370 }
6371 return this_.MaybeComputeUnknownFieldsSize(total_size,
6372 &this_._impl_._cached_size_);
6373}
6374
6375void RoutesConstraintProto_NodeExpressions::MergeImpl(::google::protobuf::MessageLite& to_msg,
6376 const ::google::protobuf::MessageLite& from_msg) {
6377 auto* const _this =
6378 static_cast<RoutesConstraintProto_NodeExpressions*>(&to_msg);
6379 auto& from = static_cast<const RoutesConstraintProto_NodeExpressions&>(from_msg);
6380 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
6381 from.CheckHasBitConsistency();
6382 }
6383 ::google::protobuf::Arena* arena = _this->GetArena();
6384 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.RoutesConstraintProto.NodeExpressions)
6385 ABSL_DCHECK_NE(&from, _this);
6386 ::uint32_t cached_has_bits = 0;
6387 (void)cached_has_bits;
6388
6389 cached_has_bits = from._impl_._has_bits_[0];
6390 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
6391 _this->_internal_mutable_exprs()->InternalMergeFromWithArena(
6392 ::google::protobuf::MessageLite::internal_visibility(), arena,
6393 from._internal_exprs());
6394 }
6395 _this->_impl_._has_bits_[0] |= cached_has_bits;
6396 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
6397 from._internal_metadata_);
6398}
6399
6401 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.RoutesConstraintProto.NodeExpressions)
6402 if (&from == this) return;
6403 Clear();
6404 MergeFrom(from);
6405}
6406
6407
6408void RoutesConstraintProto_NodeExpressions::InternalSwap(RoutesConstraintProto_NodeExpressions* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
6409 using ::std::swap;
6410 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
6411 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
6412 _impl_.exprs_.InternalSwap(&other->_impl_.exprs_);
6413}
6415::google::protobuf::Metadata RoutesConstraintProto_NodeExpressions::GetMetadata() const {
6416 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
6417}
6418// ===================================================================
6419
6421 public:
6422 using HasBits =
6423 decltype(::std::declval<RoutesConstraintProto>()._impl_._has_bits_);
6424 static constexpr ::int32_t kHasBitsOffset =
6425 8 * PROTOBUF_FIELD_OFFSET(RoutesConstraintProto, _impl_._has_bits_);
6426};
6427
6428RoutesConstraintProto::RoutesConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
6429#if defined(PROTOBUF_CUSTOM_VTABLE)
6430 : ::google::protobuf::Message(arena, RoutesConstraintProto_class_data_.base()) {
6431#else // PROTOBUF_CUSTOM_VTABLE
6432 : ::google::protobuf::Message(arena) {
6433#endif // PROTOBUF_CUSTOM_VTABLE
6434 SharedCtor(arena);
6435 // @@protoc_insertion_point(arena_constructor:operations_research.sat.RoutesConstraintProto)
6436}
6437PROTOBUF_NDEBUG_INLINE RoutesConstraintProto::Impl_::Impl_(
6438 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
6439 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
6440 [[maybe_unused]] const ::operations_research::sat::RoutesConstraintProto& from_msg)
6441 : _has_bits_{from._has_bits_},
6442 _cached_size_{0},
6443 tails_{visibility, arena, from.tails_},
6444 _tails_cached_byte_size_{0},
6445 heads_{visibility, arena, from.heads_},
6446 _heads_cached_byte_size_{0},
6447 literals_{visibility, arena, from.literals_},
6448 _literals_cached_byte_size_{0},
6449 demands_{visibility, arena, from.demands_},
6450 _demands_cached_byte_size_{0},
6451 dimensions_{visibility, arena, from.dimensions_} {}
6452
6454 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
6455 const RoutesConstraintProto& from)
6456#if defined(PROTOBUF_CUSTOM_VTABLE)
6457 : ::google::protobuf::Message(arena, RoutesConstraintProto_class_data_.base()) {
6458#else // PROTOBUF_CUSTOM_VTABLE
6459 : ::google::protobuf::Message(arena) {
6460#endif // PROTOBUF_CUSTOM_VTABLE
6461 RoutesConstraintProto* const _this = this;
6462 (void)_this;
6463 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
6464 from._internal_metadata_);
6465 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
6466 _impl_.capacity_ = from._impl_.capacity_;
6467
6468 // @@protoc_insertion_point(copy_constructor:operations_research.sat.RoutesConstraintProto)
6469}
6470PROTOBUF_NDEBUG_INLINE RoutesConstraintProto::Impl_::Impl_(
6471 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
6472 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
6473 : _cached_size_{0},
6474 tails_{visibility, arena},
6475 _tails_cached_byte_size_{0},
6476 heads_{visibility, arena},
6477 _heads_cached_byte_size_{0},
6478 literals_{visibility, arena},
6479 _literals_cached_byte_size_{0},
6480 demands_{visibility, arena},
6481 _demands_cached_byte_size_{0},
6482 dimensions_{visibility, arena} {}
6483
6484inline void RoutesConstraintProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
6485 new (&_impl_) Impl_(internal_visibility(), arena);
6486 _impl_.capacity_ = {};
6487}
6489 // @@protoc_insertion_point(destructor:operations_research.sat.RoutesConstraintProto)
6490 SharedDtor(*this);
6491}
6492inline void RoutesConstraintProto::SharedDtor(MessageLite& self) {
6493 RoutesConstraintProto& this_ = static_cast<RoutesConstraintProto&>(self);
6494 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
6495 this_.CheckHasBitConsistency();
6496 }
6497 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
6498 ABSL_DCHECK(this_.GetArena() == nullptr);
6499 this_._impl_.~Impl_();
6500}
6501
6502inline void* PROTOBUF_NONNULL RoutesConstraintProto::PlacementNew_(
6503 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
6504 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
6505 return ::new (mem) RoutesConstraintProto(arena);
6506}
6507constexpr auto RoutesConstraintProto::InternalNewImpl_() {
6508 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
6509 PROTOBUF_FIELD_OFFSET(RoutesConstraintProto, _impl_.tails_) +
6510 decltype(RoutesConstraintProto::_impl_.tails_)::
6511 InternalGetArenaOffset(
6512 ::google::protobuf::Message::internal_visibility()),
6513 PROTOBUF_FIELD_OFFSET(RoutesConstraintProto, _impl_.heads_) +
6514 decltype(RoutesConstraintProto::_impl_.heads_)::
6515 InternalGetArenaOffset(
6516 ::google::protobuf::Message::internal_visibility()),
6517 PROTOBUF_FIELD_OFFSET(RoutesConstraintProto, _impl_.literals_) +
6518 decltype(RoutesConstraintProto::_impl_.literals_)::
6519 InternalGetArenaOffset(
6520 ::google::protobuf::Message::internal_visibility()),
6521 PROTOBUF_FIELD_OFFSET(RoutesConstraintProto, _impl_.demands_) +
6522 decltype(RoutesConstraintProto::_impl_.demands_)::
6523 InternalGetArenaOffset(
6524 ::google::protobuf::Message::internal_visibility()),
6525 PROTOBUF_FIELD_OFFSET(RoutesConstraintProto, _impl_.dimensions_) +
6526 decltype(RoutesConstraintProto::_impl_.dimensions_)::
6527 InternalGetArenaOffset(
6528 ::google::protobuf::Message::internal_visibility()),
6529 });
6530 if (arena_bits.has_value()) {
6531 return ::google::protobuf::internal::MessageCreator::ZeroInit(
6532 sizeof(RoutesConstraintProto), alignof(RoutesConstraintProto), *arena_bits);
6533 } else {
6534 return ::google::protobuf::internal::MessageCreator(&RoutesConstraintProto::PlacementNew_,
6535 sizeof(RoutesConstraintProto),
6536 alignof(RoutesConstraintProto));
6537 }
6538}
6540 return ::google::protobuf::internal::ClassDataFull{
6541 ::google::protobuf::internal::ClassData{
6543 &_table_.header,
6544 nullptr, // OnDemandRegisterArenaDtor
6545 nullptr, // IsInitialized
6546 &RoutesConstraintProto::MergeImpl,
6547 ::google::protobuf::Message::GetNewImpl<RoutesConstraintProto>(),
6548#if defined(PROTOBUF_CUSTOM_VTABLE)
6549 &RoutesConstraintProto::SharedDtor,
6550 ::google::protobuf::Message::GetClearImpl<RoutesConstraintProto>(), &RoutesConstraintProto::ByteSizeLong,
6552#endif // PROTOBUF_CUSTOM_VTABLE
6553 PROTOBUF_FIELD_OFFSET(RoutesConstraintProto, _impl_._cached_size_),
6554 false,
6555 },
6556 &RoutesConstraintProto::kDescriptorMethods,
6558 nullptr, // tracker
6559 };
6560}
6561
6562PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
6563 ::google::protobuf::internal::ClassDataFull RoutesConstraintProto_class_data_ =
6565
6566PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
6567RoutesConstraintProto::GetClassData() const {
6568 ::google::protobuf::internal::PrefetchToLocalCache(&RoutesConstraintProto_class_data_);
6569 ::google::protobuf::internal::PrefetchToLocalCache(RoutesConstraintProto_class_data_.tc_table);
6571}
6572PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
6573const ::_pbi::TcParseTable<3, 6, 1, 0, 2>
6574RoutesConstraintProto::_table_ = {
6575 {
6576 PROTOBUF_FIELD_OFFSET(RoutesConstraintProto, _impl_._has_bits_),
6577 0, // no _extensions_
6578 6, 56, // max_field_number, fast_idx_mask
6579 offsetof(decltype(_table_), field_lookup_table),
6580 4294967232, // skipmap
6581 offsetof(decltype(_table_), field_entries),
6582 6, // num_field_entries
6583 1, // num_aux_entries
6584 offsetof(decltype(_table_), aux_entries),
6586 nullptr, // post_loop_handler
6587 ::_pbi::TcParser::GenericFallback, // fallback
6588 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
6589 ::_pbi::TcParser::GetTable<::operations_research::sat::RoutesConstraintProto>(), // to_prefetch
6590 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
6591 }, {{
6592 {::_pbi::TcParser::MiniParse, {}},
6593 // repeated int32 tails = 1;
6594 {::_pbi::TcParser::FastV32P1,
6595 {10, 0, 0,
6596 PROTOBUF_FIELD_OFFSET(RoutesConstraintProto, _impl_.tails_)}},
6597 // repeated int32 heads = 2;
6598 {::_pbi::TcParser::FastV32P1,
6599 {18, 1, 0,
6600 PROTOBUF_FIELD_OFFSET(RoutesConstraintProto, _impl_.heads_)}},
6601 // repeated int32 literals = 3;
6602 {::_pbi::TcParser::FastV32P1,
6603 {26, 2, 0,
6604 PROTOBUF_FIELD_OFFSET(RoutesConstraintProto, _impl_.literals_)}},
6605 // repeated int32 demands = 4;
6606 {::_pbi::TcParser::FastV32P1,
6607 {34, 3, 0,
6608 PROTOBUF_FIELD_OFFSET(RoutesConstraintProto, _impl_.demands_)}},
6609 // int64 capacity = 5;
6610 {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(RoutesConstraintProto, _impl_.capacity_), 5>(),
6611 {40, 5, 0,
6612 PROTOBUF_FIELD_OFFSET(RoutesConstraintProto, _impl_.capacity_)}},
6613 // repeated .operations_research.sat.RoutesConstraintProto.NodeExpressions dimensions = 6;
6614 {::_pbi::TcParser::FastMtR1,
6615 {50, 4, 0,
6616 PROTOBUF_FIELD_OFFSET(RoutesConstraintProto, _impl_.dimensions_)}},
6617 {::_pbi::TcParser::MiniParse, {}},
6618 }}, {{
6619 65535, 65535
6620 }}, {{
6621 // repeated int32 tails = 1;
6622 {PROTOBUF_FIELD_OFFSET(RoutesConstraintProto, _impl_.tails_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
6623 // repeated int32 heads = 2;
6624 {PROTOBUF_FIELD_OFFSET(RoutesConstraintProto, _impl_.heads_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
6625 // repeated int32 literals = 3;
6626 {PROTOBUF_FIELD_OFFSET(RoutesConstraintProto, _impl_.literals_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
6627 // repeated int32 demands = 4;
6628 {PROTOBUF_FIELD_OFFSET(RoutesConstraintProto, _impl_.demands_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
6629 // int64 capacity = 5;
6630 {PROTOBUF_FIELD_OFFSET(RoutesConstraintProto, _impl_.capacity_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
6631 // repeated .operations_research.sat.RoutesConstraintProto.NodeExpressions dimensions = 6;
6632 {PROTOBUF_FIELD_OFFSET(RoutesConstraintProto, _impl_.dimensions_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
6633 }},
6634 {{
6635 {::_pbi::TcParser::GetTable<::operations_research::sat::RoutesConstraintProto_NodeExpressions>()},
6636 }},
6637 {{
6638 }},
6639};
6640PROTOBUF_NOINLINE void RoutesConstraintProto::Clear() {
6641// @@protoc_insertion_point(message_clear_start:operations_research.sat.RoutesConstraintProto)
6642 ::google::protobuf::internal::TSanWrite(&_impl_);
6643 ::uint32_t cached_has_bits = 0;
6644 // Prevent compiler warnings about cached_has_bits being unused
6645 (void) cached_has_bits;
6646
6647 cached_has_bits = _impl_._has_bits_[0];
6648 if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
6649 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
6650 _impl_.tails_.Clear();
6651 }
6652 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
6653 _impl_.heads_.Clear();
6654 }
6655 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
6656 _impl_.literals_.Clear();
6657 }
6658 if (CheckHasBitForRepeated(cached_has_bits, 0x00000008U)) {
6659 _impl_.demands_.Clear();
6660 }
6661 if (CheckHasBitForRepeated(cached_has_bits, 0x00000010U)) {
6662 _impl_.dimensions_.Clear();
6663 }
6664 }
6665 _impl_.capacity_ = ::int64_t{0};
6666 _impl_._has_bits_.Clear();
6667 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
6668}
6669
6670#if defined(PROTOBUF_CUSTOM_VTABLE)
6671::uint8_t* PROTOBUF_NONNULL RoutesConstraintProto::_InternalSerialize(
6672 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
6673 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
6674 const RoutesConstraintProto& this_ = static_cast<const RoutesConstraintProto&>(base);
6675#else // PROTOBUF_CUSTOM_VTABLE
6676::uint8_t* PROTOBUF_NONNULL RoutesConstraintProto::_InternalSerialize(
6677 ::uint8_t* PROTOBUF_NONNULL target,
6678 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
6679 const RoutesConstraintProto& this_ = *this;
6680#endif // PROTOBUF_CUSTOM_VTABLE
6681 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
6682 this_.CheckHasBitConsistency();
6683 }
6684 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.RoutesConstraintProto)
6685 ::uint32_t cached_has_bits = 0;
6686 (void)cached_has_bits;
6687
6688 cached_has_bits = this_._impl_._has_bits_[0];
6689 // repeated int32 tails = 1;
6690 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
6692 int byte_size = this_._impl_._tails_cached_byte_size_.Get();
6693 if (byte_size > 0) {
6694 target = stream->WriteInt32Packed(
6695 1, this_._internal_tails(), byte_size, target);
6696 }
6697 }
6698 }
6699
6700 // repeated int32 heads = 2;
6701 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
6702 {
6703 int byte_size = this_._impl_._heads_cached_byte_size_.Get();
6704 if (byte_size > 0) {
6705 target = stream->WriteInt32Packed(
6706 2, this_._internal_heads(), byte_size, target);
6707 }
6708 }
6709 }
6710
6711 // repeated int32 literals = 3;
6712 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
6713 {
6714 int byte_size = this_._impl_._literals_cached_byte_size_.Get();
6715 if (byte_size > 0) {
6716 target = stream->WriteInt32Packed(
6717 3, this_._internal_literals(), byte_size, target);
6718 }
6719 }
6720 }
6721
6722 // repeated int32 demands = 4;
6723 if (CheckHasBitForRepeated(cached_has_bits, 0x00000008U)) {
6724 {
6725 int byte_size = this_._impl_._demands_cached_byte_size_.Get();
6726 if (byte_size > 0) {
6727 target = stream->WriteInt32Packed(
6728 4, this_._internal_demands(), byte_size, target);
6729 }
6730 }
6731 }
6732
6733 // int64 capacity = 5;
6734 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
6735 if (this_._internal_capacity() != 0) {
6736 target =
6737 ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<5>(
6738 stream, this_._internal_capacity(), target);
6739 }
6740 }
6741
6742 // repeated .operations_research.sat.RoutesConstraintProto.NodeExpressions dimensions = 6;
6743 if (CheckHasBitForRepeated(cached_has_bits, 0x00000010U)) {
6744 for (unsigned i = 0, n = static_cast<unsigned>(
6745 this_._internal_dimensions_size());
6746 i < n; i++) {
6747 const auto& repfield = this_._internal_dimensions().Get(i);
6748 target =
6749 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
6750 6, repfield, repfield.GetCachedSize(),
6751 target, stream);
6752 }
6753 }
6754
6755 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
6756 target =
6757 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
6758 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
6759 }
6760 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.RoutesConstraintProto)
6761 return target;
6762}
6763
6764#if defined(PROTOBUF_CUSTOM_VTABLE)
6766 const RoutesConstraintProto& this_ = static_cast<const RoutesConstraintProto&>(base);
6767#else // PROTOBUF_CUSTOM_VTABLE
6768::size_t RoutesConstraintProto::ByteSizeLong() const {
6769 const RoutesConstraintProto& this_ = *this;
6770#endif // PROTOBUF_CUSTOM_VTABLE
6771 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.RoutesConstraintProto)
6772 ::size_t total_size = 0;
6773
6774 ::uint32_t cached_has_bits = 0;
6775 // Prevent compiler warnings about cached_has_bits being unused
6776 (void)cached_has_bits;
6777
6778 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
6779 cached_has_bits = this_._impl_._has_bits_[0];
6780 if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) {
6781 // repeated int32 tails = 1;
6782 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
6783 total_size +=
6784 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
6785 this_._internal_tails(), 1,
6786 this_._impl_._tails_cached_byte_size_);
6787 }
6788 // repeated int32 heads = 2;
6789 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
6790 total_size +=
6791 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
6792 this_._internal_heads(), 1,
6793 this_._impl_._heads_cached_byte_size_);
6794 }
6795 // repeated int32 literals = 3;
6796 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
6797 total_size +=
6798 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
6799 this_._internal_literals(), 1,
6800 this_._impl_._literals_cached_byte_size_);
6801 }
6802 // repeated int32 demands = 4;
6803 if (CheckHasBitForRepeated(cached_has_bits, 0x00000008U)) {
6804 total_size +=
6805 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
6806 this_._internal_demands(), 1,
6807 this_._impl_._demands_cached_byte_size_);
6808 }
6809 // repeated .operations_research.sat.RoutesConstraintProto.NodeExpressions dimensions = 6;
6810 if (CheckHasBitForRepeated(cached_has_bits, 0x00000010U)) {
6811 total_size += 1UL * this_._internal_dimensions_size();
6812 for (const auto& msg : this_._internal_dimensions()) {
6813 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
6814 }
6815 }
6816 // int64 capacity = 5;
6817 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
6818 if (this_._internal_capacity() != 0) {
6819 total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
6820 this_._internal_capacity());
6821 }
6822 }
6823 }
6824 return this_.MaybeComputeUnknownFieldsSize(total_size,
6825 &this_._impl_._cached_size_);
6826}
6827
6828void RoutesConstraintProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
6829 const ::google::protobuf::MessageLite& from_msg) {
6830 auto* const _this =
6831 static_cast<RoutesConstraintProto*>(&to_msg);
6832 auto& from = static_cast<const RoutesConstraintProto&>(from_msg);
6833 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
6834 from.CheckHasBitConsistency();
6835 }
6836 ::google::protobuf::Arena* arena = _this->GetArena();
6837 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.RoutesConstraintProto)
6838 ABSL_DCHECK_NE(&from, _this);
6839 ::uint32_t cached_has_bits = 0;
6840 (void)cached_has_bits;
6841
6842 cached_has_bits = from._impl_._has_bits_[0];
6843 if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) {
6844 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
6845 _this->_internal_mutable_tails()->MergeFrom(from._internal_tails());
6846 }
6847 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
6848 _this->_internal_mutable_heads()->MergeFrom(from._internal_heads());
6849 }
6850 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
6851 _this->_internal_mutable_literals()->MergeFrom(from._internal_literals());
6852 }
6853 if (CheckHasBitForRepeated(cached_has_bits, 0x00000008U)) {
6854 _this->_internal_mutable_demands()->MergeFrom(from._internal_demands());
6855 }
6856 if (CheckHasBitForRepeated(cached_has_bits, 0x00000010U)) {
6857 _this->_internal_mutable_dimensions()->InternalMergeFromWithArena(
6858 ::google::protobuf::MessageLite::internal_visibility(), arena,
6859 from._internal_dimensions());
6860 }
6861 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
6862 if (from._internal_capacity() != 0) {
6863 _this->_impl_.capacity_ = from._impl_.capacity_;
6864 }
6865 }
6866 }
6867 _this->_impl_._has_bits_[0] |= cached_has_bits;
6868 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
6869 from._internal_metadata_);
6870}
6871
6873 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.RoutesConstraintProto)
6874 if (&from == this) return;
6875 Clear();
6876 MergeFrom(from);
6877}
6878
6879
6880void RoutesConstraintProto::InternalSwap(RoutesConstraintProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
6881 using ::std::swap;
6882 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
6883 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
6884 _impl_.tails_.InternalSwap(&other->_impl_.tails_);
6885 _impl_.heads_.InternalSwap(&other->_impl_.heads_);
6886 _impl_.literals_.InternalSwap(&other->_impl_.literals_);
6887 _impl_.demands_.InternalSwap(&other->_impl_.demands_);
6888 _impl_.dimensions_.InternalSwap(&other->_impl_.dimensions_);
6889 swap(_impl_.capacity_, other->_impl_.capacity_);
6890}
6891
6892::google::protobuf::Metadata RoutesConstraintProto::GetMetadata() const {
6893 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
6894}
6895// ===================================================================
6896
6897class TableConstraintProto::_Internal {
6898 public:
6899 using HasBits =
6900 decltype(::std::declval<TableConstraintProto>()._impl_._has_bits_);
6901 static constexpr ::int32_t kHasBitsOffset =
6902 8 * PROTOBUF_FIELD_OFFSET(TableConstraintProto, _impl_._has_bits_);
6903};
6904
6905TableConstraintProto::TableConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
6906#if defined(PROTOBUF_CUSTOM_VTABLE)
6907 : ::google::protobuf::Message(arena, TableConstraintProto_class_data_.base()) {
6908#else // PROTOBUF_CUSTOM_VTABLE
6909 : ::google::protobuf::Message(arena) {
6910#endif // PROTOBUF_CUSTOM_VTABLE
6911 SharedCtor(arena);
6912 // @@protoc_insertion_point(arena_constructor:operations_research.sat.TableConstraintProto)
6914PROTOBUF_NDEBUG_INLINE TableConstraintProto::Impl_::Impl_(
6915 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
6916 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
6917 [[maybe_unused]] const ::operations_research::sat::TableConstraintProto& from_msg)
6918 : _has_bits_{from._has_bits_},
6919 _cached_size_{0},
6920 vars_{visibility, arena, from.vars_},
6921 _vars_cached_byte_size_{0},
6922 values_{visibility, arena, from.values_},
6923 _values_cached_byte_size_{0},
6924 exprs_{visibility, arena, from.exprs_} {}
6925
6927 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
6928 const TableConstraintProto& from)
6929#if defined(PROTOBUF_CUSTOM_VTABLE)
6930 : ::google::protobuf::Message(arena, TableConstraintProto_class_data_.base()) {
6931#else // PROTOBUF_CUSTOM_VTABLE
6932 : ::google::protobuf::Message(arena) {
6933#endif // PROTOBUF_CUSTOM_VTABLE
6934 TableConstraintProto* const _this = this;
6935 (void)_this;
6936 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
6937 from._internal_metadata_);
6938 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
6939 _impl_.negated_ = from._impl_.negated_;
6940
6941 // @@protoc_insertion_point(copy_constructor:operations_research.sat.TableConstraintProto)
6942}
6943PROTOBUF_NDEBUG_INLINE TableConstraintProto::Impl_::Impl_(
6944 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
6945 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
6946 : _cached_size_{0},
6947 vars_{visibility, arena},
6948 _vars_cached_byte_size_{0},
6949 values_{visibility, arena},
6950 _values_cached_byte_size_{0},
6951 exprs_{visibility, arena} {}
6952
6953inline void TableConstraintProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
6954 new (&_impl_) Impl_(internal_visibility(), arena);
6955 _impl_.negated_ = {};
6956}
6958 // @@protoc_insertion_point(destructor:operations_research.sat.TableConstraintProto)
6959 SharedDtor(*this);
6960}
6961inline void TableConstraintProto::SharedDtor(MessageLite& self) {
6962 TableConstraintProto& this_ = static_cast<TableConstraintProto&>(self);
6963 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
6964 this_.CheckHasBitConsistency();
6965 }
6966 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
6967 ABSL_DCHECK(this_.GetArena() == nullptr);
6968 this_._impl_.~Impl_();
6969}
6970
6971inline void* PROTOBUF_NONNULL TableConstraintProto::PlacementNew_(
6972 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
6973 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
6974 return ::new (mem) TableConstraintProto(arena);
6975}
6976constexpr auto TableConstraintProto::InternalNewImpl_() {
6977 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
6978 PROTOBUF_FIELD_OFFSET(TableConstraintProto, _impl_.vars_) +
6979 decltype(TableConstraintProto::_impl_.vars_)::
6980 InternalGetArenaOffset(
6981 ::google::protobuf::Message::internal_visibility()),
6982 PROTOBUF_FIELD_OFFSET(TableConstraintProto, _impl_.values_) +
6983 decltype(TableConstraintProto::_impl_.values_)::
6984 InternalGetArenaOffset(
6985 ::google::protobuf::Message::internal_visibility()),
6986 PROTOBUF_FIELD_OFFSET(TableConstraintProto, _impl_.exprs_) +
6987 decltype(TableConstraintProto::_impl_.exprs_)::
6988 InternalGetArenaOffset(
6989 ::google::protobuf::Message::internal_visibility()),
6990 });
6991 if (arena_bits.has_value()) {
6992 return ::google::protobuf::internal::MessageCreator::ZeroInit(
6993 sizeof(TableConstraintProto), alignof(TableConstraintProto), *arena_bits);
6994 } else {
6995 return ::google::protobuf::internal::MessageCreator(&TableConstraintProto::PlacementNew_,
6996 sizeof(TableConstraintProto),
6997 alignof(TableConstraintProto));
6998 }
6999}
7001 return ::google::protobuf::internal::ClassDataFull{
7002 ::google::protobuf::internal::ClassData{
7004 &_table_.header,
7005 nullptr, // OnDemandRegisterArenaDtor
7006 nullptr, // IsInitialized
7007 &TableConstraintProto::MergeImpl,
7008 ::google::protobuf::Message::GetNewImpl<TableConstraintProto>(),
7009#if defined(PROTOBUF_CUSTOM_VTABLE)
7010 &TableConstraintProto::SharedDtor,
7011 ::google::protobuf::Message::GetClearImpl<TableConstraintProto>(), &TableConstraintProto::ByteSizeLong,
7013#endif // PROTOBUF_CUSTOM_VTABLE
7014 PROTOBUF_FIELD_OFFSET(TableConstraintProto, _impl_._cached_size_),
7015 false,
7017 &TableConstraintProto::kDescriptorMethods,
7019 nullptr, // tracker
7020 };
7021}
7022
7023PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
7024 ::google::protobuf::internal::ClassDataFull TableConstraintProto_class_data_ =
7026
7027PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
7028TableConstraintProto::GetClassData() const {
7029 ::google::protobuf::internal::PrefetchToLocalCache(&TableConstraintProto_class_data_);
7030 ::google::protobuf::internal::PrefetchToLocalCache(TableConstraintProto_class_data_.tc_table);
7032}
7033PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
7034const ::_pbi::TcParseTable<2, 4, 1, 0, 2>
7035TableConstraintProto::_table_ = {
7036 {
7037 PROTOBUF_FIELD_OFFSET(TableConstraintProto, _impl_._has_bits_),
7038 0, // no _extensions_
7039 4, 24, // max_field_number, fast_idx_mask
7040 offsetof(decltype(_table_), field_lookup_table),
7041 4294967280, // skipmap
7042 offsetof(decltype(_table_), field_entries),
7043 4, // num_field_entries
7044 1, // num_aux_entries
7045 offsetof(decltype(_table_), aux_entries),
7047 nullptr, // post_loop_handler
7048 ::_pbi::TcParser::GenericFallback, // fallback
7049 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
7050 ::_pbi::TcParser::GetTable<::operations_research::sat::TableConstraintProto>(), // to_prefetch
7051 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
7052 }, {{
7053 // repeated .operations_research.sat.LinearExpressionProto exprs = 4;
7054 {::_pbi::TcParser::FastMtR1,
7055 {34, 2, 0,
7056 PROTOBUF_FIELD_OFFSET(TableConstraintProto, _impl_.exprs_)}},
7057 // repeated int32 vars = 1;
7058 {::_pbi::TcParser::FastV32P1,
7059 {10, 0, 0,
7060 PROTOBUF_FIELD_OFFSET(TableConstraintProto, _impl_.vars_)}},
7061 // repeated int64 values = 2;
7062 {::_pbi::TcParser::FastV64P1,
7063 {18, 1, 0,
7064 PROTOBUF_FIELD_OFFSET(TableConstraintProto, _impl_.values_)}},
7065 // bool negated = 3;
7066 {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(TableConstraintProto, _impl_.negated_), 3>(),
7067 {24, 3, 0,
7068 PROTOBUF_FIELD_OFFSET(TableConstraintProto, _impl_.negated_)}},
7069 }}, {{
7070 65535, 65535
7071 }}, {{
7072 // repeated int32 vars = 1;
7073 {PROTOBUF_FIELD_OFFSET(TableConstraintProto, _impl_.vars_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
7074 // repeated int64 values = 2;
7075 {PROTOBUF_FIELD_OFFSET(TableConstraintProto, _impl_.values_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt64)},
7076 // bool negated = 3;
7077 {PROTOBUF_FIELD_OFFSET(TableConstraintProto, _impl_.negated_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
7078 // repeated .operations_research.sat.LinearExpressionProto exprs = 4;
7079 {PROTOBUF_FIELD_OFFSET(TableConstraintProto, _impl_.exprs_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
7080 }},
7081 {{
7082 {::_pbi::TcParser::GetTable<::operations_research::sat::LinearExpressionProto>()},
7083 }},
7084 {{
7085 }},
7086};
7087PROTOBUF_NOINLINE void TableConstraintProto::Clear() {
7088// @@protoc_insertion_point(message_clear_start:operations_research.sat.TableConstraintProto)
7089 ::google::protobuf::internal::TSanWrite(&_impl_);
7090 ::uint32_t cached_has_bits = 0;
7091 // Prevent compiler warnings about cached_has_bits being unused
7092 (void) cached_has_bits;
7093
7094 cached_has_bits = _impl_._has_bits_[0];
7095 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
7096 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
7097 _impl_.vars_.Clear();
7098 }
7099 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
7100 _impl_.values_.Clear();
7101 }
7102 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
7103 _impl_.exprs_.Clear();
7104 }
7105 }
7106 _impl_.negated_ = false;
7107 _impl_._has_bits_.Clear();
7108 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
7109}
7110
7111#if defined(PROTOBUF_CUSTOM_VTABLE)
7112::uint8_t* PROTOBUF_NONNULL TableConstraintProto::_InternalSerialize(
7113 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
7114 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
7115 const TableConstraintProto& this_ = static_cast<const TableConstraintProto&>(base);
7116#else // PROTOBUF_CUSTOM_VTABLE
7117::uint8_t* PROTOBUF_NONNULL TableConstraintProto::_InternalSerialize(
7118 ::uint8_t* PROTOBUF_NONNULL target,
7119 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
7120 const TableConstraintProto& this_ = *this;
7121#endif // PROTOBUF_CUSTOM_VTABLE
7122 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
7123 this_.CheckHasBitConsistency();
7124 }
7125 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.TableConstraintProto)
7126 ::uint32_t cached_has_bits = 0;
7127 (void)cached_has_bits;
7128
7129 cached_has_bits = this_._impl_._has_bits_[0];
7130 // repeated int32 vars = 1;
7131 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
7132 {
7133 int byte_size = this_._impl_._vars_cached_byte_size_.Get();
7134 if (byte_size > 0) {
7135 target = stream->WriteInt32Packed(
7136 1, this_._internal_vars(), byte_size, target);
7137 }
7138 }
7139 }
7140
7141 // repeated int64 values = 2;
7142 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
7143 {
7144 int byte_size = this_._impl_._values_cached_byte_size_.Get();
7145 if (byte_size > 0) {
7146 target = stream->WriteInt64Packed(
7147 2, this_._internal_values(), byte_size, target);
7148 }
7149 }
7150 }
7151
7152 // bool negated = 3;
7153 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
7154 if (this_._internal_negated() != 0) {
7155 target = stream->EnsureSpace(target);
7156 target = ::_pbi::WireFormatLite::WriteBoolToArray(
7157 3, this_._internal_negated(), target);
7158 }
7159 }
7160
7161 // repeated .operations_research.sat.LinearExpressionProto exprs = 4;
7162 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
7163 for (unsigned i = 0, n = static_cast<unsigned>(
7164 this_._internal_exprs_size());
7165 i < n; i++) {
7166 const auto& repfield = this_._internal_exprs().Get(i);
7167 target =
7168 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
7169 4, repfield, repfield.GetCachedSize(),
7170 target, stream);
7171 }
7172 }
7173
7174 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
7175 target =
7176 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
7177 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
7178 }
7179 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.TableConstraintProto)
7180 return target;
7181}
7182
7183#if defined(PROTOBUF_CUSTOM_VTABLE)
7184::size_t TableConstraintProto::ByteSizeLong(const MessageLite& base) {
7185 const TableConstraintProto& this_ = static_cast<const TableConstraintProto&>(base);
7186#else // PROTOBUF_CUSTOM_VTABLE
7187::size_t TableConstraintProto::ByteSizeLong() const {
7188 const TableConstraintProto& this_ = *this;
7189#endif // PROTOBUF_CUSTOM_VTABLE
7190 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.TableConstraintProto)
7191 ::size_t total_size = 0;
7192
7193 ::uint32_t cached_has_bits = 0;
7194 // Prevent compiler warnings about cached_has_bits being unused
7195 (void)cached_has_bits;
7196
7197 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
7198 cached_has_bits = this_._impl_._has_bits_[0];
7199 if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
7200 // repeated int32 vars = 1;
7201 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
7202 total_size +=
7203 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
7204 this_._internal_vars(), 1,
7205 this_._impl_._vars_cached_byte_size_);
7206 }
7207 // repeated int64 values = 2;
7208 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
7209 total_size +=
7210 ::_pbi::WireFormatLite::Int64SizeWithPackedTagSize(
7211 this_._internal_values(), 1,
7212 this_._impl_._values_cached_byte_size_);
7213 }
7214 // repeated .operations_research.sat.LinearExpressionProto exprs = 4;
7215 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
7216 total_size += 1UL * this_._internal_exprs_size();
7217 for (const auto& msg : this_._internal_exprs()) {
7218 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
7219 }
7220 }
7221 // bool negated = 3;
7222 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
7223 if (this_._internal_negated() != 0) {
7224 total_size += 2;
7225 }
7226 }
7227 }
7228 return this_.MaybeComputeUnknownFieldsSize(total_size,
7229 &this_._impl_._cached_size_);
7230}
7231
7232void TableConstraintProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
7233 const ::google::protobuf::MessageLite& from_msg) {
7234 auto* const _this =
7235 static_cast<TableConstraintProto*>(&to_msg);
7236 auto& from = static_cast<const TableConstraintProto&>(from_msg);
7237 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
7238 from.CheckHasBitConsistency();
7239 }
7240 ::google::protobuf::Arena* arena = _this->GetArena();
7241 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.TableConstraintProto)
7242 ABSL_DCHECK_NE(&from, _this);
7243 ::uint32_t cached_has_bits = 0;
7244 (void)cached_has_bits;
7245
7246 cached_has_bits = from._impl_._has_bits_[0];
7247 if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
7248 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
7249 _this->_internal_mutable_vars()->MergeFrom(from._internal_vars());
7250 }
7251 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
7252 _this->_internal_mutable_values()->MergeFrom(from._internal_values());
7253 }
7254 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
7255 _this->_internal_mutable_exprs()->InternalMergeFromWithArena(
7256 ::google::protobuf::MessageLite::internal_visibility(), arena,
7257 from._internal_exprs());
7258 }
7259 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
7260 if (from._internal_negated() != 0) {
7261 _this->_impl_.negated_ = from._impl_.negated_;
7262 }
7263 }
7264 }
7265 _this->_impl_._has_bits_[0] |= cached_has_bits;
7266 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
7267 from._internal_metadata_);
7268}
7269
7271 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.TableConstraintProto)
7272 if (&from == this) return;
7273 Clear();
7274 MergeFrom(from);
7275}
7276
7277
7278void TableConstraintProto::InternalSwap(TableConstraintProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
7279 using ::std::swap;
7280 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
7281 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
7282 _impl_.vars_.InternalSwap(&other->_impl_.vars_);
7283 _impl_.values_.InternalSwap(&other->_impl_.values_);
7284 _impl_.exprs_.InternalSwap(&other->_impl_.exprs_);
7285 swap(_impl_.negated_, other->_impl_.negated_);
7287
7288::google::protobuf::Metadata TableConstraintProto::GetMetadata() const {
7289 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
7290}
7291// ===================================================================
7292
7293class InverseConstraintProto::_Internal {
7294 public:
7295 using HasBits =
7296 decltype(::std::declval<InverseConstraintProto>()._impl_._has_bits_);
7297 static constexpr ::int32_t kHasBitsOffset =
7298 8 * PROTOBUF_FIELD_OFFSET(InverseConstraintProto, _impl_._has_bits_);
7299};
7300
7301InverseConstraintProto::InverseConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
7302#if defined(PROTOBUF_CUSTOM_VTABLE)
7303 : ::google::protobuf::Message(arena, InverseConstraintProto_class_data_.base()) {
7304#else // PROTOBUF_CUSTOM_VTABLE
7305 : ::google::protobuf::Message(arena) {
7306#endif // PROTOBUF_CUSTOM_VTABLE
7307 SharedCtor(arena);
7308 // @@protoc_insertion_point(arena_constructor:operations_research.sat.InverseConstraintProto)
7309}
7310PROTOBUF_NDEBUG_INLINE InverseConstraintProto::Impl_::Impl_(
7311 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
7312 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
7313 [[maybe_unused]] const ::operations_research::sat::InverseConstraintProto& from_msg)
7314 : _has_bits_{from._has_bits_},
7315 _cached_size_{0},
7316 f_direct_{visibility, arena, from.f_direct_},
7317 _f_direct_cached_byte_size_{0},
7318 f_inverse_{visibility, arena, from.f_inverse_},
7319 _f_inverse_cached_byte_size_{0} {}
7320
7322 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
7323 const InverseConstraintProto& from)
7324#if defined(PROTOBUF_CUSTOM_VTABLE)
7325 : ::google::protobuf::Message(arena, InverseConstraintProto_class_data_.base()) {
7326#else // PROTOBUF_CUSTOM_VTABLE
7327 : ::google::protobuf::Message(arena) {
7328#endif // PROTOBUF_CUSTOM_VTABLE
7329 InverseConstraintProto* const _this = this;
7330 (void)_this;
7331 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
7332 from._internal_metadata_);
7333 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
7334
7335 // @@protoc_insertion_point(copy_constructor:operations_research.sat.InverseConstraintProto)
7336}
7337PROTOBUF_NDEBUG_INLINE InverseConstraintProto::Impl_::Impl_(
7338 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
7339 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
7340 : _cached_size_{0},
7341 f_direct_{visibility, arena},
7342 _f_direct_cached_byte_size_{0},
7343 f_inverse_{visibility, arena},
7344 _f_inverse_cached_byte_size_{0} {}
7345
7346inline void InverseConstraintProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
7347 new (&_impl_) Impl_(internal_visibility(), arena);
7348}
7350 // @@protoc_insertion_point(destructor:operations_research.sat.InverseConstraintProto)
7351 SharedDtor(*this);
7352}
7353inline void InverseConstraintProto::SharedDtor(MessageLite& self) {
7354 InverseConstraintProto& this_ = static_cast<InverseConstraintProto&>(self);
7355 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
7356 this_.CheckHasBitConsistency();
7357 }
7358 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
7359 ABSL_DCHECK(this_.GetArena() == nullptr);
7360 this_._impl_.~Impl_();
7361}
7362
7363inline void* PROTOBUF_NONNULL InverseConstraintProto::PlacementNew_(
7364 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
7365 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
7366 return ::new (mem) InverseConstraintProto(arena);
7367}
7368constexpr auto InverseConstraintProto::InternalNewImpl_() {
7369 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
7370 PROTOBUF_FIELD_OFFSET(InverseConstraintProto, _impl_.f_direct_) +
7371 decltype(InverseConstraintProto::_impl_.f_direct_)::
7372 InternalGetArenaOffset(
7373 ::google::protobuf::Message::internal_visibility()),
7374 PROTOBUF_FIELD_OFFSET(InverseConstraintProto, _impl_.f_inverse_) +
7375 decltype(InverseConstraintProto::_impl_.f_inverse_)::
7376 InternalGetArenaOffset(
7377 ::google::protobuf::Message::internal_visibility()),
7378 });
7379 if (arena_bits.has_value()) {
7380 return ::google::protobuf::internal::MessageCreator::ZeroInit(
7381 sizeof(InverseConstraintProto), alignof(InverseConstraintProto), *arena_bits);
7382 } else {
7383 return ::google::protobuf::internal::MessageCreator(&InverseConstraintProto::PlacementNew_,
7384 sizeof(InverseConstraintProto),
7385 alignof(InverseConstraintProto));
7386 }
7387}
7389 return ::google::protobuf::internal::ClassDataFull{
7390 ::google::protobuf::internal::ClassData{
7392 &_table_.header,
7393 nullptr, // OnDemandRegisterArenaDtor
7394 nullptr, // IsInitialized
7395 &InverseConstraintProto::MergeImpl,
7396 ::google::protobuf::Message::GetNewImpl<InverseConstraintProto>(),
7397#if defined(PROTOBUF_CUSTOM_VTABLE)
7398 &InverseConstraintProto::SharedDtor,
7399 ::google::protobuf::Message::GetClearImpl<InverseConstraintProto>(), &InverseConstraintProto::ByteSizeLong,
7401#endif // PROTOBUF_CUSTOM_VTABLE
7402 PROTOBUF_FIELD_OFFSET(InverseConstraintProto, _impl_._cached_size_),
7403 false,
7404 },
7405 &InverseConstraintProto::kDescriptorMethods,
7407 nullptr, // tracker
7408 };
7409}
7410
7411PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
7412 ::google::protobuf::internal::ClassDataFull InverseConstraintProto_class_data_ =
7414
7415PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
7416InverseConstraintProto::GetClassData() const {
7417 ::google::protobuf::internal::PrefetchToLocalCache(&InverseConstraintProto_class_data_);
7418 ::google::protobuf::internal::PrefetchToLocalCache(InverseConstraintProto_class_data_.tc_table);
7420}
7421PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
7422const ::_pbi::TcParseTable<1, 2, 0, 0, 2>
7423InverseConstraintProto::_table_ = {
7424 {
7425 PROTOBUF_FIELD_OFFSET(InverseConstraintProto, _impl_._has_bits_),
7426 0, // no _extensions_
7427 2, 8, // max_field_number, fast_idx_mask
7428 offsetof(decltype(_table_), field_lookup_table),
7429 4294967292, // skipmap
7430 offsetof(decltype(_table_), field_entries),
7431 2, // num_field_entries
7432 0, // num_aux_entries
7433 offsetof(decltype(_table_), field_names), // no aux_entries
7435 nullptr, // post_loop_handler
7436 ::_pbi::TcParser::GenericFallback, // fallback
7437 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
7438 ::_pbi::TcParser::GetTable<::operations_research::sat::InverseConstraintProto>(), // to_prefetch
7439 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
7440 }, {{
7441 // repeated int32 f_inverse = 2;
7442 {::_pbi::TcParser::FastV32P1,
7443 {18, 1, 0,
7444 PROTOBUF_FIELD_OFFSET(InverseConstraintProto, _impl_.f_inverse_)}},
7445 // repeated int32 f_direct = 1;
7446 {::_pbi::TcParser::FastV32P1,
7447 {10, 0, 0,
7448 PROTOBUF_FIELD_OFFSET(InverseConstraintProto, _impl_.f_direct_)}},
7449 }}, {{
7450 65535, 65535
7451 }}, {{
7452 // repeated int32 f_direct = 1;
7453 {PROTOBUF_FIELD_OFFSET(InverseConstraintProto, _impl_.f_direct_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
7454 // repeated int32 f_inverse = 2;
7455 {PROTOBUF_FIELD_OFFSET(InverseConstraintProto, _impl_.f_inverse_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
7456 }},
7457 // no aux_entries
7458 {{
7459 }},
7460};
7461PROTOBUF_NOINLINE void InverseConstraintProto::Clear() {
7462// @@protoc_insertion_point(message_clear_start:operations_research.sat.InverseConstraintProto)
7463 ::google::protobuf::internal::TSanWrite(&_impl_);
7464 ::uint32_t cached_has_bits = 0;
7465 // Prevent compiler warnings about cached_has_bits being unused
7466 (void) cached_has_bits;
7467
7468 cached_has_bits = _impl_._has_bits_[0];
7469 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
7470 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
7471 _impl_.f_direct_.Clear();
7472 }
7473 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
7474 _impl_.f_inverse_.Clear();
7475 }
7476 }
7477 _impl_._has_bits_.Clear();
7478 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
7479}
7480
7481#if defined(PROTOBUF_CUSTOM_VTABLE)
7482::uint8_t* PROTOBUF_NONNULL InverseConstraintProto::_InternalSerialize(
7483 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
7484 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
7485 const InverseConstraintProto& this_ = static_cast<const InverseConstraintProto&>(base);
7486#else // PROTOBUF_CUSTOM_VTABLE
7487::uint8_t* PROTOBUF_NONNULL InverseConstraintProto::_InternalSerialize(
7488 ::uint8_t* PROTOBUF_NONNULL target,
7489 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
7490 const InverseConstraintProto& this_ = *this;
7491#endif // PROTOBUF_CUSTOM_VTABLE
7492 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
7493 this_.CheckHasBitConsistency();
7494 }
7495 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.InverseConstraintProto)
7496 ::uint32_t cached_has_bits = 0;
7497 (void)cached_has_bits;
7498
7499 cached_has_bits = this_._impl_._has_bits_[0];
7500 // repeated int32 f_direct = 1;
7501 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
7502 {
7503 int byte_size = this_._impl_._f_direct_cached_byte_size_.Get();
7504 if (byte_size > 0) {
7505 target = stream->WriteInt32Packed(
7506 1, this_._internal_f_direct(), byte_size, target);
7507 }
7508 }
7509 }
7510
7511 // repeated int32 f_inverse = 2;
7512 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
7513 {
7514 int byte_size = this_._impl_._f_inverse_cached_byte_size_.Get();
7515 if (byte_size > 0) {
7516 target = stream->WriteInt32Packed(
7517 2, this_._internal_f_inverse(), byte_size, target);
7518 }
7519 }
7520 }
7521
7522 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
7523 target =
7524 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
7525 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
7526 }
7527 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.InverseConstraintProto)
7528 return target;
7529}
7530
7531#if defined(PROTOBUF_CUSTOM_VTABLE)
7533 const InverseConstraintProto& this_ = static_cast<const InverseConstraintProto&>(base);
7534#else // PROTOBUF_CUSTOM_VTABLE
7535::size_t InverseConstraintProto::ByteSizeLong() const {
7536 const InverseConstraintProto& this_ = *this;
7537#endif // PROTOBUF_CUSTOM_VTABLE
7538 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.InverseConstraintProto)
7539 ::size_t total_size = 0;
7540
7541 ::uint32_t cached_has_bits = 0;
7542 // Prevent compiler warnings about cached_has_bits being unused
7543 (void)cached_has_bits;
7544
7545 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
7546 cached_has_bits = this_._impl_._has_bits_[0];
7547 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
7548 // repeated int32 f_direct = 1;
7549 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
7550 total_size +=
7551 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
7552 this_._internal_f_direct(), 1,
7553 this_._impl_._f_direct_cached_byte_size_);
7554 }
7555 // repeated int32 f_inverse = 2;
7556 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
7557 total_size +=
7558 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
7559 this_._internal_f_inverse(), 1,
7560 this_._impl_._f_inverse_cached_byte_size_);
7561 }
7562 }
7563 return this_.MaybeComputeUnknownFieldsSize(total_size,
7564 &this_._impl_._cached_size_);
7565}
7566
7567void InverseConstraintProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
7568 const ::google::protobuf::MessageLite& from_msg) {
7569 auto* const _this =
7570 static_cast<InverseConstraintProto*>(&to_msg);
7571 auto& from = static_cast<const InverseConstraintProto&>(from_msg);
7572 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
7573 from.CheckHasBitConsistency();
7574 }
7575 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.InverseConstraintProto)
7576 ABSL_DCHECK_NE(&from, _this);
7577 ::uint32_t cached_has_bits = 0;
7578 (void)cached_has_bits;
7579
7580 cached_has_bits = from._impl_._has_bits_[0];
7581 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
7582 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
7583 _this->_internal_mutable_f_direct()->MergeFrom(from._internal_f_direct());
7584 }
7585 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
7586 _this->_internal_mutable_f_inverse()->MergeFrom(from._internal_f_inverse());
7587 }
7588 }
7589 _this->_impl_._has_bits_[0] |= cached_has_bits;
7590 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
7591 from._internal_metadata_);
7592}
7593
7595 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.InverseConstraintProto)
7596 if (&from == this) return;
7597 Clear();
7598 MergeFrom(from);
7599}
7600
7601
7602void InverseConstraintProto::InternalSwap(InverseConstraintProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
7603 using ::std::swap;
7604 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
7605 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
7606 _impl_.f_direct_.InternalSwap(&other->_impl_.f_direct_);
7607 _impl_.f_inverse_.InternalSwap(&other->_impl_.f_inverse_);
7608}
7609
7610::google::protobuf::Metadata InverseConstraintProto::GetMetadata() const {
7611 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
7612}
7613// ===================================================================
7614
7616 public:
7617 using HasBits =
7618 decltype(::std::declval<AutomatonConstraintProto>()._impl_._has_bits_);
7619 static constexpr ::int32_t kHasBitsOffset =
7620 8 * PROTOBUF_FIELD_OFFSET(AutomatonConstraintProto, _impl_._has_bits_);
7621};
7622
7623AutomatonConstraintProto::AutomatonConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
7624#if defined(PROTOBUF_CUSTOM_VTABLE)
7625 : ::google::protobuf::Message(arena, AutomatonConstraintProto_class_data_.base()) {
7626#else // PROTOBUF_CUSTOM_VTABLE
7627 : ::google::protobuf::Message(arena) {
7628#endif // PROTOBUF_CUSTOM_VTABLE
7629 SharedCtor(arena);
7630 // @@protoc_insertion_point(arena_constructor:operations_research.sat.AutomatonConstraintProto)
7631}
7632PROTOBUF_NDEBUG_INLINE AutomatonConstraintProto::Impl_::Impl_(
7633 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
7634 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
7635 [[maybe_unused]] const ::operations_research::sat::AutomatonConstraintProto& from_msg)
7636 : _has_bits_{from._has_bits_},
7637 _cached_size_{0},
7638 final_states_{visibility, arena, from.final_states_},
7639 _final_states_cached_byte_size_{0},
7640 transition_tail_{visibility, arena, from.transition_tail_},
7641 _transition_tail_cached_byte_size_{0},
7642 transition_head_{visibility, arena, from.transition_head_},
7643 _transition_head_cached_byte_size_{0},
7644 transition_label_{visibility, arena, from.transition_label_},
7645 _transition_label_cached_byte_size_{0},
7646 vars_{visibility, arena, from.vars_},
7647 _vars_cached_byte_size_{0},
7648 exprs_{visibility, arena, from.exprs_} {}
7649
7651 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
7652 const AutomatonConstraintProto& from)
7653#if defined(PROTOBUF_CUSTOM_VTABLE)
7654 : ::google::protobuf::Message(arena, AutomatonConstraintProto_class_data_.base()) {
7655#else // PROTOBUF_CUSTOM_VTABLE
7656 : ::google::protobuf::Message(arena) {
7657#endif // PROTOBUF_CUSTOM_VTABLE
7658 AutomatonConstraintProto* const _this = this;
7659 (void)_this;
7660 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
7661 from._internal_metadata_);
7662 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
7663 _impl_.starting_state_ = from._impl_.starting_state_;
7664
7665 // @@protoc_insertion_point(copy_constructor:operations_research.sat.AutomatonConstraintProto)
7666}
7667PROTOBUF_NDEBUG_INLINE AutomatonConstraintProto::Impl_::Impl_(
7668 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
7669 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
7670 : _cached_size_{0},
7671 final_states_{visibility, arena},
7672 _final_states_cached_byte_size_{0},
7673 transition_tail_{visibility, arena},
7674 _transition_tail_cached_byte_size_{0},
7675 transition_head_{visibility, arena},
7676 _transition_head_cached_byte_size_{0},
7677 transition_label_{visibility, arena},
7678 _transition_label_cached_byte_size_{0},
7679 vars_{visibility, arena},
7680 _vars_cached_byte_size_{0},
7681 exprs_{visibility, arena} {}
7682
7683inline void AutomatonConstraintProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
7684 new (&_impl_) Impl_(internal_visibility(), arena);
7685 _impl_.starting_state_ = {};
7686}
7688 // @@protoc_insertion_point(destructor:operations_research.sat.AutomatonConstraintProto)
7689 SharedDtor(*this);
7690}
7691inline void AutomatonConstraintProto::SharedDtor(MessageLite& self) {
7692 AutomatonConstraintProto& this_ = static_cast<AutomatonConstraintProto&>(self);
7693 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
7694 this_.CheckHasBitConsistency();
7695 }
7696 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
7697 ABSL_DCHECK(this_.GetArena() == nullptr);
7698 this_._impl_.~Impl_();
7699}
7700
7701inline void* PROTOBUF_NONNULL AutomatonConstraintProto::PlacementNew_(
7702 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
7703 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
7704 return ::new (mem) AutomatonConstraintProto(arena);
7706constexpr auto AutomatonConstraintProto::InternalNewImpl_() {
7707 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
7708 PROTOBUF_FIELD_OFFSET(AutomatonConstraintProto, _impl_.final_states_) +
7709 decltype(AutomatonConstraintProto::_impl_.final_states_)::
7710 InternalGetArenaOffset(
7711 ::google::protobuf::Message::internal_visibility()),
7712 PROTOBUF_FIELD_OFFSET(AutomatonConstraintProto, _impl_.transition_tail_) +
7713 decltype(AutomatonConstraintProto::_impl_.transition_tail_)::
7714 InternalGetArenaOffset(
7715 ::google::protobuf::Message::internal_visibility()),
7716 PROTOBUF_FIELD_OFFSET(AutomatonConstraintProto, _impl_.transition_head_) +
7717 decltype(AutomatonConstraintProto::_impl_.transition_head_)::
7718 InternalGetArenaOffset(
7719 ::google::protobuf::Message::internal_visibility()),
7720 PROTOBUF_FIELD_OFFSET(AutomatonConstraintProto, _impl_.transition_label_) +
7721 decltype(AutomatonConstraintProto::_impl_.transition_label_)::
7722 InternalGetArenaOffset(
7723 ::google::protobuf::Message::internal_visibility()),
7724 PROTOBUF_FIELD_OFFSET(AutomatonConstraintProto, _impl_.vars_) +
7725 decltype(AutomatonConstraintProto::_impl_.vars_)::
7726 InternalGetArenaOffset(
7727 ::google::protobuf::Message::internal_visibility()),
7728 PROTOBUF_FIELD_OFFSET(AutomatonConstraintProto, _impl_.exprs_) +
7729 decltype(AutomatonConstraintProto::_impl_.exprs_)::
7730 InternalGetArenaOffset(
7731 ::google::protobuf::Message::internal_visibility()),
7732 });
7733 if (arena_bits.has_value()) {
7734 return ::google::protobuf::internal::MessageCreator::ZeroInit(
7735 sizeof(AutomatonConstraintProto), alignof(AutomatonConstraintProto), *arena_bits);
7736 } else {
7737 return ::google::protobuf::internal::MessageCreator(&AutomatonConstraintProto::PlacementNew_,
7739 alignof(AutomatonConstraintProto));
7740 }
7741}
7743 return ::google::protobuf::internal::ClassDataFull{
7744 ::google::protobuf::internal::ClassData{
7746 &_table_.header,
7747 nullptr, // OnDemandRegisterArenaDtor
7748 nullptr, // IsInitialized
7749 &AutomatonConstraintProto::MergeImpl,
7750 ::google::protobuf::Message::GetNewImpl<AutomatonConstraintProto>(),
7751#if defined(PROTOBUF_CUSTOM_VTABLE)
7752 &AutomatonConstraintProto::SharedDtor,
7753 ::google::protobuf::Message::GetClearImpl<AutomatonConstraintProto>(), &AutomatonConstraintProto::ByteSizeLong,
7755#endif // PROTOBUF_CUSTOM_VTABLE
7756 PROTOBUF_FIELD_OFFSET(AutomatonConstraintProto, _impl_._cached_size_),
7757 false,
7758 },
7759 &AutomatonConstraintProto::kDescriptorMethods,
7761 nullptr, // tracker
7762 };
7763}
7764
7765PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
7766 ::google::protobuf::internal::ClassDataFull AutomatonConstraintProto_class_data_ =
7768
7769PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
7770AutomatonConstraintProto::GetClassData() const {
7771 ::google::protobuf::internal::PrefetchToLocalCache(&AutomatonConstraintProto_class_data_);
7772 ::google::protobuf::internal::PrefetchToLocalCache(AutomatonConstraintProto_class_data_.tc_table);
7774}
7775PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
7776const ::_pbi::TcParseTable<3, 7, 1, 0, 2>
7777AutomatonConstraintProto::_table_ = {
7778 {
7779 PROTOBUF_FIELD_OFFSET(AutomatonConstraintProto, _impl_._has_bits_),
7780 0, // no _extensions_
7781 8, 56, // max_field_number, fast_idx_mask
7782 offsetof(decltype(_table_), field_lookup_table),
7783 4294967041, // skipmap
7784 offsetof(decltype(_table_), field_entries),
7785 7, // num_field_entries
7786 1, // num_aux_entries
7787 offsetof(decltype(_table_), aux_entries),
7789 nullptr, // post_loop_handler
7790 ::_pbi::TcParser::GenericFallback, // fallback
7791 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
7792 ::_pbi::TcParser::GetTable<::operations_research::sat::AutomatonConstraintProto>(), // to_prefetch
7793 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
7794 }, {{
7795 // repeated .operations_research.sat.LinearExpressionProto exprs = 8;
7796 {::_pbi::TcParser::FastMtR1,
7797 {66, 5, 0,
7798 PROTOBUF_FIELD_OFFSET(AutomatonConstraintProto, _impl_.exprs_)}},
7799 {::_pbi::TcParser::MiniParse, {}},
7800 // int64 starting_state = 2;
7801 {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(AutomatonConstraintProto, _impl_.starting_state_), 6>(),
7802 {16, 6, 0,
7803 PROTOBUF_FIELD_OFFSET(AutomatonConstraintProto, _impl_.starting_state_)}},
7804 // repeated int64 final_states = 3;
7805 {::_pbi::TcParser::FastV64P1,
7806 {26, 0, 0,
7807 PROTOBUF_FIELD_OFFSET(AutomatonConstraintProto, _impl_.final_states_)}},
7808 // repeated int64 transition_tail = 4;
7809 {::_pbi::TcParser::FastV64P1,
7810 {34, 1, 0,
7811 PROTOBUF_FIELD_OFFSET(AutomatonConstraintProto, _impl_.transition_tail_)}},
7812 // repeated int64 transition_head = 5;
7813 {::_pbi::TcParser::FastV64P1,
7814 {42, 2, 0,
7815 PROTOBUF_FIELD_OFFSET(AutomatonConstraintProto, _impl_.transition_head_)}},
7816 // repeated int64 transition_label = 6;
7817 {::_pbi::TcParser::FastV64P1,
7818 {50, 3, 0,
7819 PROTOBUF_FIELD_OFFSET(AutomatonConstraintProto, _impl_.transition_label_)}},
7820 // repeated int32 vars = 7;
7821 {::_pbi::TcParser::FastV32P1,
7822 {58, 4, 0,
7823 PROTOBUF_FIELD_OFFSET(AutomatonConstraintProto, _impl_.vars_)}},
7824 }}, {{
7825 65535, 65535
7826 }}, {{
7827 // int64 starting_state = 2;
7828 {PROTOBUF_FIELD_OFFSET(AutomatonConstraintProto, _impl_.starting_state_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
7829 // repeated int64 final_states = 3;
7830 {PROTOBUF_FIELD_OFFSET(AutomatonConstraintProto, _impl_.final_states_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt64)},
7831 // repeated int64 transition_tail = 4;
7832 {PROTOBUF_FIELD_OFFSET(AutomatonConstraintProto, _impl_.transition_tail_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt64)},
7833 // repeated int64 transition_head = 5;
7834 {PROTOBUF_FIELD_OFFSET(AutomatonConstraintProto, _impl_.transition_head_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt64)},
7835 // repeated int64 transition_label = 6;
7836 {PROTOBUF_FIELD_OFFSET(AutomatonConstraintProto, _impl_.transition_label_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt64)},
7837 // repeated int32 vars = 7;
7838 {PROTOBUF_FIELD_OFFSET(AutomatonConstraintProto, _impl_.vars_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
7839 // repeated .operations_research.sat.LinearExpressionProto exprs = 8;
7840 {PROTOBUF_FIELD_OFFSET(AutomatonConstraintProto, _impl_.exprs_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
7841 }},
7842 {{
7843 {::_pbi::TcParser::GetTable<::operations_research::sat::LinearExpressionProto>()},
7844 }},
7845 {{
7846 }},
7847};
7848PROTOBUF_NOINLINE void AutomatonConstraintProto::Clear() {
7849// @@protoc_insertion_point(message_clear_start:operations_research.sat.AutomatonConstraintProto)
7850 ::google::protobuf::internal::TSanWrite(&_impl_);
7851 ::uint32_t cached_has_bits = 0;
7852 // Prevent compiler warnings about cached_has_bits being unused
7853 (void) cached_has_bits;
7854
7855 cached_has_bits = _impl_._has_bits_[0];
7856 if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) {
7857 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
7858 _impl_.final_states_.Clear();
7859 }
7860 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
7861 _impl_.transition_tail_.Clear();
7862 }
7863 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
7864 _impl_.transition_head_.Clear();
7865 }
7866 if (CheckHasBitForRepeated(cached_has_bits, 0x00000008U)) {
7867 _impl_.transition_label_.Clear();
7868 }
7869 if (CheckHasBitForRepeated(cached_has_bits, 0x00000010U)) {
7870 _impl_.vars_.Clear();
7871 }
7872 if (CheckHasBitForRepeated(cached_has_bits, 0x00000020U)) {
7873 _impl_.exprs_.Clear();
7874 }
7875 }
7876 _impl_.starting_state_ = ::int64_t{0};
7877 _impl_._has_bits_.Clear();
7878 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
7879}
7880
7881#if defined(PROTOBUF_CUSTOM_VTABLE)
7882::uint8_t* PROTOBUF_NONNULL AutomatonConstraintProto::_InternalSerialize(
7883 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
7884 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
7885 const AutomatonConstraintProto& this_ = static_cast<const AutomatonConstraintProto&>(base);
7886#else // PROTOBUF_CUSTOM_VTABLE
7887::uint8_t* PROTOBUF_NONNULL AutomatonConstraintProto::_InternalSerialize(
7888 ::uint8_t* PROTOBUF_NONNULL target,
7889 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
7890 const AutomatonConstraintProto& this_ = *this;
7891#endif // PROTOBUF_CUSTOM_VTABLE
7892 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
7893 this_.CheckHasBitConsistency();
7894 }
7895 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.AutomatonConstraintProto)
7896 ::uint32_t cached_has_bits = 0;
7897 (void)cached_has_bits;
7898
7899 cached_has_bits = this_._impl_._has_bits_[0];
7900 // int64 starting_state = 2;
7901 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
7902 if (this_._internal_starting_state() != 0) {
7903 target =
7904 ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<2>(
7905 stream, this_._internal_starting_state(), target);
7906 }
7907 }
7908
7909 // repeated int64 final_states = 3;
7910 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
7911 {
7912 int byte_size = this_._impl_._final_states_cached_byte_size_.Get();
7913 if (byte_size > 0) {
7914 target = stream->WriteInt64Packed(
7915 3, this_._internal_final_states(), byte_size, target);
7916 }
7917 }
7918 }
7919
7920 // repeated int64 transition_tail = 4;
7921 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
7922 {
7923 int byte_size = this_._impl_._transition_tail_cached_byte_size_.Get();
7924 if (byte_size > 0) {
7925 target = stream->WriteInt64Packed(
7926 4, this_._internal_transition_tail(), byte_size, target);
7927 }
7928 }
7929 }
7930
7931 // repeated int64 transition_head = 5;
7932 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
7933 {
7934 int byte_size = this_._impl_._transition_head_cached_byte_size_.Get();
7935 if (byte_size > 0) {
7936 target = stream->WriteInt64Packed(
7937 5, this_._internal_transition_head(), byte_size, target);
7938 }
7939 }
7940 }
7941
7942 // repeated int64 transition_label = 6;
7943 if (CheckHasBitForRepeated(cached_has_bits, 0x00000008U)) {
7944 {
7945 int byte_size = this_._impl_._transition_label_cached_byte_size_.Get();
7946 if (byte_size > 0) {
7947 target = stream->WriteInt64Packed(
7948 6, this_._internal_transition_label(), byte_size, target);
7949 }
7950 }
7951 }
7952
7953 // repeated int32 vars = 7;
7954 if (CheckHasBitForRepeated(cached_has_bits, 0x00000010U)) {
7955 {
7956 int byte_size = this_._impl_._vars_cached_byte_size_.Get();
7957 if (byte_size > 0) {
7958 target = stream->WriteInt32Packed(
7959 7, this_._internal_vars(), byte_size, target);
7960 }
7961 }
7962 }
7963
7964 // repeated .operations_research.sat.LinearExpressionProto exprs = 8;
7965 if (CheckHasBitForRepeated(cached_has_bits, 0x00000020U)) {
7966 for (unsigned i = 0, n = static_cast<unsigned>(
7967 this_._internal_exprs_size());
7968 i < n; i++) {
7969 const auto& repfield = this_._internal_exprs().Get(i);
7970 target =
7971 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
7972 8, repfield, repfield.GetCachedSize(),
7973 target, stream);
7974 }
7975 }
7976
7977 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
7978 target =
7979 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
7980 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
7981 }
7982 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.AutomatonConstraintProto)
7983 return target;
7984}
7985
7986#if defined(PROTOBUF_CUSTOM_VTABLE)
7988 const AutomatonConstraintProto& this_ = static_cast<const AutomatonConstraintProto&>(base);
7989#else // PROTOBUF_CUSTOM_VTABLE
7991 const AutomatonConstraintProto& this_ = *this;
7992#endif // PROTOBUF_CUSTOM_VTABLE
7993 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.AutomatonConstraintProto)
7994 ::size_t total_size = 0;
7995
7996 ::uint32_t cached_has_bits = 0;
7997 // Prevent compiler warnings about cached_has_bits being unused
7998 (void)cached_has_bits;
7999
8000 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
8001 cached_has_bits = this_._impl_._has_bits_[0];
8002 if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
8003 // repeated int64 final_states = 3;
8004 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
8005 total_size +=
8006 ::_pbi::WireFormatLite::Int64SizeWithPackedTagSize(
8007 this_._internal_final_states(), 1,
8008 this_._impl_._final_states_cached_byte_size_);
8009 }
8010 // repeated int64 transition_tail = 4;
8011 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
8012 total_size +=
8013 ::_pbi::WireFormatLite::Int64SizeWithPackedTagSize(
8014 this_._internal_transition_tail(), 1,
8015 this_._impl_._transition_tail_cached_byte_size_);
8016 }
8017 // repeated int64 transition_head = 5;
8018 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
8019 total_size +=
8020 ::_pbi::WireFormatLite::Int64SizeWithPackedTagSize(
8021 this_._internal_transition_head(), 1,
8022 this_._impl_._transition_head_cached_byte_size_);
8023 }
8024 // repeated int64 transition_label = 6;
8025 if (CheckHasBitForRepeated(cached_has_bits, 0x00000008U)) {
8026 total_size +=
8027 ::_pbi::WireFormatLite::Int64SizeWithPackedTagSize(
8028 this_._internal_transition_label(), 1,
8029 this_._impl_._transition_label_cached_byte_size_);
8030 }
8031 // repeated int32 vars = 7;
8032 if (CheckHasBitForRepeated(cached_has_bits, 0x00000010U)) {
8033 total_size +=
8034 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
8035 this_._internal_vars(), 1,
8036 this_._impl_._vars_cached_byte_size_);
8037 }
8038 // repeated .operations_research.sat.LinearExpressionProto exprs = 8;
8039 if (CheckHasBitForRepeated(cached_has_bits, 0x00000020U)) {
8040 total_size += 1UL * this_._internal_exprs_size();
8041 for (const auto& msg : this_._internal_exprs()) {
8042 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
8043 }
8044 }
8045 // int64 starting_state = 2;
8046 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
8047 if (this_._internal_starting_state() != 0) {
8048 total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
8049 this_._internal_starting_state());
8050 }
8051 }
8052 }
8053 return this_.MaybeComputeUnknownFieldsSize(total_size,
8054 &this_._impl_._cached_size_);
8055}
8056
8057void AutomatonConstraintProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
8058 const ::google::protobuf::MessageLite& from_msg) {
8059 auto* const _this =
8060 static_cast<AutomatonConstraintProto*>(&to_msg);
8061 auto& from = static_cast<const AutomatonConstraintProto&>(from_msg);
8062 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
8063 from.CheckHasBitConsistency();
8064 }
8065 ::google::protobuf::Arena* arena = _this->GetArena();
8066 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.AutomatonConstraintProto)
8067 ABSL_DCHECK_NE(&from, _this);
8068 ::uint32_t cached_has_bits = 0;
8069 (void)cached_has_bits;
8070
8071 cached_has_bits = from._impl_._has_bits_[0];
8072 if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
8073 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
8074 _this->_internal_mutable_final_states()->MergeFrom(from._internal_final_states());
8075 }
8076 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
8077 _this->_internal_mutable_transition_tail()->MergeFrom(from._internal_transition_tail());
8078 }
8079 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
8080 _this->_internal_mutable_transition_head()->MergeFrom(from._internal_transition_head());
8081 }
8082 if (CheckHasBitForRepeated(cached_has_bits, 0x00000008U)) {
8083 _this->_internal_mutable_transition_label()->MergeFrom(from._internal_transition_label());
8084 }
8085 if (CheckHasBitForRepeated(cached_has_bits, 0x00000010U)) {
8086 _this->_internal_mutable_vars()->MergeFrom(from._internal_vars());
8087 }
8088 if (CheckHasBitForRepeated(cached_has_bits, 0x00000020U)) {
8089 _this->_internal_mutable_exprs()->InternalMergeFromWithArena(
8090 ::google::protobuf::MessageLite::internal_visibility(), arena,
8091 from._internal_exprs());
8092 }
8093 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
8094 if (from._internal_starting_state() != 0) {
8095 _this->_impl_.starting_state_ = from._impl_.starting_state_;
8096 }
8097 }
8098 }
8099 _this->_impl_._has_bits_[0] |= cached_has_bits;
8100 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
8101 from._internal_metadata_);
8102}
8103
8105 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.AutomatonConstraintProto)
8106 if (&from == this) return;
8107 Clear();
8108 MergeFrom(from);
8109}
8110
8111
8112void AutomatonConstraintProto::InternalSwap(AutomatonConstraintProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
8113 using ::std::swap;
8114 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
8115 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
8116 _impl_.final_states_.InternalSwap(&other->_impl_.final_states_);
8117 _impl_.transition_tail_.InternalSwap(&other->_impl_.transition_tail_);
8118 _impl_.transition_head_.InternalSwap(&other->_impl_.transition_head_);
8119 _impl_.transition_label_.InternalSwap(&other->_impl_.transition_label_);
8120 _impl_.vars_.InternalSwap(&other->_impl_.vars_);
8121 _impl_.exprs_.InternalSwap(&other->_impl_.exprs_);
8122 swap(_impl_.starting_state_, other->_impl_.starting_state_);
8123}
8124
8125::google::protobuf::Metadata AutomatonConstraintProto::GetMetadata() const {
8126 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
8127}
8128// ===================================================================
8129
8130class ListOfVariablesProto::_Internal {
8131 public:
8132 using HasBits =
8133 decltype(::std::declval<ListOfVariablesProto>()._impl_._has_bits_);
8134 static constexpr ::int32_t kHasBitsOffset =
8135 8 * PROTOBUF_FIELD_OFFSET(ListOfVariablesProto, _impl_._has_bits_);
8136};
8137
8138ListOfVariablesProto::ListOfVariablesProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
8139#if defined(PROTOBUF_CUSTOM_VTABLE)
8140 : ::google::protobuf::Message(arena, ListOfVariablesProto_class_data_.base()) {
8141#else // PROTOBUF_CUSTOM_VTABLE
8142 : ::google::protobuf::Message(arena) {
8143#endif // PROTOBUF_CUSTOM_VTABLE
8144 SharedCtor(arena);
8145 // @@protoc_insertion_point(arena_constructor:operations_research.sat.ListOfVariablesProto)
8146}
8147PROTOBUF_NDEBUG_INLINE ListOfVariablesProto::Impl_::Impl_(
8148 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
8149 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
8150 [[maybe_unused]] const ::operations_research::sat::ListOfVariablesProto& from_msg)
8151 : _has_bits_{from._has_bits_},
8152 _cached_size_{0},
8153 vars_{visibility, arena, from.vars_},
8154 _vars_cached_byte_size_{0} {}
8155
8157 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
8158 const ListOfVariablesProto& from)
8159#if defined(PROTOBUF_CUSTOM_VTABLE)
8160 : ::google::protobuf::Message(arena, ListOfVariablesProto_class_data_.base()) {
8161#else // PROTOBUF_CUSTOM_VTABLE
8162 : ::google::protobuf::Message(arena) {
8163#endif // PROTOBUF_CUSTOM_VTABLE
8164 ListOfVariablesProto* const _this = this;
8165 (void)_this;
8166 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
8167 from._internal_metadata_);
8168 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
8169
8170 // @@protoc_insertion_point(copy_constructor:operations_research.sat.ListOfVariablesProto)
8171}
8172PROTOBUF_NDEBUG_INLINE ListOfVariablesProto::Impl_::Impl_(
8173 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
8174 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
8175 : _cached_size_{0},
8176 vars_{visibility, arena},
8177 _vars_cached_byte_size_{0} {}
8178
8179inline void ListOfVariablesProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
8180 new (&_impl_) Impl_(internal_visibility(), arena);
8181}
8183 // @@protoc_insertion_point(destructor:operations_research.sat.ListOfVariablesProto)
8184 SharedDtor(*this);
8185}
8186inline void ListOfVariablesProto::SharedDtor(MessageLite& self) {
8187 ListOfVariablesProto& this_ = static_cast<ListOfVariablesProto&>(self);
8188 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
8189 this_.CheckHasBitConsistency();
8190 }
8191 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
8192 ABSL_DCHECK(this_.GetArena() == nullptr);
8193 this_._impl_.~Impl_();
8194}
8195
8196inline void* PROTOBUF_NONNULL ListOfVariablesProto::PlacementNew_(
8197 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
8198 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
8199 return ::new (mem) ListOfVariablesProto(arena);
8200}
8201constexpr auto ListOfVariablesProto::InternalNewImpl_() {
8202 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
8203 PROTOBUF_FIELD_OFFSET(ListOfVariablesProto, _impl_.vars_) +
8204 decltype(ListOfVariablesProto::_impl_.vars_)::
8205 InternalGetArenaOffset(
8206 ::google::protobuf::Message::internal_visibility()),
8207 });
8208 if (arena_bits.has_value()) {
8209 return ::google::protobuf::internal::MessageCreator::ZeroInit(
8210 sizeof(ListOfVariablesProto), alignof(ListOfVariablesProto), *arena_bits);
8211 } else {
8212 return ::google::protobuf::internal::MessageCreator(&ListOfVariablesProto::PlacementNew_,
8213 sizeof(ListOfVariablesProto),
8214 alignof(ListOfVariablesProto));
8215 }
8216}
8218 return ::google::protobuf::internal::ClassDataFull{
8219 ::google::protobuf::internal::ClassData{
8221 &_table_.header,
8222 nullptr, // OnDemandRegisterArenaDtor
8223 nullptr, // IsInitialized
8224 &ListOfVariablesProto::MergeImpl,
8225 ::google::protobuf::Message::GetNewImpl<ListOfVariablesProto>(),
8226#if defined(PROTOBUF_CUSTOM_VTABLE)
8227 &ListOfVariablesProto::SharedDtor,
8228 ::google::protobuf::Message::GetClearImpl<ListOfVariablesProto>(), &ListOfVariablesProto::ByteSizeLong,
8230#endif // PROTOBUF_CUSTOM_VTABLE
8231 PROTOBUF_FIELD_OFFSET(ListOfVariablesProto, _impl_._cached_size_),
8232 false,
8233 },
8234 &ListOfVariablesProto::kDescriptorMethods,
8236 nullptr, // tracker
8237 };
8238}
8239
8240PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
8241 ::google::protobuf::internal::ClassDataFull ListOfVariablesProto_class_data_ =
8243
8244PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
8245ListOfVariablesProto::GetClassData() const {
8246 ::google::protobuf::internal::PrefetchToLocalCache(&ListOfVariablesProto_class_data_);
8247 ::google::protobuf::internal::PrefetchToLocalCache(ListOfVariablesProto_class_data_.tc_table);
8249}
8250PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
8251const ::_pbi::TcParseTable<0, 1, 0, 0, 2>
8252ListOfVariablesProto::_table_ = {
8253 {
8254 PROTOBUF_FIELD_OFFSET(ListOfVariablesProto, _impl_._has_bits_),
8255 0, // no _extensions_
8256 1, 0, // max_field_number, fast_idx_mask
8257 offsetof(decltype(_table_), field_lookup_table),
8258 4294967294, // skipmap
8259 offsetof(decltype(_table_), field_entries),
8260 1, // num_field_entries
8261 0, // num_aux_entries
8262 offsetof(decltype(_table_), field_names), // no aux_entries
8264 nullptr, // post_loop_handler
8265 ::_pbi::TcParser::GenericFallback, // fallback
8266 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
8267 ::_pbi::TcParser::GetTable<::operations_research::sat::ListOfVariablesProto>(), // to_prefetch
8268 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
8269 }, {{
8270 // repeated int32 vars = 1;
8271 {::_pbi::TcParser::FastV32P1,
8272 {10, 0, 0,
8273 PROTOBUF_FIELD_OFFSET(ListOfVariablesProto, _impl_.vars_)}},
8274 }}, {{
8275 65535, 65535
8276 }}, {{
8277 // repeated int32 vars = 1;
8278 {PROTOBUF_FIELD_OFFSET(ListOfVariablesProto, _impl_.vars_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
8279 }},
8280 // no aux_entries
8281 {{
8282 }},
8283};
8284PROTOBUF_NOINLINE void ListOfVariablesProto::Clear() {
8285// @@protoc_insertion_point(message_clear_start:operations_research.sat.ListOfVariablesProto)
8286 ::google::protobuf::internal::TSanWrite(&_impl_);
8287 ::uint32_t cached_has_bits = 0;
8288 // Prevent compiler warnings about cached_has_bits being unused
8289 (void) cached_has_bits;
8290
8291 cached_has_bits = _impl_._has_bits_[0];
8292 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
8293 _impl_.vars_.Clear();
8294 }
8295 _impl_._has_bits_.Clear();
8296 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
8297}
8298
8299#if defined(PROTOBUF_CUSTOM_VTABLE)
8300::uint8_t* PROTOBUF_NONNULL ListOfVariablesProto::_InternalSerialize(
8301 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
8302 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
8303 const ListOfVariablesProto& this_ = static_cast<const ListOfVariablesProto&>(base);
8304#else // PROTOBUF_CUSTOM_VTABLE
8305::uint8_t* PROTOBUF_NONNULL ListOfVariablesProto::_InternalSerialize(
8306 ::uint8_t* PROTOBUF_NONNULL target,
8307 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
8308 const ListOfVariablesProto& this_ = *this;
8309#endif // PROTOBUF_CUSTOM_VTABLE
8310 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
8311 this_.CheckHasBitConsistency();
8312 }
8313 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.ListOfVariablesProto)
8314 ::uint32_t cached_has_bits = 0;
8315 (void)cached_has_bits;
8316
8317 cached_has_bits = this_._impl_._has_bits_[0];
8318 // repeated int32 vars = 1;
8319 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
8320 {
8321 int byte_size = this_._impl_._vars_cached_byte_size_.Get();
8322 if (byte_size > 0) {
8323 target = stream->WriteInt32Packed(
8324 1, this_._internal_vars(), byte_size, target);
8325 }
8326 }
8327 }
8328
8329 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
8330 target =
8331 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
8332 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
8333 }
8334 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.ListOfVariablesProto)
8335 return target;
8336}
8337
8338#if defined(PROTOBUF_CUSTOM_VTABLE)
8339::size_t ListOfVariablesProto::ByteSizeLong(const MessageLite& base) {
8340 const ListOfVariablesProto& this_ = static_cast<const ListOfVariablesProto&>(base);
8341#else // PROTOBUF_CUSTOM_VTABLE
8342::size_t ListOfVariablesProto::ByteSizeLong() const {
8343 const ListOfVariablesProto& this_ = *this;
8344#endif // PROTOBUF_CUSTOM_VTABLE
8345 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.ListOfVariablesProto)
8346 ::size_t total_size = 0;
8347
8348 ::uint32_t cached_has_bits = 0;
8349 // Prevent compiler warnings about cached_has_bits being unused
8350 (void)cached_has_bits;
8351
8352 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
8353 {
8354 // repeated int32 vars = 1;
8355 cached_has_bits = this_._impl_._has_bits_[0];
8356 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
8357 total_size +=
8358 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
8359 this_._internal_vars(), 1,
8360 this_._impl_._vars_cached_byte_size_);
8362 }
8363 return this_.MaybeComputeUnknownFieldsSize(total_size,
8364 &this_._impl_._cached_size_);
8365}
8366
8367void ListOfVariablesProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
8368 const ::google::protobuf::MessageLite& from_msg) {
8369 auto* const _this =
8370 static_cast<ListOfVariablesProto*>(&to_msg);
8371 auto& from = static_cast<const ListOfVariablesProto&>(from_msg);
8372 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
8373 from.CheckHasBitConsistency();
8374 }
8375 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.ListOfVariablesProto)
8376 ABSL_DCHECK_NE(&from, _this);
8377 ::uint32_t cached_has_bits = 0;
8378 (void)cached_has_bits;
8379
8380 cached_has_bits = from._impl_._has_bits_[0];
8381 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
8382 _this->_internal_mutable_vars()->MergeFrom(from._internal_vars());
8383 }
8384 _this->_impl_._has_bits_[0] |= cached_has_bits;
8385 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
8386 from._internal_metadata_);
8387}
8388
8390 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.ListOfVariablesProto)
8391 if (&from == this) return;
8392 Clear();
8393 MergeFrom(from);
8394}
8395
8396
8397void ListOfVariablesProto::InternalSwap(ListOfVariablesProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
8398 using ::std::swap;
8399 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
8400 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
8401 _impl_.vars_.InternalSwap(&other->_impl_.vars_);
8402}
8403
8404::google::protobuf::Metadata ListOfVariablesProto::GetMetadata() const {
8405 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
8406}
8407// ===================================================================
8410 public:
8411 using HasBits =
8412 decltype(::std::declval<ConstraintProto>()._impl_._has_bits_);
8413 static constexpr ::int32_t kHasBitsOffset =
8414 8 * PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_._has_bits_);
8415 static constexpr ::int32_t kOneofCaseOffset =
8416 PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _impl_._oneof_case_);
8417};
8418
8420 ::google::protobuf::Arena* message_arena = GetArena();
8421 clear_constraint();
8422 if (bool_or) {
8423 ::google::protobuf::Arena* submessage_arena = bool_or->GetArena();
8424 if (message_arena != submessage_arena) {
8425 bool_or = ::google::protobuf::internal::GetOwnedMessage(message_arena, bool_or, submessage_arena);
8426 }
8427 set_has_bool_or();
8428 _impl_.constraint_.bool_or_ = bool_or;
8430 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.bool_or)
8433 ::google::protobuf::Arena* message_arena = GetArena();
8436 ::google::protobuf::Arena* submessage_arena = bool_and->GetArena();
8437 if (message_arena != submessage_arena) {
8438 bool_and = ::google::protobuf::internal::GetOwnedMessage(message_arena, bool_and, submessage_arena);
8440 set_has_bool_and();
8441 _impl_.constraint_.bool_and_ = bool_and;
8442 }
8443 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.bool_and)
8444}
8446 ::google::protobuf::Arena* message_arena = GetArena();
8447 clear_constraint();
8448 if (at_most_one) {
8449 ::google::protobuf::Arena* submessage_arena = at_most_one->GetArena();
8450 if (message_arena != submessage_arena) {
8451 at_most_one = ::google::protobuf::internal::GetOwnedMessage(message_arena, at_most_one, submessage_arena);
8453 set_has_at_most_one();
8454 _impl_.constraint_.at_most_one_ = at_most_one;
8455 }
8456 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.at_most_one)
8457}
8459 ::google::protobuf::Arena* message_arena = GetArena();
8460 clear_constraint();
8461 if (exactly_one) {
8462 ::google::protobuf::Arena* submessage_arena = exactly_one->GetArena();
8463 if (message_arena != submessage_arena) {
8464 exactly_one = ::google::protobuf::internal::GetOwnedMessage(message_arena, exactly_one, submessage_arena);
8466 set_has_exactly_one();
8467 _impl_.constraint_.exactly_one_ = exactly_one;
8468 }
8469 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.exactly_one)
8470}
8472 ::google::protobuf::Arena* message_arena = GetArena();
8473 clear_constraint();
8474 if (bool_xor) {
8475 ::google::protobuf::Arena* submessage_arena = bool_xor->GetArena();
8476 if (message_arena != submessage_arena) {
8477 bool_xor = ::google::protobuf::internal::GetOwnedMessage(message_arena, bool_xor, submessage_arena);
8479 set_has_bool_xor();
8480 _impl_.constraint_.bool_xor_ = bool_xor;
8481 }
8482 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.bool_xor)
8483}
8485 ::google::protobuf::Arena* message_arena = GetArena();
8486 clear_constraint();
8487 if (int_div) {
8488 ::google::protobuf::Arena* submessage_arena = int_div->GetArena();
8489 if (message_arena != submessage_arena) {
8490 int_div = ::google::protobuf::internal::GetOwnedMessage(message_arena, int_div, submessage_arena);
8492 set_has_int_div();
8493 _impl_.constraint_.int_div_ = int_div;
8494 }
8495 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.int_div)
8496}
8498 ::google::protobuf::Arena* message_arena = GetArena();
8499 clear_constraint();
8500 if (int_mod) {
8501 ::google::protobuf::Arena* submessage_arena = int_mod->GetArena();
8502 if (message_arena != submessage_arena) {
8503 int_mod = ::google::protobuf::internal::GetOwnedMessage(message_arena, int_mod, submessage_arena);
8505 set_has_int_mod();
8506 _impl_.constraint_.int_mod_ = int_mod;
8507 }
8508 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.int_mod)
8509}
8511 ::google::protobuf::Arena* message_arena = GetArena();
8512 clear_constraint();
8513 if (int_prod) {
8514 ::google::protobuf::Arena* submessage_arena = int_prod->GetArena();
8515 if (message_arena != submessage_arena) {
8516 int_prod = ::google::protobuf::internal::GetOwnedMessage(message_arena, int_prod, submessage_arena);
8518 set_has_int_prod();
8519 _impl_.constraint_.int_prod_ = int_prod;
8520 }
8521 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.int_prod)
8522}
8524 ::google::protobuf::Arena* message_arena = GetArena();
8525 clear_constraint();
8526 if (lin_max) {
8527 ::google::protobuf::Arena* submessage_arena = lin_max->GetArena();
8528 if (message_arena != submessage_arena) {
8529 lin_max = ::google::protobuf::internal::GetOwnedMessage(message_arena, lin_max, submessage_arena);
8531 set_has_lin_max();
8532 _impl_.constraint_.lin_max_ = lin_max;
8533 }
8534 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.lin_max)
8535}
8537 ::google::protobuf::Arena* message_arena = GetArena();
8538 clear_constraint();
8539 if (linear) {
8540 ::google::protobuf::Arena* submessage_arena = linear->GetArena();
8541 if (message_arena != submessage_arena) {
8542 linear = ::google::protobuf::internal::GetOwnedMessage(message_arena, linear, submessage_arena);
8544 set_has_linear();
8545 _impl_.constraint_.linear_ = linear;
8546 }
8547 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.linear)
8548}
8550 ::google::protobuf::Arena* message_arena = GetArena();
8551 clear_constraint();
8552 if (all_diff) {
8553 ::google::protobuf::Arena* submessage_arena = all_diff->GetArena();
8554 if (message_arena != submessage_arena) {
8555 all_diff = ::google::protobuf::internal::GetOwnedMessage(message_arena, all_diff, submessage_arena);
8557 set_has_all_diff();
8558 _impl_.constraint_.all_diff_ = all_diff;
8559 }
8560 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.all_diff)
8561}
8563 ::google::protobuf::Arena* message_arena = GetArena();
8564 clear_constraint();
8565 if (element) {
8566 ::google::protobuf::Arena* submessage_arena = element->GetArena();
8567 if (message_arena != submessage_arena) {
8568 element = ::google::protobuf::internal::GetOwnedMessage(message_arena, element, submessage_arena);
8570 set_has_element();
8571 _impl_.constraint_.element_ = element;
8572 }
8573 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.element)
8574}
8576 ::google::protobuf::Arena* message_arena = GetArena();
8577 clear_constraint();
8578 if (circuit) {
8579 ::google::protobuf::Arena* submessage_arena = circuit->GetArena();
8580 if (message_arena != submessage_arena) {
8581 circuit = ::google::protobuf::internal::GetOwnedMessage(message_arena, circuit, submessage_arena);
8583 set_has_circuit();
8584 _impl_.constraint_.circuit_ = circuit;
8585 }
8586 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.circuit)
8587}
8589 ::google::protobuf::Arena* message_arena = GetArena();
8590 clear_constraint();
8591 if (routes) {
8592 ::google::protobuf::Arena* submessage_arena = routes->GetArena();
8593 if (message_arena != submessage_arena) {
8594 routes = ::google::protobuf::internal::GetOwnedMessage(message_arena, routes, submessage_arena);
8596 set_has_routes();
8597 _impl_.constraint_.routes_ = routes;
8598 }
8599 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.routes)
8600}
8602 ::google::protobuf::Arena* message_arena = GetArena();
8603 clear_constraint();
8604 if (table) {
8605 ::google::protobuf::Arena* submessage_arena = table->GetArena();
8606 if (message_arena != submessage_arena) {
8607 table = ::google::protobuf::internal::GetOwnedMessage(message_arena, table, submessage_arena);
8609 set_has_table();
8610 _impl_.constraint_.table_ = table;
8611 }
8612 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.table)
8613}
8615 ::google::protobuf::Arena* message_arena = GetArena();
8616 clear_constraint();
8617 if (automaton) {
8618 ::google::protobuf::Arena* submessage_arena = automaton->GetArena();
8619 if (message_arena != submessage_arena) {
8620 automaton = ::google::protobuf::internal::GetOwnedMessage(message_arena, automaton, submessage_arena);
8622 set_has_automaton();
8623 _impl_.constraint_.automaton_ = automaton;
8624 }
8625 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.automaton)
8626}
8628 ::google::protobuf::Arena* message_arena = GetArena();
8629 clear_constraint();
8630 if (inverse) {
8631 ::google::protobuf::Arena* submessage_arena = inverse->GetArena();
8632 if (message_arena != submessage_arena) {
8633 inverse = ::google::protobuf::internal::GetOwnedMessage(message_arena, inverse, submessage_arena);
8635 set_has_inverse();
8636 _impl_.constraint_.inverse_ = inverse;
8637 }
8638 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.inverse)
8639}
8641 ::google::protobuf::Arena* message_arena = GetArena();
8642 clear_constraint();
8643 if (reservoir) {
8644 ::google::protobuf::Arena* submessage_arena = reservoir->GetArena();
8645 if (message_arena != submessage_arena) {
8646 reservoir = ::google::protobuf::internal::GetOwnedMessage(message_arena, reservoir, submessage_arena);
8648 set_has_reservoir();
8649 _impl_.constraint_.reservoir_ = reservoir;
8650 }
8651 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.reservoir)
8652}
8654 ::google::protobuf::Arena* message_arena = GetArena();
8655 clear_constraint();
8656 if (interval) {
8657 ::google::protobuf::Arena* submessage_arena = interval->GetArena();
8658 if (message_arena != submessage_arena) {
8659 interval = ::google::protobuf::internal::GetOwnedMessage(message_arena, interval, submessage_arena);
8661 set_has_interval();
8662 _impl_.constraint_.interval_ = interval;
8663 }
8664 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.interval)
8665}
8667 ::google::protobuf::Arena* message_arena = GetArena();
8668 clear_constraint();
8669 if (no_overlap) {
8670 ::google::protobuf::Arena* submessage_arena = no_overlap->GetArena();
8671 if (message_arena != submessage_arena) {
8672 no_overlap = ::google::protobuf::internal::GetOwnedMessage(message_arena, no_overlap, submessage_arena);
8674 set_has_no_overlap();
8675 _impl_.constraint_.no_overlap_ = no_overlap;
8676 }
8677 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.no_overlap)
8678}
8680 ::google::protobuf::Arena* message_arena = GetArena();
8681 clear_constraint();
8682 if (no_overlap_2d) {
8683 ::google::protobuf::Arena* submessage_arena = no_overlap_2d->GetArena();
8684 if (message_arena != submessage_arena) {
8685 no_overlap_2d = ::google::protobuf::internal::GetOwnedMessage(message_arena, no_overlap_2d, submessage_arena);
8687 set_has_no_overlap_2d();
8688 _impl_.constraint_.no_overlap_2d_ = no_overlap_2d;
8689 }
8690 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.no_overlap_2d)
8691}
8693 ::google::protobuf::Arena* message_arena = GetArena();
8694 clear_constraint();
8695 if (cumulative) {
8696 ::google::protobuf::Arena* submessage_arena = cumulative->GetArena();
8697 if (message_arena != submessage_arena) {
8698 cumulative = ::google::protobuf::internal::GetOwnedMessage(message_arena, cumulative, submessage_arena);
8700 set_has_cumulative();
8701 _impl_.constraint_.cumulative_ = cumulative;
8702 }
8703 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.cumulative)
8704}
8706 ::google::protobuf::Arena* message_arena = GetArena();
8707 clear_constraint();
8708 if (dummy_constraint) {
8709 ::google::protobuf::Arena* submessage_arena = dummy_constraint->GetArena();
8710 if (message_arena != submessage_arena) {
8711 dummy_constraint = ::google::protobuf::internal::GetOwnedMessage(message_arena, dummy_constraint, submessage_arena);
8713 set_has_dummy_constraint();
8714 _impl_.constraint_.dummy_constraint_ = dummy_constraint;
8715 }
8716 // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.dummy_constraint)
8717}
8718ConstraintProto::ConstraintProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
8719#if defined(PROTOBUF_CUSTOM_VTABLE)
8720 : ::google::protobuf::Message(arena, ConstraintProto_class_data_.base()) {
8721#else // PROTOBUF_CUSTOM_VTABLE
8722 : ::google::protobuf::Message(arena) {
8723#endif // PROTOBUF_CUSTOM_VTABLE
8724 SharedCtor(arena);
8725 // @@protoc_insertion_point(arena_constructor:operations_research.sat.ConstraintProto)
8726}
8727PROTOBUF_NDEBUG_INLINE ConstraintProto::Impl_::Impl_(
8728 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
8729 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
8730 [[maybe_unused]] const ::operations_research::sat::ConstraintProto& from_msg)
8731 : _has_bits_{from._has_bits_},
8732 _cached_size_{0},
8733 enforcement_literal_{visibility, arena, from.enforcement_literal_},
8734 _enforcement_literal_cached_byte_size_{0},
8735 name_(arena, from.name_),
8736 constraint_{},
8737 _oneof_case_{from._oneof_case_[0]} {}
8738
8740 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
8741 const ConstraintProto& from)
8742#if defined(PROTOBUF_CUSTOM_VTABLE)
8743 : ::google::protobuf::Message(arena, ConstraintProto_class_data_.base()) {
8744#else // PROTOBUF_CUSTOM_VTABLE
8745 : ::google::protobuf::Message(arena) {
8746#endif // PROTOBUF_CUSTOM_VTABLE
8747 ConstraintProto* const _this = this;
8748 (void)_this;
8749 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
8750 from._internal_metadata_);
8751 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
8752 switch (constraint_case()) {
8753 case CONSTRAINT_NOT_SET:
8754 break;
8755 case kBoolOr:
8756 _impl_.constraint_.bool_or_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.bool_or_);
8757 break;
8758 case kBoolAnd:
8759 _impl_.constraint_.bool_and_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.bool_and_);
8760 break;
8761 case kAtMostOne:
8762 _impl_.constraint_.at_most_one_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.at_most_one_);
8763 break;
8764 case kExactlyOne:
8765 _impl_.constraint_.exactly_one_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.exactly_one_);
8766 break;
8767 case kBoolXor:
8768 _impl_.constraint_.bool_xor_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.bool_xor_);
8769 break;
8770 case kIntDiv:
8771 _impl_.constraint_.int_div_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.int_div_);
8772 break;
8773 case kIntMod:
8774 _impl_.constraint_.int_mod_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.int_mod_);
8775 break;
8776 case kIntProd:
8777 _impl_.constraint_.int_prod_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.int_prod_);
8778 break;
8779 case kLinMax:
8780 _impl_.constraint_.lin_max_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.lin_max_);
8781 break;
8782 case kLinear:
8783 _impl_.constraint_.linear_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.linear_);
8784 break;
8785 case kAllDiff:
8786 _impl_.constraint_.all_diff_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.all_diff_);
8787 break;
8788 case kElement:
8789 _impl_.constraint_.element_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.element_);
8790 break;
8791 case kCircuit:
8792 _impl_.constraint_.circuit_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.circuit_);
8793 break;
8794 case kRoutes:
8795 _impl_.constraint_.routes_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.routes_);
8796 break;
8797 case kTable:
8798 _impl_.constraint_.table_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.table_);
8799 break;
8800 case kAutomaton:
8801 _impl_.constraint_.automaton_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.automaton_);
8802 break;
8803 case kInverse:
8804 _impl_.constraint_.inverse_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.inverse_);
8805 break;
8806 case kReservoir:
8807 _impl_.constraint_.reservoir_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.reservoir_);
8808 break;
8809 case kInterval:
8810 _impl_.constraint_.interval_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.interval_);
8811 break;
8812 case kNoOverlap:
8813 _impl_.constraint_.no_overlap_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.no_overlap_);
8814 break;
8815 case kNoOverlap2D:
8816 _impl_.constraint_.no_overlap_2d_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.no_overlap_2d_);
8817 break;
8818 case kCumulative:
8819 _impl_.constraint_.cumulative_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.cumulative_);
8820 break;
8821 case kDummyConstraint:
8822 _impl_.constraint_.dummy_constraint_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.dummy_constraint_);
8823 break;
8824 }
8825
8826 // @@protoc_insertion_point(copy_constructor:operations_research.sat.ConstraintProto)
8827}
8828PROTOBUF_NDEBUG_INLINE ConstraintProto::Impl_::Impl_(
8829 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
8830 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
8831 : _cached_size_{0},
8832 enforcement_literal_{visibility, arena},
8833 _enforcement_literal_cached_byte_size_{0},
8834 name_(arena),
8835 constraint_{},
8836 _oneof_case_{} {}
8837
8838inline void ConstraintProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
8839 new (&_impl_) Impl_(internal_visibility(), arena);
8840}
8842 // @@protoc_insertion_point(destructor:operations_research.sat.ConstraintProto)
8843 SharedDtor(*this);
8844}
8845inline void ConstraintProto::SharedDtor(MessageLite& self) {
8846 ConstraintProto& this_ = static_cast<ConstraintProto&>(self);
8847 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
8848 this_.CheckHasBitConsistency();
8849 }
8850 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
8851 ABSL_DCHECK(this_.GetArena() == nullptr);
8852 this_._impl_.name_.Destroy();
8853 if (this_.has_constraint()) {
8854 this_.clear_constraint();
8855 }
8856 this_._impl_.~Impl_();
8857}
8858
8860// @@protoc_insertion_point(one_of_clear_start:operations_research.sat.ConstraintProto)
8861 ::google::protobuf::internal::TSanWrite(&_impl_);
8862 switch (constraint_case()) {
8863 case kBoolOr: {
8864 if (GetArena() == nullptr) {
8865 delete _impl_.constraint_.bool_or_;
8866 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
8867 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.bool_or_);
8868 }
8869 break;
8870 }
8871 case kBoolAnd: {
8872 if (GetArena() == nullptr) {
8873 delete _impl_.constraint_.bool_and_;
8874 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
8875 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.bool_and_);
8876 }
8877 break;
8878 }
8880 if (GetArena() == nullptr) {
8881 delete _impl_.constraint_.at_most_one_;
8882 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
8883 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.at_most_one_);
8884 }
8885 break;
8886 }
8887 case kExactlyOne: {
8888 if (GetArena() == nullptr) {
8889 delete _impl_.constraint_.exactly_one_;
8890 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
8891 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.exactly_one_);
8892 }
8893 break;
8894 }
8895 case kBoolXor: {
8896 if (GetArena() == nullptr) {
8897 delete _impl_.constraint_.bool_xor_;
8898 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
8899 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.bool_xor_);
8900 }
8901 break;
8902 }
8903 case kIntDiv: {
8904 if (GetArena() == nullptr) {
8905 delete _impl_.constraint_.int_div_;
8906 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
8907 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.int_div_);
8908 }
8909 break;
8910 }
8911 case kIntMod: {
8912 if (GetArena() == nullptr) {
8913 delete _impl_.constraint_.int_mod_;
8914 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
8915 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.int_mod_);
8916 }
8917 break;
8918 }
8919 case kIntProd: {
8920 if (GetArena() == nullptr) {
8921 delete _impl_.constraint_.int_prod_;
8922 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
8923 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.int_prod_);
8924 }
8925 break;
8926 }
8927 case kLinMax: {
8928 if (GetArena() == nullptr) {
8929 delete _impl_.constraint_.lin_max_;
8930 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
8931 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.lin_max_);
8932 }
8933 break;
8934 }
8935 case kLinear: {
8936 if (GetArena() == nullptr) {
8937 delete _impl_.constraint_.linear_;
8938 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
8939 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.linear_);
8940 }
8941 break;
8942 }
8943 case kAllDiff: {
8944 if (GetArena() == nullptr) {
8945 delete _impl_.constraint_.all_diff_;
8946 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
8947 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.all_diff_);
8948 }
8949 break;
8950 }
8951 case kElement: {
8952 if (GetArena() == nullptr) {
8953 delete _impl_.constraint_.element_;
8954 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
8955 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.element_);
8956 }
8957 break;
8958 }
8959 case kCircuit: {
8960 if (GetArena() == nullptr) {
8961 delete _impl_.constraint_.circuit_;
8962 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
8963 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.circuit_);
8964 }
8965 break;
8966 }
8967 case kRoutes: {
8968 if (GetArena() == nullptr) {
8969 delete _impl_.constraint_.routes_;
8970 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
8971 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.routes_);
8972 }
8973 break;
8974 }
8975 case kTable: {
8976 if (GetArena() == nullptr) {
8977 delete _impl_.constraint_.table_;
8978 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
8979 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.table_);
8980 }
8981 break;
8982 }
8983 case kAutomaton: {
8984 if (GetArena() == nullptr) {
8985 delete _impl_.constraint_.automaton_;
8986 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
8987 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.automaton_);
8988 }
8989 break;
8990 }
8991 case kInverse: {
8992 if (GetArena() == nullptr) {
8993 delete _impl_.constraint_.inverse_;
8994 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
8995 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.inverse_);
8996 }
8997 break;
8998 }
8999 case kReservoir: {
9000 if (GetArena() == nullptr) {
9001 delete _impl_.constraint_.reservoir_;
9002 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
9003 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.reservoir_);
9004 }
9005 break;
9006 }
9007 case kInterval: {
9008 if (GetArena() == nullptr) {
9009 delete _impl_.constraint_.interval_;
9010 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
9011 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.interval_);
9012 }
9013 break;
9014 }
9015 case kNoOverlap: {
9016 if (GetArena() == nullptr) {
9017 delete _impl_.constraint_.no_overlap_;
9018 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
9019 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.no_overlap_);
9020 }
9021 break;
9022 }
9023 case kNoOverlap2D: {
9024 if (GetArena() == nullptr) {
9025 delete _impl_.constraint_.no_overlap_2d_;
9026 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
9027 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.no_overlap_2d_);
9028 }
9029 break;
9030 }
9031 case kCumulative: {
9032 if (GetArena() == nullptr) {
9033 delete _impl_.constraint_.cumulative_;
9034 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
9035 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.cumulative_);
9036 }
9037 break;
9038 }
9039 case kDummyConstraint: {
9040 if (GetArena() == nullptr) {
9041 delete _impl_.constraint_.dummy_constraint_;
9042 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
9043 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.constraint_.dummy_constraint_);
9044 }
9045 break;
9046 }
9047 case CONSTRAINT_NOT_SET: {
9048 break;
9049 }
9050 }
9051 _impl_._oneof_case_[0] = CONSTRAINT_NOT_SET;
9052}
9053
9054
9055inline void* PROTOBUF_NONNULL ConstraintProto::PlacementNew_(
9056 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
9057 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
9058 return ::new (mem) ConstraintProto(arena);
9059}
9060constexpr auto ConstraintProto::InternalNewImpl_() {
9061 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
9062 PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_.enforcement_literal_) +
9063 decltype(ConstraintProto::_impl_.enforcement_literal_)::
9064 InternalGetArenaOffset(
9065 ::google::protobuf::Message::internal_visibility()),
9066 });
9067 if (arena_bits.has_value()) {
9068 return ::google::protobuf::internal::MessageCreator::CopyInit(
9069 sizeof(ConstraintProto), alignof(ConstraintProto), *arena_bits);
9070 } else {
9071 return ::google::protobuf::internal::MessageCreator(&ConstraintProto::PlacementNew_,
9072 sizeof(ConstraintProto),
9073 alignof(ConstraintProto));
9074 }
9075}
9077 return ::google::protobuf::internal::ClassDataFull{
9078 ::google::protobuf::internal::ClassData{
9080 &_table_.header,
9081 nullptr, // OnDemandRegisterArenaDtor
9082 nullptr, // IsInitialized
9083 &ConstraintProto::MergeImpl,
9084 ::google::protobuf::Message::GetNewImpl<ConstraintProto>(),
9085#if defined(PROTOBUF_CUSTOM_VTABLE)
9086 &ConstraintProto::SharedDtor,
9087 ::google::protobuf::Message::GetClearImpl<ConstraintProto>(), &ConstraintProto::ByteSizeLong,
9089#endif // PROTOBUF_CUSTOM_VTABLE
9090 PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_._cached_size_),
9091 false,
9092 },
9093 &ConstraintProto::kDescriptorMethods,
9095 nullptr, // tracker
9097}
9098
9099PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
9100 ::google::protobuf::internal::ClassDataFull ConstraintProto_class_data_ =
9102
9103PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
9104ConstraintProto::GetClassData() const {
9105 ::google::protobuf::internal::PrefetchToLocalCache(&ConstraintProto_class_data_);
9106 ::google::protobuf::internal::PrefetchToLocalCache(ConstraintProto_class_data_.tc_table);
9107 return ConstraintProto_class_data_.base();
9108}
9109PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
9110const ::_pbi::TcParseTable<1, 25, 23, 76, 2>
9111ConstraintProto::_table_ = {
9112 {
9113 PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_._has_bits_),
9114 0, // no _extensions_
9115 30, 8, // max_field_number, fast_idx_mask
9116 offsetof(decltype(_table_), field_lookup_table),
9117 3372221216, // skipmap
9118 offsetof(decltype(_table_), field_entries),
9119 25, // num_field_entries
9120 23, // num_aux_entries
9121 offsetof(decltype(_table_), aux_entries),
9123 nullptr, // post_loop_handler
9124 ::_pbi::TcParser::GenericFallback, // fallback
9125 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
9126 ::_pbi::TcParser::GetTable<::operations_research::sat::ConstraintProto>(), // to_prefetch
9127 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
9128 }, {{
9129 // repeated int32 enforcement_literal = 2;
9130 {::_pbi::TcParser::FastV32P1,
9131 {18, 0, 0,
9132 PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_.enforcement_literal_)}},
9133 // string name = 1;
9134 {::_pbi::TcParser::FastUS1,
9135 {10, 1, 0,
9136 PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_.name_)}},
9137 }}, {{
9138 65535, 65535
9139 }}, {{
9140 // string name = 1;
9141 {PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_.name_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
9142 // repeated int32 enforcement_literal = 2;
9143 {PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_.enforcement_literal_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
9144 // .operations_research.sat.BoolArgumentProto bool_or = 3;
9145 {PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_.constraint_.bool_or_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
9146 // .operations_research.sat.BoolArgumentProto bool_and = 4;
9147 {PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_.constraint_.bool_and_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
9148 // .operations_research.sat.BoolArgumentProto bool_xor = 5;
9149 {PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_.constraint_.bool_xor_), _Internal::kOneofCaseOffset + 0, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
9150 // .operations_research.sat.LinearArgumentProto int_div = 7;
9151 {PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_.constraint_.int_div_), _Internal::kOneofCaseOffset + 0, 3, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
9152 // .operations_research.sat.LinearArgumentProto int_mod = 8;
9153 {PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_.constraint_.int_mod_), _Internal::kOneofCaseOffset + 0, 4, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
9154 // .operations_research.sat.LinearArgumentProto int_prod = 11;
9155 {PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_.constraint_.int_prod_), _Internal::kOneofCaseOffset + 0, 5, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
9156 // .operations_research.sat.LinearConstraintProto linear = 12;
9157 {PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_.constraint_.linear_), _Internal::kOneofCaseOffset + 0, 6, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
9158 // .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
9159 {PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_.constraint_.all_diff_), _Internal::kOneofCaseOffset + 0, 7, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
9160 // .operations_research.sat.ElementConstraintProto element = 14;
9161 {PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_.constraint_.element_), _Internal::kOneofCaseOffset + 0, 8, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
9162 // .operations_research.sat.CircuitConstraintProto circuit = 15;
9163 {PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_.constraint_.circuit_), _Internal::kOneofCaseOffset + 0, 9, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
9164 // .operations_research.sat.TableConstraintProto table = 16;
9165 {PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_.constraint_.table_), _Internal::kOneofCaseOffset + 0, 10, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
9166 // .operations_research.sat.AutomatonConstraintProto automaton = 17;
9167 {PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_.constraint_.automaton_), _Internal::kOneofCaseOffset + 0, 11, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
9168 // .operations_research.sat.InverseConstraintProto inverse = 18;
9169 {PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_.constraint_.inverse_), _Internal::kOneofCaseOffset + 0, 12, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
9170 // .operations_research.sat.IntervalConstraintProto interval = 19;
9171 {PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_.constraint_.interval_), _Internal::kOneofCaseOffset + 0, 13, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
9172 // .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
9173 {PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_.constraint_.no_overlap_), _Internal::kOneofCaseOffset + 0, 14, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
9174 // .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
9175 {PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_.constraint_.no_overlap_2d_), _Internal::kOneofCaseOffset + 0, 15, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
9176 // .operations_research.sat.CumulativeConstraintProto cumulative = 22;
9177 {PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_.constraint_.cumulative_), _Internal::kOneofCaseOffset + 0, 16, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
9178 // .operations_research.sat.RoutesConstraintProto routes = 23;
9179 {PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_.constraint_.routes_), _Internal::kOneofCaseOffset + 0, 17, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
9180 // .operations_research.sat.ReservoirConstraintProto reservoir = 24;
9181 {PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_.constraint_.reservoir_), _Internal::kOneofCaseOffset + 0, 18, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
9182 // .operations_research.sat.BoolArgumentProto at_most_one = 26;
9183 {PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_.constraint_.at_most_one_), _Internal::kOneofCaseOffset + 0, 19, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
9184 // .operations_research.sat.LinearArgumentProto lin_max = 27;
9185 {PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_.constraint_.lin_max_), _Internal::kOneofCaseOffset + 0, 20, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
9186 // .operations_research.sat.BoolArgumentProto exactly_one = 29;
9187 {PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_.constraint_.exactly_one_), _Internal::kOneofCaseOffset + 0, 21, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
9188 // .operations_research.sat.ListOfVariablesProto dummy_constraint = 30;
9189 {PROTOBUF_FIELD_OFFSET(ConstraintProto, _impl_.constraint_.dummy_constraint_), _Internal::kOneofCaseOffset + 0, 22, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
9190 }},
9191 {{
9192 {::_pbi::TcParser::GetTable<::operations_research::sat::BoolArgumentProto>()},
9193 {::_pbi::TcParser::GetTable<::operations_research::sat::BoolArgumentProto>()},
9194 {::_pbi::TcParser::GetTable<::operations_research::sat::BoolArgumentProto>()},
9195 {::_pbi::TcParser::GetTable<::operations_research::sat::LinearArgumentProto>()},
9196 {::_pbi::TcParser::GetTable<::operations_research::sat::LinearArgumentProto>()},
9197 {::_pbi::TcParser::GetTable<::operations_research::sat::LinearArgumentProto>()},
9198 {::_pbi::TcParser::GetTable<::operations_research::sat::LinearConstraintProto>()},
9199 {::_pbi::TcParser::GetTable<::operations_research::sat::AllDifferentConstraintProto>()},
9200 {::_pbi::TcParser::GetTable<::operations_research::sat::ElementConstraintProto>()},
9201 {::_pbi::TcParser::GetTable<::operations_research::sat::CircuitConstraintProto>()},
9202 {::_pbi::TcParser::GetTable<::operations_research::sat::TableConstraintProto>()},
9203 {::_pbi::TcParser::GetTable<::operations_research::sat::AutomatonConstraintProto>()},
9204 {::_pbi::TcParser::GetTable<::operations_research::sat::InverseConstraintProto>()},
9205 {::_pbi::TcParser::GetTable<::operations_research::sat::IntervalConstraintProto>()},
9206 {::_pbi::TcParser::GetTable<::operations_research::sat::NoOverlapConstraintProto>()},
9207 {::_pbi::TcParser::GetTable<::operations_research::sat::NoOverlap2DConstraintProto>()},
9208 {::_pbi::TcParser::GetTable<::operations_research::sat::CumulativeConstraintProto>()},
9209 {::_pbi::TcParser::GetTable<::operations_research::sat::RoutesConstraintProto>()},
9210 {::_pbi::TcParser::GetTable<::operations_research::sat::ReservoirConstraintProto>()},
9211 {::_pbi::TcParser::GetTable<::operations_research::sat::BoolArgumentProto>()},
9212 {::_pbi::TcParser::GetTable<::operations_research::sat::LinearArgumentProto>()},
9213 {::_pbi::TcParser::GetTable<::operations_research::sat::BoolArgumentProto>()},
9214 {::_pbi::TcParser::GetTable<::operations_research::sat::ListOfVariablesProto>()},
9215 }},
9216 {{
9217 "\47\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
9218 "operations_research.sat.ConstraintProto"
9219 "name"
9220 }},
9221};
9222PROTOBUF_NOINLINE void ConstraintProto::Clear() {
9223// @@protoc_insertion_point(message_clear_start:operations_research.sat.ConstraintProto)
9224 ::google::protobuf::internal::TSanWrite(&_impl_);
9225 ::uint32_t cached_has_bits = 0;
9226 // Prevent compiler warnings about cached_has_bits being unused
9227 (void) cached_has_bits;
9228
9229 cached_has_bits = _impl_._has_bits_[0];
9230 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
9231 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
9232 _impl_.enforcement_literal_.Clear();
9233 }
9234 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
9235 _impl_.name_.ClearNonDefaultToEmpty();
9236 }
9237 }
9239 _impl_._has_bits_.Clear();
9240 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
9241}
9243#if defined(PROTOBUF_CUSTOM_VTABLE)
9244::uint8_t* PROTOBUF_NONNULL ConstraintProto::_InternalSerialize(
9245 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
9246 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
9247 const ConstraintProto& this_ = static_cast<const ConstraintProto&>(base);
9248#else // PROTOBUF_CUSTOM_VTABLE
9249::uint8_t* PROTOBUF_NONNULL ConstraintProto::_InternalSerialize(
9250 ::uint8_t* PROTOBUF_NONNULL target,
9251 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
9252 const ConstraintProto& this_ = *this;
9253#endif // PROTOBUF_CUSTOM_VTABLE
9254 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
9255 this_.CheckHasBitConsistency();
9256 }
9257 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.ConstraintProto)
9258 ::uint32_t cached_has_bits = 0;
9259 (void)cached_has_bits;
9260
9261 cached_has_bits = this_._impl_._has_bits_[0];
9262 // string name = 1;
9263 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
9264 if (!this_._internal_name().empty()) {
9265 const ::std::string& _s = this_._internal_name();
9266 ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
9267 _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "operations_research.sat.ConstraintProto.name");
9268 target = stream->WriteStringMaybeAliased(1, _s, target);
9270 }
9271
9272 // repeated int32 enforcement_literal = 2;
9273 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
9274 {
9275 int byte_size = this_._impl_._enforcement_literal_cached_byte_size_.Get();
9276 if (byte_size > 0) {
9277 target = stream->WriteInt32Packed(
9278 2, this_._internal_enforcement_literal(), byte_size, target);
9279 }
9280 }
9281 }
9282
9283 switch (this_.constraint_case()) {
9284 case kBoolOr: {
9285 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
9286 3, *this_._impl_.constraint_.bool_or_, this_._impl_.constraint_.bool_or_->GetCachedSize(), target,
9287 stream);
9288 break;
9289 }
9290 case kBoolAnd: {
9291 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
9292 4, *this_._impl_.constraint_.bool_and_, this_._impl_.constraint_.bool_and_->GetCachedSize(), target,
9293 stream);
9294 break;
9295 }
9296 case kBoolXor: {
9297 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
9298 5, *this_._impl_.constraint_.bool_xor_, this_._impl_.constraint_.bool_xor_->GetCachedSize(), target,
9299 stream);
9300 break;
9301 }
9302 case kIntDiv: {
9303 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
9304 7, *this_._impl_.constraint_.int_div_, this_._impl_.constraint_.int_div_->GetCachedSize(), target,
9305 stream);
9306 break;
9307 }
9308 case kIntMod: {
9309 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
9310 8, *this_._impl_.constraint_.int_mod_, this_._impl_.constraint_.int_mod_->GetCachedSize(), target,
9311 stream);
9312 break;
9313 }
9314 case kIntProd: {
9315 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
9316 11, *this_._impl_.constraint_.int_prod_, this_._impl_.constraint_.int_prod_->GetCachedSize(), target,
9317 stream);
9318 break;
9319 }
9320 case kLinear: {
9321 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
9322 12, *this_._impl_.constraint_.linear_, this_._impl_.constraint_.linear_->GetCachedSize(), target,
9323 stream);
9324 break;
9325 }
9326 case kAllDiff: {
9327 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
9328 13, *this_._impl_.constraint_.all_diff_, this_._impl_.constraint_.all_diff_->GetCachedSize(), target,
9329 stream);
9330 break;
9331 }
9332 case kElement: {
9333 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
9334 14, *this_._impl_.constraint_.element_, this_._impl_.constraint_.element_->GetCachedSize(), target,
9335 stream);
9336 break;
9337 }
9338 case kCircuit: {
9339 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
9340 15, *this_._impl_.constraint_.circuit_, this_._impl_.constraint_.circuit_->GetCachedSize(), target,
9341 stream);
9342 break;
9343 }
9344 case kTable: {
9345 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
9346 16, *this_._impl_.constraint_.table_, this_._impl_.constraint_.table_->GetCachedSize(), target,
9347 stream);
9348 break;
9349 }
9350 case kAutomaton: {
9351 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
9352 17, *this_._impl_.constraint_.automaton_, this_._impl_.constraint_.automaton_->GetCachedSize(), target,
9353 stream);
9354 break;
9355 }
9356 case kInverse: {
9357 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
9358 18, *this_._impl_.constraint_.inverse_, this_._impl_.constraint_.inverse_->GetCachedSize(), target,
9359 stream);
9360 break;
9361 }
9362 case kInterval: {
9363 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
9364 19, *this_._impl_.constraint_.interval_, this_._impl_.constraint_.interval_->GetCachedSize(), target,
9365 stream);
9366 break;
9367 }
9368 case kNoOverlap: {
9369 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
9370 20, *this_._impl_.constraint_.no_overlap_, this_._impl_.constraint_.no_overlap_->GetCachedSize(), target,
9371 stream);
9372 break;
9373 }
9374 case kNoOverlap2D: {
9375 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
9376 21, *this_._impl_.constraint_.no_overlap_2d_, this_._impl_.constraint_.no_overlap_2d_->GetCachedSize(), target,
9377 stream);
9378 break;
9379 }
9380 case kCumulative: {
9381 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
9382 22, *this_._impl_.constraint_.cumulative_, this_._impl_.constraint_.cumulative_->GetCachedSize(), target,
9383 stream);
9384 break;
9385 }
9386 case kRoutes: {
9387 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
9388 23, *this_._impl_.constraint_.routes_, this_._impl_.constraint_.routes_->GetCachedSize(), target,
9389 stream);
9390 break;
9391 }
9392 case kReservoir: {
9393 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
9394 24, *this_._impl_.constraint_.reservoir_, this_._impl_.constraint_.reservoir_->GetCachedSize(), target,
9395 stream);
9396 break;
9397 }
9398 case kAtMostOne: {
9399 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
9400 26, *this_._impl_.constraint_.at_most_one_, this_._impl_.constraint_.at_most_one_->GetCachedSize(), target,
9401 stream);
9402 break;
9403 }
9404 case kLinMax: {
9405 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
9406 27, *this_._impl_.constraint_.lin_max_, this_._impl_.constraint_.lin_max_->GetCachedSize(), target,
9407 stream);
9408 break;
9409 }
9410 case kExactlyOne: {
9411 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
9412 29, *this_._impl_.constraint_.exactly_one_, this_._impl_.constraint_.exactly_one_->GetCachedSize(), target,
9413 stream);
9414 break;
9415 }
9416 case kDummyConstraint: {
9417 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
9418 30, *this_._impl_.constraint_.dummy_constraint_, this_._impl_.constraint_.dummy_constraint_->GetCachedSize(), target,
9419 stream);
9420 break;
9421 }
9422 default:
9423 break;
9424 }
9425 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
9426 target =
9427 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
9428 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
9429 }
9430 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.ConstraintProto)
9431 return target;
9432}
9433
9434#if defined(PROTOBUF_CUSTOM_VTABLE)
9435::size_t ConstraintProto::ByteSizeLong(const MessageLite& base) {
9436 const ConstraintProto& this_ = static_cast<const ConstraintProto&>(base);
9437#else // PROTOBUF_CUSTOM_VTABLE
9438::size_t ConstraintProto::ByteSizeLong() const {
9439 const ConstraintProto& this_ = *this;
9440#endif // PROTOBUF_CUSTOM_VTABLE
9441 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.ConstraintProto)
9442 ::size_t total_size = 0;
9443
9444 ::uint32_t cached_has_bits = 0;
9445 // Prevent compiler warnings about cached_has_bits being unused
9446 (void)cached_has_bits;
9447
9448 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
9449 cached_has_bits = this_._impl_._has_bits_[0];
9450 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
9451 // repeated int32 enforcement_literal = 2;
9452 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
9453 total_size +=
9454 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
9455 this_._internal_enforcement_literal(), 1,
9456 this_._impl_._enforcement_literal_cached_byte_size_);
9457 }
9458 // string name = 1;
9459 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
9460 if (!this_._internal_name().empty()) {
9461 total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
9462 this_._internal_name());
9463 }
9464 }
9465 }
9466 switch (this_.constraint_case()) {
9467 // .operations_research.sat.BoolArgumentProto bool_or = 3;
9468 case kBoolOr: {
9469 total_size += 1 +
9470 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.constraint_.bool_or_);
9471 break;
9472 }
9473 // .operations_research.sat.BoolArgumentProto bool_and = 4;
9474 case kBoolAnd: {
9475 total_size += 1 +
9476 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.constraint_.bool_and_);
9477 break;
9478 }
9479 // .operations_research.sat.BoolArgumentProto at_most_one = 26;
9480 case kAtMostOne: {
9481 total_size += 2 +
9482 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.constraint_.at_most_one_);
9483 break;
9484 }
9485 // .operations_research.sat.BoolArgumentProto exactly_one = 29;
9486 case kExactlyOne: {
9487 total_size += 2 +
9488 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.constraint_.exactly_one_);
9489 break;
9490 }
9491 // .operations_research.sat.BoolArgumentProto bool_xor = 5;
9492 case kBoolXor: {
9493 total_size += 1 +
9494 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.constraint_.bool_xor_);
9495 break;
9496 }
9497 // .operations_research.sat.LinearArgumentProto int_div = 7;
9498 case kIntDiv: {
9499 total_size += 1 +
9500 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.constraint_.int_div_);
9501 break;
9502 }
9503 // .operations_research.sat.LinearArgumentProto int_mod = 8;
9504 case kIntMod: {
9505 total_size += 1 +
9506 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.constraint_.int_mod_);
9507 break;
9508 }
9509 // .operations_research.sat.LinearArgumentProto int_prod = 11;
9510 case kIntProd: {
9511 total_size += 1 +
9512 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.constraint_.int_prod_);
9513 break;
9514 }
9515 // .operations_research.sat.LinearArgumentProto lin_max = 27;
9516 case kLinMax: {
9517 total_size += 2 +
9518 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.constraint_.lin_max_);
9519 break;
9520 }
9521 // .operations_research.sat.LinearConstraintProto linear = 12;
9522 case kLinear: {
9523 total_size += 1 +
9524 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.constraint_.linear_);
9525 break;
9526 }
9527 // .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
9528 case kAllDiff: {
9529 total_size += 1 +
9530 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.constraint_.all_diff_);
9531 break;
9532 }
9533 // .operations_research.sat.ElementConstraintProto element = 14;
9534 case kElement: {
9535 total_size += 1 +
9536 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.constraint_.element_);
9537 break;
9538 }
9539 // .operations_research.sat.CircuitConstraintProto circuit = 15;
9540 case kCircuit: {
9541 total_size += 1 +
9542 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.constraint_.circuit_);
9543 break;
9544 }
9545 // .operations_research.sat.RoutesConstraintProto routes = 23;
9546 case kRoutes: {
9547 total_size += 2 +
9548 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.constraint_.routes_);
9549 break;
9550 }
9551 // .operations_research.sat.TableConstraintProto table = 16;
9552 case kTable: {
9553 total_size += 2 +
9554 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.constraint_.table_);
9555 break;
9556 }
9557 // .operations_research.sat.AutomatonConstraintProto automaton = 17;
9558 case kAutomaton: {
9559 total_size += 2 +
9560 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.constraint_.automaton_);
9561 break;
9562 }
9563 // .operations_research.sat.InverseConstraintProto inverse = 18;
9564 case kInverse: {
9565 total_size += 2 +
9566 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.constraint_.inverse_);
9567 break;
9568 }
9569 // .operations_research.sat.ReservoirConstraintProto reservoir = 24;
9570 case kReservoir: {
9571 total_size += 2 +
9572 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.constraint_.reservoir_);
9573 break;
9574 }
9575 // .operations_research.sat.IntervalConstraintProto interval = 19;
9576 case kInterval: {
9577 total_size += 2 +
9578 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.constraint_.interval_);
9579 break;
9580 }
9581 // .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
9582 case kNoOverlap: {
9583 total_size += 2 +
9584 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.constraint_.no_overlap_);
9585 break;
9586 }
9587 // .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
9588 case kNoOverlap2D: {
9589 total_size += 2 +
9590 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.constraint_.no_overlap_2d_);
9591 break;
9592 }
9593 // .operations_research.sat.CumulativeConstraintProto cumulative = 22;
9594 case kCumulative: {
9595 total_size += 2 +
9596 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.constraint_.cumulative_);
9597 break;
9598 }
9599 // .operations_research.sat.ListOfVariablesProto dummy_constraint = 30;
9600 case kDummyConstraint: {
9601 total_size += 2 +
9602 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.constraint_.dummy_constraint_);
9603 break;
9604 }
9605 case CONSTRAINT_NOT_SET: {
9606 break;
9607 }
9608 }
9609 return this_.MaybeComputeUnknownFieldsSize(total_size,
9610 &this_._impl_._cached_size_);
9611}
9612
9613void ConstraintProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
9614 const ::google::protobuf::MessageLite& from_msg) {
9615 auto* const _this =
9616 static_cast<ConstraintProto*>(&to_msg);
9617 auto& from = static_cast<const ConstraintProto&>(from_msg);
9618 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
9619 from.CheckHasBitConsistency();
9620 }
9621 ::google::protobuf::Arena* arena = _this->GetArena();
9622 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.ConstraintProto)
9623 ABSL_DCHECK_NE(&from, _this);
9624 ::uint32_t cached_has_bits = 0;
9625 (void)cached_has_bits;
9626
9627 cached_has_bits = from._impl_._has_bits_[0];
9628 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
9629 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
9630 _this->_internal_mutable_enforcement_literal()->MergeFrom(from._internal_enforcement_literal());
9631 }
9632 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
9633 if (!from._internal_name().empty()) {
9634 _this->_internal_set_name(from._internal_name());
9635 } else {
9636 if (_this->_impl_.name_.IsDefault()) {
9637 _this->_internal_set_name("");
9638 }
9639 }
9640 }
9641 }
9642 _this->_impl_._has_bits_[0] |= cached_has_bits;
9643 if (const uint32_t oneof_from_case =
9644 from._impl_._oneof_case_[0]) {
9645 const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
9646 const bool oneof_needs_init = oneof_to_case != oneof_from_case;
9647 if (oneof_needs_init) {
9648 if (oneof_to_case != 0) {
9649 _this->clear_constraint();
9650 }
9651 _this->_impl_._oneof_case_[0] = oneof_from_case;
9652 }
9653
9654 switch (oneof_from_case) {
9655 case kBoolOr: {
9656 if (oneof_needs_init) {
9657 _this->_impl_.constraint_.bool_or_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.bool_or_);
9658 } else {
9659 _this->_impl_.constraint_.bool_or_->MergeFrom(*from._impl_.constraint_.bool_or_);
9660 }
9661 break;
9662 }
9663 case kBoolAnd: {
9664 if (oneof_needs_init) {
9665 _this->_impl_.constraint_.bool_and_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.bool_and_);
9666 } else {
9667 _this->_impl_.constraint_.bool_and_->MergeFrom(*from._impl_.constraint_.bool_and_);
9668 }
9669 break;
9670 }
9671 case kAtMostOne: {
9672 if (oneof_needs_init) {
9673 _this->_impl_.constraint_.at_most_one_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.at_most_one_);
9674 } else {
9675 _this->_impl_.constraint_.at_most_one_->MergeFrom(*from._impl_.constraint_.at_most_one_);
9676 }
9677 break;
9678 }
9679 case kExactlyOne: {
9680 if (oneof_needs_init) {
9681 _this->_impl_.constraint_.exactly_one_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.exactly_one_);
9682 } else {
9683 _this->_impl_.constraint_.exactly_one_->MergeFrom(*from._impl_.constraint_.exactly_one_);
9684 }
9685 break;
9686 }
9687 case kBoolXor: {
9688 if (oneof_needs_init) {
9689 _this->_impl_.constraint_.bool_xor_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.bool_xor_);
9690 } else {
9691 _this->_impl_.constraint_.bool_xor_->MergeFrom(*from._impl_.constraint_.bool_xor_);
9692 }
9693 break;
9694 }
9695 case kIntDiv: {
9696 if (oneof_needs_init) {
9697 _this->_impl_.constraint_.int_div_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.int_div_);
9698 } else {
9699 _this->_impl_.constraint_.int_div_->MergeFrom(*from._impl_.constraint_.int_div_);
9700 }
9701 break;
9702 }
9703 case kIntMod: {
9704 if (oneof_needs_init) {
9705 _this->_impl_.constraint_.int_mod_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.int_mod_);
9706 } else {
9707 _this->_impl_.constraint_.int_mod_->MergeFrom(*from._impl_.constraint_.int_mod_);
9708 }
9709 break;
9710 }
9711 case kIntProd: {
9712 if (oneof_needs_init) {
9713 _this->_impl_.constraint_.int_prod_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.int_prod_);
9714 } else {
9715 _this->_impl_.constraint_.int_prod_->MergeFrom(*from._impl_.constraint_.int_prod_);
9716 }
9717 break;
9718 }
9719 case kLinMax: {
9720 if (oneof_needs_init) {
9721 _this->_impl_.constraint_.lin_max_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.lin_max_);
9722 } else {
9723 _this->_impl_.constraint_.lin_max_->MergeFrom(*from._impl_.constraint_.lin_max_);
9724 }
9725 break;
9726 }
9727 case kLinear: {
9728 if (oneof_needs_init) {
9729 _this->_impl_.constraint_.linear_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.linear_);
9730 } else {
9731 _this->_impl_.constraint_.linear_->MergeFrom(*from._impl_.constraint_.linear_);
9732 }
9733 break;
9734 }
9735 case kAllDiff: {
9736 if (oneof_needs_init) {
9737 _this->_impl_.constraint_.all_diff_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.all_diff_);
9738 } else {
9739 _this->_impl_.constraint_.all_diff_->MergeFrom(*from._impl_.constraint_.all_diff_);
9740 }
9741 break;
9742 }
9743 case kElement: {
9744 if (oneof_needs_init) {
9745 _this->_impl_.constraint_.element_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.element_);
9746 } else {
9747 _this->_impl_.constraint_.element_->MergeFrom(*from._impl_.constraint_.element_);
9748 }
9749 break;
9750 }
9751 case kCircuit: {
9752 if (oneof_needs_init) {
9753 _this->_impl_.constraint_.circuit_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.circuit_);
9754 } else {
9755 _this->_impl_.constraint_.circuit_->MergeFrom(*from._impl_.constraint_.circuit_);
9756 }
9757 break;
9758 }
9759 case kRoutes: {
9760 if (oneof_needs_init) {
9761 _this->_impl_.constraint_.routes_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.routes_);
9762 } else {
9763 _this->_impl_.constraint_.routes_->MergeFrom(*from._impl_.constraint_.routes_);
9764 }
9765 break;
9766 }
9767 case kTable: {
9768 if (oneof_needs_init) {
9769 _this->_impl_.constraint_.table_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.table_);
9770 } else {
9771 _this->_impl_.constraint_.table_->MergeFrom(*from._impl_.constraint_.table_);
9772 }
9773 break;
9774 }
9775 case kAutomaton: {
9776 if (oneof_needs_init) {
9777 _this->_impl_.constraint_.automaton_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.automaton_);
9778 } else {
9779 _this->_impl_.constraint_.automaton_->MergeFrom(*from._impl_.constraint_.automaton_);
9780 }
9781 break;
9782 }
9783 case kInverse: {
9784 if (oneof_needs_init) {
9785 _this->_impl_.constraint_.inverse_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.inverse_);
9786 } else {
9787 _this->_impl_.constraint_.inverse_->MergeFrom(*from._impl_.constraint_.inverse_);
9788 }
9789 break;
9790 }
9791 case kReservoir: {
9792 if (oneof_needs_init) {
9793 _this->_impl_.constraint_.reservoir_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.reservoir_);
9794 } else {
9795 _this->_impl_.constraint_.reservoir_->MergeFrom(*from._impl_.constraint_.reservoir_);
9796 }
9797 break;
9798 }
9799 case kInterval: {
9800 if (oneof_needs_init) {
9801 _this->_impl_.constraint_.interval_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.interval_);
9802 } else {
9803 _this->_impl_.constraint_.interval_->MergeFrom(*from._impl_.constraint_.interval_);
9804 }
9805 break;
9806 }
9807 case kNoOverlap: {
9808 if (oneof_needs_init) {
9809 _this->_impl_.constraint_.no_overlap_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.no_overlap_);
9810 } else {
9811 _this->_impl_.constraint_.no_overlap_->MergeFrom(*from._impl_.constraint_.no_overlap_);
9812 }
9813 break;
9814 }
9815 case kNoOverlap2D: {
9816 if (oneof_needs_init) {
9817 _this->_impl_.constraint_.no_overlap_2d_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.no_overlap_2d_);
9818 } else {
9819 _this->_impl_.constraint_.no_overlap_2d_->MergeFrom(*from._impl_.constraint_.no_overlap_2d_);
9820 }
9821 break;
9822 }
9823 case kCumulative: {
9824 if (oneof_needs_init) {
9825 _this->_impl_.constraint_.cumulative_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.cumulative_);
9826 } else {
9827 _this->_impl_.constraint_.cumulative_->MergeFrom(*from._impl_.constraint_.cumulative_);
9828 }
9829 break;
9830 }
9831 case kDummyConstraint: {
9832 if (oneof_needs_init) {
9833 _this->_impl_.constraint_.dummy_constraint_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.constraint_.dummy_constraint_);
9834 } else {
9835 _this->_impl_.constraint_.dummy_constraint_->MergeFrom(*from._impl_.constraint_.dummy_constraint_);
9836 }
9837 break;
9838 }
9839 case CONSTRAINT_NOT_SET:
9840 break;
9841 }
9842 }
9843 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
9844 from._internal_metadata_);
9845}
9846
9848 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.ConstraintProto)
9849 if (&from == this) return;
9850 Clear();
9851 MergeFrom(from);
9852}
9853
9854
9855void ConstraintProto::InternalSwap(ConstraintProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
9856 using ::std::swap;
9857 auto* arena = GetArena();
9858 ABSL_DCHECK_EQ(arena, other->GetArena());
9859 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
9860 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
9861 _impl_.enforcement_literal_.InternalSwap(&other->_impl_.enforcement_literal_);
9862 ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
9863 swap(_impl_.constraint_, other->_impl_.constraint_);
9864 swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
9865}
9866
9867::google::protobuf::Metadata ConstraintProto::GetMetadata() const {
9868 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
9869}
9870// ===================================================================
9871
9873 public:
9874 using HasBits =
9875 decltype(::std::declval<CpObjectiveProto>()._impl_._has_bits_);
9876 static constexpr ::int32_t kHasBitsOffset =
9877 8 * PROTOBUF_FIELD_OFFSET(CpObjectiveProto, _impl_._has_bits_);
9878};
9879
9880CpObjectiveProto::CpObjectiveProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
9881#if defined(PROTOBUF_CUSTOM_VTABLE)
9882 : ::google::protobuf::Message(arena, CpObjectiveProto_class_data_.base()) {
9883#else // PROTOBUF_CUSTOM_VTABLE
9884 : ::google::protobuf::Message(arena) {
9885#endif // PROTOBUF_CUSTOM_VTABLE
9886 SharedCtor(arena);
9887 // @@protoc_insertion_point(arena_constructor:operations_research.sat.CpObjectiveProto)
9888}
9889PROTOBUF_NDEBUG_INLINE CpObjectiveProto::Impl_::Impl_(
9890 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
9891 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
9892 [[maybe_unused]] const ::operations_research::sat::CpObjectiveProto& from_msg)
9893 : _has_bits_{from._has_bits_},
9894 _cached_size_{0},
9895 vars_{visibility, arena, from.vars_},
9896 _vars_cached_byte_size_{0},
9897 coeffs_{visibility, arena, from.coeffs_},
9898 _coeffs_cached_byte_size_{0},
9899 domain_{visibility, arena, from.domain_},
9900 _domain_cached_byte_size_{0} {}
9901
9903 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
9904 const CpObjectiveProto& from)
9905#if defined(PROTOBUF_CUSTOM_VTABLE)
9906 : ::google::protobuf::Message(arena, CpObjectiveProto_class_data_.base()) {
9907#else // PROTOBUF_CUSTOM_VTABLE
9908 : ::google::protobuf::Message(arena) {
9909#endif // PROTOBUF_CUSTOM_VTABLE
9910 CpObjectiveProto* const _this = this;
9911 (void)_this;
9912 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
9913 from._internal_metadata_);
9914 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
9915 ::memcpy(reinterpret_cast<char*>(&_impl_) +
9916 offsetof(Impl_, offset_),
9917 reinterpret_cast<const char*>(&from._impl_) +
9918 offsetof(Impl_, offset_),
9919 offsetof(Impl_, scaling_was_exact_) -
9920 offsetof(Impl_, offset_) +
9921 sizeof(Impl_::scaling_was_exact_));
9922
9923 // @@protoc_insertion_point(copy_constructor:operations_research.sat.CpObjectiveProto)
9924}
9925PROTOBUF_NDEBUG_INLINE CpObjectiveProto::Impl_::Impl_(
9926 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
9927 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
9928 : _cached_size_{0},
9929 vars_{visibility, arena},
9930 _vars_cached_byte_size_{0},
9931 coeffs_{visibility, arena},
9932 _coeffs_cached_byte_size_{0},
9933 domain_{visibility, arena},
9934 _domain_cached_byte_size_{0} {}
9935
9936inline void CpObjectiveProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
9937 new (&_impl_) Impl_(internal_visibility(), arena);
9938 ::memset(reinterpret_cast<char*>(&_impl_) +
9939 offsetof(Impl_, offset_),
9940 0,
9941 offsetof(Impl_, scaling_was_exact_) -
9942 offsetof(Impl_, offset_) +
9943 sizeof(Impl_::scaling_was_exact_));
9944}
9946 // @@protoc_insertion_point(destructor:operations_research.sat.CpObjectiveProto)
9947 SharedDtor(*this);
9948}
9949inline void CpObjectiveProto::SharedDtor(MessageLite& self) {
9950 CpObjectiveProto& this_ = static_cast<CpObjectiveProto&>(self);
9951 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
9952 this_.CheckHasBitConsistency();
9953 }
9954 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
9955 ABSL_DCHECK(this_.GetArena() == nullptr);
9956 this_._impl_.~Impl_();
9957}
9958
9959inline void* PROTOBUF_NONNULL CpObjectiveProto::PlacementNew_(
9960 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
9961 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
9962 return ::new (mem) CpObjectiveProto(arena);
9963}
9964constexpr auto CpObjectiveProto::InternalNewImpl_() {
9965 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
9966 PROTOBUF_FIELD_OFFSET(CpObjectiveProto, _impl_.vars_) +
9967 decltype(CpObjectiveProto::_impl_.vars_)::
9968 InternalGetArenaOffset(
9969 ::google::protobuf::Message::internal_visibility()),
9970 PROTOBUF_FIELD_OFFSET(CpObjectiveProto, _impl_.coeffs_) +
9971 decltype(CpObjectiveProto::_impl_.coeffs_)::
9972 InternalGetArenaOffset(
9973 ::google::protobuf::Message::internal_visibility()),
9974 PROTOBUF_FIELD_OFFSET(CpObjectiveProto, _impl_.domain_) +
9975 decltype(CpObjectiveProto::_impl_.domain_)::
9976 InternalGetArenaOffset(
9977 ::google::protobuf::Message::internal_visibility()),
9978 });
9979 if (arena_bits.has_value()) {
9980 return ::google::protobuf::internal::MessageCreator::ZeroInit(
9981 sizeof(CpObjectiveProto), alignof(CpObjectiveProto), *arena_bits);
9982 } else {
9983 return ::google::protobuf::internal::MessageCreator(&CpObjectiveProto::PlacementNew_,
9984 sizeof(CpObjectiveProto),
9985 alignof(CpObjectiveProto));
9986 }
9987}
9989 return ::google::protobuf::internal::ClassDataFull{
9990 ::google::protobuf::internal::ClassData{
9992 &_table_.header,
9993 nullptr, // OnDemandRegisterArenaDtor
9994 nullptr, // IsInitialized
9995 &CpObjectiveProto::MergeImpl,
9996 ::google::protobuf::Message::GetNewImpl<CpObjectiveProto>(),
9997#if defined(PROTOBUF_CUSTOM_VTABLE)
9998 &CpObjectiveProto::SharedDtor,
9999 ::google::protobuf::Message::GetClearImpl<CpObjectiveProto>(), &CpObjectiveProto::ByteSizeLong,
10001#endif // PROTOBUF_CUSTOM_VTABLE
10002 PROTOBUF_FIELD_OFFSET(CpObjectiveProto, _impl_._cached_size_),
10003 false,
10004 },
10005 &CpObjectiveProto::kDescriptorMethods,
10007 nullptr, // tracker
10008 };
10010
10011PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
10012 ::google::protobuf::internal::ClassDataFull CpObjectiveProto_class_data_ =
10014
10015PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
10016CpObjectiveProto::GetClassData() const {
10017 ::google::protobuf::internal::PrefetchToLocalCache(&CpObjectiveProto_class_data_);
10018 ::google::protobuf::internal::PrefetchToLocalCache(CpObjectiveProto_class_data_.tc_table);
10019 return CpObjectiveProto_class_data_.base();
10020}
10021PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
10022const ::_pbi::TcParseTable<4, 9, 0, 0, 2>
10023CpObjectiveProto::_table_ = {
10024 {
10025 PROTOBUF_FIELD_OFFSET(CpObjectiveProto, _impl_._has_bits_),
10026 0, // no _extensions_
10027 9, 120, // max_field_number, fast_idx_mask
10028 offsetof(decltype(_table_), field_lookup_table),
10029 4294966784, // skipmap
10030 offsetof(decltype(_table_), field_entries),
10031 9, // num_field_entries
10032 0, // num_aux_entries
10033 offsetof(decltype(_table_), field_names), // no aux_entries
10035 nullptr, // post_loop_handler
10036 ::_pbi::TcParser::GenericFallback, // fallback
10037 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
10038 ::_pbi::TcParser::GetTable<::operations_research::sat::CpObjectiveProto>(), // to_prefetch
10039 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
10040 }, {{
10041 {::_pbi::TcParser::MiniParse, {}},
10042 // repeated int32 vars = 1;
10043 {::_pbi::TcParser::FastV32P1,
10044 {10, 0, 0,
10045 PROTOBUF_FIELD_OFFSET(CpObjectiveProto, _impl_.vars_)}},
10046 // double offset = 2;
10047 {::_pbi::TcParser::FastF64S1,
10048 {17, 3, 0,
10049 PROTOBUF_FIELD_OFFSET(CpObjectiveProto, _impl_.offset_)}},
10050 // double scaling_factor = 3;
10051 {::_pbi::TcParser::FastF64S1,
10052 {25, 4, 0,
10053 PROTOBUF_FIELD_OFFSET(CpObjectiveProto, _impl_.scaling_factor_)}},
10054 // repeated int64 coeffs = 4;
10055 {::_pbi::TcParser::FastV64P1,
10056 {34, 1, 0,
10057 PROTOBUF_FIELD_OFFSET(CpObjectiveProto, _impl_.coeffs_)}},
10058 // repeated int64 domain = 5;
10059 {::_pbi::TcParser::FastV64P1,
10060 {42, 2, 0,
10061 PROTOBUF_FIELD_OFFSET(CpObjectiveProto, _impl_.domain_)}},
10062 // bool scaling_was_exact = 6;
10063 {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CpObjectiveProto, _impl_.scaling_was_exact_), 8>(),
10064 {48, 8, 0,
10065 PROTOBUF_FIELD_OFFSET(CpObjectiveProto, _impl_.scaling_was_exact_)}},
10066 // int64 integer_before_offset = 7;
10067 {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(CpObjectiveProto, _impl_.integer_before_offset_), 5>(),
10068 {56, 5, 0,
10069 PROTOBUF_FIELD_OFFSET(CpObjectiveProto, _impl_.integer_before_offset_)}},
10070 // int64 integer_scaling_factor = 8;
10071 {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(CpObjectiveProto, _impl_.integer_scaling_factor_), 6>(),
10072 {64, 6, 0,
10073 PROTOBUF_FIELD_OFFSET(CpObjectiveProto, _impl_.integer_scaling_factor_)}},
10074 // int64 integer_after_offset = 9;
10075 {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(CpObjectiveProto, _impl_.integer_after_offset_), 7>(),
10076 {72, 7, 0,
10077 PROTOBUF_FIELD_OFFSET(CpObjectiveProto, _impl_.integer_after_offset_)}},
10078 {::_pbi::TcParser::MiniParse, {}},
10079 {::_pbi::TcParser::MiniParse, {}},
10080 {::_pbi::TcParser::MiniParse, {}},
10081 {::_pbi::TcParser::MiniParse, {}},
10082 {::_pbi::TcParser::MiniParse, {}},
10083 {::_pbi::TcParser::MiniParse, {}},
10084 }}, {{
10085 65535, 65535
10086 }}, {{
10087 // repeated int32 vars = 1;
10088 {PROTOBUF_FIELD_OFFSET(CpObjectiveProto, _impl_.vars_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
10089 // double offset = 2;
10090 {PROTOBUF_FIELD_OFFSET(CpObjectiveProto, _impl_.offset_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
10091 // double scaling_factor = 3;
10092 {PROTOBUF_FIELD_OFFSET(CpObjectiveProto, _impl_.scaling_factor_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
10093 // repeated int64 coeffs = 4;
10094 {PROTOBUF_FIELD_OFFSET(CpObjectiveProto, _impl_.coeffs_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt64)},
10095 // repeated int64 domain = 5;
10096 {PROTOBUF_FIELD_OFFSET(CpObjectiveProto, _impl_.domain_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt64)},
10097 // bool scaling_was_exact = 6;
10098 {PROTOBUF_FIELD_OFFSET(CpObjectiveProto, _impl_.scaling_was_exact_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
10099 // int64 integer_before_offset = 7;
10100 {PROTOBUF_FIELD_OFFSET(CpObjectiveProto, _impl_.integer_before_offset_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
10101 // int64 integer_scaling_factor = 8;
10102 {PROTOBUF_FIELD_OFFSET(CpObjectiveProto, _impl_.integer_scaling_factor_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
10103 // int64 integer_after_offset = 9;
10104 {PROTOBUF_FIELD_OFFSET(CpObjectiveProto, _impl_.integer_after_offset_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
10105 }},
10106 // no aux_entries
10107 {{
10108 }},
10109};
10110PROTOBUF_NOINLINE void CpObjectiveProto::Clear() {
10111// @@protoc_insertion_point(message_clear_start:operations_research.sat.CpObjectiveProto)
10112 ::google::protobuf::internal::TSanWrite(&_impl_);
10113 ::uint32_t cached_has_bits = 0;
10114 // Prevent compiler warnings about cached_has_bits being unused
10115 (void) cached_has_bits;
10116
10117 cached_has_bits = _impl_._has_bits_[0];
10118 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
10119 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
10120 _impl_.vars_.Clear();
10121 }
10122 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
10123 _impl_.coeffs_.Clear();
10124 }
10125 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
10126 _impl_.domain_.Clear();
10127 }
10128 }
10129 if (BatchCheckHasBit(cached_has_bits, 0x000000f8U)) {
10130 ::memset(&_impl_.offset_, 0, static_cast<::size_t>(
10131 reinterpret_cast<char*>(&_impl_.integer_after_offset_) -
10132 reinterpret_cast<char*>(&_impl_.offset_)) + sizeof(_impl_.integer_after_offset_));
10133 }
10134 _impl_.scaling_was_exact_ = false;
10135 _impl_._has_bits_.Clear();
10136 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
10137}
10138
10139#if defined(PROTOBUF_CUSTOM_VTABLE)
10140::uint8_t* PROTOBUF_NONNULL CpObjectiveProto::_InternalSerialize(
10141 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
10142 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
10143 const CpObjectiveProto& this_ = static_cast<const CpObjectiveProto&>(base);
10144#else // PROTOBUF_CUSTOM_VTABLE
10145::uint8_t* PROTOBUF_NONNULL CpObjectiveProto::_InternalSerialize(
10146 ::uint8_t* PROTOBUF_NONNULL target,
10147 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
10148 const CpObjectiveProto& this_ = *this;
10149#endif // PROTOBUF_CUSTOM_VTABLE
10150 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
10151 this_.CheckHasBitConsistency();
10152 }
10153 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.CpObjectiveProto)
10154 ::uint32_t cached_has_bits = 0;
10155 (void)cached_has_bits;
10156
10157 cached_has_bits = this_._impl_._has_bits_[0];
10158 // repeated int32 vars = 1;
10159 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
10160 {
10161 int byte_size = this_._impl_._vars_cached_byte_size_.Get();
10162 if (byte_size > 0) {
10163 target = stream->WriteInt32Packed(
10164 1, this_._internal_vars(), byte_size, target);
10165 }
10167 }
10168
10169 // double offset = 2;
10170 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
10171 if (::absl::bit_cast<::uint64_t>(this_._internal_offset()) != 0) {
10172 target = stream->EnsureSpace(target);
10173 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
10174 2, this_._internal_offset(), target);
10175 }
10176 }
10177
10178 // double scaling_factor = 3;
10179 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
10180 if (::absl::bit_cast<::uint64_t>(this_._internal_scaling_factor()) != 0) {
10181 target = stream->EnsureSpace(target);
10182 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
10183 3, this_._internal_scaling_factor(), target);
10184 }
10185 }
10186
10187 // repeated int64 coeffs = 4;
10188 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
10189 {
10190 int byte_size = this_._impl_._coeffs_cached_byte_size_.Get();
10191 if (byte_size > 0) {
10192 target = stream->WriteInt64Packed(
10193 4, this_._internal_coeffs(), byte_size, target);
10194 }
10195 }
10196 }
10197
10198 // repeated int64 domain = 5;
10199 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
10200 {
10201 int byte_size = this_._impl_._domain_cached_byte_size_.Get();
10202 if (byte_size > 0) {
10203 target = stream->WriteInt64Packed(
10204 5, this_._internal_domain(), byte_size, target);
10205 }
10206 }
10207 }
10208
10209 // bool scaling_was_exact = 6;
10210 if (CheckHasBit(cached_has_bits, 0x00000100U)) {
10211 if (this_._internal_scaling_was_exact() != 0) {
10212 target = stream->EnsureSpace(target);
10213 target = ::_pbi::WireFormatLite::WriteBoolToArray(
10214 6, this_._internal_scaling_was_exact(), target);
10215 }
10216 }
10217
10218 // int64 integer_before_offset = 7;
10219 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
10220 if (this_._internal_integer_before_offset() != 0) {
10221 target =
10222 ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<7>(
10223 stream, this_._internal_integer_before_offset(), target);
10224 }
10225 }
10226
10227 // int64 integer_scaling_factor = 8;
10228 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
10229 if (this_._internal_integer_scaling_factor() != 0) {
10230 target =
10231 ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<8>(
10232 stream, this_._internal_integer_scaling_factor(), target);
10233 }
10234 }
10235
10236 // int64 integer_after_offset = 9;
10237 if (CheckHasBit(cached_has_bits, 0x00000080U)) {
10238 if (this_._internal_integer_after_offset() != 0) {
10239 target =
10240 ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<9>(
10241 stream, this_._internal_integer_after_offset(), target);
10242 }
10243 }
10244
10245 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
10246 target =
10247 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
10248 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
10249 }
10250 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.CpObjectiveProto)
10251 return target;
10252}
10253
10254#if defined(PROTOBUF_CUSTOM_VTABLE)
10255::size_t CpObjectiveProto::ByteSizeLong(const MessageLite& base) {
10256 const CpObjectiveProto& this_ = static_cast<const CpObjectiveProto&>(base);
10257#else // PROTOBUF_CUSTOM_VTABLE
10258::size_t CpObjectiveProto::ByteSizeLong() const {
10259 const CpObjectiveProto& this_ = *this;
10260#endif // PROTOBUF_CUSTOM_VTABLE
10261 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.CpObjectiveProto)
10262 ::size_t total_size = 0;
10263
10264 ::uint32_t cached_has_bits = 0;
10265 // Prevent compiler warnings about cached_has_bits being unused
10266 (void)cached_has_bits;
10267
10268 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
10269 cached_has_bits = this_._impl_._has_bits_[0];
10270 if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
10271 // repeated int32 vars = 1;
10272 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
10273 total_size +=
10274 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
10275 this_._internal_vars(), 1,
10276 this_._impl_._vars_cached_byte_size_);
10277 }
10278 // repeated int64 coeffs = 4;
10279 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
10280 total_size +=
10281 ::_pbi::WireFormatLite::Int64SizeWithPackedTagSize(
10282 this_._internal_coeffs(), 1,
10283 this_._impl_._coeffs_cached_byte_size_);
10284 }
10285 // repeated int64 domain = 5;
10286 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
10287 total_size +=
10288 ::_pbi::WireFormatLite::Int64SizeWithPackedTagSize(
10289 this_._internal_domain(), 1,
10290 this_._impl_._domain_cached_byte_size_);
10291 }
10292 // double offset = 2;
10293 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
10294 if (::absl::bit_cast<::uint64_t>(this_._internal_offset()) != 0) {
10295 total_size += 9;
10296 }
10297 }
10298 // double scaling_factor = 3;
10299 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
10300 if (::absl::bit_cast<::uint64_t>(this_._internal_scaling_factor()) != 0) {
10301 total_size += 9;
10302 }
10303 }
10304 // int64 integer_before_offset = 7;
10305 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
10306 if (this_._internal_integer_before_offset() != 0) {
10307 total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
10308 this_._internal_integer_before_offset());
10309 }
10310 }
10311 // int64 integer_scaling_factor = 8;
10312 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
10313 if (this_._internal_integer_scaling_factor() != 0) {
10314 total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
10315 this_._internal_integer_scaling_factor());
10316 }
10317 }
10318 // int64 integer_after_offset = 9;
10319 if (CheckHasBit(cached_has_bits, 0x00000080U)) {
10320 if (this_._internal_integer_after_offset() != 0) {
10321 total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
10322 this_._internal_integer_after_offset());
10323 }
10324 }
10325 }
10326 {
10327 // bool scaling_was_exact = 6;
10328 if (CheckHasBit(cached_has_bits, 0x00000100U)) {
10329 if (this_._internal_scaling_was_exact() != 0) {
10330 total_size += 2;
10331 }
10332 }
10333 }
10334 return this_.MaybeComputeUnknownFieldsSize(total_size,
10335 &this_._impl_._cached_size_);
10336}
10337
10338void CpObjectiveProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
10339 const ::google::protobuf::MessageLite& from_msg) {
10340 auto* const _this =
10341 static_cast<CpObjectiveProto*>(&to_msg);
10342 auto& from = static_cast<const CpObjectiveProto&>(from_msg);
10343 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
10344 from.CheckHasBitConsistency();
10345 }
10346 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.CpObjectiveProto)
10347 ABSL_DCHECK_NE(&from, _this);
10348 ::uint32_t cached_has_bits = 0;
10349 (void)cached_has_bits;
10350
10351 cached_has_bits = from._impl_._has_bits_[0];
10352 if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
10353 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
10354 _this->_internal_mutable_vars()->MergeFrom(from._internal_vars());
10355 }
10356 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
10357 _this->_internal_mutable_coeffs()->MergeFrom(from._internal_coeffs());
10358 }
10359 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
10360 _this->_internal_mutable_domain()->MergeFrom(from._internal_domain());
10361 }
10362 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
10363 if (::absl::bit_cast<::uint64_t>(from._internal_offset()) != 0) {
10364 _this->_impl_.offset_ = from._impl_.offset_;
10365 }
10366 }
10367 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
10368 if (::absl::bit_cast<::uint64_t>(from._internal_scaling_factor()) != 0) {
10369 _this->_impl_.scaling_factor_ = from._impl_.scaling_factor_;
10370 }
10371 }
10372 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
10373 if (from._internal_integer_before_offset() != 0) {
10374 _this->_impl_.integer_before_offset_ = from._impl_.integer_before_offset_;
10375 }
10376 }
10377 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
10378 if (from._internal_integer_scaling_factor() != 0) {
10379 _this->_impl_.integer_scaling_factor_ = from._impl_.integer_scaling_factor_;
10380 }
10381 }
10382 if (CheckHasBit(cached_has_bits, 0x00000080U)) {
10383 if (from._internal_integer_after_offset() != 0) {
10384 _this->_impl_.integer_after_offset_ = from._impl_.integer_after_offset_;
10385 }
10386 }
10387 }
10388 if (CheckHasBit(cached_has_bits, 0x00000100U)) {
10389 if (from._internal_scaling_was_exact() != 0) {
10390 _this->_impl_.scaling_was_exact_ = from._impl_.scaling_was_exact_;
10391 }
10392 }
10393 _this->_impl_._has_bits_[0] |= cached_has_bits;
10394 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
10395 from._internal_metadata_);
10396}
10397
10399 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.CpObjectiveProto)
10400 if (&from == this) return;
10401 Clear();
10402 MergeFrom(from);
10403}
10404
10405
10406void CpObjectiveProto::InternalSwap(CpObjectiveProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
10407 using ::std::swap;
10408 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
10409 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
10410 _impl_.vars_.InternalSwap(&other->_impl_.vars_);
10411 _impl_.coeffs_.InternalSwap(&other->_impl_.coeffs_);
10412 _impl_.domain_.InternalSwap(&other->_impl_.domain_);
10413 ::google::protobuf::internal::memswap<
10414 PROTOBUF_FIELD_OFFSET(CpObjectiveProto, _impl_.scaling_was_exact_)
10415 + sizeof(CpObjectiveProto::_impl_.scaling_was_exact_)
10416 - PROTOBUF_FIELD_OFFSET(CpObjectiveProto, _impl_.offset_)>(
10417 reinterpret_cast<char*>(&_impl_.offset_),
10418 reinterpret_cast<char*>(&other->_impl_.offset_));
10420
10421::google::protobuf::Metadata CpObjectiveProto::GetMetadata() const {
10422 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
10423}
10424// ===================================================================
10425
10426class FloatObjectiveProto::_Internal {
10427 public:
10428 using HasBits =
10429 decltype(::std::declval<FloatObjectiveProto>()._impl_._has_bits_);
10430 static constexpr ::int32_t kHasBitsOffset =
10431 8 * PROTOBUF_FIELD_OFFSET(FloatObjectiveProto, _impl_._has_bits_);
10432};
10433
10434FloatObjectiveProto::FloatObjectiveProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
10435#if defined(PROTOBUF_CUSTOM_VTABLE)
10436 : ::google::protobuf::Message(arena, FloatObjectiveProto_class_data_.base()) {
10437#else // PROTOBUF_CUSTOM_VTABLE
10438 : ::google::protobuf::Message(arena) {
10439#endif // PROTOBUF_CUSTOM_VTABLE
10440 SharedCtor(arena);
10441 // @@protoc_insertion_point(arena_constructor:operations_research.sat.FloatObjectiveProto)
10443PROTOBUF_NDEBUG_INLINE FloatObjectiveProto::Impl_::Impl_(
10444 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
10445 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
10446 [[maybe_unused]] const ::operations_research::sat::FloatObjectiveProto& from_msg)
10447 : _has_bits_{from._has_bits_},
10448 _cached_size_{0},
10449 vars_{visibility, arena, from.vars_},
10450 _vars_cached_byte_size_{0},
10451 coeffs_{visibility, arena, from.coeffs_} {}
10454 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
10455 const FloatObjectiveProto& from)
10456#if defined(PROTOBUF_CUSTOM_VTABLE)
10457 : ::google::protobuf::Message(arena, FloatObjectiveProto_class_data_.base()) {
10458#else // PROTOBUF_CUSTOM_VTABLE
10459 : ::google::protobuf::Message(arena) {
10460#endif // PROTOBUF_CUSTOM_VTABLE
10461 FloatObjectiveProto* const _this = this;
10462 (void)_this;
10463 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
10464 from._internal_metadata_);
10465 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
10466 ::memcpy(reinterpret_cast<char*>(&_impl_) +
10467 offsetof(Impl_, offset_),
10468 reinterpret_cast<const char*>(&from._impl_) +
10469 offsetof(Impl_, offset_),
10470 offsetof(Impl_, maximize_) -
10471 offsetof(Impl_, offset_) +
10472 sizeof(Impl_::maximize_));
10473
10474 // @@protoc_insertion_point(copy_constructor:operations_research.sat.FloatObjectiveProto)
10475}
10476PROTOBUF_NDEBUG_INLINE FloatObjectiveProto::Impl_::Impl_(
10477 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
10478 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
10479 : _cached_size_{0},
10480 vars_{visibility, arena},
10481 _vars_cached_byte_size_{0},
10482 coeffs_{visibility, arena} {}
10483
10484inline void FloatObjectiveProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
10485 new (&_impl_) Impl_(internal_visibility(), arena);
10486 ::memset(reinterpret_cast<char*>(&_impl_) +
10487 offsetof(Impl_, offset_),
10488 0,
10489 offsetof(Impl_, maximize_) -
10490 offsetof(Impl_, offset_) +
10491 sizeof(Impl_::maximize_));
10492}
10494 // @@protoc_insertion_point(destructor:operations_research.sat.FloatObjectiveProto)
10495 SharedDtor(*this);
10496}
10497inline void FloatObjectiveProto::SharedDtor(MessageLite& self) {
10498 FloatObjectiveProto& this_ = static_cast<FloatObjectiveProto&>(self);
10499 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
10500 this_.CheckHasBitConsistency();
10501 }
10502 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
10503 ABSL_DCHECK(this_.GetArena() == nullptr);
10504 this_._impl_.~Impl_();
10505}
10506
10507inline void* PROTOBUF_NONNULL FloatObjectiveProto::PlacementNew_(
10508 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
10509 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
10510 return ::new (mem) FloatObjectiveProto(arena);
10511}
10512constexpr auto FloatObjectiveProto::InternalNewImpl_() {
10513 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
10514 PROTOBUF_FIELD_OFFSET(FloatObjectiveProto, _impl_.vars_) +
10516 InternalGetArenaOffset(
10517 ::google::protobuf::Message::internal_visibility()),
10518 PROTOBUF_FIELD_OFFSET(FloatObjectiveProto, _impl_.coeffs_) +
10519 decltype(FloatObjectiveProto::_impl_.coeffs_)::
10520 InternalGetArenaOffset(
10521 ::google::protobuf::Message::internal_visibility()),
10522 });
10523 if (arena_bits.has_value()) {
10524 return ::google::protobuf::internal::MessageCreator::ZeroInit(
10525 sizeof(FloatObjectiveProto), alignof(FloatObjectiveProto), *arena_bits);
10526 } else {
10527 return ::google::protobuf::internal::MessageCreator(&FloatObjectiveProto::PlacementNew_,
10528 sizeof(FloatObjectiveProto),
10529 alignof(FloatObjectiveProto));
10530 }
10531}
10533 return ::google::protobuf::internal::ClassDataFull{
10534 ::google::protobuf::internal::ClassData{
10536 &_table_.header,
10537 nullptr, // OnDemandRegisterArenaDtor
10538 nullptr, // IsInitialized
10539 &FloatObjectiveProto::MergeImpl,
10540 ::google::protobuf::Message::GetNewImpl<FloatObjectiveProto>(),
10541#if defined(PROTOBUF_CUSTOM_VTABLE)
10542 &FloatObjectiveProto::SharedDtor,
10543 ::google::protobuf::Message::GetClearImpl<FloatObjectiveProto>(), &FloatObjectiveProto::ByteSizeLong,
10545#endif // PROTOBUF_CUSTOM_VTABLE
10546 PROTOBUF_FIELD_OFFSET(FloatObjectiveProto, _impl_._cached_size_),
10547 false,
10548 },
10549 &FloatObjectiveProto::kDescriptorMethods,
10551 nullptr, // tracker
10552 };
10553}
10555PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
10556 ::google::protobuf::internal::ClassDataFull FloatObjectiveProto_class_data_ =
10558
10559PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
10560FloatObjectiveProto::GetClassData() const {
10561 ::google::protobuf::internal::PrefetchToLocalCache(&FloatObjectiveProto_class_data_);
10562 ::google::protobuf::internal::PrefetchToLocalCache(FloatObjectiveProto_class_data_.tc_table);
10563 return FloatObjectiveProto_class_data_.base();
10564}
10565PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
10566const ::_pbi::TcParseTable<2, 4, 0, 0, 2>
10567FloatObjectiveProto::_table_ = {
10568 {
10569 PROTOBUF_FIELD_OFFSET(FloatObjectiveProto, _impl_._has_bits_),
10570 0, // no _extensions_
10571 4, 24, // max_field_number, fast_idx_mask
10572 offsetof(decltype(_table_), field_lookup_table),
10573 4294967280, // skipmap
10574 offsetof(decltype(_table_), field_entries),
10575 4, // num_field_entries
10576 0, // num_aux_entries
10577 offsetof(decltype(_table_), field_names), // no aux_entries
10579 nullptr, // post_loop_handler
10580 ::_pbi::TcParser::GenericFallback, // fallback
10581 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
10582 ::_pbi::TcParser::GetTable<::operations_research::sat::FloatObjectiveProto>(), // to_prefetch
10583 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
10584 }, {{
10585 // bool maximize = 4;
10586 {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(FloatObjectiveProto, _impl_.maximize_), 3>(),
10587 {32, 3, 0,
10588 PROTOBUF_FIELD_OFFSET(FloatObjectiveProto, _impl_.maximize_)}},
10589 // repeated int32 vars = 1;
10590 {::_pbi::TcParser::FastV32P1,
10591 {10, 0, 0,
10592 PROTOBUF_FIELD_OFFSET(FloatObjectiveProto, _impl_.vars_)}},
10593 // repeated double coeffs = 2;
10594 {::_pbi::TcParser::FastF64P1,
10595 {18, 1, 0,
10596 PROTOBUF_FIELD_OFFSET(FloatObjectiveProto, _impl_.coeffs_)}},
10597 // double offset = 3;
10598 {::_pbi::TcParser::FastF64S1,
10599 {25, 2, 0,
10600 PROTOBUF_FIELD_OFFSET(FloatObjectiveProto, _impl_.offset_)}},
10601 }}, {{
10602 65535, 65535
10603 }}, {{
10604 // repeated int32 vars = 1;
10605 {PROTOBUF_FIELD_OFFSET(FloatObjectiveProto, _impl_.vars_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
10606 // repeated double coeffs = 2;
10607 {PROTOBUF_FIELD_OFFSET(FloatObjectiveProto, _impl_.coeffs_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedDouble)},
10608 // double offset = 3;
10609 {PROTOBUF_FIELD_OFFSET(FloatObjectiveProto, _impl_.offset_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
10610 // bool maximize = 4;
10611 {PROTOBUF_FIELD_OFFSET(FloatObjectiveProto, _impl_.maximize_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
10612 }},
10613 // no aux_entries
10614 {{
10615 }},
10616};
10617PROTOBUF_NOINLINE void FloatObjectiveProto::Clear() {
10618// @@protoc_insertion_point(message_clear_start:operations_research.sat.FloatObjectiveProto)
10619 ::google::protobuf::internal::TSanWrite(&_impl_);
10620 ::uint32_t cached_has_bits = 0;
10621 // Prevent compiler warnings about cached_has_bits being unused
10622 (void) cached_has_bits;
10623
10624 cached_has_bits = _impl_._has_bits_[0];
10625 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
10626 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
10627 _impl_.vars_.Clear();
10628 }
10629 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
10630 _impl_.coeffs_.Clear();
10631 }
10632 }
10633 if (BatchCheckHasBit(cached_has_bits, 0x0000000cU)) {
10634 ::memset(&_impl_.offset_, 0, static_cast<::size_t>(
10635 reinterpret_cast<char*>(&_impl_.maximize_) -
10636 reinterpret_cast<char*>(&_impl_.offset_)) + sizeof(_impl_.maximize_));
10637 }
10638 _impl_._has_bits_.Clear();
10639 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
10640}
10641
10642#if defined(PROTOBUF_CUSTOM_VTABLE)
10643::uint8_t* PROTOBUF_NONNULL FloatObjectiveProto::_InternalSerialize(
10644 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
10645 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
10646 const FloatObjectiveProto& this_ = static_cast<const FloatObjectiveProto&>(base);
10647#else // PROTOBUF_CUSTOM_VTABLE
10648::uint8_t* PROTOBUF_NONNULL FloatObjectiveProto::_InternalSerialize(
10649 ::uint8_t* PROTOBUF_NONNULL target,
10650 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
10651 const FloatObjectiveProto& this_ = *this;
10652#endif // PROTOBUF_CUSTOM_VTABLE
10653 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
10654 this_.CheckHasBitConsistency();
10655 }
10656 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.FloatObjectiveProto)
10657 ::uint32_t cached_has_bits = 0;
10658 (void)cached_has_bits;
10659
10660 cached_has_bits = this_._impl_._has_bits_[0];
10661 // repeated int32 vars = 1;
10662 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
10663 {
10664 int byte_size = this_._impl_._vars_cached_byte_size_.Get();
10665 if (byte_size > 0) {
10666 target = stream->WriteInt32Packed(
10667 1, this_._internal_vars(), byte_size, target);
10668 }
10669 }
10671
10672 // repeated double coeffs = 2;
10673 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
10674 if (this_._internal_coeffs_size() > 0) {
10675 target = stream->WriteFixedPacked(2, this_._internal_coeffs(), target);
10676 }
10677 }
10678
10679 // double offset = 3;
10680 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
10681 if (::absl::bit_cast<::uint64_t>(this_._internal_offset()) != 0) {
10682 target = stream->EnsureSpace(target);
10683 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
10684 3, this_._internal_offset(), target);
10685 }
10686 }
10687
10688 // bool maximize = 4;
10689 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
10690 if (this_._internal_maximize() != 0) {
10691 target = stream->EnsureSpace(target);
10692 target = ::_pbi::WireFormatLite::WriteBoolToArray(
10693 4, this_._internal_maximize(), target);
10694 }
10695 }
10696
10697 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
10698 target =
10699 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
10700 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
10701 }
10702 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.FloatObjectiveProto)
10703 return target;
10704}
10705
10706#if defined(PROTOBUF_CUSTOM_VTABLE)
10707::size_t FloatObjectiveProto::ByteSizeLong(const MessageLite& base) {
10708 const FloatObjectiveProto& this_ = static_cast<const FloatObjectiveProto&>(base);
10709#else // PROTOBUF_CUSTOM_VTABLE
10710::size_t FloatObjectiveProto::ByteSizeLong() const {
10711 const FloatObjectiveProto& this_ = *this;
10712#endif // PROTOBUF_CUSTOM_VTABLE
10713 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.FloatObjectiveProto)
10714 ::size_t total_size = 0;
10715
10716 ::uint32_t cached_has_bits = 0;
10717 // Prevent compiler warnings about cached_has_bits being unused
10718 (void)cached_has_bits;
10719
10720 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
10721 cached_has_bits = this_._impl_._has_bits_[0];
10722 if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
10723 // repeated int32 vars = 1;
10724 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
10725 total_size +=
10726 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
10727 this_._internal_vars(), 1,
10728 this_._impl_._vars_cached_byte_size_);
10729 }
10730 // repeated double coeffs = 2;
10731 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
10732 ::size_t data_size = ::size_t{8} *
10733 ::_pbi::FromIntSize(this_._internal_coeffs_size());
10734 ::size_t tag_size = data_size == 0
10735 ? 0
10736 : 1 + ::_pbi::WireFormatLite::Int32Size(
10737 static_cast<::int32_t>(data_size));
10738 total_size += tag_size + data_size;
10739 }
10740 // double offset = 3;
10741 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
10742 if (::absl::bit_cast<::uint64_t>(this_._internal_offset()) != 0) {
10743 total_size += 9;
10744 }
10745 }
10746 // bool maximize = 4;
10747 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
10748 if (this_._internal_maximize() != 0) {
10749 total_size += 2;
10750 }
10751 }
10752 }
10753 return this_.MaybeComputeUnknownFieldsSize(total_size,
10754 &this_._impl_._cached_size_);
10755}
10756
10757void FloatObjectiveProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
10758 const ::google::protobuf::MessageLite& from_msg) {
10759 auto* const _this =
10760 static_cast<FloatObjectiveProto*>(&to_msg);
10761 auto& from = static_cast<const FloatObjectiveProto&>(from_msg);
10762 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
10763 from.CheckHasBitConsistency();
10764 }
10765 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.FloatObjectiveProto)
10766 ABSL_DCHECK_NE(&from, _this);
10767 ::uint32_t cached_has_bits = 0;
10768 (void)cached_has_bits;
10769
10770 cached_has_bits = from._impl_._has_bits_[0];
10771 if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
10772 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
10773 _this->_internal_mutable_vars()->MergeFrom(from._internal_vars());
10774 }
10775 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
10776 _this->_internal_mutable_coeffs()->MergeFrom(from._internal_coeffs());
10777 }
10778 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
10779 if (::absl::bit_cast<::uint64_t>(from._internal_offset()) != 0) {
10780 _this->_impl_.offset_ = from._impl_.offset_;
10781 }
10782 }
10783 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
10784 if (from._internal_maximize() != 0) {
10785 _this->_impl_.maximize_ = from._impl_.maximize_;
10786 }
10787 }
10788 }
10789 _this->_impl_._has_bits_[0] |= cached_has_bits;
10790 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
10791 from._internal_metadata_);
10792}
10793
10794void FloatObjectiveProto::CopyFrom(const FloatObjectiveProto& from) {
10795 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.FloatObjectiveProto)
10796 if (&from == this) return;
10797 Clear();
10798 MergeFrom(from);
10799}
10800
10801
10802void FloatObjectiveProto::InternalSwap(FloatObjectiveProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
10803 using ::std::swap;
10804 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
10805 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
10806 _impl_.vars_.InternalSwap(&other->_impl_.vars_);
10807 _impl_.coeffs_.InternalSwap(&other->_impl_.coeffs_);
10808 ::google::protobuf::internal::memswap<
10809 PROTOBUF_FIELD_OFFSET(FloatObjectiveProto, _impl_.maximize_)
10810 + sizeof(FloatObjectiveProto::_impl_.maximize_)
10811 - PROTOBUF_FIELD_OFFSET(FloatObjectiveProto, _impl_.offset_)>(
10812 reinterpret_cast<char*>(&_impl_.offset_),
10813 reinterpret_cast<char*>(&other->_impl_.offset_));
10814}
10815
10816::google::protobuf::Metadata FloatObjectiveProto::GetMetadata() const {
10817 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
10818}
10819// ===================================================================
10820
10822 public:
10823 using HasBits =
10824 decltype(::std::declval<DecisionStrategyProto>()._impl_._has_bits_);
10825 static constexpr ::int32_t kHasBitsOffset =
10826 8 * PROTOBUF_FIELD_OFFSET(DecisionStrategyProto, _impl_._has_bits_);
10827};
10828
10829DecisionStrategyProto::DecisionStrategyProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
10830#if defined(PROTOBUF_CUSTOM_VTABLE)
10831 : ::google::protobuf::Message(arena, DecisionStrategyProto_class_data_.base()) {
10832#else // PROTOBUF_CUSTOM_VTABLE
10833 : ::google::protobuf::Message(arena) {
10834#endif // PROTOBUF_CUSTOM_VTABLE
10835 SharedCtor(arena);
10836 // @@protoc_insertion_point(arena_constructor:operations_research.sat.DecisionStrategyProto)
10837}
10838PROTOBUF_NDEBUG_INLINE DecisionStrategyProto::Impl_::Impl_(
10839 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
10840 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
10841 [[maybe_unused]] const ::operations_research::sat::DecisionStrategyProto& from_msg)
10842 : _has_bits_{from._has_bits_},
10843 _cached_size_{0},
10844 variables_{visibility, arena, from.variables_},
10845 _variables_cached_byte_size_{0},
10846 exprs_{visibility, arena, from.exprs_} {}
10847
10849 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
10850 const DecisionStrategyProto& from)
10851#if defined(PROTOBUF_CUSTOM_VTABLE)
10852 : ::google::protobuf::Message(arena, DecisionStrategyProto_class_data_.base()) {
10853#else // PROTOBUF_CUSTOM_VTABLE
10854 : ::google::protobuf::Message(arena) {
10855#endif // PROTOBUF_CUSTOM_VTABLE
10856 DecisionStrategyProto* const _this = this;
10857 (void)_this;
10858 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
10859 from._internal_metadata_);
10860 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
10861 ::memcpy(reinterpret_cast<char*>(&_impl_) +
10862 offsetof(Impl_, variable_selection_strategy_),
10863 reinterpret_cast<const char*>(&from._impl_) +
10864 offsetof(Impl_, variable_selection_strategy_),
10865 offsetof(Impl_, domain_reduction_strategy_) -
10866 offsetof(Impl_, variable_selection_strategy_) +
10867 sizeof(Impl_::domain_reduction_strategy_));
10868
10869 // @@protoc_insertion_point(copy_constructor:operations_research.sat.DecisionStrategyProto)
10870}
10871PROTOBUF_NDEBUG_INLINE DecisionStrategyProto::Impl_::Impl_(
10872 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
10873 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
10874 : _cached_size_{0},
10875 variables_{visibility, arena},
10876 _variables_cached_byte_size_{0},
10877 exprs_{visibility, arena} {}
10878
10879inline void DecisionStrategyProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
10880 new (&_impl_) Impl_(internal_visibility(), arena);
10881 ::memset(reinterpret_cast<char*>(&_impl_) +
10882 offsetof(Impl_, variable_selection_strategy_),
10883 0,
10884 offsetof(Impl_, domain_reduction_strategy_) -
10885 offsetof(Impl_, variable_selection_strategy_) +
10886 sizeof(Impl_::domain_reduction_strategy_));
10887}
10889 // @@protoc_insertion_point(destructor:operations_research.sat.DecisionStrategyProto)
10890 SharedDtor(*this);
10891}
10892inline void DecisionStrategyProto::SharedDtor(MessageLite& self) {
10893 DecisionStrategyProto& this_ = static_cast<DecisionStrategyProto&>(self);
10894 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
10895 this_.CheckHasBitConsistency();
10896 }
10897 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
10898 ABSL_DCHECK(this_.GetArena() == nullptr);
10899 this_._impl_.~Impl_();
10900}
10901
10902inline void* PROTOBUF_NONNULL DecisionStrategyProto::PlacementNew_(
10903 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
10904 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
10905 return ::new (mem) DecisionStrategyProto(arena);
10906}
10907constexpr auto DecisionStrategyProto::InternalNewImpl_() {
10908 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
10909 PROTOBUF_FIELD_OFFSET(DecisionStrategyProto, _impl_.variables_) +
10910 decltype(DecisionStrategyProto::_impl_.variables_)::
10911 InternalGetArenaOffset(
10912 ::google::protobuf::Message::internal_visibility()),
10913 PROTOBUF_FIELD_OFFSET(DecisionStrategyProto, _impl_.exprs_) +
10914 decltype(DecisionStrategyProto::_impl_.exprs_)::
10915 InternalGetArenaOffset(
10916 ::google::protobuf::Message::internal_visibility()),
10917 });
10918 if (arena_bits.has_value()) {
10919 return ::google::protobuf::internal::MessageCreator::ZeroInit(
10920 sizeof(DecisionStrategyProto), alignof(DecisionStrategyProto), *arena_bits);
10921 } else {
10922 return ::google::protobuf::internal::MessageCreator(&DecisionStrategyProto::PlacementNew_,
10923 sizeof(DecisionStrategyProto),
10924 alignof(DecisionStrategyProto));
10925 }
10926}
10928 return ::google::protobuf::internal::ClassDataFull{
10929 ::google::protobuf::internal::ClassData{
10931 &_table_.header,
10932 nullptr, // OnDemandRegisterArenaDtor
10933 nullptr, // IsInitialized
10934 &DecisionStrategyProto::MergeImpl,
10935 ::google::protobuf::Message::GetNewImpl<DecisionStrategyProto>(),
10936#if defined(PROTOBUF_CUSTOM_VTABLE)
10937 &DecisionStrategyProto::SharedDtor,
10938 ::google::protobuf::Message::GetClearImpl<DecisionStrategyProto>(), &DecisionStrategyProto::ByteSizeLong,
10940#endif // PROTOBUF_CUSTOM_VTABLE
10941 PROTOBUF_FIELD_OFFSET(DecisionStrategyProto, _impl_._cached_size_),
10942 false,
10943 },
10944 &DecisionStrategyProto::kDescriptorMethods,
10946 nullptr, // tracker
10947 };
10948}
10949
10950PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
10951 ::google::protobuf::internal::ClassDataFull DecisionStrategyProto_class_data_ =
10953
10954PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
10955DecisionStrategyProto::GetClassData() const {
10956 ::google::protobuf::internal::PrefetchToLocalCache(&DecisionStrategyProto_class_data_);
10957 ::google::protobuf::internal::PrefetchToLocalCache(DecisionStrategyProto_class_data_.tc_table);
10959}
10960PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
10961const ::_pbi::TcParseTable<3, 4, 1, 0, 2>
10962DecisionStrategyProto::_table_ = {
10963 {
10964 PROTOBUF_FIELD_OFFSET(DecisionStrategyProto, _impl_._has_bits_),
10965 0, // no _extensions_
10966 5, 56, // max_field_number, fast_idx_mask
10967 offsetof(decltype(_table_), field_lookup_table),
10968 4294967272, // skipmap
10969 offsetof(decltype(_table_), field_entries),
10970 4, // num_field_entries
10971 1, // num_aux_entries
10972 offsetof(decltype(_table_), aux_entries),
10974 nullptr, // post_loop_handler
10975 ::_pbi::TcParser::GenericFallback, // fallback
10976 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
10977 ::_pbi::TcParser::GetTable<::operations_research::sat::DecisionStrategyProto>(), // to_prefetch
10978 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
10979 }, {{
10980 {::_pbi::TcParser::MiniParse, {}},
10981 // repeated int32 variables = 1;
10982 {::_pbi::TcParser::FastV32P1,
10983 {10, 0, 0,
10984 PROTOBUF_FIELD_OFFSET(DecisionStrategyProto, _impl_.variables_)}},
10985 // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
10986 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(DecisionStrategyProto, _impl_.variable_selection_strategy_), 2>(),
10987 {16, 2, 0,
10988 PROTOBUF_FIELD_OFFSET(DecisionStrategyProto, _impl_.variable_selection_strategy_)}},
10989 // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
10990 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(DecisionStrategyProto, _impl_.domain_reduction_strategy_), 3>(),
10991 {24, 3, 0,
10992 PROTOBUF_FIELD_OFFSET(DecisionStrategyProto, _impl_.domain_reduction_strategy_)}},
10993 {::_pbi::TcParser::MiniParse, {}},
10994 // repeated .operations_research.sat.LinearExpressionProto exprs = 5;
10995 {::_pbi::TcParser::FastMtR1,
10996 {42, 1, 0,
10997 PROTOBUF_FIELD_OFFSET(DecisionStrategyProto, _impl_.exprs_)}},
10998 {::_pbi::TcParser::MiniParse, {}},
10999 {::_pbi::TcParser::MiniParse, {}},
11000 }}, {{
11001 65535, 65535
11002 }}, {{
11003 // repeated int32 variables = 1;
11004 {PROTOBUF_FIELD_OFFSET(DecisionStrategyProto, _impl_.variables_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
11005 // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
11006 {PROTOBUF_FIELD_OFFSET(DecisionStrategyProto, _impl_.variable_selection_strategy_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
11007 // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
11008 {PROTOBUF_FIELD_OFFSET(DecisionStrategyProto, _impl_.domain_reduction_strategy_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
11009 // repeated .operations_research.sat.LinearExpressionProto exprs = 5;
11010 {PROTOBUF_FIELD_OFFSET(DecisionStrategyProto, _impl_.exprs_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
11011 }},
11012 {{
11013 {::_pbi::TcParser::GetTable<::operations_research::sat::LinearExpressionProto>()},
11014 }},
11015 {{
11016 }},
11017};
11018PROTOBUF_NOINLINE void DecisionStrategyProto::Clear() {
11019// @@protoc_insertion_point(message_clear_start:operations_research.sat.DecisionStrategyProto)
11020 ::google::protobuf::internal::TSanWrite(&_impl_);
11021 ::uint32_t cached_has_bits = 0;
11022 // Prevent compiler warnings about cached_has_bits being unused
11023 (void) cached_has_bits;
11024
11025 cached_has_bits = _impl_._has_bits_[0];
11026 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
11027 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
11028 _impl_.variables_.Clear();
11029 }
11030 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
11031 _impl_.exprs_.Clear();
11032 }
11033 }
11034 if (BatchCheckHasBit(cached_has_bits, 0x0000000cU)) {
11035 ::memset(&_impl_.variable_selection_strategy_, 0, static_cast<::size_t>(
11036 reinterpret_cast<char*>(&_impl_.domain_reduction_strategy_) -
11037 reinterpret_cast<char*>(&_impl_.variable_selection_strategy_)) + sizeof(_impl_.domain_reduction_strategy_));
11038 }
11039 _impl_._has_bits_.Clear();
11040 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
11042
11043#if defined(PROTOBUF_CUSTOM_VTABLE)
11044::uint8_t* PROTOBUF_NONNULL DecisionStrategyProto::_InternalSerialize(
11045 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
11046 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
11047 const DecisionStrategyProto& this_ = static_cast<const DecisionStrategyProto&>(base);
11048#else // PROTOBUF_CUSTOM_VTABLE
11049::uint8_t* PROTOBUF_NONNULL DecisionStrategyProto::_InternalSerialize(
11050 ::uint8_t* PROTOBUF_NONNULL target,
11051 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
11052 const DecisionStrategyProto& this_ = *this;
11053#endif // PROTOBUF_CUSTOM_VTABLE
11054 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
11055 this_.CheckHasBitConsistency();
11056 }
11057 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.DecisionStrategyProto)
11058 ::uint32_t cached_has_bits = 0;
11059 (void)cached_has_bits;
11060
11061 cached_has_bits = this_._impl_._has_bits_[0];
11062 // repeated int32 variables = 1;
11063 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
11064 {
11065 int byte_size = this_._impl_._variables_cached_byte_size_.Get();
11066 if (byte_size > 0) {
11067 target = stream->WriteInt32Packed(
11068 1, this_._internal_variables(), byte_size, target);
11069 }
11070 }
11071 }
11073 // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
11074 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
11075 if (this_._internal_variable_selection_strategy() != 0) {
11076 target = stream->EnsureSpace(target);
11077 target = ::_pbi::WireFormatLite::WriteEnumToArray(
11078 2, this_._internal_variable_selection_strategy(), target);
11079 }
11080 }
11081
11082 // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
11083 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
11084 if (this_._internal_domain_reduction_strategy() != 0) {
11085 target = stream->EnsureSpace(target);
11086 target = ::_pbi::WireFormatLite::WriteEnumToArray(
11087 3, this_._internal_domain_reduction_strategy(), target);
11088 }
11089 }
11090
11091 // repeated .operations_research.sat.LinearExpressionProto exprs = 5;
11092 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
11093 for (unsigned i = 0, n = static_cast<unsigned>(
11094 this_._internal_exprs_size());
11095 i < n; i++) {
11096 const auto& repfield = this_._internal_exprs().Get(i);
11097 target =
11098 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
11099 5, repfield, repfield.GetCachedSize(),
11100 target, stream);
11101 }
11102 }
11103
11104 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
11105 target =
11106 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
11107 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
11108 }
11109 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.DecisionStrategyProto)
11110 return target;
11111}
11112
11113#if defined(PROTOBUF_CUSTOM_VTABLE)
11115 const DecisionStrategyProto& this_ = static_cast<const DecisionStrategyProto&>(base);
11116#else // PROTOBUF_CUSTOM_VTABLE
11117::size_t DecisionStrategyProto::ByteSizeLong() const {
11118 const DecisionStrategyProto& this_ = *this;
11119#endif // PROTOBUF_CUSTOM_VTABLE
11120 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.DecisionStrategyProto)
11121 ::size_t total_size = 0;
11122
11123 ::uint32_t cached_has_bits = 0;
11124 // Prevent compiler warnings about cached_has_bits being unused
11125 (void)cached_has_bits;
11126
11127 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
11128 cached_has_bits = this_._impl_._has_bits_[0];
11129 if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
11130 // repeated int32 variables = 1;
11131 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
11132 total_size +=
11133 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
11134 this_._internal_variables(), 1,
11135 this_._impl_._variables_cached_byte_size_);
11136 }
11137 // repeated .operations_research.sat.LinearExpressionProto exprs = 5;
11138 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
11139 total_size += 1UL * this_._internal_exprs_size();
11140 for (const auto& msg : this_._internal_exprs()) {
11141 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
11142 }
11143 }
11144 // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
11145 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
11146 if (this_._internal_variable_selection_strategy() != 0) {
11147 total_size += 1 +
11148 ::_pbi::WireFormatLite::EnumSize(this_._internal_variable_selection_strategy());
11149 }
11150 }
11151 // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
11152 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
11153 if (this_._internal_domain_reduction_strategy() != 0) {
11154 total_size += 1 +
11155 ::_pbi::WireFormatLite::EnumSize(this_._internal_domain_reduction_strategy());
11156 }
11157 }
11158 }
11159 return this_.MaybeComputeUnknownFieldsSize(total_size,
11160 &this_._impl_._cached_size_);
11161}
11162
11163void DecisionStrategyProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
11164 const ::google::protobuf::MessageLite& from_msg) {
11165 auto* const _this =
11166 static_cast<DecisionStrategyProto*>(&to_msg);
11167 auto& from = static_cast<const DecisionStrategyProto&>(from_msg);
11168 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
11169 from.CheckHasBitConsistency();
11170 }
11171 ::google::protobuf::Arena* arena = _this->GetArena();
11172 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.DecisionStrategyProto)
11173 ABSL_DCHECK_NE(&from, _this);
11174 ::uint32_t cached_has_bits = 0;
11175 (void)cached_has_bits;
11176
11177 cached_has_bits = from._impl_._has_bits_[0];
11178 if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
11179 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
11180 _this->_internal_mutable_variables()->MergeFrom(from._internal_variables());
11181 }
11182 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
11183 _this->_internal_mutable_exprs()->InternalMergeFromWithArena(
11184 ::google::protobuf::MessageLite::internal_visibility(), arena,
11185 from._internal_exprs());
11186 }
11187 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
11188 if (from._internal_variable_selection_strategy() != 0) {
11189 _this->_impl_.variable_selection_strategy_ = from._impl_.variable_selection_strategy_;
11190 }
11191 }
11192 if (CheckHasBit(cached_has_bits, 0x00000008U)) {
11193 if (from._internal_domain_reduction_strategy() != 0) {
11194 _this->_impl_.domain_reduction_strategy_ = from._impl_.domain_reduction_strategy_;
11195 }
11196 }
11197 }
11198 _this->_impl_._has_bits_[0] |= cached_has_bits;
11199 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
11200 from._internal_metadata_);
11201}
11202
11203void DecisionStrategyProto::CopyFrom(const DecisionStrategyProto& from) {
11204 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.DecisionStrategyProto)
11205 if (&from == this) return;
11206 Clear();
11207 MergeFrom(from);
11208}
11209
11210
11211void DecisionStrategyProto::InternalSwap(DecisionStrategyProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
11212 using ::std::swap;
11213 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
11214 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
11215 _impl_.variables_.InternalSwap(&other->_impl_.variables_);
11216 _impl_.exprs_.InternalSwap(&other->_impl_.exprs_);
11217 ::google::protobuf::internal::memswap<
11218 PROTOBUF_FIELD_OFFSET(DecisionStrategyProto, _impl_.domain_reduction_strategy_)
11219 + sizeof(DecisionStrategyProto::_impl_.domain_reduction_strategy_)
11220 - PROTOBUF_FIELD_OFFSET(DecisionStrategyProto, _impl_.variable_selection_strategy_)>(
11221 reinterpret_cast<char*>(&_impl_.variable_selection_strategy_),
11222 reinterpret_cast<char*>(&other->_impl_.variable_selection_strategy_));
11223}
11224
11225::google::protobuf::Metadata DecisionStrategyProto::GetMetadata() const {
11226 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
11227}
11228// ===================================================================
11229
11231 public:
11232 using HasBits =
11233 decltype(::std::declval<PartialVariableAssignment>()._impl_._has_bits_);
11234 static constexpr ::int32_t kHasBitsOffset =
11235 8 * PROTOBUF_FIELD_OFFSET(PartialVariableAssignment, _impl_._has_bits_);
11236};
11237
11238PartialVariableAssignment::PartialVariableAssignment(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
11239#if defined(PROTOBUF_CUSTOM_VTABLE)
11240 : ::google::protobuf::Message(arena, PartialVariableAssignment_class_data_.base()) {
11241#else // PROTOBUF_CUSTOM_VTABLE
11242 : ::google::protobuf::Message(arena) {
11243#endif // PROTOBUF_CUSTOM_VTABLE
11244 SharedCtor(arena);
11245 // @@protoc_insertion_point(arena_constructor:operations_research.sat.PartialVariableAssignment)
11246}
11247PROTOBUF_NDEBUG_INLINE PartialVariableAssignment::Impl_::Impl_(
11248 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
11249 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
11250 [[maybe_unused]] const ::operations_research::sat::PartialVariableAssignment& from_msg)
11251 : _has_bits_{from._has_bits_},
11252 _cached_size_{0},
11253 vars_{visibility, arena, from.vars_},
11254 _vars_cached_byte_size_{0},
11255 values_{visibility, arena, from.values_},
11256 _values_cached_byte_size_{0} {}
11257
11259 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
11260 const PartialVariableAssignment& from)
11261#if defined(PROTOBUF_CUSTOM_VTABLE)
11262 : ::google::protobuf::Message(arena, PartialVariableAssignment_class_data_.base()) {
11263#else // PROTOBUF_CUSTOM_VTABLE
11264 : ::google::protobuf::Message(arena) {
11265#endif // PROTOBUF_CUSTOM_VTABLE
11266 PartialVariableAssignment* const _this = this;
11267 (void)_this;
11268 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
11269 from._internal_metadata_);
11270 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
11271
11272 // @@protoc_insertion_point(copy_constructor:operations_research.sat.PartialVariableAssignment)
11273}
11274PROTOBUF_NDEBUG_INLINE PartialVariableAssignment::Impl_::Impl_(
11275 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
11276 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
11277 : _cached_size_{0},
11278 vars_{visibility, arena},
11279 _vars_cached_byte_size_{0},
11280 values_{visibility, arena},
11281 _values_cached_byte_size_{0} {}
11282
11283inline void PartialVariableAssignment::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
11284 new (&_impl_) Impl_(internal_visibility(), arena);
11285}
11287 // @@protoc_insertion_point(destructor:operations_research.sat.PartialVariableAssignment)
11288 SharedDtor(*this);
11289}
11290inline void PartialVariableAssignment::SharedDtor(MessageLite& self) {
11291 PartialVariableAssignment& this_ = static_cast<PartialVariableAssignment&>(self);
11292 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
11293 this_.CheckHasBitConsistency();
11294 }
11295 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
11296 ABSL_DCHECK(this_.GetArena() == nullptr);
11297 this_._impl_.~Impl_();
11298}
11299
11300inline void* PROTOBUF_NONNULL PartialVariableAssignment::PlacementNew_(
11301 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
11302 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
11303 return ::new (mem) PartialVariableAssignment(arena);
11304}
11305constexpr auto PartialVariableAssignment::InternalNewImpl_() {
11306 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
11307 PROTOBUF_FIELD_OFFSET(PartialVariableAssignment, _impl_.vars_) +
11308 decltype(PartialVariableAssignment::_impl_.vars_)::
11309 InternalGetArenaOffset(
11310 ::google::protobuf::Message::internal_visibility()),
11311 PROTOBUF_FIELD_OFFSET(PartialVariableAssignment, _impl_.values_) +
11312 decltype(PartialVariableAssignment::_impl_.values_)::
11313 InternalGetArenaOffset(
11314 ::google::protobuf::Message::internal_visibility()),
11315 });
11316 if (arena_bits.has_value()) {
11317 return ::google::protobuf::internal::MessageCreator::ZeroInit(
11318 sizeof(PartialVariableAssignment), alignof(PartialVariableAssignment), *arena_bits);
11319 } else {
11320 return ::google::protobuf::internal::MessageCreator(&PartialVariableAssignment::PlacementNew_,
11321 sizeof(PartialVariableAssignment),
11322 alignof(PartialVariableAssignment));
11323 }
11324}
11326 return ::google::protobuf::internal::ClassDataFull{
11327 ::google::protobuf::internal::ClassData{
11329 &_table_.header,
11330 nullptr, // OnDemandRegisterArenaDtor
11331 nullptr, // IsInitialized
11332 &PartialVariableAssignment::MergeImpl,
11333 ::google::protobuf::Message::GetNewImpl<PartialVariableAssignment>(),
11334#if defined(PROTOBUF_CUSTOM_VTABLE)
11335 &PartialVariableAssignment::SharedDtor,
11336 ::google::protobuf::Message::GetClearImpl<PartialVariableAssignment>(), &PartialVariableAssignment::ByteSizeLong,
11338#endif // PROTOBUF_CUSTOM_VTABLE
11339 PROTOBUF_FIELD_OFFSET(PartialVariableAssignment, _impl_._cached_size_),
11340 false,
11341 },
11342 &PartialVariableAssignment::kDescriptorMethods,
11344 nullptr, // tracker
11345 };
11346}
11347
11348PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
11349 ::google::protobuf::internal::ClassDataFull PartialVariableAssignment_class_data_ =
11351
11352PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
11353PartialVariableAssignment::GetClassData() const {
11354 ::google::protobuf::internal::PrefetchToLocalCache(&PartialVariableAssignment_class_data_);
11355 ::google::protobuf::internal::PrefetchToLocalCache(PartialVariableAssignment_class_data_.tc_table);
11357}
11358PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
11359const ::_pbi::TcParseTable<1, 2, 0, 0, 2>
11360PartialVariableAssignment::_table_ = {
11361 {
11362 PROTOBUF_FIELD_OFFSET(PartialVariableAssignment, _impl_._has_bits_),
11363 0, // no _extensions_
11364 2, 8, // max_field_number, fast_idx_mask
11365 offsetof(decltype(_table_), field_lookup_table),
11366 4294967292, // skipmap
11367 offsetof(decltype(_table_), field_entries),
11368 2, // num_field_entries
11369 0, // num_aux_entries
11370 offsetof(decltype(_table_), field_names), // no aux_entries
11372 nullptr, // post_loop_handler
11373 ::_pbi::TcParser::GenericFallback, // fallback
11374 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
11375 ::_pbi::TcParser::GetTable<::operations_research::sat::PartialVariableAssignment>(), // to_prefetch
11376 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
11377 }, {{
11378 // repeated int64 values = 2;
11379 {::_pbi::TcParser::FastV64P1,
11380 {18, 1, 0,
11381 PROTOBUF_FIELD_OFFSET(PartialVariableAssignment, _impl_.values_)}},
11382 // repeated int32 vars = 1;
11383 {::_pbi::TcParser::FastV32P1,
11384 {10, 0, 0,
11385 PROTOBUF_FIELD_OFFSET(PartialVariableAssignment, _impl_.vars_)}},
11386 }}, {{
11387 65535, 65535
11388 }}, {{
11389 // repeated int32 vars = 1;
11390 {PROTOBUF_FIELD_OFFSET(PartialVariableAssignment, _impl_.vars_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
11391 // repeated int64 values = 2;
11392 {PROTOBUF_FIELD_OFFSET(PartialVariableAssignment, _impl_.values_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt64)},
11393 }},
11394 // no aux_entries
11395 {{
11396 }},
11397};
11398PROTOBUF_NOINLINE void PartialVariableAssignment::Clear() {
11399// @@protoc_insertion_point(message_clear_start:operations_research.sat.PartialVariableAssignment)
11400 ::google::protobuf::internal::TSanWrite(&_impl_);
11401 ::uint32_t cached_has_bits = 0;
11402 // Prevent compiler warnings about cached_has_bits being unused
11403 (void) cached_has_bits;
11404
11405 cached_has_bits = _impl_._has_bits_[0];
11406 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
11407 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
11408 _impl_.vars_.Clear();
11409 }
11410 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
11411 _impl_.values_.Clear();
11412 }
11413 }
11414 _impl_._has_bits_.Clear();
11415 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
11416}
11417
11418#if defined(PROTOBUF_CUSTOM_VTABLE)
11419::uint8_t* PROTOBUF_NONNULL PartialVariableAssignment::_InternalSerialize(
11420 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
11421 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
11422 const PartialVariableAssignment& this_ = static_cast<const PartialVariableAssignment&>(base);
11423#else // PROTOBUF_CUSTOM_VTABLE
11424::uint8_t* PROTOBUF_NONNULL PartialVariableAssignment::_InternalSerialize(
11425 ::uint8_t* PROTOBUF_NONNULL target,
11426 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
11427 const PartialVariableAssignment& this_ = *this;
11428#endif // PROTOBUF_CUSTOM_VTABLE
11429 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
11430 this_.CheckHasBitConsistency();
11431 }
11432 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.PartialVariableAssignment)
11433 ::uint32_t cached_has_bits = 0;
11434 (void)cached_has_bits;
11435
11436 cached_has_bits = this_._impl_._has_bits_[0];
11437 // repeated int32 vars = 1;
11438 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
11439 {
11440 int byte_size = this_._impl_._vars_cached_byte_size_.Get();
11441 if (byte_size > 0) {
11442 target = stream->WriteInt32Packed(
11443 1, this_._internal_vars(), byte_size, target);
11444 }
11445 }
11446 }
11447
11448 // repeated int64 values = 2;
11449 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
11450 {
11451 int byte_size = this_._impl_._values_cached_byte_size_.Get();
11452 if (byte_size > 0) {
11453 target = stream->WriteInt64Packed(
11454 2, this_._internal_values(), byte_size, target);
11455 }
11456 }
11457 }
11458
11459 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
11460 target =
11461 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
11462 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
11463 }
11464 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.PartialVariableAssignment)
11465 return target;
11466}
11467
11468#if defined(PROTOBUF_CUSTOM_VTABLE)
11470 const PartialVariableAssignment& this_ = static_cast<const PartialVariableAssignment&>(base);
11471#else // PROTOBUF_CUSTOM_VTABLE
11473 const PartialVariableAssignment& this_ = *this;
11474#endif // PROTOBUF_CUSTOM_VTABLE
11475 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.PartialVariableAssignment)
11476 ::size_t total_size = 0;
11477
11478 ::uint32_t cached_has_bits = 0;
11479 // Prevent compiler warnings about cached_has_bits being unused
11480 (void)cached_has_bits;
11481
11482 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
11483 cached_has_bits = this_._impl_._has_bits_[0];
11484 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
11485 // repeated int32 vars = 1;
11486 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
11487 total_size +=
11488 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
11489 this_._internal_vars(), 1,
11490 this_._impl_._vars_cached_byte_size_);
11491 }
11492 // repeated int64 values = 2;
11493 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
11494 total_size +=
11495 ::_pbi::WireFormatLite::Int64SizeWithPackedTagSize(
11496 this_._internal_values(), 1,
11497 this_._impl_._values_cached_byte_size_);
11498 }
11499 }
11500 return this_.MaybeComputeUnknownFieldsSize(total_size,
11501 &this_._impl_._cached_size_);
11502}
11503
11504void PartialVariableAssignment::MergeImpl(::google::protobuf::MessageLite& to_msg,
11505 const ::google::protobuf::MessageLite& from_msg) {
11506 auto* const _this =
11507 static_cast<PartialVariableAssignment*>(&to_msg);
11508 auto& from = static_cast<const PartialVariableAssignment&>(from_msg);
11509 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
11510 from.CheckHasBitConsistency();
11511 }
11512 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.PartialVariableAssignment)
11513 ABSL_DCHECK_NE(&from, _this);
11514 ::uint32_t cached_has_bits = 0;
11515 (void)cached_has_bits;
11516
11517 cached_has_bits = from._impl_._has_bits_[0];
11518 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
11519 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
11520 _this->_internal_mutable_vars()->MergeFrom(from._internal_vars());
11521 }
11522 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
11523 _this->_internal_mutable_values()->MergeFrom(from._internal_values());
11524 }
11525 }
11526 _this->_impl_._has_bits_[0] |= cached_has_bits;
11527 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
11528 from._internal_metadata_);
11529}
11530
11531void PartialVariableAssignment::CopyFrom(const PartialVariableAssignment& from) {
11532 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.PartialVariableAssignment)
11533 if (&from == this) return;
11534 Clear();
11535 MergeFrom(from);
11536}
11537
11538
11539void PartialVariableAssignment::InternalSwap(PartialVariableAssignment* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
11540 using ::std::swap;
11541 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
11542 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
11543 _impl_.vars_.InternalSwap(&other->_impl_.vars_);
11544 _impl_.values_.InternalSwap(&other->_impl_.values_);
11545}
11546
11547::google::protobuf::Metadata PartialVariableAssignment::GetMetadata() const {
11548 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
11549}
11550// ===================================================================
11551
11552class SparsePermutationProto::_Internal {
11553 public:
11554 using HasBits =
11555 decltype(::std::declval<SparsePermutationProto>()._impl_._has_bits_);
11556 static constexpr ::int32_t kHasBitsOffset =
11557 8 * PROTOBUF_FIELD_OFFSET(SparsePermutationProto, _impl_._has_bits_);
11558};
11559
11560SparsePermutationProto::SparsePermutationProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
11561#if defined(PROTOBUF_CUSTOM_VTABLE)
11562 : ::google::protobuf::Message(arena, SparsePermutationProto_class_data_.base()) {
11563#else // PROTOBUF_CUSTOM_VTABLE
11564 : ::google::protobuf::Message(arena) {
11565#endif // PROTOBUF_CUSTOM_VTABLE
11566 SharedCtor(arena);
11567 // @@protoc_insertion_point(arena_constructor:operations_research.sat.SparsePermutationProto)
11568}
11569PROTOBUF_NDEBUG_INLINE SparsePermutationProto::Impl_::Impl_(
11570 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
11571 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
11572 [[maybe_unused]] const ::operations_research::sat::SparsePermutationProto& from_msg)
11573 : _has_bits_{from._has_bits_},
11574 _cached_size_{0},
11575 support_{visibility, arena, from.support_},
11576 _support_cached_byte_size_{0},
11577 cycle_sizes_{visibility, arena, from.cycle_sizes_},
11578 _cycle_sizes_cached_byte_size_{0} {}
11581 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
11582 const SparsePermutationProto& from)
11583#if defined(PROTOBUF_CUSTOM_VTABLE)
11584 : ::google::protobuf::Message(arena, SparsePermutationProto_class_data_.base()) {
11585#else // PROTOBUF_CUSTOM_VTABLE
11586 : ::google::protobuf::Message(arena) {
11587#endif // PROTOBUF_CUSTOM_VTABLE
11588 SparsePermutationProto* const _this = this;
11589 (void)_this;
11590 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
11591 from._internal_metadata_);
11592 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
11593
11594 // @@protoc_insertion_point(copy_constructor:operations_research.sat.SparsePermutationProto)
11595}
11596PROTOBUF_NDEBUG_INLINE SparsePermutationProto::Impl_::Impl_(
11597 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
11598 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
11599 : _cached_size_{0},
11600 support_{visibility, arena},
11601 _support_cached_byte_size_{0},
11602 cycle_sizes_{visibility, arena},
11603 _cycle_sizes_cached_byte_size_{0} {}
11604
11605inline void SparsePermutationProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
11606 new (&_impl_) Impl_(internal_visibility(), arena);
11607}
11609 // @@protoc_insertion_point(destructor:operations_research.sat.SparsePermutationProto)
11610 SharedDtor(*this);
11611}
11612inline void SparsePermutationProto::SharedDtor(MessageLite& self) {
11613 SparsePermutationProto& this_ = static_cast<SparsePermutationProto&>(self);
11614 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
11615 this_.CheckHasBitConsistency();
11616 }
11617 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
11618 ABSL_DCHECK(this_.GetArena() == nullptr);
11619 this_._impl_.~Impl_();
11620}
11621
11622inline void* PROTOBUF_NONNULL SparsePermutationProto::PlacementNew_(
11623 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
11624 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
11625 return ::new (mem) SparsePermutationProto(arena);
11626}
11627constexpr auto SparsePermutationProto::InternalNewImpl_() {
11628 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
11629 PROTOBUF_FIELD_OFFSET(SparsePermutationProto, _impl_.support_) +
11630 decltype(SparsePermutationProto::_impl_.support_)::
11631 InternalGetArenaOffset(
11632 ::google::protobuf::Message::internal_visibility()),
11633 PROTOBUF_FIELD_OFFSET(SparsePermutationProto, _impl_.cycle_sizes_) +
11634 decltype(SparsePermutationProto::_impl_.cycle_sizes_)::
11635 InternalGetArenaOffset(
11636 ::google::protobuf::Message::internal_visibility()),
11637 });
11638 if (arena_bits.has_value()) {
11639 return ::google::protobuf::internal::MessageCreator::ZeroInit(
11640 sizeof(SparsePermutationProto), alignof(SparsePermutationProto), *arena_bits);
11641 } else {
11642 return ::google::protobuf::internal::MessageCreator(&SparsePermutationProto::PlacementNew_,
11643 sizeof(SparsePermutationProto),
11644 alignof(SparsePermutationProto));
11645 }
11646}
11648 return ::google::protobuf::internal::ClassDataFull{
11649 ::google::protobuf::internal::ClassData{
11651 &_table_.header,
11652 nullptr, // OnDemandRegisterArenaDtor
11653 nullptr, // IsInitialized
11654 &SparsePermutationProto::MergeImpl,
11655 ::google::protobuf::Message::GetNewImpl<SparsePermutationProto>(),
11656#if defined(PROTOBUF_CUSTOM_VTABLE)
11657 &SparsePermutationProto::SharedDtor,
11658 ::google::protobuf::Message::GetClearImpl<SparsePermutationProto>(), &SparsePermutationProto::ByteSizeLong,
11660#endif // PROTOBUF_CUSTOM_VTABLE
11661 PROTOBUF_FIELD_OFFSET(SparsePermutationProto, _impl_._cached_size_),
11662 false,
11663 },
11664 &SparsePermutationProto::kDescriptorMethods,
11666 nullptr, // tracker
11667 };
11668}
11669
11670PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
11671 ::google::protobuf::internal::ClassDataFull SparsePermutationProto_class_data_ =
11673
11674PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
11675SparsePermutationProto::GetClassData() const {
11676 ::google::protobuf::internal::PrefetchToLocalCache(&SparsePermutationProto_class_data_);
11677 ::google::protobuf::internal::PrefetchToLocalCache(SparsePermutationProto_class_data_.tc_table);
11679}
11680PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
11681const ::_pbi::TcParseTable<1, 2, 0, 0, 2>
11682SparsePermutationProto::_table_ = {
11683 {
11684 PROTOBUF_FIELD_OFFSET(SparsePermutationProto, _impl_._has_bits_),
11685 0, // no _extensions_
11686 2, 8, // max_field_number, fast_idx_mask
11687 offsetof(decltype(_table_), field_lookup_table),
11688 4294967292, // skipmap
11689 offsetof(decltype(_table_), field_entries),
11690 2, // num_field_entries
11691 0, // num_aux_entries
11692 offsetof(decltype(_table_), field_names), // no aux_entries
11694 nullptr, // post_loop_handler
11695 ::_pbi::TcParser::GenericFallback, // fallback
11696 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
11697 ::_pbi::TcParser::GetTable<::operations_research::sat::SparsePermutationProto>(), // to_prefetch
11698 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
11699 }, {{
11700 // repeated int32 cycle_sizes = 2;
11701 {::_pbi::TcParser::FastV32P1,
11702 {18, 1, 0,
11703 PROTOBUF_FIELD_OFFSET(SparsePermutationProto, _impl_.cycle_sizes_)}},
11704 // repeated int32 support = 1;
11705 {::_pbi::TcParser::FastV32P1,
11706 {10, 0, 0,
11707 PROTOBUF_FIELD_OFFSET(SparsePermutationProto, _impl_.support_)}},
11708 }}, {{
11709 65535, 65535
11710 }}, {{
11711 // repeated int32 support = 1;
11712 {PROTOBUF_FIELD_OFFSET(SparsePermutationProto, _impl_.support_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
11713 // repeated int32 cycle_sizes = 2;
11714 {PROTOBUF_FIELD_OFFSET(SparsePermutationProto, _impl_.cycle_sizes_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
11715 }},
11716 // no aux_entries
11717 {{
11718 }},
11719};
11720PROTOBUF_NOINLINE void SparsePermutationProto::Clear() {
11721// @@protoc_insertion_point(message_clear_start:operations_research.sat.SparsePermutationProto)
11722 ::google::protobuf::internal::TSanWrite(&_impl_);
11723 ::uint32_t cached_has_bits = 0;
11724 // Prevent compiler warnings about cached_has_bits being unused
11725 (void) cached_has_bits;
11726
11727 cached_has_bits = _impl_._has_bits_[0];
11728 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
11729 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
11730 _impl_.support_.Clear();
11731 }
11732 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
11733 _impl_.cycle_sizes_.Clear();
11734 }
11735 }
11736 _impl_._has_bits_.Clear();
11737 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
11738}
11739
11740#if defined(PROTOBUF_CUSTOM_VTABLE)
11741::uint8_t* PROTOBUF_NONNULL SparsePermutationProto::_InternalSerialize(
11742 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
11743 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
11744 const SparsePermutationProto& this_ = static_cast<const SparsePermutationProto&>(base);
11745#else // PROTOBUF_CUSTOM_VTABLE
11746::uint8_t* PROTOBUF_NONNULL SparsePermutationProto::_InternalSerialize(
11747 ::uint8_t* PROTOBUF_NONNULL target,
11748 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
11749 const SparsePermutationProto& this_ = *this;
11750#endif // PROTOBUF_CUSTOM_VTABLE
11751 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
11752 this_.CheckHasBitConsistency();
11753 }
11754 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.SparsePermutationProto)
11755 ::uint32_t cached_has_bits = 0;
11756 (void)cached_has_bits;
11757
11758 cached_has_bits = this_._impl_._has_bits_[0];
11759 // repeated int32 support = 1;
11760 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
11761 {
11762 int byte_size = this_._impl_._support_cached_byte_size_.Get();
11763 if (byte_size > 0) {
11764 target = stream->WriteInt32Packed(
11765 1, this_._internal_support(), byte_size, target);
11766 }
11767 }
11768 }
11769
11770 // repeated int32 cycle_sizes = 2;
11771 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
11772 {
11773 int byte_size = this_._impl_._cycle_sizes_cached_byte_size_.Get();
11774 if (byte_size > 0) {
11775 target = stream->WriteInt32Packed(
11776 2, this_._internal_cycle_sizes(), byte_size, target);
11777 }
11778 }
11779 }
11780
11781 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
11782 target =
11783 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
11784 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
11785 }
11786 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.SparsePermutationProto)
11787 return target;
11788}
11789
11790#if defined(PROTOBUF_CUSTOM_VTABLE)
11792 const SparsePermutationProto& this_ = static_cast<const SparsePermutationProto&>(base);
11793#else // PROTOBUF_CUSTOM_VTABLE
11794::size_t SparsePermutationProto::ByteSizeLong() const {
11795 const SparsePermutationProto& this_ = *this;
11796#endif // PROTOBUF_CUSTOM_VTABLE
11797 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.SparsePermutationProto)
11798 ::size_t total_size = 0;
11799
11800 ::uint32_t cached_has_bits = 0;
11801 // Prevent compiler warnings about cached_has_bits being unused
11802 (void)cached_has_bits;
11803
11804 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
11805 cached_has_bits = this_._impl_._has_bits_[0];
11806 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
11807 // repeated int32 support = 1;
11808 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
11809 total_size +=
11810 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
11811 this_._internal_support(), 1,
11812 this_._impl_._support_cached_byte_size_);
11813 }
11814 // repeated int32 cycle_sizes = 2;
11815 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
11816 total_size +=
11817 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
11818 this_._internal_cycle_sizes(), 1,
11819 this_._impl_._cycle_sizes_cached_byte_size_);
11820 }
11821 }
11822 return this_.MaybeComputeUnknownFieldsSize(total_size,
11823 &this_._impl_._cached_size_);
11824}
11825
11826void SparsePermutationProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
11827 const ::google::protobuf::MessageLite& from_msg) {
11828 auto* const _this =
11829 static_cast<SparsePermutationProto*>(&to_msg);
11830 auto& from = static_cast<const SparsePermutationProto&>(from_msg);
11831 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
11832 from.CheckHasBitConsistency();
11833 }
11834 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.SparsePermutationProto)
11835 ABSL_DCHECK_NE(&from, _this);
11836 ::uint32_t cached_has_bits = 0;
11837 (void)cached_has_bits;
11838
11839 cached_has_bits = from._impl_._has_bits_[0];
11840 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
11841 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
11842 _this->_internal_mutable_support()->MergeFrom(from._internal_support());
11843 }
11844 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
11845 _this->_internal_mutable_cycle_sizes()->MergeFrom(from._internal_cycle_sizes());
11846 }
11847 }
11848 _this->_impl_._has_bits_[0] |= cached_has_bits;
11849 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
11850 from._internal_metadata_);
11851}
11852
11853void SparsePermutationProto::CopyFrom(const SparsePermutationProto& from) {
11854 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.SparsePermutationProto)
11855 if (&from == this) return;
11856 Clear();
11857 MergeFrom(from);
11858}
11859
11860
11861void SparsePermutationProto::InternalSwap(SparsePermutationProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
11862 using ::std::swap;
11863 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
11864 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
11865 _impl_.support_.InternalSwap(&other->_impl_.support_);
11866 _impl_.cycle_sizes_.InternalSwap(&other->_impl_.cycle_sizes_);
11867}
11868
11869::google::protobuf::Metadata SparsePermutationProto::GetMetadata() const {
11870 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
11871}
11872// ===================================================================
11873
11874class DenseMatrixProto::_Internal {
11875 public:
11876 using HasBits =
11877 decltype(::std::declval<DenseMatrixProto>()._impl_._has_bits_);
11878 static constexpr ::int32_t kHasBitsOffset =
11879 8 * PROTOBUF_FIELD_OFFSET(DenseMatrixProto, _impl_._has_bits_);
11880};
11881
11882DenseMatrixProto::DenseMatrixProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
11883#if defined(PROTOBUF_CUSTOM_VTABLE)
11884 : ::google::protobuf::Message(arena, DenseMatrixProto_class_data_.base()) {
11885#else // PROTOBUF_CUSTOM_VTABLE
11886 : ::google::protobuf::Message(arena) {
11887#endif // PROTOBUF_CUSTOM_VTABLE
11888 SharedCtor(arena);
11889 // @@protoc_insertion_point(arena_constructor:operations_research.sat.DenseMatrixProto)
11890}
11891PROTOBUF_NDEBUG_INLINE DenseMatrixProto::Impl_::Impl_(
11892 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
11893 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
11894 [[maybe_unused]] const ::operations_research::sat::DenseMatrixProto& from_msg)
11895 : _has_bits_{from._has_bits_},
11896 _cached_size_{0},
11897 entries_{visibility, arena, from.entries_},
11898 _entries_cached_byte_size_{0} {}
11899
11901 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
11902 const DenseMatrixProto& from)
11903#if defined(PROTOBUF_CUSTOM_VTABLE)
11904 : ::google::protobuf::Message(arena, DenseMatrixProto_class_data_.base()) {
11905#else // PROTOBUF_CUSTOM_VTABLE
11906 : ::google::protobuf::Message(arena) {
11907#endif // PROTOBUF_CUSTOM_VTABLE
11908 DenseMatrixProto* const _this = this;
11909 (void)_this;
11910 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
11911 from._internal_metadata_);
11912 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
11913 ::memcpy(reinterpret_cast<char*>(&_impl_) +
11914 offsetof(Impl_, num_rows_),
11915 reinterpret_cast<const char*>(&from._impl_) +
11916 offsetof(Impl_, num_rows_),
11917 offsetof(Impl_, num_cols_) -
11918 offsetof(Impl_, num_rows_) +
11919 sizeof(Impl_::num_cols_));
11920
11921 // @@protoc_insertion_point(copy_constructor:operations_research.sat.DenseMatrixProto)
11922}
11923PROTOBUF_NDEBUG_INLINE DenseMatrixProto::Impl_::Impl_(
11924 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
11925 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
11926 : _cached_size_{0},
11927 entries_{visibility, arena},
11928 _entries_cached_byte_size_{0} {}
11929
11930inline void DenseMatrixProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
11931 new (&_impl_) Impl_(internal_visibility(), arena);
11932 ::memset(reinterpret_cast<char*>(&_impl_) +
11933 offsetof(Impl_, num_rows_),
11934 0,
11935 offsetof(Impl_, num_cols_) -
11936 offsetof(Impl_, num_rows_) +
11937 sizeof(Impl_::num_cols_));
11938}
11940 // @@protoc_insertion_point(destructor:operations_research.sat.DenseMatrixProto)
11941 SharedDtor(*this);
11942}
11943inline void DenseMatrixProto::SharedDtor(MessageLite& self) {
11944 DenseMatrixProto& this_ = static_cast<DenseMatrixProto&>(self);
11945 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
11946 this_.CheckHasBitConsistency();
11947 }
11948 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
11949 ABSL_DCHECK(this_.GetArena() == nullptr);
11950 this_._impl_.~Impl_();
11951}
11952
11953inline void* PROTOBUF_NONNULL DenseMatrixProto::PlacementNew_(
11954 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
11955 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
11956 return ::new (mem) DenseMatrixProto(arena);
11957}
11958constexpr auto DenseMatrixProto::InternalNewImpl_() {
11959 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
11960 PROTOBUF_FIELD_OFFSET(DenseMatrixProto, _impl_.entries_) +
11961 decltype(DenseMatrixProto::_impl_.entries_)::
11962 InternalGetArenaOffset(
11963 ::google::protobuf::Message::internal_visibility()),
11964 });
11965 if (arena_bits.has_value()) {
11966 return ::google::protobuf::internal::MessageCreator::ZeroInit(
11967 sizeof(DenseMatrixProto), alignof(DenseMatrixProto), *arena_bits);
11968 } else {
11969 return ::google::protobuf::internal::MessageCreator(&DenseMatrixProto::PlacementNew_,
11970 sizeof(DenseMatrixProto),
11971 alignof(DenseMatrixProto));
11972 }
11973}
11975 return ::google::protobuf::internal::ClassDataFull{
11976 ::google::protobuf::internal::ClassData{
11978 &_table_.header,
11979 nullptr, // OnDemandRegisterArenaDtor
11980 nullptr, // IsInitialized
11981 &DenseMatrixProto::MergeImpl,
11982 ::google::protobuf::Message::GetNewImpl<DenseMatrixProto>(),
11983#if defined(PROTOBUF_CUSTOM_VTABLE)
11984 &DenseMatrixProto::SharedDtor,
11985 ::google::protobuf::Message::GetClearImpl<DenseMatrixProto>(), &DenseMatrixProto::ByteSizeLong,
11987#endif // PROTOBUF_CUSTOM_VTABLE
11988 PROTOBUF_FIELD_OFFSET(DenseMatrixProto, _impl_._cached_size_),
11989 false,
11990 },
11991 &DenseMatrixProto::kDescriptorMethods,
11993 nullptr, // tracker
11994 };
11995}
11996
11997PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
11998 ::google::protobuf::internal::ClassDataFull DenseMatrixProto_class_data_ =
12001PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
12002DenseMatrixProto::GetClassData() const {
12003 ::google::protobuf::internal::PrefetchToLocalCache(&DenseMatrixProto_class_data_);
12004 ::google::protobuf::internal::PrefetchToLocalCache(DenseMatrixProto_class_data_.tc_table);
12005 return DenseMatrixProto_class_data_.base();
12006}
12007PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
12008const ::_pbi::TcParseTable<2, 3, 0, 0, 2>
12009DenseMatrixProto::_table_ = {
12010 {
12011 PROTOBUF_FIELD_OFFSET(DenseMatrixProto, _impl_._has_bits_),
12012 0, // no _extensions_
12013 3, 24, // max_field_number, fast_idx_mask
12014 offsetof(decltype(_table_), field_lookup_table),
12015 4294967288, // skipmap
12016 offsetof(decltype(_table_), field_entries),
12017 3, // num_field_entries
12018 0, // num_aux_entries
12019 offsetof(decltype(_table_), field_names), // no aux_entries
12021 nullptr, // post_loop_handler
12022 ::_pbi::TcParser::GenericFallback, // fallback
12023 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
12024 ::_pbi::TcParser::GetTable<::operations_research::sat::DenseMatrixProto>(), // to_prefetch
12025 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
12026 }, {{
12027 {::_pbi::TcParser::MiniParse, {}},
12028 // int32 num_rows = 1;
12029 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(DenseMatrixProto, _impl_.num_rows_), 1>(),
12030 {8, 1, 0,
12031 PROTOBUF_FIELD_OFFSET(DenseMatrixProto, _impl_.num_rows_)}},
12032 // int32 num_cols = 2;
12033 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(DenseMatrixProto, _impl_.num_cols_), 2>(),
12034 {16, 2, 0,
12035 PROTOBUF_FIELD_OFFSET(DenseMatrixProto, _impl_.num_cols_)}},
12036 // repeated int32 entries = 3;
12037 {::_pbi::TcParser::FastV32P1,
12038 {26, 0, 0,
12039 PROTOBUF_FIELD_OFFSET(DenseMatrixProto, _impl_.entries_)}},
12040 }}, {{
12041 65535, 65535
12042 }}, {{
12043 // int32 num_rows = 1;
12044 {PROTOBUF_FIELD_OFFSET(DenseMatrixProto, _impl_.num_rows_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
12045 // int32 num_cols = 2;
12046 {PROTOBUF_FIELD_OFFSET(DenseMatrixProto, _impl_.num_cols_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
12047 // repeated int32 entries = 3;
12048 {PROTOBUF_FIELD_OFFSET(DenseMatrixProto, _impl_.entries_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
12049 }},
12050 // no aux_entries
12051 {{
12052 }},
12053};
12054PROTOBUF_NOINLINE void DenseMatrixProto::Clear() {
12055// @@protoc_insertion_point(message_clear_start:operations_research.sat.DenseMatrixProto)
12056 ::google::protobuf::internal::TSanWrite(&_impl_);
12057 ::uint32_t cached_has_bits = 0;
12058 // Prevent compiler warnings about cached_has_bits being unused
12059 (void) cached_has_bits;
12060
12061 cached_has_bits = _impl_._has_bits_[0];
12062 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
12063 _impl_.entries_.Clear();
12064 }
12065 if (BatchCheckHasBit(cached_has_bits, 0x00000006U)) {
12066 ::memset(&_impl_.num_rows_, 0, static_cast<::size_t>(
12067 reinterpret_cast<char*>(&_impl_.num_cols_) -
12068 reinterpret_cast<char*>(&_impl_.num_rows_)) + sizeof(_impl_.num_cols_));
12069 }
12070 _impl_._has_bits_.Clear();
12071 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
12072}
12073
12074#if defined(PROTOBUF_CUSTOM_VTABLE)
12075::uint8_t* PROTOBUF_NONNULL DenseMatrixProto::_InternalSerialize(
12076 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
12077 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
12078 const DenseMatrixProto& this_ = static_cast<const DenseMatrixProto&>(base);
12079#else // PROTOBUF_CUSTOM_VTABLE
12080::uint8_t* PROTOBUF_NONNULL DenseMatrixProto::_InternalSerialize(
12081 ::uint8_t* PROTOBUF_NONNULL target,
12082 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
12083 const DenseMatrixProto& this_ = *this;
12084#endif // PROTOBUF_CUSTOM_VTABLE
12085 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
12086 this_.CheckHasBitConsistency();
12087 }
12088 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.DenseMatrixProto)
12089 ::uint32_t cached_has_bits = 0;
12090 (void)cached_has_bits;
12091
12092 cached_has_bits = this_._impl_._has_bits_[0];
12093 // int32 num_rows = 1;
12094 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
12095 if (this_._internal_num_rows() != 0) {
12096 target =
12097 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
12098 stream, this_._internal_num_rows(), target);
12099 }
12100 }
12101
12102 // int32 num_cols = 2;
12103 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
12104 if (this_._internal_num_cols() != 0) {
12105 target =
12106 ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
12107 stream, this_._internal_num_cols(), target);
12108 }
12109 }
12110
12111 // repeated int32 entries = 3;
12112 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
12113 {
12114 int byte_size = this_._impl_._entries_cached_byte_size_.Get();
12115 if (byte_size > 0) {
12116 target = stream->WriteInt32Packed(
12117 3, this_._internal_entries(), byte_size, target);
12118 }
12119 }
12120 }
12121
12122 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
12123 target =
12124 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
12125 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
12126 }
12127 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.DenseMatrixProto)
12128 return target;
12129}
12130
12131#if defined(PROTOBUF_CUSTOM_VTABLE)
12132::size_t DenseMatrixProto::ByteSizeLong(const MessageLite& base) {
12133 const DenseMatrixProto& this_ = static_cast<const DenseMatrixProto&>(base);
12134#else // PROTOBUF_CUSTOM_VTABLE
12135::size_t DenseMatrixProto::ByteSizeLong() const {
12136 const DenseMatrixProto& this_ = *this;
12137#endif // PROTOBUF_CUSTOM_VTABLE
12138 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.DenseMatrixProto)
12139 ::size_t total_size = 0;
12140
12141 ::uint32_t cached_has_bits = 0;
12142 // Prevent compiler warnings about cached_has_bits being unused
12143 (void)cached_has_bits;
12144
12145 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
12146 cached_has_bits = this_._impl_._has_bits_[0];
12147 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
12148 // repeated int32 entries = 3;
12149 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
12150 total_size +=
12151 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
12152 this_._internal_entries(), 1,
12153 this_._impl_._entries_cached_byte_size_);
12154 }
12155 // int32 num_rows = 1;
12156 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
12157 if (this_._internal_num_rows() != 0) {
12158 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
12159 this_._internal_num_rows());
12160 }
12162 // int32 num_cols = 2;
12163 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
12164 if (this_._internal_num_cols() != 0) {
12165 total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
12166 this_._internal_num_cols());
12167 }
12168 }
12169 }
12170 return this_.MaybeComputeUnknownFieldsSize(total_size,
12171 &this_._impl_._cached_size_);
12172}
12173
12174void DenseMatrixProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
12175 const ::google::protobuf::MessageLite& from_msg) {
12176 auto* const _this =
12177 static_cast<DenseMatrixProto*>(&to_msg);
12178 auto& from = static_cast<const DenseMatrixProto&>(from_msg);
12179 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
12180 from.CheckHasBitConsistency();
12181 }
12182 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.DenseMatrixProto)
12183 ABSL_DCHECK_NE(&from, _this);
12184 ::uint32_t cached_has_bits = 0;
12185 (void)cached_has_bits;
12186
12187 cached_has_bits = from._impl_._has_bits_[0];
12188 if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
12189 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
12190 _this->_internal_mutable_entries()->MergeFrom(from._internal_entries());
12191 }
12192 if (CheckHasBit(cached_has_bits, 0x00000002U)) {
12193 if (from._internal_num_rows() != 0) {
12194 _this->_impl_.num_rows_ = from._impl_.num_rows_;
12195 }
12196 }
12197 if (CheckHasBit(cached_has_bits, 0x00000004U)) {
12198 if (from._internal_num_cols() != 0) {
12199 _this->_impl_.num_cols_ = from._impl_.num_cols_;
12200 }
12201 }
12202 }
12203 _this->_impl_._has_bits_[0] |= cached_has_bits;
12204 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
12205 from._internal_metadata_);
12206}
12207
12209 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.DenseMatrixProto)
12210 if (&from == this) return;
12211 Clear();
12212 MergeFrom(from);
12213}
12214
12215
12216void DenseMatrixProto::InternalSwap(DenseMatrixProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
12217 using ::std::swap;
12218 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
12219 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
12220 _impl_.entries_.InternalSwap(&other->_impl_.entries_);
12221 ::google::protobuf::internal::memswap<
12222 PROTOBUF_FIELD_OFFSET(DenseMatrixProto, _impl_.num_cols_)
12223 + sizeof(DenseMatrixProto::_impl_.num_cols_)
12224 - PROTOBUF_FIELD_OFFSET(DenseMatrixProto, _impl_.num_rows_)>(
12225 reinterpret_cast<char*>(&_impl_.num_rows_),
12226 reinterpret_cast<char*>(&other->_impl_.num_rows_));
12227}
12228
12229::google::protobuf::Metadata DenseMatrixProto::GetMetadata() const {
12230 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
12231}
12232// ===================================================================
12233
12235 public:
12236 using HasBits =
12237 decltype(::std::declval<SymmetryProto>()._impl_._has_bits_);
12238 static constexpr ::int32_t kHasBitsOffset =
12239 8 * PROTOBUF_FIELD_OFFSET(SymmetryProto, _impl_._has_bits_);
12240};
12241
12242SymmetryProto::SymmetryProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
12243#if defined(PROTOBUF_CUSTOM_VTABLE)
12244 : ::google::protobuf::Message(arena, SymmetryProto_class_data_.base()) {
12245#else // PROTOBUF_CUSTOM_VTABLE
12246 : ::google::protobuf::Message(arena) {
12247#endif // PROTOBUF_CUSTOM_VTABLE
12248 SharedCtor(arena);
12249 // @@protoc_insertion_point(arena_constructor:operations_research.sat.SymmetryProto)
12250}
12251PROTOBUF_NDEBUG_INLINE SymmetryProto::Impl_::Impl_(
12252 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
12253 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
12254 [[maybe_unused]] const ::operations_research::sat::SymmetryProto& from_msg)
12255 : _has_bits_{from._has_bits_},
12256 _cached_size_{0},
12257 permutations_{visibility, arena, from.permutations_},
12258 orbitopes_{visibility, arena, from.orbitopes_} {}
12259
12261 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
12262 const SymmetryProto& from)
12263#if defined(PROTOBUF_CUSTOM_VTABLE)
12264 : ::google::protobuf::Message(arena, SymmetryProto_class_data_.base()) {
12265#else // PROTOBUF_CUSTOM_VTABLE
12266 : ::google::protobuf::Message(arena) {
12267#endif // PROTOBUF_CUSTOM_VTABLE
12268 SymmetryProto* const _this = this;
12269 (void)_this;
12270 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
12271 from._internal_metadata_);
12272 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
12273
12274 // @@protoc_insertion_point(copy_constructor:operations_research.sat.SymmetryProto)
12275}
12276PROTOBUF_NDEBUG_INLINE SymmetryProto::Impl_::Impl_(
12277 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
12278 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
12279 : _cached_size_{0},
12280 permutations_{visibility, arena},
12281 orbitopes_{visibility, arena} {}
12282
12283inline void SymmetryProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
12284 new (&_impl_) Impl_(internal_visibility(), arena);
12285}
12287 // @@protoc_insertion_point(destructor:operations_research.sat.SymmetryProto)
12288 SharedDtor(*this);
12289}
12290inline void SymmetryProto::SharedDtor(MessageLite& self) {
12291 SymmetryProto& this_ = static_cast<SymmetryProto&>(self);
12292 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
12293 this_.CheckHasBitConsistency();
12294 }
12295 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
12296 ABSL_DCHECK(this_.GetArena() == nullptr);
12297 this_._impl_.~Impl_();
12298}
12299
12300inline void* PROTOBUF_NONNULL SymmetryProto::PlacementNew_(
12301 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
12302 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
12303 return ::new (mem) SymmetryProto(arena);
12304}
12305constexpr auto SymmetryProto::InternalNewImpl_() {
12306 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
12307 PROTOBUF_FIELD_OFFSET(SymmetryProto, _impl_.permutations_) +
12308 decltype(SymmetryProto::_impl_.permutations_)::
12309 InternalGetArenaOffset(
12310 ::google::protobuf::Message::internal_visibility()),
12311 PROTOBUF_FIELD_OFFSET(SymmetryProto, _impl_.orbitopes_) +
12312 decltype(SymmetryProto::_impl_.orbitopes_)::
12313 InternalGetArenaOffset(
12314 ::google::protobuf::Message::internal_visibility()),
12315 });
12316 if (arena_bits.has_value()) {
12317 return ::google::protobuf::internal::MessageCreator::ZeroInit(
12318 sizeof(SymmetryProto), alignof(SymmetryProto), *arena_bits);
12319 } else {
12320 return ::google::protobuf::internal::MessageCreator(&SymmetryProto::PlacementNew_,
12321 sizeof(SymmetryProto),
12322 alignof(SymmetryProto));
12323 }
12324}
12326 return ::google::protobuf::internal::ClassDataFull{
12327 ::google::protobuf::internal::ClassData{
12329 &_table_.header,
12330 nullptr, // OnDemandRegisterArenaDtor
12331 nullptr, // IsInitialized
12332 &SymmetryProto::MergeImpl,
12333 ::google::protobuf::Message::GetNewImpl<SymmetryProto>(),
12334#if defined(PROTOBUF_CUSTOM_VTABLE)
12335 &SymmetryProto::SharedDtor,
12336 ::google::protobuf::Message::GetClearImpl<SymmetryProto>(), &SymmetryProto::ByteSizeLong,
12338#endif // PROTOBUF_CUSTOM_VTABLE
12339 PROTOBUF_FIELD_OFFSET(SymmetryProto, _impl_._cached_size_),
12340 false,
12341 },
12342 &SymmetryProto::kDescriptorMethods,
12344 nullptr, // tracker
12345 };
12346}
12347
12348PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
12349 ::google::protobuf::internal::ClassDataFull SymmetryProto_class_data_ =
12351
12352PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
12353SymmetryProto::GetClassData() const {
12354 ::google::protobuf::internal::PrefetchToLocalCache(&SymmetryProto_class_data_);
12355 ::google::protobuf::internal::PrefetchToLocalCache(SymmetryProto_class_data_.tc_table);
12356 return SymmetryProto_class_data_.base();
12357}
12358PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
12359const ::_pbi::TcParseTable<1, 2, 2, 0, 2>
12360SymmetryProto::_table_ = {
12361 {
12362 PROTOBUF_FIELD_OFFSET(SymmetryProto, _impl_._has_bits_),
12363 0, // no _extensions_
12364 2, 8, // max_field_number, fast_idx_mask
12365 offsetof(decltype(_table_), field_lookup_table),
12366 4294967292, // skipmap
12367 offsetof(decltype(_table_), field_entries),
12368 2, // num_field_entries
12369 2, // num_aux_entries
12370 offsetof(decltype(_table_), aux_entries),
12372 nullptr, // post_loop_handler
12373 ::_pbi::TcParser::GenericFallback, // fallback
12374 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
12375 ::_pbi::TcParser::GetTable<::operations_research::sat::SymmetryProto>(), // to_prefetch
12376 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
12377 }, {{
12378 // repeated .operations_research.sat.DenseMatrixProto orbitopes = 2;
12379 {::_pbi::TcParser::FastMtR1,
12380 {18, 1, 1,
12381 PROTOBUF_FIELD_OFFSET(SymmetryProto, _impl_.orbitopes_)}},
12382 // repeated .operations_research.sat.SparsePermutationProto permutations = 1;
12383 {::_pbi::TcParser::FastMtR1,
12384 {10, 0, 0,
12385 PROTOBUF_FIELD_OFFSET(SymmetryProto, _impl_.permutations_)}},
12386 }}, {{
12387 65535, 65535
12388 }}, {{
12389 // repeated .operations_research.sat.SparsePermutationProto permutations = 1;
12390 {PROTOBUF_FIELD_OFFSET(SymmetryProto, _impl_.permutations_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
12391 // repeated .operations_research.sat.DenseMatrixProto orbitopes = 2;
12392 {PROTOBUF_FIELD_OFFSET(SymmetryProto, _impl_.orbitopes_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
12393 }},
12394 {{
12395 {::_pbi::TcParser::GetTable<::operations_research::sat::SparsePermutationProto>()},
12396 {::_pbi::TcParser::GetTable<::operations_research::sat::DenseMatrixProto>()},
12397 }},
12398 {{
12399 }},
12400};
12401PROTOBUF_NOINLINE void SymmetryProto::Clear() {
12402// @@protoc_insertion_point(message_clear_start:operations_research.sat.SymmetryProto)
12403 ::google::protobuf::internal::TSanWrite(&_impl_);
12404 ::uint32_t cached_has_bits = 0;
12405 // Prevent compiler warnings about cached_has_bits being unused
12406 (void) cached_has_bits;
12407
12408 cached_has_bits = _impl_._has_bits_[0];
12409 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
12410 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
12411 _impl_.permutations_.Clear();
12412 }
12413 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
12414 _impl_.orbitopes_.Clear();
12415 }
12416 }
12417 _impl_._has_bits_.Clear();
12418 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
12419}
12420
12421#if defined(PROTOBUF_CUSTOM_VTABLE)
12422::uint8_t* PROTOBUF_NONNULL SymmetryProto::_InternalSerialize(
12423 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
12424 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
12425 const SymmetryProto& this_ = static_cast<const SymmetryProto&>(base);
12426#else // PROTOBUF_CUSTOM_VTABLE
12427::uint8_t* PROTOBUF_NONNULL SymmetryProto::_InternalSerialize(
12428 ::uint8_t* PROTOBUF_NONNULL target,
12429 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
12430 const SymmetryProto& this_ = *this;
12431#endif // PROTOBUF_CUSTOM_VTABLE
12432 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
12433 this_.CheckHasBitConsistency();
12434 }
12435 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.SymmetryProto)
12436 ::uint32_t cached_has_bits = 0;
12437 (void)cached_has_bits;
12438
12439 cached_has_bits = this_._impl_._has_bits_[0];
12440 // repeated .operations_research.sat.SparsePermutationProto permutations = 1;
12441 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
12442 for (unsigned i = 0, n = static_cast<unsigned>(
12443 this_._internal_permutations_size());
12444 i < n; i++) {
12445 const auto& repfield = this_._internal_permutations().Get(i);
12446 target =
12447 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
12448 1, repfield, repfield.GetCachedSize(),
12449 target, stream);
12450 }
12451 }
12452
12453 // repeated .operations_research.sat.DenseMatrixProto orbitopes = 2;
12454 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
12455 for (unsigned i = 0, n = static_cast<unsigned>(
12456 this_._internal_orbitopes_size());
12457 i < n; i++) {
12458 const auto& repfield = this_._internal_orbitopes().Get(i);
12459 target =
12460 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
12461 2, repfield, repfield.GetCachedSize(),
12462 target, stream);
12463 }
12464 }
12465
12466 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
12467 target =
12468 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
12469 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
12470 }
12471 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.SymmetryProto)
12472 return target;
12473}
12474
12475#if defined(PROTOBUF_CUSTOM_VTABLE)
12476::size_t SymmetryProto::ByteSizeLong(const MessageLite& base) {
12477 const SymmetryProto& this_ = static_cast<const SymmetryProto&>(base);
12478#else // PROTOBUF_CUSTOM_VTABLE
12479::size_t SymmetryProto::ByteSizeLong() const {
12480 const SymmetryProto& this_ = *this;
12481#endif // PROTOBUF_CUSTOM_VTABLE
12482 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.SymmetryProto)
12483 ::size_t total_size = 0;
12484
12485 ::uint32_t cached_has_bits = 0;
12486 // Prevent compiler warnings about cached_has_bits being unused
12487 (void)cached_has_bits;
12488
12489 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
12490 cached_has_bits = this_._impl_._has_bits_[0];
12491 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
12492 // repeated .operations_research.sat.SparsePermutationProto permutations = 1;
12493 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
12494 total_size += 1UL * this_._internal_permutations_size();
12495 for (const auto& msg : this_._internal_permutations()) {
12496 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
12497 }
12498 }
12499 // repeated .operations_research.sat.DenseMatrixProto orbitopes = 2;
12500 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
12501 total_size += 1UL * this_._internal_orbitopes_size();
12502 for (const auto& msg : this_._internal_orbitopes()) {
12503 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
12504 }
12505 }
12507 return this_.MaybeComputeUnknownFieldsSize(total_size,
12508 &this_._impl_._cached_size_);
12509}
12510
12511void SymmetryProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
12512 const ::google::protobuf::MessageLite& from_msg) {
12513 auto* const _this =
12514 static_cast<SymmetryProto*>(&to_msg);
12515 auto& from = static_cast<const SymmetryProto&>(from_msg);
12516 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
12517 from.CheckHasBitConsistency();
12518 }
12519 ::google::protobuf::Arena* arena = _this->GetArena();
12520 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.SymmetryProto)
12521 ABSL_DCHECK_NE(&from, _this);
12522 ::uint32_t cached_has_bits = 0;
12523 (void)cached_has_bits;
12524
12525 cached_has_bits = from._impl_._has_bits_[0];
12526 if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
12527 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
12528 _this->_internal_mutable_permutations()->InternalMergeFromWithArena(
12529 ::google::protobuf::MessageLite::internal_visibility(), arena,
12530 from._internal_permutations());
12531 }
12532 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
12533 _this->_internal_mutable_orbitopes()->InternalMergeFromWithArena(
12534 ::google::protobuf::MessageLite::internal_visibility(), arena,
12535 from._internal_orbitopes());
12536 }
12537 }
12538 _this->_impl_._has_bits_[0] |= cached_has_bits;
12539 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
12540 from._internal_metadata_);
12541}
12542
12543void SymmetryProto::CopyFrom(const SymmetryProto& from) {
12544 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.SymmetryProto)
12545 if (&from == this) return;
12546 Clear();
12547 MergeFrom(from);
12548}
12549
12550
12551void SymmetryProto::InternalSwap(SymmetryProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
12552 using ::std::swap;
12553 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
12554 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
12555 _impl_.permutations_.InternalSwap(&other->_impl_.permutations_);
12556 _impl_.orbitopes_.InternalSwap(&other->_impl_.orbitopes_);
12557}
12558
12559::google::protobuf::Metadata SymmetryProto::GetMetadata() const {
12560 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
12561}
12562// ===================================================================
12563
12564class CpModelProto::_Internal {
12565 public:
12566 using HasBits =
12567 decltype(::std::declval<CpModelProto>()._impl_._has_bits_);
12568 static constexpr ::int32_t kHasBitsOffset =
12569 8 * PROTOBUF_FIELD_OFFSET(CpModelProto, _impl_._has_bits_);
12571
12572CpModelProto::CpModelProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
12573#if defined(PROTOBUF_CUSTOM_VTABLE)
12574 : ::google::protobuf::Message(arena, CpModelProto_class_data_.base()) {
12575#else // PROTOBUF_CUSTOM_VTABLE
12576 : ::google::protobuf::Message(arena) {
12577#endif // PROTOBUF_CUSTOM_VTABLE
12578 SharedCtor(arena);
12579 // @@protoc_insertion_point(arena_constructor:operations_research.sat.CpModelProto)
12580}
12581PROTOBUF_NDEBUG_INLINE CpModelProto::Impl_::Impl_(
12582 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
12583 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
12584 [[maybe_unused]] const ::operations_research::sat::CpModelProto& from_msg)
12585 : _has_bits_{from._has_bits_},
12586 _cached_size_{0},
12587 variables_{visibility, arena, from.variables_},
12588 constraints_{visibility, arena, from.constraints_},
12589 search_strategy_{visibility, arena, from.search_strategy_},
12590 assumptions_{visibility, arena, from.assumptions_},
12591 _assumptions_cached_byte_size_{0},
12592 name_(arena, from.name_) {}
12593
12595 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
12596 const CpModelProto& from)
12597#if defined(PROTOBUF_CUSTOM_VTABLE)
12598 : ::google::protobuf::Message(arena, CpModelProto_class_data_.base()) {
12599#else // PROTOBUF_CUSTOM_VTABLE
12600 : ::google::protobuf::Message(arena) {
12601#endif // PROTOBUF_CUSTOM_VTABLE
12602 CpModelProto* const _this = this;
12603 (void)_this;
12604 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
12605 from._internal_metadata_);
12606 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
12607 ::uint32_t cached_has_bits = _impl_._has_bits_[0];
12608 _impl_.objective_ = (CheckHasBit(cached_has_bits, 0x00000020U))
12609 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.objective_)
12610 : nullptr;
12611 _impl_.solution_hint_ = (CheckHasBit(cached_has_bits, 0x00000040U))
12612 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.solution_hint_)
12613 : nullptr;
12614 _impl_.symmetry_ = (CheckHasBit(cached_has_bits, 0x00000080U))
12615 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.symmetry_)
12616 : nullptr;
12617 _impl_.floating_point_objective_ = (CheckHasBit(cached_has_bits, 0x00000100U))
12618 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.floating_point_objective_)
12619 : nullptr;
12620
12621 // @@protoc_insertion_point(copy_constructor:operations_research.sat.CpModelProto)
12622}
12623PROTOBUF_NDEBUG_INLINE CpModelProto::Impl_::Impl_(
12624 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
12625 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
12626 : _cached_size_{0},
12627 variables_{visibility, arena},
12628 constraints_{visibility, arena},
12629 search_strategy_{visibility, arena},
12630 assumptions_{visibility, arena},
12631 _assumptions_cached_byte_size_{0},
12632 name_(arena) {}
12633
12634inline void CpModelProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
12635 new (&_impl_) Impl_(internal_visibility(), arena);
12636 ::memset(reinterpret_cast<char*>(&_impl_) +
12637 offsetof(Impl_, objective_),
12638 0,
12639 offsetof(Impl_, floating_point_objective_) -
12640 offsetof(Impl_, objective_) +
12641 sizeof(Impl_::floating_point_objective_));
12642}
12644 // @@protoc_insertion_point(destructor:operations_research.sat.CpModelProto)
12645 SharedDtor(*this);
12646}
12647inline void CpModelProto::SharedDtor(MessageLite& self) {
12648 CpModelProto& this_ = static_cast<CpModelProto&>(self);
12649 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
12650 this_.CheckHasBitConsistency();
12651 }
12652 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
12653 ABSL_DCHECK(this_.GetArena() == nullptr);
12654 this_._impl_.name_.Destroy();
12655 delete this_._impl_.objective_;
12656 delete this_._impl_.solution_hint_;
12657 delete this_._impl_.symmetry_;
12658 delete this_._impl_.floating_point_objective_;
12659 this_._impl_.~Impl_();
12660}
12661
12662inline void* PROTOBUF_NONNULL CpModelProto::PlacementNew_(
12663 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
12664 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
12665 return ::new (mem) CpModelProto(arena);
12666}
12667constexpr auto CpModelProto::InternalNewImpl_() {
12668 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
12669 PROTOBUF_FIELD_OFFSET(CpModelProto, _impl_.variables_) +
12670 decltype(CpModelProto::_impl_.variables_)::
12671 InternalGetArenaOffset(
12672 ::google::protobuf::Message::internal_visibility()),
12673 PROTOBUF_FIELD_OFFSET(CpModelProto, _impl_.constraints_) +
12674 decltype(CpModelProto::_impl_.constraints_)::
12675 InternalGetArenaOffset(
12676 ::google::protobuf::Message::internal_visibility()),
12677 PROTOBUF_FIELD_OFFSET(CpModelProto, _impl_.search_strategy_) +
12678 decltype(CpModelProto::_impl_.search_strategy_)::
12679 InternalGetArenaOffset(
12680 ::google::protobuf::Message::internal_visibility()),
12681 PROTOBUF_FIELD_OFFSET(CpModelProto, _impl_.assumptions_) +
12682 decltype(CpModelProto::_impl_.assumptions_)::
12683 InternalGetArenaOffset(
12684 ::google::protobuf::Message::internal_visibility()),
12685 });
12686 if (arena_bits.has_value()) {
12687 return ::google::protobuf::internal::MessageCreator::CopyInit(
12688 sizeof(CpModelProto), alignof(CpModelProto), *arena_bits);
12689 } else {
12690 return ::google::protobuf::internal::MessageCreator(&CpModelProto::PlacementNew_,
12691 sizeof(CpModelProto),
12692 alignof(CpModelProto));
12693 }
12694}
12696 return ::google::protobuf::internal::ClassDataFull{
12697 ::google::protobuf::internal::ClassData{
12699 &_table_.header,
12700 nullptr, // OnDemandRegisterArenaDtor
12701 nullptr, // IsInitialized
12702 &CpModelProto::MergeImpl,
12703 ::google::protobuf::Message::GetNewImpl<CpModelProto>(),
12704#if defined(PROTOBUF_CUSTOM_VTABLE)
12705 &CpModelProto::SharedDtor,
12706 ::google::protobuf::Message::GetClearImpl<CpModelProto>(), &CpModelProto::ByteSizeLong,
12708#endif // PROTOBUF_CUSTOM_VTABLE
12709 PROTOBUF_FIELD_OFFSET(CpModelProto, _impl_._cached_size_),
12710 false,
12711 },
12712 &CpModelProto::kDescriptorMethods,
12714 nullptr, // tracker
12715 };
12716}
12717
12718PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
12719 ::google::protobuf::internal::ClassDataFull CpModelProto_class_data_ =
12721
12722PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
12723CpModelProto::GetClassData() const {
12724 ::google::protobuf::internal::PrefetchToLocalCache(&CpModelProto_class_data_);
12725 ::google::protobuf::internal::PrefetchToLocalCache(CpModelProto_class_data_.tc_table);
12726 return CpModelProto_class_data_.base();
12727}
12728PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
12729const ::_pbi::TcParseTable<4, 9, 7, 57, 2>
12730CpModelProto::_table_ = {
12731 {
12732 PROTOBUF_FIELD_OFFSET(CpModelProto, _impl_._has_bits_),
12733 0, // no _extensions_
12734 9, 120, // max_field_number, fast_idx_mask
12735 offsetof(decltype(_table_), field_lookup_table),
12736 4294966784, // skipmap
12737 offsetof(decltype(_table_), field_entries),
12738 9, // num_field_entries
12739 7, // num_aux_entries
12740 offsetof(decltype(_table_), aux_entries),
12742 nullptr, // post_loop_handler
12743 ::_pbi::TcParser::GenericFallback, // fallback
12744 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
12745 ::_pbi::TcParser::GetTable<::operations_research::sat::CpModelProto>(), // to_prefetch
12746 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
12747 }, {{
12748 {::_pbi::TcParser::MiniParse, {}},
12749 // string name = 1;
12750 {::_pbi::TcParser::FastUS1,
12751 {10, 4, 0,
12752 PROTOBUF_FIELD_OFFSET(CpModelProto, _impl_.name_)}},
12753 // repeated .operations_research.sat.IntegerVariableProto variables = 2;
12754 {::_pbi::TcParser::FastMtR1,
12755 {18, 0, 0,
12756 PROTOBUF_FIELD_OFFSET(CpModelProto, _impl_.variables_)}},
12757 // repeated .operations_research.sat.ConstraintProto constraints = 3;
12758 {::_pbi::TcParser::FastMtR1,
12759 {26, 1, 1,
12760 PROTOBUF_FIELD_OFFSET(CpModelProto, _impl_.constraints_)}},
12761 // .operations_research.sat.CpObjectiveProto objective = 4;
12762 {::_pbi::TcParser::FastMtS1,
12763 {34, 5, 2,
12764 PROTOBUF_FIELD_OFFSET(CpModelProto, _impl_.objective_)}},
12765 // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
12766 {::_pbi::TcParser::FastMtR1,
12767 {42, 2, 3,
12768 PROTOBUF_FIELD_OFFSET(CpModelProto, _impl_.search_strategy_)}},
12769 // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
12770 {::_pbi::TcParser::FastMtS1,
12771 {50, 6, 4,
12772 PROTOBUF_FIELD_OFFSET(CpModelProto, _impl_.solution_hint_)}},
12773 // repeated int32 assumptions = 7;
12774 {::_pbi::TcParser::FastV32P1,
12775 {58, 3, 0,
12776 PROTOBUF_FIELD_OFFSET(CpModelProto, _impl_.assumptions_)}},
12777 // .operations_research.sat.SymmetryProto symmetry = 8;
12778 {::_pbi::TcParser::FastMtS1,
12779 {66, 7, 5,
12780 PROTOBUF_FIELD_OFFSET(CpModelProto, _impl_.symmetry_)}},
12781 // .operations_research.sat.FloatObjectiveProto floating_point_objective = 9;
12782 {::_pbi::TcParser::FastMtS1,
12783 {74, 8, 6,
12784 PROTOBUF_FIELD_OFFSET(CpModelProto, _impl_.floating_point_objective_)}},
12785 {::_pbi::TcParser::MiniParse, {}},
12786 {::_pbi::TcParser::MiniParse, {}},
12787 {::_pbi::TcParser::MiniParse, {}},
12788 {::_pbi::TcParser::MiniParse, {}},
12789 {::_pbi::TcParser::MiniParse, {}},
12790 {::_pbi::TcParser::MiniParse, {}},
12791 }}, {{
12792 65535, 65535
12793 }}, {{
12794 // string name = 1;
12795 {PROTOBUF_FIELD_OFFSET(CpModelProto, _impl_.name_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
12796 // repeated .operations_research.sat.IntegerVariableProto variables = 2;
12797 {PROTOBUF_FIELD_OFFSET(CpModelProto, _impl_.variables_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
12798 // repeated .operations_research.sat.ConstraintProto constraints = 3;
12799 {PROTOBUF_FIELD_OFFSET(CpModelProto, _impl_.constraints_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
12800 // .operations_research.sat.CpObjectiveProto objective = 4;
12801 {PROTOBUF_FIELD_OFFSET(CpModelProto, _impl_.objective_), _Internal::kHasBitsOffset + 5, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
12802 // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
12803 {PROTOBUF_FIELD_OFFSET(CpModelProto, _impl_.search_strategy_), _Internal::kHasBitsOffset + 2, 3, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
12804 // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
12805 {PROTOBUF_FIELD_OFFSET(CpModelProto, _impl_.solution_hint_), _Internal::kHasBitsOffset + 6, 4, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
12806 // repeated int32 assumptions = 7;
12807 {PROTOBUF_FIELD_OFFSET(CpModelProto, _impl_.assumptions_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
12808 // .operations_research.sat.SymmetryProto symmetry = 8;
12809 {PROTOBUF_FIELD_OFFSET(CpModelProto, _impl_.symmetry_), _Internal::kHasBitsOffset + 7, 5, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
12810 // .operations_research.sat.FloatObjectiveProto floating_point_objective = 9;
12811 {PROTOBUF_FIELD_OFFSET(CpModelProto, _impl_.floating_point_objective_), _Internal::kHasBitsOffset + 8, 6, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
12812 }},
12813 {{
12814 {::_pbi::TcParser::GetTable<::operations_research::sat::IntegerVariableProto>()},
12815 {::_pbi::TcParser::GetTable<::operations_research::sat::ConstraintProto>()},
12816 {::_pbi::TcParser::GetTable<::operations_research::sat::CpObjectiveProto>()},
12817 {::_pbi::TcParser::GetTable<::operations_research::sat::DecisionStrategyProto>()},
12818 {::_pbi::TcParser::GetTable<::operations_research::sat::PartialVariableAssignment>()},
12819 {::_pbi::TcParser::GetTable<::operations_research::sat::SymmetryProto>()},
12820 {::_pbi::TcParser::GetTable<::operations_research::sat::FloatObjectiveProto>()},
12821 }},
12822 {{
12823 "\44\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
12824 "operations_research.sat.CpModelProto"
12825 "name"
12826 }},
12827};
12828PROTOBUF_NOINLINE void CpModelProto::Clear() {
12829// @@protoc_insertion_point(message_clear_start:operations_research.sat.CpModelProto)
12830 ::google::protobuf::internal::TSanWrite(&_impl_);
12831 ::uint32_t cached_has_bits = 0;
12832 // Prevent compiler warnings about cached_has_bits being unused
12833 (void) cached_has_bits;
12834
12835 cached_has_bits = _impl_._has_bits_[0];
12836 if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
12837 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
12838 _impl_.variables_.Clear();
12839 }
12840 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
12841 _impl_.constraints_.Clear();
12842 }
12843 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
12844 _impl_.search_strategy_.Clear();
12845 }
12846 if (CheckHasBitForRepeated(cached_has_bits, 0x00000008U)) {
12847 _impl_.assumptions_.Clear();
12848 }
12849 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
12850 _impl_.name_.ClearNonDefaultToEmpty();
12851 }
12852 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
12853 ABSL_DCHECK(_impl_.objective_ != nullptr);
12854 _impl_.objective_->Clear();
12855 }
12856 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
12857 ABSL_DCHECK(_impl_.solution_hint_ != nullptr);
12858 _impl_.solution_hint_->Clear();
12859 }
12860 if (CheckHasBit(cached_has_bits, 0x00000080U)) {
12861 ABSL_DCHECK(_impl_.symmetry_ != nullptr);
12862 _impl_.symmetry_->Clear();
12863 }
12864 }
12865 if (CheckHasBit(cached_has_bits, 0x00000100U)) {
12866 ABSL_DCHECK(_impl_.floating_point_objective_ != nullptr);
12867 _impl_.floating_point_objective_->Clear();
12868 }
12869 _impl_._has_bits_.Clear();
12870 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
12871}
12872
12873#if defined(PROTOBUF_CUSTOM_VTABLE)
12874::uint8_t* PROTOBUF_NONNULL CpModelProto::_InternalSerialize(
12875 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
12876 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
12877 const CpModelProto& this_ = static_cast<const CpModelProto&>(base);
12878#else // PROTOBUF_CUSTOM_VTABLE
12879::uint8_t* PROTOBUF_NONNULL CpModelProto::_InternalSerialize(
12880 ::uint8_t* PROTOBUF_NONNULL target,
12881 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
12882 const CpModelProto& this_ = *this;
12883#endif // PROTOBUF_CUSTOM_VTABLE
12884 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
12885 this_.CheckHasBitConsistency();
12886 }
12887 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.CpModelProto)
12888 ::uint32_t cached_has_bits = 0;
12889 (void)cached_has_bits;
12890
12891 cached_has_bits = this_._impl_._has_bits_[0];
12892 // string name = 1;
12893 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
12894 if (!this_._internal_name().empty()) {
12895 const ::std::string& _s = this_._internal_name();
12896 ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
12897 _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "operations_research.sat.CpModelProto.name");
12898 target = stream->WriteStringMaybeAliased(1, _s, target);
12899 }
12900 }
12901
12902 // repeated .operations_research.sat.IntegerVariableProto variables = 2;
12903 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
12904 for (unsigned i = 0, n = static_cast<unsigned>(
12905 this_._internal_variables_size());
12906 i < n; i++) {
12907 const auto& repfield = this_._internal_variables().Get(i);
12908 target =
12909 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
12910 2, repfield, repfield.GetCachedSize(),
12911 target, stream);
12912 }
12913 }
12914
12915 // repeated .operations_research.sat.ConstraintProto constraints = 3;
12916 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
12917 for (unsigned i = 0, n = static_cast<unsigned>(
12918 this_._internal_constraints_size());
12919 i < n; i++) {
12920 const auto& repfield = this_._internal_constraints().Get(i);
12921 target =
12922 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
12923 3, repfield, repfield.GetCachedSize(),
12924 target, stream);
12925 }
12926 }
12927
12928 // .operations_research.sat.CpObjectiveProto objective = 4;
12929 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
12930 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
12931 4, *this_._impl_.objective_, this_._impl_.objective_->GetCachedSize(), target,
12932 stream);
12933 }
12934
12935 // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
12936 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
12937 for (unsigned i = 0, n = static_cast<unsigned>(
12938 this_._internal_search_strategy_size());
12939 i < n; i++) {
12940 const auto& repfield = this_._internal_search_strategy().Get(i);
12941 target =
12942 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
12943 5, repfield, repfield.GetCachedSize(),
12944 target, stream);
12945 }
12946 }
12947
12948 // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
12949 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
12950 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
12951 6, *this_._impl_.solution_hint_, this_._impl_.solution_hint_->GetCachedSize(), target,
12952 stream);
12953 }
12954
12955 // repeated int32 assumptions = 7;
12956 if (CheckHasBitForRepeated(cached_has_bits, 0x00000008U)) {
12957 {
12958 int byte_size = this_._impl_._assumptions_cached_byte_size_.Get();
12959 if (byte_size > 0) {
12960 target = stream->WriteInt32Packed(
12961 7, this_._internal_assumptions(), byte_size, target);
12962 }
12963 }
12964 }
12965
12966 // .operations_research.sat.SymmetryProto symmetry = 8;
12967 if (CheckHasBit(cached_has_bits, 0x00000080U)) {
12968 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
12969 8, *this_._impl_.symmetry_, this_._impl_.symmetry_->GetCachedSize(), target,
12970 stream);
12971 }
12972
12973 // .operations_research.sat.FloatObjectiveProto floating_point_objective = 9;
12974 if (CheckHasBit(cached_has_bits, 0x00000100U)) {
12975 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
12976 9, *this_._impl_.floating_point_objective_, this_._impl_.floating_point_objective_->GetCachedSize(), target,
12977 stream);
12978 }
12979
12980 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
12981 target =
12982 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
12983 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
12984 }
12985 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.CpModelProto)
12986 return target;
12987}
12988
12989#if defined(PROTOBUF_CUSTOM_VTABLE)
12990::size_t CpModelProto::ByteSizeLong(const MessageLite& base) {
12991 const CpModelProto& this_ = static_cast<const CpModelProto&>(base);
12992#else // PROTOBUF_CUSTOM_VTABLE
12993::size_t CpModelProto::ByteSizeLong() const {
12994 const CpModelProto& this_ = *this;
12995#endif // PROTOBUF_CUSTOM_VTABLE
12996 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.CpModelProto)
12997 ::size_t total_size = 0;
12998
12999 ::uint32_t cached_has_bits = 0;
13000 // Prevent compiler warnings about cached_has_bits being unused
13001 (void)cached_has_bits;
13002
13003 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
13004 cached_has_bits = this_._impl_._has_bits_[0];
13005 if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
13006 // repeated .operations_research.sat.IntegerVariableProto variables = 2;
13007 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
13008 total_size += 1UL * this_._internal_variables_size();
13009 for (const auto& msg : this_._internal_variables()) {
13010 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
13011 }
13012 }
13013 // repeated .operations_research.sat.ConstraintProto constraints = 3;
13014 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
13015 total_size += 1UL * this_._internal_constraints_size();
13016 for (const auto& msg : this_._internal_constraints()) {
13017 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
13018 }
13019 }
13020 // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
13021 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
13022 total_size += 1UL * this_._internal_search_strategy_size();
13023 for (const auto& msg : this_._internal_search_strategy()) {
13024 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
13025 }
13026 }
13027 // repeated int32 assumptions = 7;
13028 if (CheckHasBitForRepeated(cached_has_bits, 0x00000008U)) {
13029 total_size +=
13030 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
13031 this_._internal_assumptions(), 1,
13032 this_._impl_._assumptions_cached_byte_size_);
13033 }
13034 // string name = 1;
13035 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
13036 if (!this_._internal_name().empty()) {
13037 total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
13038 this_._internal_name());
13039 }
13040 }
13041 // .operations_research.sat.CpObjectiveProto objective = 4;
13042 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
13043 total_size += 1 +
13044 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.objective_);
13045 }
13046 // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
13047 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
13048 total_size += 1 +
13049 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.solution_hint_);
13050 }
13051 // .operations_research.sat.SymmetryProto symmetry = 8;
13052 if (CheckHasBit(cached_has_bits, 0x00000080U)) {
13053 total_size += 1 +
13054 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.symmetry_);
13055 }
13056 }
13057 {
13058 // .operations_research.sat.FloatObjectiveProto floating_point_objective = 9;
13059 if (CheckHasBit(cached_has_bits, 0x00000100U)) {
13060 total_size += 1 +
13061 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.floating_point_objective_);
13062 }
13063 }
13064 return this_.MaybeComputeUnknownFieldsSize(total_size,
13065 &this_._impl_._cached_size_);
13066}
13067
13068void CpModelProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
13069 const ::google::protobuf::MessageLite& from_msg) {
13070 auto* const _this =
13071 static_cast<CpModelProto*>(&to_msg);
13072 auto& from = static_cast<const CpModelProto&>(from_msg);
13073 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
13074 from.CheckHasBitConsistency();
13075 }
13076 ::google::protobuf::Arena* arena = _this->GetArena();
13077 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.CpModelProto)
13078 ABSL_DCHECK_NE(&from, _this);
13079 ::uint32_t cached_has_bits = 0;
13080 (void)cached_has_bits;
13081
13082 cached_has_bits = from._impl_._has_bits_[0];
13083 if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
13084 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
13085 _this->_internal_mutable_variables()->InternalMergeFromWithArena(
13086 ::google::protobuf::MessageLite::internal_visibility(), arena,
13087 from._internal_variables());
13088 }
13089 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
13090 _this->_internal_mutable_constraints()->InternalMergeFromWithArena(
13091 ::google::protobuf::MessageLite::internal_visibility(), arena,
13092 from._internal_constraints());
13093 }
13094 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
13095 _this->_internal_mutable_search_strategy()->InternalMergeFromWithArena(
13096 ::google::protobuf::MessageLite::internal_visibility(), arena,
13097 from._internal_search_strategy());
13098 }
13099 if (CheckHasBitForRepeated(cached_has_bits, 0x00000008U)) {
13100 _this->_internal_mutable_assumptions()->MergeFrom(from._internal_assumptions());
13101 }
13102 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
13103 if (!from._internal_name().empty()) {
13104 _this->_internal_set_name(from._internal_name());
13105 } else {
13106 if (_this->_impl_.name_.IsDefault()) {
13107 _this->_internal_set_name("");
13108 }
13109 }
13110 }
13111 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
13112 ABSL_DCHECK(from._impl_.objective_ != nullptr);
13113 if (_this->_impl_.objective_ == nullptr) {
13114 _this->_impl_.objective_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.objective_);
13115 } else {
13116 _this->_impl_.objective_->MergeFrom(*from._impl_.objective_);
13117 }
13118 }
13119 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
13120 ABSL_DCHECK(from._impl_.solution_hint_ != nullptr);
13121 if (_this->_impl_.solution_hint_ == nullptr) {
13122 _this->_impl_.solution_hint_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.solution_hint_);
13123 } else {
13124 _this->_impl_.solution_hint_->MergeFrom(*from._impl_.solution_hint_);
13125 }
13126 }
13127 if (CheckHasBit(cached_has_bits, 0x00000080U)) {
13128 ABSL_DCHECK(from._impl_.symmetry_ != nullptr);
13129 if (_this->_impl_.symmetry_ == nullptr) {
13130 _this->_impl_.symmetry_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.symmetry_);
13131 } else {
13132 _this->_impl_.symmetry_->MergeFrom(*from._impl_.symmetry_);
13133 }
13134 }
13135 }
13136 if (CheckHasBit(cached_has_bits, 0x00000100U)) {
13137 ABSL_DCHECK(from._impl_.floating_point_objective_ != nullptr);
13138 if (_this->_impl_.floating_point_objective_ == nullptr) {
13139 _this->_impl_.floating_point_objective_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.floating_point_objective_);
13140 } else {
13141 _this->_impl_.floating_point_objective_->MergeFrom(*from._impl_.floating_point_objective_);
13142 }
13143 }
13144 _this->_impl_._has_bits_[0] |= cached_has_bits;
13145 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
13146 from._internal_metadata_);
13147}
13148
13149void CpModelProto::CopyFrom(const CpModelProto& from) {
13150 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.CpModelProto)
13151 if (&from == this) return;
13152 Clear();
13153 MergeFrom(from);
13154}
13155
13156
13157void CpModelProto::InternalSwap(CpModelProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
13158 using ::std::swap;
13159 auto* arena = GetArena();
13160 ABSL_DCHECK_EQ(arena, other->GetArena());
13161 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
13162 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
13163 _impl_.variables_.InternalSwap(&other->_impl_.variables_);
13164 _impl_.constraints_.InternalSwap(&other->_impl_.constraints_);
13165 _impl_.search_strategy_.InternalSwap(&other->_impl_.search_strategy_);
13166 _impl_.assumptions_.InternalSwap(&other->_impl_.assumptions_);
13167 ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
13168 ::google::protobuf::internal::memswap<
13169 PROTOBUF_FIELD_OFFSET(CpModelProto, _impl_.floating_point_objective_)
13170 + sizeof(CpModelProto::_impl_.floating_point_objective_)
13171 - PROTOBUF_FIELD_OFFSET(CpModelProto, _impl_.objective_)>(
13172 reinterpret_cast<char*>(&_impl_.objective_),
13173 reinterpret_cast<char*>(&other->_impl_.objective_));
13174}
13175
13176::google::protobuf::Metadata CpModelProto::GetMetadata() const {
13177 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
13178}
13179// ===================================================================
13180
13182 public:
13183 using HasBits =
13184 decltype(::std::declval<CpSolverSolution>()._impl_._has_bits_);
13185 static constexpr ::int32_t kHasBitsOffset =
13186 8 * PROTOBUF_FIELD_OFFSET(CpSolverSolution, _impl_._has_bits_);
13187};
13188
13189CpSolverSolution::CpSolverSolution(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
13190#if defined(PROTOBUF_CUSTOM_VTABLE)
13191 : ::google::protobuf::Message(arena, CpSolverSolution_class_data_.base()) {
13192#else // PROTOBUF_CUSTOM_VTABLE
13193 : ::google::protobuf::Message(arena) {
13194#endif // PROTOBUF_CUSTOM_VTABLE
13195 SharedCtor(arena);
13196 // @@protoc_insertion_point(arena_constructor:operations_research.sat.CpSolverSolution)
13197}
13198PROTOBUF_NDEBUG_INLINE CpSolverSolution::Impl_::Impl_(
13199 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
13200 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
13201 [[maybe_unused]] const ::operations_research::sat::CpSolverSolution& from_msg)
13202 : _has_bits_{from._has_bits_},
13203 _cached_size_{0},
13204 values_{visibility, arena, from.values_},
13205 _values_cached_byte_size_{0} {}
13206
13208 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
13209 const CpSolverSolution& from)
13210#if defined(PROTOBUF_CUSTOM_VTABLE)
13211 : ::google::protobuf::Message(arena, CpSolverSolution_class_data_.base()) {
13212#else // PROTOBUF_CUSTOM_VTABLE
13213 : ::google::protobuf::Message(arena) {
13214#endif // PROTOBUF_CUSTOM_VTABLE
13215 CpSolverSolution* const _this = this;
13216 (void)_this;
13217 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
13218 from._internal_metadata_);
13219 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
13220
13221 // @@protoc_insertion_point(copy_constructor:operations_research.sat.CpSolverSolution)
13222}
13223PROTOBUF_NDEBUG_INLINE CpSolverSolution::Impl_::Impl_(
13224 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
13225 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
13226 : _cached_size_{0},
13227 values_{visibility, arena},
13228 _values_cached_byte_size_{0} {}
13229
13230inline void CpSolverSolution::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
13231 new (&_impl_) Impl_(internal_visibility(), arena);
13232}
13234 // @@protoc_insertion_point(destructor:operations_research.sat.CpSolverSolution)
13235 SharedDtor(*this);
13236}
13237inline void CpSolverSolution::SharedDtor(MessageLite& self) {
13238 CpSolverSolution& this_ = static_cast<CpSolverSolution&>(self);
13239 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
13240 this_.CheckHasBitConsistency();
13241 }
13242 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
13243 ABSL_DCHECK(this_.GetArena() == nullptr);
13244 this_._impl_.~Impl_();
13245}
13246
13247inline void* PROTOBUF_NONNULL CpSolverSolution::PlacementNew_(
13248 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
13249 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
13250 return ::new (mem) CpSolverSolution(arena);
13251}
13252constexpr auto CpSolverSolution::InternalNewImpl_() {
13253 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
13254 PROTOBUF_FIELD_OFFSET(CpSolverSolution, _impl_.values_) +
13255 decltype(CpSolverSolution::_impl_.values_)::
13256 InternalGetArenaOffset(
13257 ::google::protobuf::Message::internal_visibility()),
13258 });
13259 if (arena_bits.has_value()) {
13260 return ::google::protobuf::internal::MessageCreator::ZeroInit(
13261 sizeof(CpSolverSolution), alignof(CpSolverSolution), *arena_bits);
13262 } else {
13263 return ::google::protobuf::internal::MessageCreator(&CpSolverSolution::PlacementNew_,
13264 sizeof(CpSolverSolution),
13265 alignof(CpSolverSolution));
13266 }
13267}
13269 return ::google::protobuf::internal::ClassDataFull{
13270 ::google::protobuf::internal::ClassData{
13272 &_table_.header,
13273 nullptr, // OnDemandRegisterArenaDtor
13274 nullptr, // IsInitialized
13275 &CpSolverSolution::MergeImpl,
13276 ::google::protobuf::Message::GetNewImpl<CpSolverSolution>(),
13277#if defined(PROTOBUF_CUSTOM_VTABLE)
13278 &CpSolverSolution::SharedDtor,
13279 ::google::protobuf::Message::GetClearImpl<CpSolverSolution>(), &CpSolverSolution::ByteSizeLong,
13281#endif // PROTOBUF_CUSTOM_VTABLE
13282 PROTOBUF_FIELD_OFFSET(CpSolverSolution, _impl_._cached_size_),
13283 false,
13284 },
13285 &CpSolverSolution::kDescriptorMethods,
13287 nullptr, // tracker
13288 };
13289}
13290
13291PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
13292 ::google::protobuf::internal::ClassDataFull CpSolverSolution_class_data_ =
13294
13295PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
13296CpSolverSolution::GetClassData() const {
13297 ::google::protobuf::internal::PrefetchToLocalCache(&CpSolverSolution_class_data_);
13298 ::google::protobuf::internal::PrefetchToLocalCache(CpSolverSolution_class_data_.tc_table);
13299 return CpSolverSolution_class_data_.base();
13300}
13301PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
13302const ::_pbi::TcParseTable<0, 1, 0, 0, 2>
13303CpSolverSolution::_table_ = {
13304 {
13305 PROTOBUF_FIELD_OFFSET(CpSolverSolution, _impl_._has_bits_),
13306 0, // no _extensions_
13307 1, 0, // max_field_number, fast_idx_mask
13308 offsetof(decltype(_table_), field_lookup_table),
13309 4294967294, // skipmap
13310 offsetof(decltype(_table_), field_entries),
13311 1, // num_field_entries
13312 0, // num_aux_entries
13313 offsetof(decltype(_table_), field_names), // no aux_entries
13315 nullptr, // post_loop_handler
13316 ::_pbi::TcParser::GenericFallback, // fallback
13317 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
13318 ::_pbi::TcParser::GetTable<::operations_research::sat::CpSolverSolution>(), // to_prefetch
13319 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
13320 }, {{
13321 // repeated int64 values = 1;
13322 {::_pbi::TcParser::FastV64P1,
13323 {10, 0, 0,
13324 PROTOBUF_FIELD_OFFSET(CpSolverSolution, _impl_.values_)}},
13325 }}, {{
13326 65535, 65535
13327 }}, {{
13328 // repeated int64 values = 1;
13329 {PROTOBUF_FIELD_OFFSET(CpSolverSolution, _impl_.values_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt64)},
13330 }},
13331 // no aux_entries
13332 {{
13333 }},
13334};
13335PROTOBUF_NOINLINE void CpSolverSolution::Clear() {
13336// @@protoc_insertion_point(message_clear_start:operations_research.sat.CpSolverSolution)
13337 ::google::protobuf::internal::TSanWrite(&_impl_);
13338 ::uint32_t cached_has_bits = 0;
13339 // Prevent compiler warnings about cached_has_bits being unused
13340 (void) cached_has_bits;
13341
13342 cached_has_bits = _impl_._has_bits_[0];
13343 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
13344 _impl_.values_.Clear();
13345 }
13346 _impl_._has_bits_.Clear();
13347 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
13348}
13349
13350#if defined(PROTOBUF_CUSTOM_VTABLE)
13351::uint8_t* PROTOBUF_NONNULL CpSolverSolution::_InternalSerialize(
13352 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
13353 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
13354 const CpSolverSolution& this_ = static_cast<const CpSolverSolution&>(base);
13355#else // PROTOBUF_CUSTOM_VTABLE
13356::uint8_t* PROTOBUF_NONNULL CpSolverSolution::_InternalSerialize(
13357 ::uint8_t* PROTOBUF_NONNULL target,
13358 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
13359 const CpSolverSolution& this_ = *this;
13360#endif // PROTOBUF_CUSTOM_VTABLE
13361 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
13362 this_.CheckHasBitConsistency();
13363 }
13364 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.CpSolverSolution)
13365 ::uint32_t cached_has_bits = 0;
13366 (void)cached_has_bits;
13367
13368 cached_has_bits = this_._impl_._has_bits_[0];
13369 // repeated int64 values = 1;
13370 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
13371 {
13372 int byte_size = this_._impl_._values_cached_byte_size_.Get();
13373 if (byte_size > 0) {
13374 target = stream->WriteInt64Packed(
13375 1, this_._internal_values(), byte_size, target);
13376 }
13377 }
13378 }
13379
13380 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
13381 target =
13382 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
13383 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
13384 }
13385 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.CpSolverSolution)
13386 return target;
13387}
13388
13389#if defined(PROTOBUF_CUSTOM_VTABLE)
13391 const CpSolverSolution& this_ = static_cast<const CpSolverSolution&>(base);
13392#else // PROTOBUF_CUSTOM_VTABLE
13393::size_t CpSolverSolution::ByteSizeLong() const {
13394 const CpSolverSolution& this_ = *this;
13395#endif // PROTOBUF_CUSTOM_VTABLE
13396 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.CpSolverSolution)
13397 ::size_t total_size = 0;
13398
13399 ::uint32_t cached_has_bits = 0;
13400 // Prevent compiler warnings about cached_has_bits being unused
13401 (void)cached_has_bits;
13402
13403 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
13404 {
13405 // repeated int64 values = 1;
13406 cached_has_bits = this_._impl_._has_bits_[0];
13407 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
13408 total_size +=
13409 ::_pbi::WireFormatLite::Int64SizeWithPackedTagSize(
13410 this_._internal_values(), 1,
13411 this_._impl_._values_cached_byte_size_);
13412 }
13413 }
13414 return this_.MaybeComputeUnknownFieldsSize(total_size,
13415 &this_._impl_._cached_size_);
13416}
13417
13418void CpSolverSolution::MergeImpl(::google::protobuf::MessageLite& to_msg,
13419 const ::google::protobuf::MessageLite& from_msg) {
13420 auto* const _this =
13421 static_cast<CpSolverSolution*>(&to_msg);
13422 auto& from = static_cast<const CpSolverSolution&>(from_msg);
13423 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
13424 from.CheckHasBitConsistency();
13425 }
13426 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.CpSolverSolution)
13427 ABSL_DCHECK_NE(&from, _this);
13428 ::uint32_t cached_has_bits = 0;
13429 (void)cached_has_bits;
13430
13431 cached_has_bits = from._impl_._has_bits_[0];
13432 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
13433 _this->_internal_mutable_values()->MergeFrom(from._internal_values());
13434 }
13435 _this->_impl_._has_bits_[0] |= cached_has_bits;
13436 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
13437 from._internal_metadata_);
13438}
13439
13441 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.CpSolverSolution)
13442 if (&from == this) return;
13443 Clear();
13444 MergeFrom(from);
13445}
13446
13447
13448void CpSolverSolution::InternalSwap(CpSolverSolution* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
13449 using ::std::swap;
13450 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
13451 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
13452 _impl_.values_.InternalSwap(&other->_impl_.values_);
13453}
13454
13455::google::protobuf::Metadata CpSolverSolution::GetMetadata() const {
13456 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
13457}
13458// ===================================================================
13459
13460class CpSolverResponse::_Internal {
13461 public:
13462 using HasBits =
13463 decltype(::std::declval<CpSolverResponse>()._impl_._has_bits_);
13464 static constexpr ::int32_t kHasBitsOffset =
13465 8 * PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_._has_bits_);
13466};
13467
13468CpSolverResponse::CpSolverResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
13469#if defined(PROTOBUF_CUSTOM_VTABLE)
13470 : ::google::protobuf::Message(arena, CpSolverResponse_class_data_.base()) {
13471#else // PROTOBUF_CUSTOM_VTABLE
13472 : ::google::protobuf::Message(arena) {
13473#endif // PROTOBUF_CUSTOM_VTABLE
13474 SharedCtor(arena);
13475 // @@protoc_insertion_point(arena_constructor:operations_research.sat.CpSolverResponse)
13476}
13477PROTOBUF_NDEBUG_INLINE CpSolverResponse::Impl_::Impl_(
13478 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
13479 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
13480 [[maybe_unused]] const ::operations_research::sat::CpSolverResponse& from_msg)
13481 : _has_bits_{from._has_bits_},
13482 _cached_size_{0},
13483 solution_{visibility, arena, from.solution_},
13484 _solution_cached_byte_size_{0},
13485 tightened_variables_{visibility, arena, from.tightened_variables_},
13486 sufficient_assumptions_for_infeasibility_{visibility, arena, from.sufficient_assumptions_for_infeasibility_},
13487 _sufficient_assumptions_for_infeasibility_cached_byte_size_{0},
13488 additional_solutions_{visibility, arena, from.additional_solutions_},
13489 solution_info_(arena, from.solution_info_),
13490 solve_log_(arena, from.solve_log_) {}
13491
13493 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
13494 const CpSolverResponse& from)
13495#if defined(PROTOBUF_CUSTOM_VTABLE)
13496 : ::google::protobuf::Message(arena, CpSolverResponse_class_data_.base()) {
13497#else // PROTOBUF_CUSTOM_VTABLE
13498 : ::google::protobuf::Message(arena) {
13499#endif // PROTOBUF_CUSTOM_VTABLE
13500 CpSolverResponse* const _this = this;
13501 (void)_this;
13502 _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
13503 from._internal_metadata_);
13504 new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
13505 ::uint32_t cached_has_bits = _impl_._has_bits_[0];
13506 _impl_.integer_objective_ = (CheckHasBit(cached_has_bits, 0x00000040U))
13507 ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.integer_objective_)
13508 : nullptr;
13509 ::memcpy(reinterpret_cast<char*>(&_impl_) +
13510 offsetof(Impl_, objective_value_),
13511 reinterpret_cast<const char*>(&from._impl_) +
13512 offsetof(Impl_, objective_value_),
13513 offsetof(Impl_, status_) -
13514 offsetof(Impl_, objective_value_) +
13515 sizeof(Impl_::status_));
13516
13517 // @@protoc_insertion_point(copy_constructor:operations_research.sat.CpSolverResponse)
13518}
13519PROTOBUF_NDEBUG_INLINE CpSolverResponse::Impl_::Impl_(
13520 [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
13521 [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
13522 : _cached_size_{0},
13523 solution_{visibility, arena},
13524 _solution_cached_byte_size_{0},
13525 tightened_variables_{visibility, arena},
13526 sufficient_assumptions_for_infeasibility_{visibility, arena},
13527 _sufficient_assumptions_for_infeasibility_cached_byte_size_{0},
13528 additional_solutions_{visibility, arena},
13529 solution_info_(arena),
13530 solve_log_(arena) {}
13531
13532inline void CpSolverResponse::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
13533 new (&_impl_) Impl_(internal_visibility(), arena);
13534 ::memset(reinterpret_cast<char*>(&_impl_) +
13535 offsetof(Impl_, integer_objective_),
13536 0,
13537 offsetof(Impl_, status_) -
13538 offsetof(Impl_, integer_objective_) +
13539 sizeof(Impl_::status_));
13540}
13542 // @@protoc_insertion_point(destructor:operations_research.sat.CpSolverResponse)
13543 SharedDtor(*this);
13544}
13545inline void CpSolverResponse::SharedDtor(MessageLite& self) {
13546 CpSolverResponse& this_ = static_cast<CpSolverResponse&>(self);
13547 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
13548 this_.CheckHasBitConsistency();
13549 }
13550 this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
13551 ABSL_DCHECK(this_.GetArena() == nullptr);
13552 this_._impl_.solution_info_.Destroy();
13553 this_._impl_.solve_log_.Destroy();
13554 delete this_._impl_.integer_objective_;
13555 this_._impl_.~Impl_();
13556}
13557
13558inline void* PROTOBUF_NONNULL CpSolverResponse::PlacementNew_(
13559 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
13560 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
13561 return ::new (mem) CpSolverResponse(arena);
13562}
13563constexpr auto CpSolverResponse::InternalNewImpl_() {
13564 constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({
13565 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.solution_) +
13566 decltype(CpSolverResponse::_impl_.solution_)::
13567 InternalGetArenaOffset(
13568 ::google::protobuf::Message::internal_visibility()),
13569 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.additional_solutions_) +
13570 decltype(CpSolverResponse::_impl_.additional_solutions_)::
13571 InternalGetArenaOffset(
13572 ::google::protobuf::Message::internal_visibility()),
13573 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.tightened_variables_) +
13574 decltype(CpSolverResponse::_impl_.tightened_variables_)::
13575 InternalGetArenaOffset(
13576 ::google::protobuf::Message::internal_visibility()),
13577 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.sufficient_assumptions_for_infeasibility_) +
13578 decltype(CpSolverResponse::_impl_.sufficient_assumptions_for_infeasibility_)::
13579 InternalGetArenaOffset(
13580 ::google::protobuf::Message::internal_visibility()),
13581 });
13582 if (arena_bits.has_value()) {
13583 return ::google::protobuf::internal::MessageCreator::CopyInit(
13584 sizeof(CpSolverResponse), alignof(CpSolverResponse), *arena_bits);
13585 } else {
13586 return ::google::protobuf::internal::MessageCreator(&CpSolverResponse::PlacementNew_,
13587 sizeof(CpSolverResponse),
13588 alignof(CpSolverResponse));
13589 }
13590}
13592 return ::google::protobuf::internal::ClassDataFull{
13593 ::google::protobuf::internal::ClassData{
13595 &_table_.header,
13596 nullptr, // OnDemandRegisterArenaDtor
13597 nullptr, // IsInitialized
13598 &CpSolverResponse::MergeImpl,
13599 ::google::protobuf::Message::GetNewImpl<CpSolverResponse>(),
13600#if defined(PROTOBUF_CUSTOM_VTABLE)
13601 &CpSolverResponse::SharedDtor,
13602 ::google::protobuf::Message::GetClearImpl<CpSolverResponse>(), &CpSolverResponse::ByteSizeLong,
13604#endif // PROTOBUF_CUSTOM_VTABLE
13605 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_._cached_size_),
13606 false,
13607 },
13608 &CpSolverResponse::kDescriptorMethods,
13610 nullptr, // tracker
13611 };
13612}
13613
13614PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
13615 ::google::protobuf::internal::ClassDataFull CpSolverResponse_class_data_ =
13617
13618PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
13619CpSolverResponse::GetClassData() const {
13620 ::google::protobuf::internal::PrefetchToLocalCache(&CpSolverResponse_class_data_);
13621 ::google::protobuf::internal::PrefetchToLocalCache(CpSolverResponse_class_data_.tc_table);
13622 return CpSolverResponse_class_data_.base();
13623}
13624PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
13625const ::_pbi::TcParseTable<5, 24, 3, 95, 2>
13626CpSolverResponse::_table_ = {
13627 {
13628 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_._has_bits_),
13629 0, // no _extensions_
13630 31, 248, // max_field_number, fast_idx_mask
13631 offsetof(decltype(_table_), field_lookup_table),
13632 2147877360, // skipmap
13633 offsetof(decltype(_table_), field_entries),
13634 24, // num_field_entries
13635 3, // num_aux_entries
13636 offsetof(decltype(_table_), aux_entries),
13638 nullptr, // post_loop_handler
13639 ::_pbi::TcParser::GenericFallback, // fallback
13640 #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
13641 ::_pbi::TcParser::GetTable<::operations_research::sat::CpSolverResponse>(), // to_prefetch
13642 #endif // PROTOBUF_PREFETCH_PARSE_TABLE
13643 }, {{
13644 {::_pbi::TcParser::MiniParse, {}},
13645 // .operations_research.sat.CpSolverStatus status = 1;
13646 {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CpSolverResponse, _impl_.status_), 23>(),
13647 {8, 23, 0,
13648 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.status_)}},
13649 // repeated int64 solution = 2;
13650 {::_pbi::TcParser::FastV64P1,
13651 {18, 0, 0,
13652 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.solution_)}},
13653 // double objective_value = 3;
13654 {::_pbi::TcParser::FastF64S1,
13655 {25, 7, 0,
13656 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.objective_value_)}},
13657 // double best_objective_bound = 4;
13658 {::_pbi::TcParser::FastF64S1,
13659 {33, 8, 0,
13660 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.best_objective_bound_)}},
13661 {::_pbi::TcParser::MiniParse, {}},
13662 {::_pbi::TcParser::MiniParse, {}},
13663 {::_pbi::TcParser::MiniParse, {}},
13664 {::_pbi::TcParser::MiniParse, {}},
13665 {::_pbi::TcParser::MiniParse, {}},
13666 // int64 num_booleans = 10;
13667 {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(CpSolverResponse, _impl_.num_booleans_), 9>(),
13668 {80, 9, 0,
13669 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.num_booleans_)}},
13670 // int64 num_conflicts = 11;
13671 {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(CpSolverResponse, _impl_.num_conflicts_), 10>(),
13672 {88, 10, 0,
13673 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.num_conflicts_)}},
13674 // int64 num_branches = 12;
13675 {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(CpSolverResponse, _impl_.num_branches_), 11>(),
13676 {96, 11, 0,
13677 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.num_branches_)}},
13678 // int64 num_binary_propagations = 13;
13679 {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(CpSolverResponse, _impl_.num_binary_propagations_), 12>(),
13680 {104, 12, 0,
13681 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.num_binary_propagations_)}},
13682 // int64 num_integer_propagations = 14;
13683 {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(CpSolverResponse, _impl_.num_integer_propagations_), 13>(),
13684 {112, 13, 0,
13685 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.num_integer_propagations_)}},
13686 // double wall_time = 15;
13687 {::_pbi::TcParser::FastF64S1,
13688 {121, 14, 0,
13689 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.wall_time_)}},
13690 // double user_time = 16;
13691 {::_pbi::TcParser::FastF64S2,
13692 {385, 15, 0,
13693 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.user_time_)}},
13694 // double deterministic_time = 17;
13695 {::_pbi::TcParser::FastF64S2,
13696 {393, 16, 0,
13697 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.deterministic_time_)}},
13698 {::_pbi::TcParser::MiniParse, {}},
13699 {::_pbi::TcParser::MiniParse, {}},
13700 // string solution_info = 20;
13701 {::_pbi::TcParser::FastUS2,
13702 {418, 4, 0,
13703 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.solution_info_)}},
13704 // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
13705 {::_pbi::TcParser::FastMtR2,
13706 {426, 1, 0,
13707 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.tightened_variables_)}},
13708 // double gap_integral = 22;
13709 {::_pbi::TcParser::FastF64S2,
13710 {433, 17, 0,
13711 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.gap_integral_)}},
13712 // repeated int32 sufficient_assumptions_for_infeasibility = 23;
13713 {::_pbi::TcParser::FastV32P2,
13714 {442, 2, 0,
13715 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.sufficient_assumptions_for_infeasibility_)}},
13716 // int64 num_restarts = 24;
13717 {::_pbi::TcParser::FastV64S2,
13718 {448, 18, 0,
13719 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.num_restarts_)}},
13720 // int64 num_lp_iterations = 25;
13721 {::_pbi::TcParser::FastV64S2,
13722 {456, 19, 0,
13723 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.num_lp_iterations_)}},
13724 // string solve_log = 26;
13725 {::_pbi::TcParser::FastUS2,
13726 {466, 5, 0,
13727 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.solve_log_)}},
13728 // repeated .operations_research.sat.CpSolverSolution additional_solutions = 27;
13729 {::_pbi::TcParser::FastMtR2,
13730 {474, 3, 1,
13731 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.additional_solutions_)}},
13732 // .operations_research.sat.CpObjectiveProto integer_objective = 28;
13733 {::_pbi::TcParser::FastMtS2,
13734 {482, 6, 2,
13735 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.integer_objective_)}},
13736 // int64 inner_objective_lower_bound = 29;
13737 {::_pbi::TcParser::FastV64S2,
13738 {488, 20, 0,
13739 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.inner_objective_lower_bound_)}},
13740 // int64 num_integers = 30;
13741 {::_pbi::TcParser::FastV64S2,
13742 {496, 21, 0,
13743 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.num_integers_)}},
13744 // int64 num_fixed_booleans = 31;
13745 {::_pbi::TcParser::FastV64S2,
13746 {504, 22, 0,
13747 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.num_fixed_booleans_)}},
13748 }}, {{
13749 65535, 65535
13750 }}, {{
13751 // .operations_research.sat.CpSolverStatus status = 1;
13752 {PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.status_), _Internal::kHasBitsOffset + 23, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
13753 // repeated int64 solution = 2;
13754 {PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.solution_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt64)},
13755 // double objective_value = 3;
13756 {PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.objective_value_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
13757 // double best_objective_bound = 4;
13758 {PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.best_objective_bound_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
13759 // int64 num_booleans = 10;
13760 {PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.num_booleans_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
13761 // int64 num_conflicts = 11;
13762 {PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.num_conflicts_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
13763 // int64 num_branches = 12;
13764 {PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.num_branches_), _Internal::kHasBitsOffset + 11, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
13765 // int64 num_binary_propagations = 13;
13766 {PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.num_binary_propagations_), _Internal::kHasBitsOffset + 12, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
13767 // int64 num_integer_propagations = 14;
13768 {PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.num_integer_propagations_), _Internal::kHasBitsOffset + 13, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
13769 // double wall_time = 15;
13770 {PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.wall_time_), _Internal::kHasBitsOffset + 14, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
13771 // double user_time = 16;
13772 {PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.user_time_), _Internal::kHasBitsOffset + 15, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
13773 // double deterministic_time = 17;
13774 {PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.deterministic_time_), _Internal::kHasBitsOffset + 16, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
13775 // string solution_info = 20;
13776 {PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.solution_info_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
13777 // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
13778 {PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.tightened_variables_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
13779 // double gap_integral = 22;
13780 {PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.gap_integral_), _Internal::kHasBitsOffset + 17, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
13781 // repeated int32 sufficient_assumptions_for_infeasibility = 23;
13782 {PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.sufficient_assumptions_for_infeasibility_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
13783 // int64 num_restarts = 24;
13784 {PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.num_restarts_), _Internal::kHasBitsOffset + 18, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
13785 // int64 num_lp_iterations = 25;
13786 {PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.num_lp_iterations_), _Internal::kHasBitsOffset + 19, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
13787 // string solve_log = 26;
13788 {PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.solve_log_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
13789 // repeated .operations_research.sat.CpSolverSolution additional_solutions = 27;
13790 {PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.additional_solutions_), _Internal::kHasBitsOffset + 3, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
13791 // .operations_research.sat.CpObjectiveProto integer_objective = 28;
13792 {PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.integer_objective_), _Internal::kHasBitsOffset + 6, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
13793 // int64 inner_objective_lower_bound = 29;
13794 {PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.inner_objective_lower_bound_), _Internal::kHasBitsOffset + 20, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
13795 // int64 num_integers = 30;
13796 {PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.num_integers_), _Internal::kHasBitsOffset + 21, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
13797 // int64 num_fixed_booleans = 31;
13798 {PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.num_fixed_booleans_), _Internal::kHasBitsOffset + 22, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
13799 }},
13800 {{
13801 {::_pbi::TcParser::GetTable<::operations_research::sat::IntegerVariableProto>()},
13802 {::_pbi::TcParser::GetTable<::operations_research::sat::CpSolverSolution>()},
13803 {::_pbi::TcParser::GetTable<::operations_research::sat::CpObjectiveProto>()},
13804 }},
13805 {{
13806 "\50\0\0\0\0\0\0\0\0\0\0\0\0\15\0\0\0\0\0\11\0\0\0\0\0\0\0\0\0\0\0\0"
13807 "operations_research.sat.CpSolverResponse"
13808 "solution_info"
13809 "solve_log"
13810 }},
13811};
13812PROTOBUF_NOINLINE void CpSolverResponse::Clear() {
13813// @@protoc_insertion_point(message_clear_start:operations_research.sat.CpSolverResponse)
13814 ::google::protobuf::internal::TSanWrite(&_impl_);
13815 ::uint32_t cached_has_bits = 0;
13816 // Prevent compiler warnings about cached_has_bits being unused
13817 (void) cached_has_bits;
13818
13819 cached_has_bits = _impl_._has_bits_[0];
13820 if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
13821 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
13822 _impl_.solution_.Clear();
13823 }
13824 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
13825 _impl_.tightened_variables_.Clear();
13826 }
13827 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
13828 _impl_.sufficient_assumptions_for_infeasibility_.Clear();
13829 }
13830 if (CheckHasBitForRepeated(cached_has_bits, 0x00000008U)) {
13831 _impl_.additional_solutions_.Clear();
13832 }
13833 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
13834 _impl_.solution_info_.ClearNonDefaultToEmpty();
13835 }
13836 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
13837 _impl_.solve_log_.ClearNonDefaultToEmpty();
13838 }
13839 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
13840 ABSL_DCHECK(_impl_.integer_objective_ != nullptr);
13841 _impl_.integer_objective_->Clear();
13843 }
13844 _impl_.objective_value_ = 0;
13845 if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
13846 ::memset(&_impl_.best_objective_bound_, 0, static_cast<::size_t>(
13847 reinterpret_cast<char*>(&_impl_.user_time_) -
13848 reinterpret_cast<char*>(&_impl_.best_objective_bound_)) + sizeof(_impl_.user_time_));
13849 }
13850 if (BatchCheckHasBit(cached_has_bits, 0x00ff0000U)) {
13851 ::memset(&_impl_.deterministic_time_, 0, static_cast<::size_t>(
13852 reinterpret_cast<char*>(&_impl_.status_) -
13853 reinterpret_cast<char*>(&_impl_.deterministic_time_)) + sizeof(_impl_.status_));
13854 }
13855 _impl_._has_bits_.Clear();
13856 _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
13857}
13858
13859#if defined(PROTOBUF_CUSTOM_VTABLE)
13860::uint8_t* PROTOBUF_NONNULL CpSolverResponse::_InternalSerialize(
13861 const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
13862 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
13863 const CpSolverResponse& this_ = static_cast<const CpSolverResponse&>(base);
13864#else // PROTOBUF_CUSTOM_VTABLE
13865::uint8_t* PROTOBUF_NONNULL CpSolverResponse::_InternalSerialize(
13866 ::uint8_t* PROTOBUF_NONNULL target,
13867 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
13868 const CpSolverResponse& this_ = *this;
13869#endif // PROTOBUF_CUSTOM_VTABLE
13870 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
13871 this_.CheckHasBitConsistency();
13872 }
13873 // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.CpSolverResponse)
13874 ::uint32_t cached_has_bits = 0;
13875 (void)cached_has_bits;
13876
13877 cached_has_bits = this_._impl_._has_bits_[0];
13878 // .operations_research.sat.CpSolverStatus status = 1;
13879 if (CheckHasBit(cached_has_bits, 0x00800000U)) {
13880 if (this_._internal_status() != 0) {
13881 target = stream->EnsureSpace(target);
13882 target = ::_pbi::WireFormatLite::WriteEnumToArray(
13883 1, this_._internal_status(), target);
13884 }
13885 }
13886
13887 // repeated int64 solution = 2;
13888 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
13889 {
13890 int byte_size = this_._impl_._solution_cached_byte_size_.Get();
13891 if (byte_size > 0) {
13892 target = stream->WriteInt64Packed(
13893 2, this_._internal_solution(), byte_size, target);
13894 }
13896 }
13897
13898 // double objective_value = 3;
13899 if (CheckHasBit(cached_has_bits, 0x00000080U)) {
13900 if (::absl::bit_cast<::uint64_t>(this_._internal_objective_value()) != 0) {
13901 target = stream->EnsureSpace(target);
13902 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
13903 3, this_._internal_objective_value(), target);
13904 }
13905 }
13906
13907 // double best_objective_bound = 4;
13908 if (CheckHasBit(cached_has_bits, 0x00000100U)) {
13909 if (::absl::bit_cast<::uint64_t>(this_._internal_best_objective_bound()) != 0) {
13910 target = stream->EnsureSpace(target);
13911 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
13912 4, this_._internal_best_objective_bound(), target);
13913 }
13914 }
13915
13916 // int64 num_booleans = 10;
13917 if (CheckHasBit(cached_has_bits, 0x00000200U)) {
13918 if (this_._internal_num_booleans() != 0) {
13919 target =
13920 ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<10>(
13921 stream, this_._internal_num_booleans(), target);
13922 }
13923 }
13924
13925 // int64 num_conflicts = 11;
13926 if (CheckHasBit(cached_has_bits, 0x00000400U)) {
13927 if (this_._internal_num_conflicts() != 0) {
13928 target =
13929 ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<11>(
13930 stream, this_._internal_num_conflicts(), target);
13931 }
13932 }
13933
13934 // int64 num_branches = 12;
13935 if (CheckHasBit(cached_has_bits, 0x00000800U)) {
13936 if (this_._internal_num_branches() != 0) {
13937 target =
13938 ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<12>(
13939 stream, this_._internal_num_branches(), target);
13940 }
13941 }
13942
13943 // int64 num_binary_propagations = 13;
13944 if (CheckHasBit(cached_has_bits, 0x00001000U)) {
13945 if (this_._internal_num_binary_propagations() != 0) {
13946 target =
13947 ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<13>(
13948 stream, this_._internal_num_binary_propagations(), target);
13949 }
13950 }
13951
13952 // int64 num_integer_propagations = 14;
13953 if (CheckHasBit(cached_has_bits, 0x00002000U)) {
13954 if (this_._internal_num_integer_propagations() != 0) {
13955 target =
13956 ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<14>(
13957 stream, this_._internal_num_integer_propagations(), target);
13958 }
13959 }
13960
13961 // double wall_time = 15;
13962 if (CheckHasBit(cached_has_bits, 0x00004000U)) {
13963 if (::absl::bit_cast<::uint64_t>(this_._internal_wall_time()) != 0) {
13964 target = stream->EnsureSpace(target);
13965 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
13966 15, this_._internal_wall_time(), target);
13967 }
13968 }
13969
13970 // double user_time = 16;
13971 if (CheckHasBit(cached_has_bits, 0x00008000U)) {
13972 if (::absl::bit_cast<::uint64_t>(this_._internal_user_time()) != 0) {
13973 target = stream->EnsureSpace(target);
13974 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
13975 16, this_._internal_user_time(), target);
13976 }
13977 }
13978
13979 // double deterministic_time = 17;
13980 if (CheckHasBit(cached_has_bits, 0x00010000U)) {
13981 if (::absl::bit_cast<::uint64_t>(this_._internal_deterministic_time()) != 0) {
13982 target = stream->EnsureSpace(target);
13983 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
13984 17, this_._internal_deterministic_time(), target);
13985 }
13986 }
13987
13988 // string solution_info = 20;
13989 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
13990 if (!this_._internal_solution_info().empty()) {
13991 const ::std::string& _s = this_._internal_solution_info();
13992 ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
13993 _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "operations_research.sat.CpSolverResponse.solution_info");
13994 target = stream->WriteStringMaybeAliased(20, _s, target);
13995 }
13996 }
13997
13998 // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
13999 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
14000 for (unsigned i = 0, n = static_cast<unsigned>(
14001 this_._internal_tightened_variables_size());
14002 i < n; i++) {
14003 const auto& repfield = this_._internal_tightened_variables().Get(i);
14004 target =
14005 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
14006 21, repfield, repfield.GetCachedSize(),
14007 target, stream);
14008 }
14009 }
14010
14011 // double gap_integral = 22;
14012 if (CheckHasBit(cached_has_bits, 0x00020000U)) {
14013 if (::absl::bit_cast<::uint64_t>(this_._internal_gap_integral()) != 0) {
14014 target = stream->EnsureSpace(target);
14015 target = ::_pbi::WireFormatLite::WriteDoubleToArray(
14016 22, this_._internal_gap_integral(), target);
14017 }
14018 }
14019
14020 // repeated int32 sufficient_assumptions_for_infeasibility = 23;
14021 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
14022 {
14023 int byte_size = this_._impl_._sufficient_assumptions_for_infeasibility_cached_byte_size_.Get();
14024 if (byte_size > 0) {
14025 target = stream->WriteInt32Packed(
14026 23, this_._internal_sufficient_assumptions_for_infeasibility(), byte_size, target);
14027 }
14028 }
14029 }
14030
14031 // int64 num_restarts = 24;
14032 if (CheckHasBit(cached_has_bits, 0x00040000U)) {
14033 if (this_._internal_num_restarts() != 0) {
14034 target = stream->EnsureSpace(target);
14035 target = ::_pbi::WireFormatLite::WriteInt64ToArray(
14036 24, this_._internal_num_restarts(), target);
14037 }
14038 }
14039
14040 // int64 num_lp_iterations = 25;
14041 if (CheckHasBit(cached_has_bits, 0x00080000U)) {
14042 if (this_._internal_num_lp_iterations() != 0) {
14043 target = stream->EnsureSpace(target);
14044 target = ::_pbi::WireFormatLite::WriteInt64ToArray(
14045 25, this_._internal_num_lp_iterations(), target);
14046 }
14047 }
14048
14049 // string solve_log = 26;
14050 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
14051 if (!this_._internal_solve_log().empty()) {
14052 const ::std::string& _s = this_._internal_solve_log();
14053 ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
14054 _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "operations_research.sat.CpSolverResponse.solve_log");
14055 target = stream->WriteStringMaybeAliased(26, _s, target);
14056 }
14057 }
14058
14059 // repeated .operations_research.sat.CpSolverSolution additional_solutions = 27;
14060 if (CheckHasBitForRepeated(cached_has_bits, 0x00000008U)) {
14061 for (unsigned i = 0, n = static_cast<unsigned>(
14062 this_._internal_additional_solutions_size());
14063 i < n; i++) {
14064 const auto& repfield = this_._internal_additional_solutions().Get(i);
14065 target =
14066 ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
14067 27, repfield, repfield.GetCachedSize(),
14068 target, stream);
14069 }
14070 }
14071
14072 // .operations_research.sat.CpObjectiveProto integer_objective = 28;
14073 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
14074 target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
14075 28, *this_._impl_.integer_objective_, this_._impl_.integer_objective_->GetCachedSize(), target,
14076 stream);
14077 }
14078
14079 // int64 inner_objective_lower_bound = 29;
14080 if (CheckHasBit(cached_has_bits, 0x00100000U)) {
14081 if (this_._internal_inner_objective_lower_bound() != 0) {
14082 target = stream->EnsureSpace(target);
14083 target = ::_pbi::WireFormatLite::WriteInt64ToArray(
14084 29, this_._internal_inner_objective_lower_bound(), target);
14085 }
14086 }
14087
14088 // int64 num_integers = 30;
14089 if (CheckHasBit(cached_has_bits, 0x00200000U)) {
14090 if (this_._internal_num_integers() != 0) {
14091 target = stream->EnsureSpace(target);
14092 target = ::_pbi::WireFormatLite::WriteInt64ToArray(
14093 30, this_._internal_num_integers(), target);
14094 }
14095 }
14096
14097 // int64 num_fixed_booleans = 31;
14098 if (CheckHasBit(cached_has_bits, 0x00400000U)) {
14099 if (this_._internal_num_fixed_booleans() != 0) {
14100 target = stream->EnsureSpace(target);
14101 target = ::_pbi::WireFormatLite::WriteInt64ToArray(
14102 31, this_._internal_num_fixed_booleans(), target);
14103 }
14104 }
14105
14106 if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
14107 target =
14108 ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
14109 this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
14110 }
14111 // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.CpSolverResponse)
14112 return target;
14113}
14114
14115#if defined(PROTOBUF_CUSTOM_VTABLE)
14116::size_t CpSolverResponse::ByteSizeLong(const MessageLite& base) {
14117 const CpSolverResponse& this_ = static_cast<const CpSolverResponse&>(base);
14118#else // PROTOBUF_CUSTOM_VTABLE
14119::size_t CpSolverResponse::ByteSizeLong() const {
14120 const CpSolverResponse& this_ = *this;
14121#endif // PROTOBUF_CUSTOM_VTABLE
14122 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.CpSolverResponse)
14123 ::size_t total_size = 0;
14124
14125 ::uint32_t cached_has_bits = 0;
14126 // Prevent compiler warnings about cached_has_bits being unused
14127 (void)cached_has_bits;
14128
14129 ::_pbi::Prefetch5LinesFrom7Lines(&this_);
14130 cached_has_bits = this_._impl_._has_bits_[0];
14131 if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
14132 // repeated int64 solution = 2;
14133 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
14134 total_size +=
14135 ::_pbi::WireFormatLite::Int64SizeWithPackedTagSize(
14136 this_._internal_solution(), 1,
14137 this_._impl_._solution_cached_byte_size_);
14138 }
14139 // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
14140 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
14141 total_size += 2UL * this_._internal_tightened_variables_size();
14142 for (const auto& msg : this_._internal_tightened_variables()) {
14143 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
14144 }
14145 }
14146 // repeated int32 sufficient_assumptions_for_infeasibility = 23;
14147 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
14148 total_size +=
14149 ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
14150 this_._internal_sufficient_assumptions_for_infeasibility(), 2,
14151 this_._impl_._sufficient_assumptions_for_infeasibility_cached_byte_size_);
14152 }
14153 // repeated .operations_research.sat.CpSolverSolution additional_solutions = 27;
14154 if (CheckHasBitForRepeated(cached_has_bits, 0x00000008U)) {
14155 total_size += 2UL * this_._internal_additional_solutions_size();
14156 for (const auto& msg : this_._internal_additional_solutions()) {
14157 total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
14158 }
14159 }
14160 // string solution_info = 20;
14161 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
14162 if (!this_._internal_solution_info().empty()) {
14163 total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
14164 this_._internal_solution_info());
14165 }
14166 }
14167 // string solve_log = 26;
14168 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
14169 if (!this_._internal_solve_log().empty()) {
14170 total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
14171 this_._internal_solve_log());
14172 }
14173 }
14174 // .operations_research.sat.CpObjectiveProto integer_objective = 28;
14175 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
14176 total_size += 2 +
14177 ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.integer_objective_);
14178 }
14179 // double objective_value = 3;
14180 if (CheckHasBit(cached_has_bits, 0x00000080U)) {
14181 if (::absl::bit_cast<::uint64_t>(this_._internal_objective_value()) != 0) {
14182 total_size += 9;
14183 }
14184 }
14185 }
14186 if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
14187 // double best_objective_bound = 4;
14188 if (CheckHasBit(cached_has_bits, 0x00000100U)) {
14189 if (::absl::bit_cast<::uint64_t>(this_._internal_best_objective_bound()) != 0) {
14190 total_size += 9;
14191 }
14192 }
14193 // int64 num_booleans = 10;
14194 if (CheckHasBit(cached_has_bits, 0x00000200U)) {
14195 if (this_._internal_num_booleans() != 0) {
14196 total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
14197 this_._internal_num_booleans());
14198 }
14199 }
14200 // int64 num_conflicts = 11;
14201 if (CheckHasBit(cached_has_bits, 0x00000400U)) {
14202 if (this_._internal_num_conflicts() != 0) {
14203 total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
14204 this_._internal_num_conflicts());
14205 }
14206 }
14207 // int64 num_branches = 12;
14208 if (CheckHasBit(cached_has_bits, 0x00000800U)) {
14209 if (this_._internal_num_branches() != 0) {
14210 total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
14211 this_._internal_num_branches());
14212 }
14213 }
14214 // int64 num_binary_propagations = 13;
14215 if (CheckHasBit(cached_has_bits, 0x00001000U)) {
14216 if (this_._internal_num_binary_propagations() != 0) {
14217 total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
14218 this_._internal_num_binary_propagations());
14219 }
14220 }
14221 // int64 num_integer_propagations = 14;
14222 if (CheckHasBit(cached_has_bits, 0x00002000U)) {
14223 if (this_._internal_num_integer_propagations() != 0) {
14224 total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
14225 this_._internal_num_integer_propagations());
14226 }
14227 }
14228 // double wall_time = 15;
14229 if (CheckHasBit(cached_has_bits, 0x00004000U)) {
14230 if (::absl::bit_cast<::uint64_t>(this_._internal_wall_time()) != 0) {
14231 total_size += 9;
14232 }
14233 }
14234 // double user_time = 16;
14235 if (CheckHasBit(cached_has_bits, 0x00008000U)) {
14236 if (::absl::bit_cast<::uint64_t>(this_._internal_user_time()) != 0) {
14237 total_size += 10;
14238 }
14239 }
14240 }
14241 if (BatchCheckHasBit(cached_has_bits, 0x00ff0000U)) {
14242 // double deterministic_time = 17;
14243 if (CheckHasBit(cached_has_bits, 0x00010000U)) {
14244 if (::absl::bit_cast<::uint64_t>(this_._internal_deterministic_time()) != 0) {
14245 total_size += 10;
14246 }
14247 }
14248 // double gap_integral = 22;
14249 if (CheckHasBit(cached_has_bits, 0x00020000U)) {
14250 if (::absl::bit_cast<::uint64_t>(this_._internal_gap_integral()) != 0) {
14251 total_size += 10;
14252 }
14253 }
14254 // int64 num_restarts = 24;
14255 if (CheckHasBit(cached_has_bits, 0x00040000U)) {
14256 if (this_._internal_num_restarts() != 0) {
14257 total_size += 2 + ::_pbi::WireFormatLite::Int64Size(
14258 this_._internal_num_restarts());
14259 }
14260 }
14261 // int64 num_lp_iterations = 25;
14262 if (CheckHasBit(cached_has_bits, 0x00080000U)) {
14263 if (this_._internal_num_lp_iterations() != 0) {
14264 total_size += 2 + ::_pbi::WireFormatLite::Int64Size(
14265 this_._internal_num_lp_iterations());
14266 }
14267 }
14268 // int64 inner_objective_lower_bound = 29;
14269 if (CheckHasBit(cached_has_bits, 0x00100000U)) {
14270 if (this_._internal_inner_objective_lower_bound() != 0) {
14271 total_size += 2 + ::_pbi::WireFormatLite::Int64Size(
14272 this_._internal_inner_objective_lower_bound());
14273 }
14274 }
14275 // int64 num_integers = 30;
14276 if (CheckHasBit(cached_has_bits, 0x00200000U)) {
14277 if (this_._internal_num_integers() != 0) {
14278 total_size += 2 + ::_pbi::WireFormatLite::Int64Size(
14279 this_._internal_num_integers());
14280 }
14281 }
14282 // int64 num_fixed_booleans = 31;
14283 if (CheckHasBit(cached_has_bits, 0x00400000U)) {
14284 if (this_._internal_num_fixed_booleans() != 0) {
14285 total_size += 2 + ::_pbi::WireFormatLite::Int64Size(
14286 this_._internal_num_fixed_booleans());
14287 }
14288 }
14289 // .operations_research.sat.CpSolverStatus status = 1;
14290 if (CheckHasBit(cached_has_bits, 0x00800000U)) {
14291 if (this_._internal_status() != 0) {
14292 total_size += 1 +
14293 ::_pbi::WireFormatLite::EnumSize(this_._internal_status());
14294 }
14295 }
14296 }
14297 return this_.MaybeComputeUnknownFieldsSize(total_size,
14298 &this_._impl_._cached_size_);
14299}
14300
14301void CpSolverResponse::MergeImpl(::google::protobuf::MessageLite& to_msg,
14302 const ::google::protobuf::MessageLite& from_msg) {
14303 auto* const _this =
14304 static_cast<CpSolverResponse*>(&to_msg);
14305 auto& from = static_cast<const CpSolverResponse&>(from_msg);
14306 if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
14307 from.CheckHasBitConsistency();
14308 }
14309 ::google::protobuf::Arena* arena = _this->GetArena();
14310 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.CpSolverResponse)
14311 ABSL_DCHECK_NE(&from, _this);
14312 ::uint32_t cached_has_bits = 0;
14313 (void)cached_has_bits;
14314
14315 cached_has_bits = from._impl_._has_bits_[0];
14316 if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
14317 if (CheckHasBitForRepeated(cached_has_bits, 0x00000001U)) {
14318 _this->_internal_mutable_solution()->MergeFrom(from._internal_solution());
14319 }
14320 if (CheckHasBitForRepeated(cached_has_bits, 0x00000002U)) {
14321 _this->_internal_mutable_tightened_variables()->InternalMergeFromWithArena(
14322 ::google::protobuf::MessageLite::internal_visibility(), arena,
14323 from._internal_tightened_variables());
14324 }
14325 if (CheckHasBitForRepeated(cached_has_bits, 0x00000004U)) {
14326 _this->_internal_mutable_sufficient_assumptions_for_infeasibility()->MergeFrom(from._internal_sufficient_assumptions_for_infeasibility());
14327 }
14328 if (CheckHasBitForRepeated(cached_has_bits, 0x00000008U)) {
14329 _this->_internal_mutable_additional_solutions()->InternalMergeFromWithArena(
14330 ::google::protobuf::MessageLite::internal_visibility(), arena,
14331 from._internal_additional_solutions());
14332 }
14333 if (CheckHasBit(cached_has_bits, 0x00000010U)) {
14334 if (!from._internal_solution_info().empty()) {
14335 _this->_internal_set_solution_info(from._internal_solution_info());
14336 } else {
14337 if (_this->_impl_.solution_info_.IsDefault()) {
14338 _this->_internal_set_solution_info("");
14339 }
14340 }
14341 }
14342 if (CheckHasBit(cached_has_bits, 0x00000020U)) {
14343 if (!from._internal_solve_log().empty()) {
14344 _this->_internal_set_solve_log(from._internal_solve_log());
14345 } else {
14346 if (_this->_impl_.solve_log_.IsDefault()) {
14347 _this->_internal_set_solve_log("");
14348 }
14349 }
14350 }
14351 if (CheckHasBit(cached_has_bits, 0x00000040U)) {
14352 ABSL_DCHECK(from._impl_.integer_objective_ != nullptr);
14353 if (_this->_impl_.integer_objective_ == nullptr) {
14354 _this->_impl_.integer_objective_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.integer_objective_);
14355 } else {
14356 _this->_impl_.integer_objective_->MergeFrom(*from._impl_.integer_objective_);
14357 }
14358 }
14359 if (CheckHasBit(cached_has_bits, 0x00000080U)) {
14360 if (::absl::bit_cast<::uint64_t>(from._internal_objective_value()) != 0) {
14361 _this->_impl_.objective_value_ = from._impl_.objective_value_;
14362 }
14363 }
14364 }
14365 if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
14366 if (CheckHasBit(cached_has_bits, 0x00000100U)) {
14367 if (::absl::bit_cast<::uint64_t>(from._internal_best_objective_bound()) != 0) {
14368 _this->_impl_.best_objective_bound_ = from._impl_.best_objective_bound_;
14369 }
14370 }
14371 if (CheckHasBit(cached_has_bits, 0x00000200U)) {
14372 if (from._internal_num_booleans() != 0) {
14373 _this->_impl_.num_booleans_ = from._impl_.num_booleans_;
14374 }
14375 }
14376 if (CheckHasBit(cached_has_bits, 0x00000400U)) {
14377 if (from._internal_num_conflicts() != 0) {
14378 _this->_impl_.num_conflicts_ = from._impl_.num_conflicts_;
14379 }
14380 }
14381 if (CheckHasBit(cached_has_bits, 0x00000800U)) {
14382 if (from._internal_num_branches() != 0) {
14383 _this->_impl_.num_branches_ = from._impl_.num_branches_;
14384 }
14385 }
14386 if (CheckHasBit(cached_has_bits, 0x00001000U)) {
14387 if (from._internal_num_binary_propagations() != 0) {
14388 _this->_impl_.num_binary_propagations_ = from._impl_.num_binary_propagations_;
14389 }
14390 }
14391 if (CheckHasBit(cached_has_bits, 0x00002000U)) {
14392 if (from._internal_num_integer_propagations() != 0) {
14393 _this->_impl_.num_integer_propagations_ = from._impl_.num_integer_propagations_;
14394 }
14395 }
14396 if (CheckHasBit(cached_has_bits, 0x00004000U)) {
14397 if (::absl::bit_cast<::uint64_t>(from._internal_wall_time()) != 0) {
14398 _this->_impl_.wall_time_ = from._impl_.wall_time_;
14399 }
14400 }
14401 if (CheckHasBit(cached_has_bits, 0x00008000U)) {
14402 if (::absl::bit_cast<::uint64_t>(from._internal_user_time()) != 0) {
14403 _this->_impl_.user_time_ = from._impl_.user_time_;
14404 }
14405 }
14406 }
14407 if (BatchCheckHasBit(cached_has_bits, 0x00ff0000U)) {
14408 if (CheckHasBit(cached_has_bits, 0x00010000U)) {
14409 if (::absl::bit_cast<::uint64_t>(from._internal_deterministic_time()) != 0) {
14410 _this->_impl_.deterministic_time_ = from._impl_.deterministic_time_;
14411 }
14412 }
14413 if (CheckHasBit(cached_has_bits, 0x00020000U)) {
14414 if (::absl::bit_cast<::uint64_t>(from._internal_gap_integral()) != 0) {
14415 _this->_impl_.gap_integral_ = from._impl_.gap_integral_;
14416 }
14417 }
14418 if (CheckHasBit(cached_has_bits, 0x00040000U)) {
14419 if (from._internal_num_restarts() != 0) {
14420 _this->_impl_.num_restarts_ = from._impl_.num_restarts_;
14421 }
14422 }
14423 if (CheckHasBit(cached_has_bits, 0x00080000U)) {
14424 if (from._internal_num_lp_iterations() != 0) {
14425 _this->_impl_.num_lp_iterations_ = from._impl_.num_lp_iterations_;
14426 }
14427 }
14428 if (CheckHasBit(cached_has_bits, 0x00100000U)) {
14429 if (from._internal_inner_objective_lower_bound() != 0) {
14430 _this->_impl_.inner_objective_lower_bound_ = from._impl_.inner_objective_lower_bound_;
14431 }
14432 }
14433 if (CheckHasBit(cached_has_bits, 0x00200000U)) {
14434 if (from._internal_num_integers() != 0) {
14435 _this->_impl_.num_integers_ = from._impl_.num_integers_;
14436 }
14437 }
14438 if (CheckHasBit(cached_has_bits, 0x00400000U)) {
14439 if (from._internal_num_fixed_booleans() != 0) {
14440 _this->_impl_.num_fixed_booleans_ = from._impl_.num_fixed_booleans_;
14441 }
14442 }
14443 if (CheckHasBit(cached_has_bits, 0x00800000U)) {
14444 if (from._internal_status() != 0) {
14445 _this->_impl_.status_ = from._impl_.status_;
14446 }
14447 }
14448 }
14449 _this->_impl_._has_bits_[0] |= cached_has_bits;
14450 _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
14451 from._internal_metadata_);
14452}
14453
14454void CpSolverResponse::CopyFrom(const CpSolverResponse& from) {
14455 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.CpSolverResponse)
14456 if (&from == this) return;
14457 Clear();
14458 MergeFrom(from);
14459}
14460
14461
14462void CpSolverResponse::InternalSwap(CpSolverResponse* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
14463 using ::std::swap;
14464 auto* arena = GetArena();
14465 ABSL_DCHECK_EQ(arena, other->GetArena());
14466 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
14467 swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
14468 _impl_.solution_.InternalSwap(&other->_impl_.solution_);
14469 _impl_.tightened_variables_.InternalSwap(&other->_impl_.tightened_variables_);
14470 _impl_.sufficient_assumptions_for_infeasibility_.InternalSwap(&other->_impl_.sufficient_assumptions_for_infeasibility_);
14471 _impl_.additional_solutions_.InternalSwap(&other->_impl_.additional_solutions_);
14472 ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.solution_info_, &other->_impl_.solution_info_, arena);
14473 ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.solve_log_, &other->_impl_.solve_log_, arena);
14474 ::google::protobuf::internal::memswap<
14475 PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.status_)
14476 + sizeof(CpSolverResponse::_impl_.status_)
14477 - PROTOBUF_FIELD_OFFSET(CpSolverResponse, _impl_.integer_objective_)>(
14478 reinterpret_cast<char*>(&_impl_.integer_objective_),
14479 reinterpret_cast<char*>(&other->_impl_.integer_objective_));
14480}
14481
14482::google::protobuf::Metadata CpSolverResponse::GetMetadata() const {
14483 return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
14485// @@protoc_insertion_point(namespace_scope)
14486} // namespace sat
14487} // namespace operations_research
14488namespace google {
14489namespace protobuf {
14490} // namespace protobuf
14491} // namespace google
14492// @@protoc_insertion_point(global_scope)
14493PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::std::false_type
14494 _static_init2_ [[maybe_unused]] =
14496 ::std::false_type{});
14497#include "google/protobuf/port_undef.inc"
static PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 ::std::false_type _static_init2_
static const ::_pb::Message *PROTOBUF_NONNULL const file_default_instances[]
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void CopyFrom(const AllDifferentConstraintProto &from)
void MergeFrom(const AllDifferentConstraintProto &from)
::google::protobuf::Metadata GetMetadata() const
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
friend class ::google::protobuf::MessageLite
void CopyFrom(const AutomatonConstraintProto &from)
::google::protobuf::Metadata GetMetadata() const
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void MergeFrom(const AutomatonConstraintProto &from)
friend void swap(AutomatonConstraintProto &a, AutomatonConstraintProto &b)
decltype(::std::declval< BoolArgumentProto >()._impl_._has_bits_) HasBits
friend class ::google::protobuf::MessageLite
void MergeFrom(const BoolArgumentProto &from)
::google::protobuf::Metadata GetMetadata() const
friend void swap(BoolArgumentProto &a, BoolArgumentProto &b)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
void CopyFrom(const BoolArgumentProto &from)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
friend class ::google::protobuf::Arena
static constexpr auto InternalGenerateClassData_()
friend class ::google::protobuf::MessageLite
friend void swap(CircuitConstraintProto &a, CircuitConstraintProto &b)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
::google::protobuf::Metadata GetMetadata() const
void MergeFrom(const CircuitConstraintProto &from)
void CopyFrom(const CircuitConstraintProto &from)
void set_allocated_automaton(::operations_research::sat::AutomatonConstraintProto *PROTOBUF_NULLABLE value)
void CopyFrom(const ConstraintProto &from)
void set_allocated_no_overlap_2d(::operations_research::sat::NoOverlap2DConstraintProto *PROTOBUF_NULLABLE value)
friend class ::google::protobuf::MessageLite
void set_allocated_at_most_one(::operations_research::sat::BoolArgumentProto *PROTOBUF_NULLABLE value)
void set_allocated_circuit(::operations_research::sat::CircuitConstraintProto *PROTOBUF_NULLABLE value)
void MergeFrom(const ConstraintProto &from)
void set_allocated_interval(::operations_research::sat::IntervalConstraintProto *PROTOBUF_NULLABLE value)
void set_allocated_routes(::operations_research::sat::RoutesConstraintProto *PROTOBUF_NULLABLE value)
friend void swap(ConstraintProto &a, ConstraintProto &b)
void set_allocated_exactly_one(::operations_research::sat::BoolArgumentProto *PROTOBUF_NULLABLE value)
void set_allocated_no_overlap(::operations_research::sat::NoOverlapConstraintProto *PROTOBUF_NULLABLE value)
void set_allocated_int_div(::operations_research::sat::LinearArgumentProto *PROTOBUF_NULLABLE value)
void set_allocated_table(::operations_research::sat::TableConstraintProto *PROTOBUF_NULLABLE value)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void set_allocated_int_prod(::operations_research::sat::LinearArgumentProto *PROTOBUF_NULLABLE value)
void set_allocated_int_mod(::operations_research::sat::LinearArgumentProto *PROTOBUF_NULLABLE value)
void set_allocated_bool_xor(::operations_research::sat::BoolArgumentProto *PROTOBUF_NULLABLE value)
void set_allocated_cumulative(::operations_research::sat::CumulativeConstraintProto *PROTOBUF_NULLABLE value)
const ::operations_research::sat::BoolArgumentProto & bool_and() const
static constexpr auto InternalGenerateClassData_()
void set_allocated_all_diff(::operations_research::sat::AllDifferentConstraintProto *PROTOBUF_NULLABLE value)
void set_allocated_inverse(::operations_research::sat::InverseConstraintProto *PROTOBUF_NULLABLE value)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
void set_allocated_linear(::operations_research::sat::LinearConstraintProto *PROTOBUF_NULLABLE value)
void set_allocated_bool_or(::operations_research::sat::BoolArgumentProto *PROTOBUF_NULLABLE value)
void set_allocated_element(::operations_research::sat::ElementConstraintProto *PROTOBUF_NULLABLE value)
::google::protobuf::Metadata GetMetadata() const
void set_allocated_lin_max(::operations_research::sat::LinearArgumentProto *PROTOBUF_NULLABLE value)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void set_allocated_reservoir(::operations_research::sat::ReservoirConstraintProto *PROTOBUF_NULLABLE value)
void set_allocated_dummy_constraint(::operations_research::sat::ListOfVariablesProto *PROTOBUF_NULLABLE value)
void set_allocated_bool_and(::operations_research::sat::BoolArgumentProto *PROTOBUF_NULLABLE value)
friend class ::google::protobuf::Arena
void CopyFrom(const CpModelProto &from)
friend class ::google::protobuf::MessageLite
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
static constexpr auto InternalGenerateClassData_()
void MergeFrom(const CpModelProto &from)
::google::protobuf::Metadata GetMetadata() const
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
friend class ::google::protobuf::MessageLite
void CopyFrom(const CpObjectiveProto &from)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
static constexpr auto InternalGenerateClassData_()
friend void swap(CpObjectiveProto &a, CpObjectiveProto &b)
::google::protobuf::Metadata GetMetadata() const
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void MergeFrom(const CpObjectiveProto &from)
friend class ::google::protobuf::Arena
friend class ::google::protobuf::MessageLite
::google::protobuf::Metadata GetMetadata() const
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
static constexpr auto InternalGenerateClassData_()
void CopyFrom(const CpSolverResponse &from)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
void MergeFrom(const CpSolverResponse &from)
friend void swap(CpSolverSolution &a, CpSolverSolution &b)
friend class ::google::protobuf::MessageLite
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
void CopyFrom(const CpSolverSolution &from)
static constexpr auto InternalGenerateClassData_()
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void MergeFrom(const CpSolverSolution &from)
::google::protobuf::Metadata GetMetadata() const
friend class ::google::protobuf::Arena
friend class ::google::protobuf::MessageLite
::google::protobuf::Metadata GetMetadata() const
void CopyFrom(const CumulativeConstraintProto &from)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
void MergeFrom(const CumulativeConstraintProto &from)
friend void swap(CumulativeConstraintProto &a, CumulativeConstraintProto &b)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
friend class ::google::protobuf::MessageLite
::google::protobuf::Metadata GetMetadata() const
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
void MergeFrom(const DecisionStrategyProto &from)
void CopyFrom(const DecisionStrategyProto &from)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
::google::protobuf::Metadata GetMetadata() const
friend class ::google::protobuf::MessageLite
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
static constexpr auto InternalGenerateClassData_()
void CopyFrom(const DenseMatrixProto &from)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
friend void swap(DenseMatrixProto &a, DenseMatrixProto &b)
void MergeFrom(const DenseMatrixProto &from)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
friend class ::google::protobuf::MessageLite
void MergeFrom(const ElementConstraintProto &from)
friend void swap(ElementConstraintProto &a, ElementConstraintProto &b)
void CopyFrom(const ElementConstraintProto &from)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
::google::protobuf::Metadata GetMetadata() const
friend class ::google::protobuf::Arena
friend class ::google::protobuf::MessageLite
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void MergeFrom(const FloatObjectiveProto &from)
::google::protobuf::Metadata GetMetadata() const
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
void CopyFrom(const FloatObjectiveProto &from)
decltype(::std::declval< IntegerVariableProto >()._impl_._has_bits_) HasBits
friend class ::google::protobuf::MessageLite
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
void MergeFrom(const IntegerVariableProto &from)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
friend void swap(IntegerVariableProto &a, IntegerVariableProto &b)
void CopyFrom(const IntegerVariableProto &from)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
::google::protobuf::Metadata GetMetadata() const
friend class ::google::protobuf::MessageLite
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
void MergeFrom(const IntervalConstraintProto &from)
void CopyFrom(const IntervalConstraintProto &from)
::google::protobuf::Metadata GetMetadata() const
friend void swap(IntervalConstraintProto &a, IntervalConstraintProto &b)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
friend class ::google::protobuf::MessageLite
::google::protobuf::Metadata GetMetadata() const
friend void swap(InverseConstraintProto &a, InverseConstraintProto &b)
void CopyFrom(const InverseConstraintProto &from)
void MergeFrom(const InverseConstraintProto &from)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
friend class ::google::protobuf::MessageLite
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void MergeFrom(const LinearArgumentProto &from)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
::google::protobuf::Metadata GetMetadata() const
void CopyFrom(const LinearArgumentProto &from)
friend class ::google::protobuf::MessageLite
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
void CopyFrom(const LinearConstraintProto &from)
::google::protobuf::Metadata GetMetadata() const
void MergeFrom(const LinearConstraintProto &from)
void CopyFrom(const LinearExpressionProto &from)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
::google::protobuf::Metadata GetMetadata() const
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void MergeFrom(const LinearExpressionProto &from)
friend class ::google::protobuf::MessageLite
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
::google::protobuf::Metadata GetMetadata() const
void MergeFrom(const ListOfVariablesProto &from)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
friend void swap(ListOfVariablesProto &a, ListOfVariablesProto &b)
void CopyFrom(const ListOfVariablesProto &from)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
friend class ::google::protobuf::Arena
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void MergeFrom(const NoOverlap2DConstraintProto &from)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
void CopyFrom(const NoOverlap2DConstraintProto &from)
friend void swap(NoOverlap2DConstraintProto &a, NoOverlap2DConstraintProto &b)
::google::protobuf::Metadata GetMetadata() const
friend class ::google::protobuf::MessageLite
friend void swap(NoOverlapConstraintProto &a, NoOverlapConstraintProto &b)
::google::protobuf::Metadata GetMetadata() const
void CopyFrom(const NoOverlapConstraintProto &from)
void MergeFrom(const NoOverlapConstraintProto &from)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
friend class ::google::protobuf::MessageLite
::google::protobuf::Metadata GetMetadata() const
void MergeFrom(const PartialVariableAssignment &from)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void CopyFrom(const PartialVariableAssignment &from)
friend class ::google::protobuf::MessageLite
void MergeFrom(const ReservoirConstraintProto &from)
void CopyFrom(const ReservoirConstraintProto &from)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
friend void swap(ReservoirConstraintProto &a, ReservoirConstraintProto &b)
::google::protobuf::Metadata GetMetadata() const
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
friend void swap(RoutesConstraintProto_NodeExpressions &a, RoutesConstraintProto_NodeExpressions &b)
void CopyFrom(const RoutesConstraintProto_NodeExpressions &from)
void MergeFrom(const RoutesConstraintProto_NodeExpressions &from)
friend class ::google::protobuf::MessageLite
void CopyFrom(const RoutesConstraintProto &from)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void MergeFrom(const RoutesConstraintProto &from)
friend void swap(RoutesConstraintProto &a, RoutesConstraintProto &b)
::google::protobuf::Metadata GetMetadata() const
friend class ::google::protobuf::Arena
friend class ::google::protobuf::MessageLite
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void CopyFrom(const SparsePermutationProto &from)
void MergeFrom(const SparsePermutationProto &from)
::google::protobuf::Metadata GetMetadata() const
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
friend class ::google::protobuf::MessageLite
::google::protobuf::Metadata GetMetadata() const
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
static constexpr auto InternalGenerateClassData_()
void CopyFrom(const SymmetryProto &from)
void MergeFrom(const SymmetryProto &from)
friend void swap(SymmetryProto &a, SymmetryProto &b)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
friend class ::google::protobuf::Arena
friend class ::google::protobuf::MessageLite
void MergeFrom(const TableConstraintProto &from)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void CopyFrom(const TableConstraintProto &from)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
friend void swap(TableConstraintProto &a, TableConstraintProto &b)
::google::protobuf::Metadata GetMetadata() const
friend class ::google::protobuf::Arena
static const ::_pb::EnumDescriptor *PROTOBUF_NONNULL file_level_enum_descriptors_ortools_2fsat_2fcp_5fmodel_2eproto[3]
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto
::absl::once_flag descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto_once
static constexprconst ::_pb::ServiceDescriptor *PROTOBUF_NONNULL *PROTOBUF_NULLABLE file_level_service_descriptors_ortools_2fsat_2fcp_5fmodel_2eproto
const ::uint32_t TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold)
static constexpr ::_pbi::MigrationSchema *PROTOBUF_NULLABLE schemas
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull LinearExpressionProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull AllDifferentConstraintProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull CpObjectiveProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SymmetryProtoDefaultTypeInternal _SymmetryProto_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull PartialVariableAssignment_class_data_
PROTOBUF_CONSTINIT const uint32_t CpSolverStatus_internal_data_[]
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LinearConstraintProtoDefaultTypeInternal _LinearConstraintProto_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull CpSolverResponse_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull DenseMatrixProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ListOfVariablesProtoDefaultTypeInternal _ListOfVariablesProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 IntervalConstraintProtoDefaultTypeInternal _IntervalConstraintProto_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull BoolArgumentProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull CircuitConstraintProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CpModelProtoDefaultTypeInternal _CpModelProto_default_instance_
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL CpSolverStatus_descriptor()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DenseMatrixProtoDefaultTypeInternal _DenseMatrixProto_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull NoOverlap2DConstraintProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ConstraintProtoDefaultTypeInternal _ConstraintProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FloatObjectiveProtoDefaultTypeInternal _FloatObjectiveProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 NoOverlap2DConstraintProtoDefaultTypeInternal _NoOverlap2DConstraintProto_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull LinearConstraintProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CpObjectiveProtoDefaultTypeInternal _CpObjectiveProto_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull FloatObjectiveProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 InverseConstraintProtoDefaultTypeInternal _InverseConstraintProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LinearExpressionProtoDefaultTypeInternal _LinearExpressionProto_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull CpSolverSolution_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ElementConstraintProtoDefaultTypeInternal _ElementConstraintProto_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull CumulativeConstraintProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull AutomatonConstraintProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RoutesConstraintProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 NoOverlapConstraintProtoDefaultTypeInternal _NoOverlapConstraintProto_default_instance_
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL DecisionStrategyProto_DomainReductionStrategy_descriptor()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TableConstraintProtoDefaultTypeInternal _TableConstraintProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RoutesConstraintProtoDefaultTypeInternal _RoutesConstraintProto_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull DecisionStrategyProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull IntegerVariableProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RoutesConstraintProto_NodeExpressions_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull TableConstraintProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 IntegerVariableProtoDefaultTypeInternal _IntegerVariableProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SparsePermutationProtoDefaultTypeInternal _SparsePermutationProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DecisionStrategyProtoDefaultTypeInternal _DecisionStrategyProto_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull LinearExpressionProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PartialVariableAssignmentDefaultTypeInternal _PartialVariableAssignment_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull SparsePermutationProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AllDifferentConstraintProtoDefaultTypeInternal _AllDifferentConstraintProto_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull CpModelProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AutomatonConstraintProtoDefaultTypeInternal _AutomatonConstraintProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CircuitConstraintProtoDefaultTypeInternal _CircuitConstraintProto_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull ReservoirConstraintProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CpSolverSolutionDefaultTypeInternal _CpSolverSolution_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull NoOverlapConstraintProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull ListOfVariablesProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CumulativeConstraintProtoDefaultTypeInternal _CumulativeConstraintProto_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull ElementConstraintProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LinearArgumentProtoDefaultTypeInternal _LinearArgumentProto_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull InverseConstraintProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ReservoirConstraintProtoDefaultTypeInternal _ReservoirConstraintProto_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull LinearArgumentProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CpSolverResponseDefaultTypeInternal _CpSolverResponse_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BoolArgumentProtoDefaultTypeInternal _BoolArgumentProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RoutesConstraintProto_NodeExpressionsDefaultTypeInternal _RoutesConstraintProto_NodeExpressions_default_instance_
PROTOBUF_CONSTINIT const uint32_t DecisionStrategyProto_VariableSelectionStrategy_internal_data_[]
PROTOBUF_CONSTINIT const uint32_t DecisionStrategyProto_DomainReductionStrategy_internal_data_[]
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull SymmetryProto_class_data_
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL DecisionStrategyProto_VariableSelectionStrategy_descriptor()
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull IntervalConstraintProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull ConstraintProto_class_data_
OR-Tools root namespace.
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull PartialVariableAssignment_class_data_
::google::protobuf::Message *PROTOBUF_NULLABLE lin_max_
::google::protobuf::Message *PROTOBUF_NULLABLE int_mod_
::google::protobuf::Message *PROTOBUF_NULLABLE table_
::google::protobuf::Message *PROTOBUF_NULLABLE no_overlap_2d_
::google::protobuf::Message *PROTOBUF_NULLABLE routes_
::google::protobuf::Message *PROTOBUF_NULLABLE automaton_
::google::protobuf::Message *PROTOBUF_NULLABLE exactly_one_
::google::protobuf::Message *PROTOBUF_NULLABLE interval_
::google::protobuf::Message *PROTOBUF_NULLABLE bool_or_
::google::protobuf::Message *PROTOBUF_NULLABLE element_
::google::protobuf::Message *PROTOBUF_NULLABLE no_overlap_
::google::protobuf::Message *PROTOBUF_NULLABLE circuit_
::google::protobuf::Message *PROTOBUF_NULLABLE int_prod_
::google::protobuf::Message *PROTOBUF_NULLABLE all_diff_
::google::protobuf::Message *PROTOBUF_NULLABLE linear_
::google::protobuf::Message *PROTOBUF_NULLABLE reservoir_
::google::protobuf::Message *PROTOBUF_NULLABLE dummy_constraint_
::google::protobuf::Message *PROTOBUF_NULLABLE int_div_
::google::protobuf::Message *PROTOBUF_NULLABLE bool_and_
::google::protobuf::Message *PROTOBUF_NULLABLE bool_xor_
::google::protobuf::Message *PROTOBUF_NULLABLE inverse_
::google::protobuf::Message *PROTOBUF_NULLABLE at_most_one_
::google::protobuf::Message *PROTOBUF_NULLABLE cumulative_