OR-Tools  8.1
cp_model.pb.cc
Go to the documentation of this file.
1 // Generated by the protocol buffer compiler. DO NOT EDIT!
2 // source: ortools/sat/cp_model.proto
3 
5 
6 #include <algorithm>
7 
8 #include <google/protobuf/io/coded_stream.h>
9 #include <google/protobuf/extension_set.h>
10 #include <google/protobuf/wire_format_lite.h>
11 #include <google/protobuf/descriptor.h>
12 #include <google/protobuf/generated_message_reflection.h>
13 #include <google/protobuf/reflection_ops.h>
14 #include <google/protobuf/wire_format.h>
15 // @@protoc_insertion_point(includes)
16 #include <google/protobuf/port_def.inc>
17 extern PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_AllDifferentConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto;
18 extern PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_AutomatonConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto;
19 extern PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_BoolArgumentProto_ortools_2fsat_2fcp_5fmodel_2eproto;
20 extern PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_CircuitConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto;
21 extern PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<16> scc_info_ConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto;
22 extern PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_CpObjectiveProto_ortools_2fsat_2fcp_5fmodel_2eproto;
23 extern PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_CumulativeConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto;
24 extern PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_DecisionStrategyProto_ortools_2fsat_2fcp_5fmodel_2eproto;
25 extern PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_DecisionStrategyProto_AffineTransformation_ortools_2fsat_2fcp_5fmodel_2eproto;
26 extern PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_ElementConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto;
27 extern PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_IntegerArgumentProto_ortools_2fsat_2fcp_5fmodel_2eproto;
28 extern PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_IntegerVariableProto_ortools_2fsat_2fcp_5fmodel_2eproto;
29 extern PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_IntervalConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto;
30 extern PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_InverseConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto;
31 extern PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_LinearArgumentProto_ortools_2fsat_2fcp_5fmodel_2eproto;
32 extern PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_LinearConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto;
33 extern PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_LinearExpressionProto_ortools_2fsat_2fcp_5fmodel_2eproto;
34 extern PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_NoOverlap2DConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto;
35 extern PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_NoOverlapConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto;
36 extern PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_PartialVariableAssignment_ortools_2fsat_2fcp_5fmodel_2eproto;
37 extern PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_ReservoirConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto;
38 extern PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_RoutesConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto;
39 extern PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_TableConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto;
40 namespace operations_research {
41 namespace sat {
43  public:
44  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<IntegerVariableProto> _instance;
47  public:
48  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<BoolArgumentProto> _instance;
51  public:
52  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<IntegerArgumentProto> _instance;
55  public:
56  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<LinearExpressionProto> _instance;
59  public:
60  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<LinearArgumentProto> _instance;
63  public:
64  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AllDifferentConstraintProto> _instance;
67  public:
68  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<LinearConstraintProto> _instance;
71  public:
72  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ElementConstraintProto> _instance;
75  public:
76  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<IntervalConstraintProto> _instance;
79  public:
80  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<NoOverlapConstraintProto> _instance;
83  public:
84  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<NoOverlap2DConstraintProto> _instance;
87  public:
88  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CumulativeConstraintProto> _instance;
91  public:
92  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ReservoirConstraintProto> _instance;
95  public:
96  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CircuitConstraintProto> _instance;
99  public:
100  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<RoutesConstraintProto> _instance;
103  public:
104  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<TableConstraintProto> _instance;
107  public:
108  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<InverseConstraintProto> _instance;
111  public:
112  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AutomatonConstraintProto> _instance;
115  public:
116  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ConstraintProto> _instance;
119  public:
120  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CpObjectiveProto> _instance;
123  public:
124  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<DecisionStrategyProto_AffineTransformation> _instance;
127  public:
128  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<DecisionStrategyProto> _instance;
131  public:
132  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<PartialVariableAssignment> _instance;
135  public:
136  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CpModelProto> _instance;
139  public:
140  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CpSolverResponse> _instance;
142 } // namespace sat
143 } // namespace operations_research
145  GOOGLE_PROTOBUF_VERIFY_VERSION;
146 
147  {
150  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
151  }
152 }
153 
154 ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_AllDifferentConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto =
155  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_AllDifferentConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto}, {}};
156 
158  GOOGLE_PROTOBUF_VERIFY_VERSION;
159 
160  {
163  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
164  }
165 }
166 
167 ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_AutomatonConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto =
168  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_AutomatonConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto}, {}};
169 
171  GOOGLE_PROTOBUF_VERIFY_VERSION;
172 
173  {
176  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
177  }
178 }
179 
180 ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_BoolArgumentProto_ortools_2fsat_2fcp_5fmodel_2eproto =
181  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_BoolArgumentProto_ortools_2fsat_2fcp_5fmodel_2eproto}, {}};
182 
184  GOOGLE_PROTOBUF_VERIFY_VERSION;
185 
186  {
189  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
190  }
191 }
192 
193 ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_CircuitConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto =
194  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_CircuitConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto}, {}};
195 
197  GOOGLE_PROTOBUF_VERIFY_VERSION;
198 
199  {
202  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
203  }
204 }
205 
206 ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<16> scc_info_ConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto =
207  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 16, 0, InitDefaultsscc_info_ConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto}, {
224 
226  GOOGLE_PROTOBUF_VERIFY_VERSION;
227 
228  {
231  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
232  }
233 }
234 
235 ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<5> scc_info_CpModelProto_ortools_2fsat_2fcp_5fmodel_2eproto =
236  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 5, 0, InitDefaultsscc_info_CpModelProto_ortools_2fsat_2fcp_5fmodel_2eproto}, {
242 
244  GOOGLE_PROTOBUF_VERIFY_VERSION;
245 
246  {
249  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
250  }
251 }
252 
253 ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_CpObjectiveProto_ortools_2fsat_2fcp_5fmodel_2eproto =
254  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_CpObjectiveProto_ortools_2fsat_2fcp_5fmodel_2eproto}, {}};
255 
257  GOOGLE_PROTOBUF_VERIFY_VERSION;
258 
259  {
262  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
263  }
264 }
265 
266 ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_CpSolverResponse_ortools_2fsat_2fcp_5fmodel_2eproto =
267  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, 0, InitDefaultsscc_info_CpSolverResponse_ortools_2fsat_2fcp_5fmodel_2eproto}, {
269 
271  GOOGLE_PROTOBUF_VERIFY_VERSION;
272 
273  {
276  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
277  }
278 }
279 
280 ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_CumulativeConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto =
281  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_CumulativeConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto}, {}};
282 
284  GOOGLE_PROTOBUF_VERIFY_VERSION;
285 
286  {
289  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
290  }
291 }
292 
293 ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_DecisionStrategyProto_ortools_2fsat_2fcp_5fmodel_2eproto =
294  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, 0, InitDefaultsscc_info_DecisionStrategyProto_ortools_2fsat_2fcp_5fmodel_2eproto}, {
296 
298  GOOGLE_PROTOBUF_VERIFY_VERSION;
299 
300  {
303  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
304  }
305 }
306 
308  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_DecisionStrategyProto_AffineTransformation_ortools_2fsat_2fcp_5fmodel_2eproto}, {}};
309 
311  GOOGLE_PROTOBUF_VERIFY_VERSION;
312 
313  {
316  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
317  }
318 }
319 
320 ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_ElementConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto =
321  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_ElementConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto}, {}};
322 
324  GOOGLE_PROTOBUF_VERIFY_VERSION;
325 
326  {
329  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
330  }
331 }
332 
333 ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_IntegerArgumentProto_ortools_2fsat_2fcp_5fmodel_2eproto =
334  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_IntegerArgumentProto_ortools_2fsat_2fcp_5fmodel_2eproto}, {}};
335 
337  GOOGLE_PROTOBUF_VERIFY_VERSION;
338 
339  {
342  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
343  }
344 }
345 
346 ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_IntegerVariableProto_ortools_2fsat_2fcp_5fmodel_2eproto =
347  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_IntegerVariableProto_ortools_2fsat_2fcp_5fmodel_2eproto}, {}};
348 
350  GOOGLE_PROTOBUF_VERIFY_VERSION;
351 
352  {
355  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
356  }
357 }
358 
359 ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_IntervalConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto =
360  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_IntervalConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto}, {}};
361 
363  GOOGLE_PROTOBUF_VERIFY_VERSION;
364 
365  {
368  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
369  }
370 }
371 
372 ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_InverseConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto =
373  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_InverseConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto}, {}};
374 
376  GOOGLE_PROTOBUF_VERIFY_VERSION;
377 
378  {
381  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
382  }
383 }
384 
385 ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_LinearArgumentProto_ortools_2fsat_2fcp_5fmodel_2eproto =
386  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, 0, InitDefaultsscc_info_LinearArgumentProto_ortools_2fsat_2fcp_5fmodel_2eproto}, {
388 
390  GOOGLE_PROTOBUF_VERIFY_VERSION;
391 
392  {
395  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
396  }
397 }
398 
399 ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_LinearConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto =
400  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_LinearConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto}, {}};
401 
403  GOOGLE_PROTOBUF_VERIFY_VERSION;
404 
405  {
408  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
409  }
410 }
411 
412 ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_LinearExpressionProto_ortools_2fsat_2fcp_5fmodel_2eproto =
413  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_LinearExpressionProto_ortools_2fsat_2fcp_5fmodel_2eproto}, {}};
414 
416  GOOGLE_PROTOBUF_VERIFY_VERSION;
417 
418  {
421  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
422  }
423 }
424 
425 ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_NoOverlap2DConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto =
426  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_NoOverlap2DConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto}, {}};
427 
429  GOOGLE_PROTOBUF_VERIFY_VERSION;
430 
431  {
434  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
435  }
436 }
437 
438 ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_NoOverlapConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto =
439  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_NoOverlapConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto}, {}};
440 
442  GOOGLE_PROTOBUF_VERIFY_VERSION;
443 
444  {
447  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
448  }
449 }
450 
451 ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_PartialVariableAssignment_ortools_2fsat_2fcp_5fmodel_2eproto =
452  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_PartialVariableAssignment_ortools_2fsat_2fcp_5fmodel_2eproto}, {}};
453 
455  GOOGLE_PROTOBUF_VERIFY_VERSION;
456 
457  {
460  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
461  }
462 }
463 
464 ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_ReservoirConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto =
465  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_ReservoirConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto}, {}};
466 
468  GOOGLE_PROTOBUF_VERIFY_VERSION;
469 
470  {
473  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
474  }
475 }
476 
477 ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_RoutesConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto =
478  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_RoutesConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto}, {}};
479 
481  GOOGLE_PROTOBUF_VERIFY_VERSION;
482 
483  {
486  ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
487  }
488 }
489 
490 ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_TableConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto =
491  {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_TableConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto}, {}};
492 
493 static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_ortools_2fsat_2fcp_5fmodel_2eproto[25];
494 static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_ortools_2fsat_2fcp_5fmodel_2eproto[3];
495 static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_ortools_2fsat_2fcp_5fmodel_2eproto = nullptr;
496 
498  ~0u, // no _has_bits_
499  PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntegerVariableProto, _internal_metadata_),
500  ~0u, // no _extensions_
501  ~0u, // no _oneof_case_
502  ~0u, // no _weak_field_map_
503  PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntegerVariableProto, name_),
504  PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntegerVariableProto, domain_),
505  ~0u, // no _has_bits_
506  PROTOBUF_FIELD_OFFSET(::operations_research::sat::BoolArgumentProto, _internal_metadata_),
507  ~0u, // no _extensions_
508  ~0u, // no _oneof_case_
509  ~0u, // no _weak_field_map_
510  PROTOBUF_FIELD_OFFSET(::operations_research::sat::BoolArgumentProto, literals_),
511  ~0u, // no _has_bits_
512  PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntegerArgumentProto, _internal_metadata_),
513  ~0u, // no _extensions_
514  ~0u, // no _oneof_case_
515  ~0u, // no _weak_field_map_
516  PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntegerArgumentProto, target_),
517  PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntegerArgumentProto, vars_),
518  ~0u, // no _has_bits_
519  PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearExpressionProto, _internal_metadata_),
520  ~0u, // no _extensions_
521  ~0u, // no _oneof_case_
522  ~0u, // no _weak_field_map_
523  PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearExpressionProto, vars_),
524  PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearExpressionProto, coeffs_),
526  ~0u, // no _has_bits_
527  PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearArgumentProto, _internal_metadata_),
528  ~0u, // no _extensions_
529  ~0u, // no _oneof_case_
530  ~0u, // no _weak_field_map_
531  PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearArgumentProto, target_),
532  PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearArgumentProto, exprs_),
533  ~0u, // no _has_bits_
534  PROTOBUF_FIELD_OFFSET(::operations_research::sat::AllDifferentConstraintProto, _internal_metadata_),
535  ~0u, // no _extensions_
536  ~0u, // no _oneof_case_
537  ~0u, // no _weak_field_map_
539  ~0u, // no _has_bits_
540  PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearConstraintProto, _internal_metadata_),
541  ~0u, // no _extensions_
542  ~0u, // no _oneof_case_
543  ~0u, // no _weak_field_map_
544  PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearConstraintProto, vars_),
545  PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearConstraintProto, coeffs_),
546  PROTOBUF_FIELD_OFFSET(::operations_research::sat::LinearConstraintProto, domain_),
547  ~0u, // no _has_bits_
548  PROTOBUF_FIELD_OFFSET(::operations_research::sat::ElementConstraintProto, _internal_metadata_),
549  ~0u, // no _extensions_
550  ~0u, // no _oneof_case_
551  ~0u, // no _weak_field_map_
552  PROTOBUF_FIELD_OFFSET(::operations_research::sat::ElementConstraintProto, index_),
553  PROTOBUF_FIELD_OFFSET(::operations_research::sat::ElementConstraintProto, target_),
555  ~0u, // no _has_bits_
556  PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntervalConstraintProto, _internal_metadata_),
557  ~0u, // no _extensions_
558  ~0u, // no _oneof_case_
559  ~0u, // no _weak_field_map_
560  PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntervalConstraintProto, start_),
561  PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntervalConstraintProto, end_),
562  PROTOBUF_FIELD_OFFSET(::operations_research::sat::IntervalConstraintProto, size_),
563  ~0u, // no _has_bits_
564  PROTOBUF_FIELD_OFFSET(::operations_research::sat::NoOverlapConstraintProto, _internal_metadata_),
565  ~0u, // no _extensions_
566  ~0u, // no _oneof_case_
567  ~0u, // no _weak_field_map_
568  PROTOBUF_FIELD_OFFSET(::operations_research::sat::NoOverlapConstraintProto, intervals_),
569  ~0u, // no _has_bits_
570  PROTOBUF_FIELD_OFFSET(::operations_research::sat::NoOverlap2DConstraintProto, _internal_metadata_),
571  ~0u, // no _extensions_
572  ~0u, // no _oneof_case_
573  ~0u, // no _weak_field_map_
574  PROTOBUF_FIELD_OFFSET(::operations_research::sat::NoOverlap2DConstraintProto, x_intervals_),
575  PROTOBUF_FIELD_OFFSET(::operations_research::sat::NoOverlap2DConstraintProto, y_intervals_),
576  PROTOBUF_FIELD_OFFSET(::operations_research::sat::NoOverlap2DConstraintProto, boxes_with_null_area_can_overlap_),
577  ~0u, // no _has_bits_
578  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CumulativeConstraintProto, _internal_metadata_),
579  ~0u, // no _extensions_
580  ~0u, // no _oneof_case_
581  ~0u, // no _weak_field_map_
582  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CumulativeConstraintProto, capacity_),
583  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CumulativeConstraintProto, intervals_),
584  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CumulativeConstraintProto, demands_),
585  ~0u, // no _has_bits_
586  PROTOBUF_FIELD_OFFSET(::operations_research::sat::ReservoirConstraintProto, _internal_metadata_),
587  ~0u, // no _extensions_
588  ~0u, // no _oneof_case_
589  ~0u, // no _weak_field_map_
590  PROTOBUF_FIELD_OFFSET(::operations_research::sat::ReservoirConstraintProto, min_level_),
591  PROTOBUF_FIELD_OFFSET(::operations_research::sat::ReservoirConstraintProto, max_level_),
592  PROTOBUF_FIELD_OFFSET(::operations_research::sat::ReservoirConstraintProto, times_),
593  PROTOBUF_FIELD_OFFSET(::operations_research::sat::ReservoirConstraintProto, demands_),
594  PROTOBUF_FIELD_OFFSET(::operations_research::sat::ReservoirConstraintProto, actives_),
595  ~0u, // no _has_bits_
596  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CircuitConstraintProto, _internal_metadata_),
597  ~0u, // no _extensions_
598  ~0u, // no _oneof_case_
599  ~0u, // no _weak_field_map_
600  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CircuitConstraintProto, tails_),
601  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CircuitConstraintProto, heads_),
602  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CircuitConstraintProto, literals_),
603  ~0u, // no _has_bits_
604  PROTOBUF_FIELD_OFFSET(::operations_research::sat::RoutesConstraintProto, _internal_metadata_),
605  ~0u, // no _extensions_
606  ~0u, // no _oneof_case_
607  ~0u, // no _weak_field_map_
608  PROTOBUF_FIELD_OFFSET(::operations_research::sat::RoutesConstraintProto, tails_),
609  PROTOBUF_FIELD_OFFSET(::operations_research::sat::RoutesConstraintProto, heads_),
610  PROTOBUF_FIELD_OFFSET(::operations_research::sat::RoutesConstraintProto, literals_),
611  PROTOBUF_FIELD_OFFSET(::operations_research::sat::RoutesConstraintProto, demands_),
612  PROTOBUF_FIELD_OFFSET(::operations_research::sat::RoutesConstraintProto, capacity_),
613  ~0u, // no _has_bits_
614  PROTOBUF_FIELD_OFFSET(::operations_research::sat::TableConstraintProto, _internal_metadata_),
615  ~0u, // no _extensions_
616  ~0u, // no _oneof_case_
617  ~0u, // no _weak_field_map_
618  PROTOBUF_FIELD_OFFSET(::operations_research::sat::TableConstraintProto, vars_),
619  PROTOBUF_FIELD_OFFSET(::operations_research::sat::TableConstraintProto, values_),
620  PROTOBUF_FIELD_OFFSET(::operations_research::sat::TableConstraintProto, negated_),
621  ~0u, // no _has_bits_
622  PROTOBUF_FIELD_OFFSET(::operations_research::sat::InverseConstraintProto, _internal_metadata_),
623  ~0u, // no _extensions_
624  ~0u, // no _oneof_case_
625  ~0u, // no _weak_field_map_
626  PROTOBUF_FIELD_OFFSET(::operations_research::sat::InverseConstraintProto, f_direct_),
627  PROTOBUF_FIELD_OFFSET(::operations_research::sat::InverseConstraintProto, f_inverse_),
628  ~0u, // no _has_bits_
629  PROTOBUF_FIELD_OFFSET(::operations_research::sat::AutomatonConstraintProto, _internal_metadata_),
630  ~0u, // no _extensions_
631  ~0u, // no _oneof_case_
632  ~0u, // no _weak_field_map_
633  PROTOBUF_FIELD_OFFSET(::operations_research::sat::AutomatonConstraintProto, starting_state_),
634  PROTOBUF_FIELD_OFFSET(::operations_research::sat::AutomatonConstraintProto, final_states_),
635  PROTOBUF_FIELD_OFFSET(::operations_research::sat::AutomatonConstraintProto, transition_tail_),
636  PROTOBUF_FIELD_OFFSET(::operations_research::sat::AutomatonConstraintProto, transition_head_),
637  PROTOBUF_FIELD_OFFSET(::operations_research::sat::AutomatonConstraintProto, transition_label_),
639  ~0u, // no _has_bits_
640  PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _internal_metadata_),
641  ~0u, // no _extensions_
642  PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, _oneof_case_[0]),
643  ~0u, // no _weak_field_map_
644  PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, name_),
645  PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, enforcement_literal_),
646  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
647  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
648  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
649  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
650  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
651  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
652  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
653  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
654  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
655  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
656  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
657  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
658  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
659  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
660  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
661  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
662  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
663  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
664  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
665  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
666  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
667  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
668  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
669  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
670  PROTOBUF_FIELD_OFFSET(::operations_research::sat::ConstraintProto, constraint_),
671  ~0u, // no _has_bits_
672  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpObjectiveProto, _internal_metadata_),
673  ~0u, // no _extensions_
674  ~0u, // no _oneof_case_
675  ~0u, // no _weak_field_map_
676  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpObjectiveProto, vars_),
677  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpObjectiveProto, coeffs_),
678  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpObjectiveProto, offset_),
679  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpObjectiveProto, scaling_factor_),
680  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpObjectiveProto, domain_),
681  ~0u, // no _has_bits_
682  PROTOBUF_FIELD_OFFSET(::operations_research::sat::DecisionStrategyProto_AffineTransformation, _internal_metadata_),
683  ~0u, // no _extensions_
684  ~0u, // no _oneof_case_
685  ~0u, // no _weak_field_map_
688  PROTOBUF_FIELD_OFFSET(::operations_research::sat::DecisionStrategyProto_AffineTransformation, positive_coeff_),
689  ~0u, // no _has_bits_
690  PROTOBUF_FIELD_OFFSET(::operations_research::sat::DecisionStrategyProto, _internal_metadata_),
691  ~0u, // no _extensions_
692  ~0u, // no _oneof_case_
693  ~0u, // no _weak_field_map_
694  PROTOBUF_FIELD_OFFSET(::operations_research::sat::DecisionStrategyProto, variables_),
695  PROTOBUF_FIELD_OFFSET(::operations_research::sat::DecisionStrategyProto, variable_selection_strategy_),
696  PROTOBUF_FIELD_OFFSET(::operations_research::sat::DecisionStrategyProto, domain_reduction_strategy_),
697  PROTOBUF_FIELD_OFFSET(::operations_research::sat::DecisionStrategyProto, transformations_),
698  ~0u, // no _has_bits_
699  PROTOBUF_FIELD_OFFSET(::operations_research::sat::PartialVariableAssignment, _internal_metadata_),
700  ~0u, // no _extensions_
701  ~0u, // no _oneof_case_
702  ~0u, // no _weak_field_map_
704  PROTOBUF_FIELD_OFFSET(::operations_research::sat::PartialVariableAssignment, values_),
705  ~0u, // no _has_bits_
706  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, _internal_metadata_),
707  ~0u, // no _extensions_
708  ~0u, // no _oneof_case_
709  ~0u, // no _weak_field_map_
710  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, name_),
711  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, variables_),
712  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, constraints_),
713  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, objective_),
714  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, search_strategy_),
715  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, solution_hint_),
716  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpModelProto, assumptions_),
717  ~0u, // no _has_bits_
718  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, _internal_metadata_),
719  ~0u, // no _extensions_
720  ~0u, // no _oneof_case_
721  ~0u, // no _weak_field_map_
722  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, status_),
723  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, solution_),
724  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, objective_value_),
725  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, best_objective_bound_),
726  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, solution_lower_bounds_),
727  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, solution_upper_bounds_),
728  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, tightened_variables_),
729  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, sufficient_assumptions_for_infeasibility_),
730  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, all_solutions_were_found_),
731  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, num_booleans_),
732  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, num_conflicts_),
733  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, num_branches_),
734  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, num_binary_propagations_),
735  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, num_integer_propagations_),
736  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, num_restarts_),
737  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, num_lp_iterations_),
738  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, wall_time_),
739  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, user_time_),
740  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, deterministic_time_),
741  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, primal_integral_),
742  PROTOBUF_FIELD_OFFSET(::operations_research::sat::CpSolverResponse, solution_info_),
743 };
744 static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
745  { 0, -1, sizeof(::operations_research::sat::IntegerVariableProto)},
746  { 7, -1, sizeof(::operations_research::sat::BoolArgumentProto)},
747  { 13, -1, sizeof(::operations_research::sat::IntegerArgumentProto)},
748  { 20, -1, sizeof(::operations_research::sat::LinearExpressionProto)},
749  { 28, -1, sizeof(::operations_research::sat::LinearArgumentProto)},
750  { 35, -1, sizeof(::operations_research::sat::AllDifferentConstraintProto)},
751  { 41, -1, sizeof(::operations_research::sat::LinearConstraintProto)},
752  { 49, -1, sizeof(::operations_research::sat::ElementConstraintProto)},
753  { 57, -1, sizeof(::operations_research::sat::IntervalConstraintProto)},
754  { 65, -1, sizeof(::operations_research::sat::NoOverlapConstraintProto)},
755  { 71, -1, sizeof(::operations_research::sat::NoOverlap2DConstraintProto)},
756  { 79, -1, sizeof(::operations_research::sat::CumulativeConstraintProto)},
757  { 87, -1, sizeof(::operations_research::sat::ReservoirConstraintProto)},
758  { 97, -1, sizeof(::operations_research::sat::CircuitConstraintProto)},
759  { 105, -1, sizeof(::operations_research::sat::RoutesConstraintProto)},
760  { 115, -1, sizeof(::operations_research::sat::TableConstraintProto)},
761  { 123, -1, sizeof(::operations_research::sat::InverseConstraintProto)},
762  { 130, -1, sizeof(::operations_research::sat::AutomatonConstraintProto)},
763  { 141, -1, sizeof(::operations_research::sat::ConstraintProto)},
764  { 173, -1, sizeof(::operations_research::sat::CpObjectiveProto)},
765  { 183, -1, sizeof(::operations_research::sat::DecisionStrategyProto_AffineTransformation)},
766  { 191, -1, sizeof(::operations_research::sat::DecisionStrategyProto)},
767  { 200, -1, sizeof(::operations_research::sat::PartialVariableAssignment)},
768  { 207, -1, sizeof(::operations_research::sat::CpModelProto)},
769  { 219, -1, sizeof(::operations_research::sat::CpSolverResponse)},
770 };
771 
772 static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
773  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_IntegerVariableProto_default_instance_),
774  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_BoolArgumentProto_default_instance_),
775  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_IntegerArgumentProto_default_instance_),
776  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_LinearExpressionProto_default_instance_),
777  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_LinearArgumentProto_default_instance_),
778  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_AllDifferentConstraintProto_default_instance_),
779  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_LinearConstraintProto_default_instance_),
780  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_ElementConstraintProto_default_instance_),
781  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_IntervalConstraintProto_default_instance_),
782  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_NoOverlapConstraintProto_default_instance_),
783  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_NoOverlap2DConstraintProto_default_instance_),
784  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_CumulativeConstraintProto_default_instance_),
785  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_ReservoirConstraintProto_default_instance_),
786  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_CircuitConstraintProto_default_instance_),
787  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_RoutesConstraintProto_default_instance_),
788  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_TableConstraintProto_default_instance_),
789  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_InverseConstraintProto_default_instance_),
790  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_AutomatonConstraintProto_default_instance_),
791  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_ConstraintProto_default_instance_),
792  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_CpObjectiveProto_default_instance_),
793  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_DecisionStrategyProto_AffineTransformation_default_instance_),
794  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_DecisionStrategyProto_default_instance_),
795  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_PartialVariableAssignment_default_instance_),
796  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_CpModelProto_default_instance_),
797  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::sat::_CpSolverResponse_default_instance_),
798 };
799 
800 const char descriptor_table_protodef_ortools_2fsat_2fcp_5fmodel_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
801  "\n\032ortools/sat/cp_model.proto\022\027operations"
802  "_research.sat\"4\n\024IntegerVariableProto\022\014\n"
803  "\004name\030\001 \001(\t\022\016\n\006domain\030\002 \003(\003\"%\n\021BoolArgum"
804  "entProto\022\020\n\010literals\030\001 \003(\005\"4\n\024IntegerArg"
805  "umentProto\022\016\n\006target\030\001 \001(\005\022\014\n\004vars\030\002 \003(\005"
806  "\"E\n\025LinearExpressionProto\022\014\n\004vars\030\001 \003(\005\022"
807  "\016\n\006coeffs\030\002 \003(\003\022\016\n\006offset\030\003 \001(\003\"\224\001\n\023Line"
808  "arArgumentProto\022>\n\006target\030\001 \001(\0132..operat"
809  "ions_research.sat.LinearExpressionProto\022"
810  "=\n\005exprs\030\002 \003(\0132..operations_research.sat"
811  ".LinearExpressionProto\"+\n\033AllDifferentCo"
812  "nstraintProto\022\014\n\004vars\030\001 \003(\005\"E\n\025LinearCon"
813  "straintProto\022\014\n\004vars\030\001 \003(\005\022\016\n\006coeffs\030\002 \003"
814  "(\003\022\016\n\006domain\030\003 \003(\003\"E\n\026ElementConstraintP"
815  "roto\022\r\n\005index\030\001 \001(\005\022\016\n\006target\030\002 \001(\005\022\014\n\004v"
816  "ars\030\003 \003(\005\"C\n\027IntervalConstraintProto\022\r\n\005"
817  "start\030\001 \001(\005\022\013\n\003end\030\002 \001(\005\022\014\n\004size\030\003 \001(\005\"-"
818  "\n\030NoOverlapConstraintProto\022\021\n\tintervals\030"
819  "\001 \003(\005\"p\n\032NoOverlap2DConstraintProto\022\023\n\013x"
820  "_intervals\030\001 \003(\005\022\023\n\013y_intervals\030\002 \003(\005\022(\n"
821  " boxes_with_null_area_can_overlap\030\003 \001(\010\""
822  "Q\n\031CumulativeConstraintProto\022\020\n\010capacity"
823  "\030\001 \001(\005\022\021\n\tintervals\030\002 \003(\005\022\017\n\007demands\030\003 \003"
824  "(\005\"q\n\030ReservoirConstraintProto\022\021\n\tmin_le"
825  "vel\030\001 \001(\003\022\021\n\tmax_level\030\002 \001(\003\022\r\n\005times\030\003 "
826  "\003(\005\022\017\n\007demands\030\004 \003(\003\022\017\n\007actives\030\005 \003(\005\"H\n"
827  "\026CircuitConstraintProto\022\r\n\005tails\030\003 \003(\005\022\r"
828  "\n\005heads\030\004 \003(\005\022\020\n\010literals\030\005 \003(\005\"j\n\025Route"
829  "sConstraintProto\022\r\n\005tails\030\001 \003(\005\022\r\n\005heads"
830  "\030\002 \003(\005\022\020\n\010literals\030\003 \003(\005\022\017\n\007demands\030\004 \003("
831  "\005\022\020\n\010capacity\030\005 \001(\003\"E\n\024TableConstraintPr"
832  "oto\022\014\n\004vars\030\001 \003(\005\022\016\n\006values\030\002 \003(\003\022\017\n\007neg"
833  "ated\030\003 \001(\010\"=\n\026InverseConstraintProto\022\020\n\010"
834  "f_direct\030\001 \003(\005\022\021\n\tf_inverse\030\002 \003(\005\"\242\001\n\030Au"
835  "tomatonConstraintProto\022\026\n\016starting_state"
836  "\030\002 \001(\003\022\024\n\014final_states\030\003 \003(\003\022\027\n\017transiti"
837  "on_tail\030\004 \003(\003\022\027\n\017transition_head\030\005 \003(\003\022\030"
838  "\n\020transition_label\030\006 \003(\003\022\014\n\004vars\030\007 \003(\005\"\252"
839  "\r\n\017ConstraintProto\022\014\n\004name\030\001 \001(\t\022\033\n\023enfo"
840  "rcement_literal\030\002 \003(\005\022=\n\007bool_or\030\003 \001(\0132*"
841  ".operations_research.sat.BoolArgumentPro"
842  "toH\000\022>\n\010bool_and\030\004 \001(\0132*.operations_rese"
843  "arch.sat.BoolArgumentProtoH\000\022A\n\013at_most_"
844  "one\030\032 \001(\0132*.operations_research.sat.Bool"
845  "ArgumentProtoH\000\022>\n\010bool_xor\030\005 \001(\0132*.oper"
846  "ations_research.sat.BoolArgumentProtoH\000\022"
847  "@\n\007int_div\030\007 \001(\0132-.operations_research.s"
848  "at.IntegerArgumentProtoH\000\022@\n\007int_mod\030\010 \001"
849  "(\0132-.operations_research.sat.IntegerArgu"
850  "mentProtoH\000\022@\n\007int_max\030\t \001(\0132-.operation"
851  "s_research.sat.IntegerArgumentProtoH\000\022\?\n"
852  "\007lin_max\030\033 \001(\0132,.operations_research.sat"
853  ".LinearArgumentProtoH\000\022@\n\007int_min\030\n \001(\0132"
854  "-.operations_research.sat.IntegerArgumen"
855  "tProtoH\000\022\?\n\007lin_min\030\034 \001(\0132,.operations_r"
856  "esearch.sat.LinearArgumentProtoH\000\022A\n\010int"
857  "_prod\030\013 \001(\0132-.operations_research.sat.In"
858  "tegerArgumentProtoH\000\022@\n\006linear\030\014 \001(\0132..o"
859  "perations_research.sat.LinearConstraintP"
860  "rotoH\000\022H\n\010all_diff\030\r \001(\01324.operations_re"
861  "search.sat.AllDifferentConstraintProtoH\000"
862  "\022B\n\007element\030\016 \001(\0132/.operations_research."
863  "sat.ElementConstraintProtoH\000\022B\n\007circuit\030"
864  "\017 \001(\0132/.operations_research.sat.CircuitC"
865  "onstraintProtoH\000\022@\n\006routes\030\027 \001(\0132..opera"
866  "tions_research.sat.RoutesConstraintProto"
867  "H\000\022>\n\005table\030\020 \001(\0132-.operations_research."
868  "sat.TableConstraintProtoH\000\022F\n\tautomaton\030"
869  "\021 \001(\01321.operations_research.sat.Automato"
870  "nConstraintProtoH\000\022B\n\007inverse\030\022 \001(\0132/.op"
871  "erations_research.sat.InverseConstraintP"
872  "rotoH\000\022F\n\treservoir\030\030 \001(\01321.operations_r"
873  "esearch.sat.ReservoirConstraintProtoH\000\022D"
874  "\n\010interval\030\023 \001(\01320.operations_research.s"
875  "at.IntervalConstraintProtoH\000\022G\n\nno_overl"
876  "ap\030\024 \001(\01321.operations_research.sat.NoOve"
877  "rlapConstraintProtoH\000\022L\n\rno_overlap_2d\030\025"
878  " \001(\01323.operations_research.sat.NoOverlap"
879  "2DConstraintProtoH\000\022H\n\ncumulative\030\026 \001(\0132"
880  "2.operations_research.sat.CumulativeCons"
881  "traintProtoH\000B\014\n\nconstraint\"h\n\020CpObjecti"
882  "veProto\022\014\n\004vars\030\001 \003(\005\022\016\n\006coeffs\030\004 \003(\003\022\016\n"
883  "\006offset\030\002 \001(\001\022\026\n\016scaling_factor\030\003 \001(\001\022\016\n"
884  "\006domain\030\005 \003(\003\"\325\005\n\025DecisionStrategyProto\022"
885  "\021\n\tvariables\030\001 \003(\005\022m\n\033variable_selection"
886  "_strategy\030\002 \001(\0162H.operations_research.sa"
887  "t.DecisionStrategyProto.VariableSelectio"
888  "nStrategy\022i\n\031domain_reduction_strategy\030\003"
889  " \001(\0162F.operations_research.sat.DecisionS"
890  "trategyProto.DomainReductionStrategy\022\\\n\017"
891  "transformations\030\004 \003(\0132C.operations_resea"
892  "rch.sat.DecisionStrategyProto.AffineTran"
893  "sformation\032K\n\024AffineTransformation\022\013\n\003va"
894  "r\030\001 \001(\005\022\016\n\006offset\030\002 \001(\003\022\026\n\016positive_coef"
895  "f\030\003 \001(\003\"\224\001\n\031VariableSelectionStrategy\022\020\n"
896  "\014CHOOSE_FIRST\020\000\022\025\n\021CHOOSE_LOWEST_MIN\020\001\022\026"
897  "\n\022CHOOSE_HIGHEST_MAX\020\002\022\032\n\026CHOOSE_MIN_DOM"
898  "AIN_SIZE\020\003\022\032\n\026CHOOSE_MAX_DOMAIN_SIZE\020\004\"\214"
899  "\001\n\027DomainReductionStrategy\022\024\n\020SELECT_MIN"
900  "_VALUE\020\000\022\024\n\020SELECT_MAX_VALUE\020\001\022\025\n\021SELECT"
901  "_LOWER_HALF\020\002\022\025\n\021SELECT_UPPER_HALF\020\003\022\027\n\023"
902  "SELECT_MEDIAN_VALUE\020\004\"9\n\031PartialVariable"
903  "Assignment\022\014\n\004vars\030\001 \003(\005\022\016\n\006values\030\002 \003(\003"
904  "\"\204\003\n\014CpModelProto\022\014\n\004name\030\001 \001(\t\022@\n\tvaria"
905  "bles\030\002 \003(\0132-.operations_research.sat.Int"
906  "egerVariableProto\022=\n\013constraints\030\003 \003(\0132("
907  ".operations_research.sat.ConstraintProto"
908  "\022<\n\tobjective\030\004 \001(\0132).operations_researc"
909  "h.sat.CpObjectiveProto\022G\n\017search_strateg"
910  "y\030\005 \003(\0132..operations_research.sat.Decisi"
911  "onStrategyProto\022I\n\rsolution_hint\030\006 \001(\01322"
912  ".operations_research.sat.PartialVariable"
913  "Assignment\022\023\n\013assumptions\030\007 \003(\005\"\233\005\n\020CpSo"
914  "lverResponse\0227\n\006status\030\001 \001(\0162\'.operation"
915  "s_research.sat.CpSolverStatus\022\020\n\010solutio"
916  "n\030\002 \003(\003\022\027\n\017objective_value\030\003 \001(\001\022\034\n\024best"
917  "_objective_bound\030\004 \001(\001\022\035\n\025solution_lower"
918  "_bounds\030\022 \003(\003\022\035\n\025solution_upper_bounds\030\023"
919  " \003(\003\022J\n\023tightened_variables\030\025 \003(\0132-.oper"
920  "ations_research.sat.IntegerVariableProto"
921  "\0220\n(sufficient_assumptions_for_infeasibi"
922  "lity\030\027 \003(\005\022 \n\030all_solutions_were_found\030\005"
923  " \001(\010\022\024\n\014num_booleans\030\n \001(\003\022\025\n\rnum_confli"
924  "cts\030\013 \001(\003\022\024\n\014num_branches\030\014 \001(\003\022\037\n\027num_b"
925  "inary_propagations\030\r \001(\003\022 \n\030num_integer_"
926  "propagations\030\016 \001(\003\022\024\n\014num_restarts\030\030 \001(\003"
927  "\022\031\n\021num_lp_iterations\030\031 \001(\003\022\021\n\twall_time"
928  "\030\017 \001(\001\022\021\n\tuser_time\030\020 \001(\001\022\032\n\022determinist"
929  "ic_time\030\021 \001(\001\022\027\n\017primal_integral\030\026 \001(\001\022\025"
930  "\n\rsolution_info\030\024 \001(\t*[\n\016CpSolverStatus\022"
931  "\013\n\007UNKNOWN\020\000\022\021\n\rMODEL_INVALID\020\001\022\014\n\010FEASI"
932  "BLE\020\002\022\016\n\nINFEASIBLE\020\003\022\013\n\007OPTIMAL\020\004B@\n\026co"
933  "m.google.ortools.satB\017CpModelProtobufP\001\252"
934  "\002\022Google.OrTools.Satb\006proto3"
935  ;
936 static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto_deps[1] = {
937 };
938 static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto_sccs[25] = {
964 };
965 static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto_once;
966 const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto = {
967  false, false, descriptor_table_protodef_ortools_2fsat_2fcp_5fmodel_2eproto, "ortools/sat/cp_model.proto", 5348,
971 };
972 
973 // Force running AddDescriptors() at dynamic initialization time.
974 static bool dynamic_init_dummy_ortools_2fsat_2fcp_5fmodel_2eproto = (static_cast<void>(::PROTOBUF_NAMESPACE_ID::internal::AddDescriptors(&descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto)), true);
975 namespace operations_research {
976 namespace sat {
977 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DecisionStrategyProto_VariableSelectionStrategy_descriptor() {
978  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
980 }
982  switch (value) {
983  case 0:
984  case 1:
985  case 2:
986  case 3:
987  case 4:
988  return true;
989  default:
990  return false;
991  }
992 }
993 
994 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
995 constexpr DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto::CHOOSE_FIRST;
996 constexpr DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto::CHOOSE_LOWEST_MIN;
997 constexpr DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto::CHOOSE_HIGHEST_MAX;
998 constexpr DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto::CHOOSE_MIN_DOMAIN_SIZE;
999 constexpr DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto::CHOOSE_MAX_DOMAIN_SIZE;
1000 constexpr DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto::VariableSelectionStrategy_MIN;
1001 constexpr DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto::VariableSelectionStrategy_MAX;
1002 constexpr int DecisionStrategyProto::VariableSelectionStrategy_ARRAYSIZE;
1003 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
1004 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DecisionStrategyProto_DomainReductionStrategy_descriptor() {
1005  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1007 }
1009  switch (value) {
1010  case 0:
1011  case 1:
1012  case 2:
1013  case 3:
1014  case 4:
1015  return true;
1016  default:
1017  return false;
1018  }
1019 }
1020 
1021 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
1022 constexpr DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto::SELECT_MIN_VALUE;
1023 constexpr DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto::SELECT_MAX_VALUE;
1024 constexpr DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto::SELECT_LOWER_HALF;
1025 constexpr DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto::SELECT_UPPER_HALF;
1026 constexpr DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto::SELECT_MEDIAN_VALUE;
1027 constexpr DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto::DomainReductionStrategy_MIN;
1028 constexpr DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto::DomainReductionStrategy_MAX;
1029 constexpr int DecisionStrategyProto::DomainReductionStrategy_ARRAYSIZE;
1030 #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
1031 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* CpSolverStatus_descriptor() {
1032  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto);
1034 }
1036  switch (value) {
1037  case 0:
1038  case 1:
1039  case 2:
1040  case 3:
1041  case 4:
1042  return true;
1043  default:
1044  return false;
1045  }
1046 }
1047 
1048 
1049 // ===================================================================
1050 
1052  public:
1053 };
1054 
1055 IntegerVariableProto::IntegerVariableProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
1056  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
1057  domain_(arena) {
1058  SharedCtor();
1059  RegisterArenaDtor(arena);
1060  // @@protoc_insertion_point(arena_constructor:operations_research.sat.IntegerVariableProto)
1061 }
1062 IntegerVariableProto::IntegerVariableProto(const IntegerVariableProto& from)
1063  : ::PROTOBUF_NAMESPACE_ID::Message(),
1064  domain_(from.domain_) {
1065  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1066  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1067  if (!from._internal_name().empty()) {
1068  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
1069  GetArena());
1070  }
1071  // @@protoc_insertion_point(copy_constructor:operations_research.sat.IntegerVariableProto)
1072 }
1073 
1074 void IntegerVariableProto::SharedCtor() {
1075  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_IntegerVariableProto_ortools_2fsat_2fcp_5fmodel_2eproto.base);
1076  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1077 }
1078 
1079 IntegerVariableProto::~IntegerVariableProto() {
1080  // @@protoc_insertion_point(destructor:operations_research.sat.IntegerVariableProto)
1081  SharedDtor();
1082  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1083 }
1084 
1085 void IntegerVariableProto::SharedDtor() {
1086  GOOGLE_DCHECK(GetArena() == nullptr);
1087  name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1088 }
1089 
1090 void IntegerVariableProto::ArenaDtor(void* object) {
1091  IntegerVariableProto* _this = reinterpret_cast< IntegerVariableProto* >(object);
1092  (void)_this;
1093 }
1094 void IntegerVariableProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1095 }
1096 void IntegerVariableProto::SetCachedSize(int size) const {
1097  _cached_size_.Set(size);
1098 }
1099 const IntegerVariableProto& IntegerVariableProto::default_instance() {
1100  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_IntegerVariableProto_ortools_2fsat_2fcp_5fmodel_2eproto.base);
1101  return *internal_default_instance();
1102 }
1103 
1104 
1105 void IntegerVariableProto::Clear() {
1106 // @@protoc_insertion_point(message_clear_start:operations_research.sat.IntegerVariableProto)
1107  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1108  // Prevent compiler warnings about cached_has_bits being unused
1109  (void) cached_has_bits;
1110 
1111  domain_.Clear();
1112  name_.ClearToEmpty();
1113  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1114 }
1115 
1116 const char* IntegerVariableProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1117 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1118  while (!ctx->Done(&ptr)) {
1120  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1121  CHK_(ptr);
1122  switch (tag >> 3) {
1123  // string name = 1;
1124  case 1:
1125  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
1126  auto str = _internal_mutable_name();
1127  ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
1128  CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.sat.IntegerVariableProto.name"));
1129  CHK_(ptr);
1130  } else goto handle_unusual;
1131  continue;
1132  // repeated int64 domain = 2;
1133  case 2:
1134  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
1135  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_domain(), ptr, ctx);
1136  CHK_(ptr);
1137  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) {
1138  _internal_add_domain(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
1139  CHK_(ptr);
1140  } else goto handle_unusual;
1141  continue;
1142  default: {
1143  handle_unusual:
1144  if ((tag & 7) == 4 || tag == 0) {
1145  ctx->SetLastTag(tag);
1146  goto success;
1147  }
1148  ptr = UnknownFieldParse(tag,
1149  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
1150  ptr, ctx);
1151  CHK_(ptr != nullptr);
1152  continue;
1153  }
1154  } // switch
1155  } // while
1156 success:
1157  return ptr;
1158 failure:
1159  ptr = nullptr;
1160  goto success;
1161 #undef CHK_
1162 }
1163 
1164 ::PROTOBUF_NAMESPACE_ID::uint8* IntegerVariableProto::_InternalSerialize(
1165  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
1166  // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.IntegerVariableProto)
1167  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1168  (void) cached_has_bits;
1169 
1170  // string name = 1;
1171  if (this->name().size() > 0) {
1172  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
1173  this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
1174  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
1175  "operations_research.sat.IntegerVariableProto.name");
1176  target = stream->WriteStringMaybeAliased(
1177  1, this->_internal_name(), target);
1178  }
1179 
1180  // repeated int64 domain = 2;
1181  {
1182  int byte_size = _domain_cached_byte_size_.load(std::memory_order_relaxed);
1183  if (byte_size > 0) {
1184  target = stream->WriteInt64Packed(
1185  2, _internal_domain(), byte_size, target);
1186  }
1187  }
1188 
1189  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1190  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1191  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1192  }
1193  // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.IntegerVariableProto)
1194  return target;
1195 }
1196 
1197 size_t IntegerVariableProto::ByteSizeLong() const {
1198 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.IntegerVariableProto)
1199  size_t total_size = 0;
1200 
1201  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1202  // Prevent compiler warnings about cached_has_bits being unused
1203  (void) cached_has_bits;
1204 
1205  // repeated int64 domain = 2;
1206  {
1207  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1208  Int64Size(this->domain_);
1209  if (data_size > 0) {
1210  total_size += 1 +
1211  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1212  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
1213  }
1214  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
1215  _domain_cached_byte_size_.store(cached_size,
1216  std::memory_order_relaxed);
1217  total_size += data_size;
1218  }
1219 
1220  // string name = 1;
1221  if (this->name().size() > 0) {
1222  total_size += 1 +
1223  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
1224  this->_internal_name());
1225  }
1226 
1227  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1228  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
1229  _internal_metadata_, total_size, &_cached_size_);
1230  }
1231  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
1232  SetCachedSize(cached_size);
1233  return total_size;
1234 }
1235 
1236 void IntegerVariableProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1237 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.sat.IntegerVariableProto)
1238  GOOGLE_DCHECK_NE(&from, this);
1239  const IntegerVariableProto* source =
1240  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<IntegerVariableProto>(
1241  &from);
1242  if (source == nullptr) {
1243  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.sat.IntegerVariableProto)
1244  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
1245  } else {
1246  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.sat.IntegerVariableProto)
1247  MergeFrom(*source);
1248  }
1249 }
1250 
1251 void IntegerVariableProto::MergeFrom(const IntegerVariableProto& from) {
1252 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.IntegerVariableProto)
1253  GOOGLE_DCHECK_NE(&from, this);
1254  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1255  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1256  (void) cached_has_bits;
1257 
1258  domain_.MergeFrom(from.domain_);
1259  if (from.name().size() > 0) {
1260  _internal_set_name(from._internal_name());
1261  }
1262 }
1263 
1264 void IntegerVariableProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1265 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.sat.IntegerVariableProto)
1266  if (&from == this) return;
1267  Clear();
1268  MergeFrom(from);
1269 }
1270 
1271 void IntegerVariableProto::CopyFrom(const IntegerVariableProto& from) {
1272 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.IntegerVariableProto)
1273  if (&from == this) return;
1274  Clear();
1275  MergeFrom(from);
1276 }
1277 
1278 bool IntegerVariableProto::IsInitialized() const {
1279  return true;
1280 }
1281 
1282 void IntegerVariableProto::InternalSwap(IntegerVariableProto* other) {
1283  using std::swap;
1284  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
1285  domain_.InternalSwap(&other->domain_);
1286  name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
1287 }
1288 
1289 ::PROTOBUF_NAMESPACE_ID::Metadata IntegerVariableProto::GetMetadata() const {
1290  return GetMetadataStatic();
1291 }
1292 
1293 
1294 // ===================================================================
1295 
1297  public:
1298 };
1299 
1300 BoolArgumentProto::BoolArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
1301  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
1302  literals_(arena) {
1303  SharedCtor();
1304  RegisterArenaDtor(arena);
1305  // @@protoc_insertion_point(arena_constructor:operations_research.sat.BoolArgumentProto)
1306 }
1307 BoolArgumentProto::BoolArgumentProto(const BoolArgumentProto& from)
1308  : ::PROTOBUF_NAMESPACE_ID::Message(),
1309  literals_(from.literals_) {
1310  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1311  // @@protoc_insertion_point(copy_constructor:operations_research.sat.BoolArgumentProto)
1312 }
1313 
1314 void BoolArgumentProto::SharedCtor() {
1315 }
1316 
1317 BoolArgumentProto::~BoolArgumentProto() {
1318  // @@protoc_insertion_point(destructor:operations_research.sat.BoolArgumentProto)
1319  SharedDtor();
1320  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1321 }
1322 
1323 void BoolArgumentProto::SharedDtor() {
1324  GOOGLE_DCHECK(GetArena() == nullptr);
1325 }
1326 
1327 void BoolArgumentProto::ArenaDtor(void* object) {
1328  BoolArgumentProto* _this = reinterpret_cast< BoolArgumentProto* >(object);
1329  (void)_this;
1330 }
1331 void BoolArgumentProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1332 }
1333 void BoolArgumentProto::SetCachedSize(int size) const {
1334  _cached_size_.Set(size);
1335 }
1336 const BoolArgumentProto& BoolArgumentProto::default_instance() {
1337  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_BoolArgumentProto_ortools_2fsat_2fcp_5fmodel_2eproto.base);
1338  return *internal_default_instance();
1339 }
1340 
1341 
1342 void BoolArgumentProto::Clear() {
1343 // @@protoc_insertion_point(message_clear_start:operations_research.sat.BoolArgumentProto)
1344  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1345  // Prevent compiler warnings about cached_has_bits being unused
1346  (void) cached_has_bits;
1347 
1348  literals_.Clear();
1349  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1350 }
1351 
1352 const char* BoolArgumentProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1353 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1354  while (!ctx->Done(&ptr)) {
1356  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1357  CHK_(ptr);
1358  switch (tag >> 3) {
1359  // repeated int32 literals = 1;
1360  case 1:
1361  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
1362  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_literals(), ptr, ctx);
1363  CHK_(ptr);
1364  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
1365  _internal_add_literals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
1366  CHK_(ptr);
1367  } else goto handle_unusual;
1368  continue;
1369  default: {
1370  handle_unusual:
1371  if ((tag & 7) == 4 || tag == 0) {
1372  ctx->SetLastTag(tag);
1373  goto success;
1374  }
1375  ptr = UnknownFieldParse(tag,
1376  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
1377  ptr, ctx);
1378  CHK_(ptr != nullptr);
1379  continue;
1380  }
1381  } // switch
1382  } // while
1383 success:
1384  return ptr;
1385 failure:
1386  ptr = nullptr;
1387  goto success;
1388 #undef CHK_
1389 }
1390 
1391 ::PROTOBUF_NAMESPACE_ID::uint8* BoolArgumentProto::_InternalSerialize(
1392  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
1393  // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.BoolArgumentProto)
1394  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1395  (void) cached_has_bits;
1396 
1397  // repeated int32 literals = 1;
1398  {
1399  int byte_size = _literals_cached_byte_size_.load(std::memory_order_relaxed);
1400  if (byte_size > 0) {
1401  target = stream->WriteInt32Packed(
1402  1, _internal_literals(), byte_size, target);
1403  }
1404  }
1405 
1406  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1407  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1408  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1409  }
1410  // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.BoolArgumentProto)
1411  return target;
1412 }
1413 
1414 size_t BoolArgumentProto::ByteSizeLong() const {
1415 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.BoolArgumentProto)
1416  size_t total_size = 0;
1417 
1418  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1419  // Prevent compiler warnings about cached_has_bits being unused
1420  (void) cached_has_bits;
1421 
1422  // repeated int32 literals = 1;
1423  {
1424  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1425  Int32Size(this->literals_);
1426  if (data_size > 0) {
1427  total_size += 1 +
1428  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1429  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
1430  }
1431  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
1432  _literals_cached_byte_size_.store(cached_size,
1433  std::memory_order_relaxed);
1434  total_size += data_size;
1435  }
1436 
1437  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1438  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
1439  _internal_metadata_, total_size, &_cached_size_);
1440  }
1441  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
1442  SetCachedSize(cached_size);
1443  return total_size;
1444 }
1445 
1446 void BoolArgumentProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1447 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.sat.BoolArgumentProto)
1448  GOOGLE_DCHECK_NE(&from, this);
1449  const BoolArgumentProto* source =
1450  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<BoolArgumentProto>(
1451  &from);
1452  if (source == nullptr) {
1453  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.sat.BoolArgumentProto)
1454  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
1455  } else {
1456  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.sat.BoolArgumentProto)
1457  MergeFrom(*source);
1458  }
1459 }
1460 
1461 void BoolArgumentProto::MergeFrom(const BoolArgumentProto& from) {
1462 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.BoolArgumentProto)
1463  GOOGLE_DCHECK_NE(&from, this);
1464  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1465  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1466  (void) cached_has_bits;
1467 
1468  literals_.MergeFrom(from.literals_);
1469 }
1470 
1471 void BoolArgumentProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1472 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.sat.BoolArgumentProto)
1473  if (&from == this) return;
1474  Clear();
1475  MergeFrom(from);
1476 }
1477 
1478 void BoolArgumentProto::CopyFrom(const BoolArgumentProto& from) {
1479 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.BoolArgumentProto)
1480  if (&from == this) return;
1481  Clear();
1482  MergeFrom(from);
1483 }
1484 
1485 bool BoolArgumentProto::IsInitialized() const {
1486  return true;
1487 }
1488 
1489 void BoolArgumentProto::InternalSwap(BoolArgumentProto* other) {
1490  using std::swap;
1491  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
1492  literals_.InternalSwap(&other->literals_);
1493 }
1494 
1495 ::PROTOBUF_NAMESPACE_ID::Metadata BoolArgumentProto::GetMetadata() const {
1496  return GetMetadataStatic();
1497 }
1498 
1499 
1500 // ===================================================================
1501 
1503  public:
1504 };
1505 
1506 IntegerArgumentProto::IntegerArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
1507  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
1508  vars_(arena) {
1509  SharedCtor();
1510  RegisterArenaDtor(arena);
1511  // @@protoc_insertion_point(arena_constructor:operations_research.sat.IntegerArgumentProto)
1512 }
1513 IntegerArgumentProto::IntegerArgumentProto(const IntegerArgumentProto& from)
1514  : ::PROTOBUF_NAMESPACE_ID::Message(),
1515  vars_(from.vars_) {
1516  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1517  target_ = from.target_;
1518  // @@protoc_insertion_point(copy_constructor:operations_research.sat.IntegerArgumentProto)
1519 }
1520 
1521 void IntegerArgumentProto::SharedCtor() {
1522  target_ = 0;
1523 }
1524 
1525 IntegerArgumentProto::~IntegerArgumentProto() {
1526  // @@protoc_insertion_point(destructor:operations_research.sat.IntegerArgumentProto)
1527  SharedDtor();
1528  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1529 }
1530 
1531 void IntegerArgumentProto::SharedDtor() {
1532  GOOGLE_DCHECK(GetArena() == nullptr);
1533 }
1534 
1535 void IntegerArgumentProto::ArenaDtor(void* object) {
1536  IntegerArgumentProto* _this = reinterpret_cast< IntegerArgumentProto* >(object);
1537  (void)_this;
1538 }
1539 void IntegerArgumentProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1540 }
1541 void IntegerArgumentProto::SetCachedSize(int size) const {
1542  _cached_size_.Set(size);
1543 }
1544 const IntegerArgumentProto& IntegerArgumentProto::default_instance() {
1545  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_IntegerArgumentProto_ortools_2fsat_2fcp_5fmodel_2eproto.base);
1546  return *internal_default_instance();
1547 }
1548 
1549 
1550 void IntegerArgumentProto::Clear() {
1551 // @@protoc_insertion_point(message_clear_start:operations_research.sat.IntegerArgumentProto)
1552  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1553  // Prevent compiler warnings about cached_has_bits being unused
1554  (void) cached_has_bits;
1555 
1556  vars_.Clear();
1557  target_ = 0;
1558  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1559 }
1560 
1561 const char* IntegerArgumentProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1562 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1563  while (!ctx->Done(&ptr)) {
1565  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1566  CHK_(ptr);
1567  switch (tag >> 3) {
1568  // int32 target = 1;
1569  case 1:
1570  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
1571  target_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1572  CHK_(ptr);
1573  } else goto handle_unusual;
1574  continue;
1575  // repeated int32 vars = 2;
1576  case 2:
1577  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
1578  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_vars(), ptr, ctx);
1579  CHK_(ptr);
1580  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) {
1581  _internal_add_vars(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
1582  CHK_(ptr);
1583  } else goto handle_unusual;
1584  continue;
1585  default: {
1586  handle_unusual:
1587  if ((tag & 7) == 4 || tag == 0) {
1588  ctx->SetLastTag(tag);
1589  goto success;
1590  }
1591  ptr = UnknownFieldParse(tag,
1592  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
1593  ptr, ctx);
1594  CHK_(ptr != nullptr);
1595  continue;
1596  }
1597  } // switch
1598  } // while
1599 success:
1600  return ptr;
1601 failure:
1602  ptr = nullptr;
1603  goto success;
1604 #undef CHK_
1605 }
1606 
1607 ::PROTOBUF_NAMESPACE_ID::uint8* IntegerArgumentProto::_InternalSerialize(
1608  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
1609  // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.IntegerArgumentProto)
1610  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1611  (void) cached_has_bits;
1612 
1613  // int32 target = 1;
1614  if (this->target() != 0) {
1615  target = stream->EnsureSpace(target);
1616  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_target(), target);
1617  }
1618 
1619  // repeated int32 vars = 2;
1620  {
1621  int byte_size = _vars_cached_byte_size_.load(std::memory_order_relaxed);
1622  if (byte_size > 0) {
1623  target = stream->WriteInt32Packed(
1624  2, _internal_vars(), byte_size, target);
1625  }
1626  }
1627 
1628  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1629  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1630  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1631  }
1632  // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.IntegerArgumentProto)
1633  return target;
1634 }
1635 
1636 size_t IntegerArgumentProto::ByteSizeLong() const {
1637 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.IntegerArgumentProto)
1638  size_t total_size = 0;
1639 
1640  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1641  // Prevent compiler warnings about cached_has_bits being unused
1642  (void) cached_has_bits;
1643 
1644  // repeated int32 vars = 2;
1645  {
1646  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1647  Int32Size(this->vars_);
1648  if (data_size > 0) {
1649  total_size += 1 +
1650  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1651  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
1652  }
1653  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
1654  _vars_cached_byte_size_.store(cached_size,
1655  std::memory_order_relaxed);
1656  total_size += data_size;
1657  }
1658 
1659  // int32 target = 1;
1660  if (this->target() != 0) {
1661  total_size += 1 +
1662  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1663  this->_internal_target());
1664  }
1665 
1666  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1667  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
1668  _internal_metadata_, total_size, &_cached_size_);
1669  }
1670  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
1671  SetCachedSize(cached_size);
1672  return total_size;
1673 }
1674 
1675 void IntegerArgumentProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1676 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.sat.IntegerArgumentProto)
1677  GOOGLE_DCHECK_NE(&from, this);
1678  const IntegerArgumentProto* source =
1679  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<IntegerArgumentProto>(
1680  &from);
1681  if (source == nullptr) {
1682  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.sat.IntegerArgumentProto)
1683  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
1684  } else {
1685  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.sat.IntegerArgumentProto)
1686  MergeFrom(*source);
1687  }
1688 }
1689 
1690 void IntegerArgumentProto::MergeFrom(const IntegerArgumentProto& from) {
1691 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.IntegerArgumentProto)
1692  GOOGLE_DCHECK_NE(&from, this);
1693  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1694  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1695  (void) cached_has_bits;
1696 
1697  vars_.MergeFrom(from.vars_);
1698  if (from.target() != 0) {
1699  _internal_set_target(from._internal_target());
1700  }
1701 }
1702 
1703 void IntegerArgumentProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1704 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.sat.IntegerArgumentProto)
1705  if (&from == this) return;
1706  Clear();
1707  MergeFrom(from);
1708 }
1709 
1710 void IntegerArgumentProto::CopyFrom(const IntegerArgumentProto& from) {
1711 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.IntegerArgumentProto)
1712  if (&from == this) return;
1713  Clear();
1714  MergeFrom(from);
1715 }
1716 
1717 bool IntegerArgumentProto::IsInitialized() const {
1718  return true;
1719 }
1720 
1721 void IntegerArgumentProto::InternalSwap(IntegerArgumentProto* other) {
1722  using std::swap;
1723  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
1724  vars_.InternalSwap(&other->vars_);
1725  swap(target_, other->target_);
1726 }
1727 
1728 ::PROTOBUF_NAMESPACE_ID::Metadata IntegerArgumentProto::GetMetadata() const {
1729  return GetMetadataStatic();
1730 }
1731 
1732 
1733 // ===================================================================
1734 
1736  public:
1737 };
1738 
1739 LinearExpressionProto::LinearExpressionProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
1740  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
1741  vars_(arena),
1742  coeffs_(arena) {
1743  SharedCtor();
1744  RegisterArenaDtor(arena);
1745  // @@protoc_insertion_point(arena_constructor:operations_research.sat.LinearExpressionProto)
1746 }
1747 LinearExpressionProto::LinearExpressionProto(const LinearExpressionProto& from)
1748  : ::PROTOBUF_NAMESPACE_ID::Message(),
1749  vars_(from.vars_),
1750  coeffs_(from.coeffs_) {
1751  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1752  offset_ = from.offset_;
1753  // @@protoc_insertion_point(copy_constructor:operations_research.sat.LinearExpressionProto)
1754 }
1755 
1756 void LinearExpressionProto::SharedCtor() {
1757  offset_ = PROTOBUF_LONGLONG(0);
1758 }
1759 
1760 LinearExpressionProto::~LinearExpressionProto() {
1761  // @@protoc_insertion_point(destructor:operations_research.sat.LinearExpressionProto)
1762  SharedDtor();
1763  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1764 }
1765 
1766 void LinearExpressionProto::SharedDtor() {
1767  GOOGLE_DCHECK(GetArena() == nullptr);
1768 }
1769 
1770 void LinearExpressionProto::ArenaDtor(void* object) {
1771  LinearExpressionProto* _this = reinterpret_cast< LinearExpressionProto* >(object);
1772  (void)_this;
1773 }
1774 void LinearExpressionProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1775 }
1776 void LinearExpressionProto::SetCachedSize(int size) const {
1777  _cached_size_.Set(size);
1778 }
1779 const LinearExpressionProto& LinearExpressionProto::default_instance() {
1780  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_LinearExpressionProto_ortools_2fsat_2fcp_5fmodel_2eproto.base);
1781  return *internal_default_instance();
1782 }
1783 
1784 
1785 void LinearExpressionProto::Clear() {
1786 // @@protoc_insertion_point(message_clear_start:operations_research.sat.LinearExpressionProto)
1787  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1788  // Prevent compiler warnings about cached_has_bits being unused
1789  (void) cached_has_bits;
1790 
1791  vars_.Clear();
1792  coeffs_.Clear();
1793  offset_ = PROTOBUF_LONGLONG(0);
1794  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1795 }
1796 
1797 const char* LinearExpressionProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1798 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1799  while (!ctx->Done(&ptr)) {
1801  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1802  CHK_(ptr);
1803  switch (tag >> 3) {
1804  // repeated int32 vars = 1;
1805  case 1:
1806  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
1807  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_vars(), ptr, ctx);
1808  CHK_(ptr);
1809  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
1810  _internal_add_vars(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
1811  CHK_(ptr);
1812  } else goto handle_unusual;
1813  continue;
1814  // repeated int64 coeffs = 2;
1815  case 2:
1816  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
1817  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_coeffs(), ptr, ctx);
1818  CHK_(ptr);
1819  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) {
1820  _internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
1821  CHK_(ptr);
1822  } else goto handle_unusual;
1823  continue;
1824  // int64 offset = 3;
1825  case 3:
1826  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
1827  offset_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1828  CHK_(ptr);
1829  } else goto handle_unusual;
1830  continue;
1831  default: {
1832  handle_unusual:
1833  if ((tag & 7) == 4 || tag == 0) {
1834  ctx->SetLastTag(tag);
1835  goto success;
1836  }
1837  ptr = UnknownFieldParse(tag,
1838  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
1839  ptr, ctx);
1840  CHK_(ptr != nullptr);
1841  continue;
1842  }
1843  } // switch
1844  } // while
1845 success:
1846  return ptr;
1847 failure:
1848  ptr = nullptr;
1849  goto success;
1850 #undef CHK_
1851 }
1852 
1853 ::PROTOBUF_NAMESPACE_ID::uint8* LinearExpressionProto::_InternalSerialize(
1854  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
1855  // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.LinearExpressionProto)
1856  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1857  (void) cached_has_bits;
1858 
1859  // repeated int32 vars = 1;
1860  {
1861  int byte_size = _vars_cached_byte_size_.load(std::memory_order_relaxed);
1862  if (byte_size > 0) {
1863  target = stream->WriteInt32Packed(
1864  1, _internal_vars(), byte_size, target);
1865  }
1866  }
1867 
1868  // repeated int64 coeffs = 2;
1869  {
1870  int byte_size = _coeffs_cached_byte_size_.load(std::memory_order_relaxed);
1871  if (byte_size > 0) {
1872  target = stream->WriteInt64Packed(
1873  2, _internal_coeffs(), byte_size, target);
1874  }
1875  }
1876 
1877  // int64 offset = 3;
1878  if (this->offset() != 0) {
1879  target = stream->EnsureSpace(target);
1880  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(3, this->_internal_offset(), target);
1881  }
1882 
1883  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1884  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1885  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1886  }
1887  // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.LinearExpressionProto)
1888  return target;
1889 }
1890 
1891 size_t LinearExpressionProto::ByteSizeLong() const {
1892 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.LinearExpressionProto)
1893  size_t total_size = 0;
1894 
1895  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1896  // Prevent compiler warnings about cached_has_bits being unused
1897  (void) cached_has_bits;
1898 
1899  // repeated int32 vars = 1;
1900  {
1901  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1902  Int32Size(this->vars_);
1903  if (data_size > 0) {
1904  total_size += 1 +
1905  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1906  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
1907  }
1908  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
1909  _vars_cached_byte_size_.store(cached_size,
1910  std::memory_order_relaxed);
1911  total_size += data_size;
1912  }
1913 
1914  // repeated int64 coeffs = 2;
1915  {
1916  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
1917  Int64Size(this->coeffs_);
1918  if (data_size > 0) {
1919  total_size += 1 +
1920  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1921  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
1922  }
1923  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
1924  _coeffs_cached_byte_size_.store(cached_size,
1925  std::memory_order_relaxed);
1926  total_size += data_size;
1927  }
1928 
1929  // int64 offset = 3;
1930  if (this->offset() != 0) {
1931  total_size += 1 +
1932  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
1933  this->_internal_offset());
1934  }
1935 
1936  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1937  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
1938  _internal_metadata_, total_size, &_cached_size_);
1939  }
1940  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
1941  SetCachedSize(cached_size);
1942  return total_size;
1943 }
1944 
1945 void LinearExpressionProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1946 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.sat.LinearExpressionProto)
1947  GOOGLE_DCHECK_NE(&from, this);
1948  const LinearExpressionProto* source =
1949  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<LinearExpressionProto>(
1950  &from);
1951  if (source == nullptr) {
1952  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.sat.LinearExpressionProto)
1953  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
1954  } else {
1955  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.sat.LinearExpressionProto)
1956  MergeFrom(*source);
1957  }
1958 }
1959 
1960 void LinearExpressionProto::MergeFrom(const LinearExpressionProto& from) {
1961 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.LinearExpressionProto)
1962  GOOGLE_DCHECK_NE(&from, this);
1963  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1964  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1965  (void) cached_has_bits;
1966 
1967  vars_.MergeFrom(from.vars_);
1968  coeffs_.MergeFrom(from.coeffs_);
1969  if (from.offset() != 0) {
1970  _internal_set_offset(from._internal_offset());
1971  }
1972 }
1973 
1974 void LinearExpressionProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1975 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.sat.LinearExpressionProto)
1976  if (&from == this) return;
1977  Clear();
1978  MergeFrom(from);
1979 }
1980 
1981 void LinearExpressionProto::CopyFrom(const LinearExpressionProto& from) {
1982 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.LinearExpressionProto)
1983  if (&from == this) return;
1984  Clear();
1985  MergeFrom(from);
1986 }
1987 
1988 bool LinearExpressionProto::IsInitialized() const {
1989  return true;
1990 }
1991 
1992 void LinearExpressionProto::InternalSwap(LinearExpressionProto* other) {
1993  using std::swap;
1994  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
1995  vars_.InternalSwap(&other->vars_);
1996  coeffs_.InternalSwap(&other->coeffs_);
1997  swap(offset_, other->offset_);
1998 }
1999 
2000 ::PROTOBUF_NAMESPACE_ID::Metadata LinearExpressionProto::GetMetadata() const {
2001  return GetMetadataStatic();
2002 }
2003 
2004 
2005 // ===================================================================
2006 
2008  public:
2009  static const ::operations_research::sat::LinearExpressionProto& target(const LinearArgumentProto* msg);
2010 };
2011 
2012 const ::operations_research::sat::LinearExpressionProto&
2013 LinearArgumentProto::_Internal::target(const LinearArgumentProto* msg) {
2014  return *msg->target_;
2015 }
2016 LinearArgumentProto::LinearArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
2017  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
2018  exprs_(arena) {
2019  SharedCtor();
2020  RegisterArenaDtor(arena);
2021  // @@protoc_insertion_point(arena_constructor:operations_research.sat.LinearArgumentProto)
2022 }
2023 LinearArgumentProto::LinearArgumentProto(const LinearArgumentProto& from)
2024  : ::PROTOBUF_NAMESPACE_ID::Message(),
2025  exprs_(from.exprs_) {
2026  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2027  if (from._internal_has_target()) {
2028  target_ = new ::operations_research::sat::LinearExpressionProto(*from.target_);
2029  } else {
2030  target_ = nullptr;
2031  }
2032  // @@protoc_insertion_point(copy_constructor:operations_research.sat.LinearArgumentProto)
2033 }
2034 
2035 void LinearArgumentProto::SharedCtor() {
2036  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_LinearArgumentProto_ortools_2fsat_2fcp_5fmodel_2eproto.base);
2037  target_ = nullptr;
2038 }
2039 
2040 LinearArgumentProto::~LinearArgumentProto() {
2041  // @@protoc_insertion_point(destructor:operations_research.sat.LinearArgumentProto)
2042  SharedDtor();
2043  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2044 }
2045 
2046 void LinearArgumentProto::SharedDtor() {
2047  GOOGLE_DCHECK(GetArena() == nullptr);
2048  if (this != internal_default_instance()) delete target_;
2049 }
2050 
2051 void LinearArgumentProto::ArenaDtor(void* object) {
2052  LinearArgumentProto* _this = reinterpret_cast< LinearArgumentProto* >(object);
2053  (void)_this;
2054 }
2055 void LinearArgumentProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
2056 }
2057 void LinearArgumentProto::SetCachedSize(int size) const {
2058  _cached_size_.Set(size);
2059 }
2060 const LinearArgumentProto& LinearArgumentProto::default_instance() {
2061  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_LinearArgumentProto_ortools_2fsat_2fcp_5fmodel_2eproto.base);
2062  return *internal_default_instance();
2063 }
2064 
2065 
2066 void LinearArgumentProto::Clear() {
2067 // @@protoc_insertion_point(message_clear_start:operations_research.sat.LinearArgumentProto)
2068  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2069  // Prevent compiler warnings about cached_has_bits being unused
2070  (void) cached_has_bits;
2071 
2072  exprs_.Clear();
2073  if (GetArena() == nullptr && target_ != nullptr) {
2074  delete target_;
2075  }
2076  target_ = nullptr;
2077  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2078 }
2079 
2080 const char* LinearArgumentProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
2081 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
2082  while (!ctx->Done(&ptr)) {
2084  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
2085  CHK_(ptr);
2086  switch (tag >> 3) {
2087  // .operations_research.sat.LinearExpressionProto target = 1;
2088  case 1:
2089  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
2090  ptr = ctx->ParseMessage(_internal_mutable_target(), ptr);
2091  CHK_(ptr);
2092  } else goto handle_unusual;
2093  continue;
2094  // repeated .operations_research.sat.LinearExpressionProto exprs = 2;
2095  case 2:
2096  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
2097  ptr -= 1;
2098  do {
2099  ptr += 1;
2100  ptr = ctx->ParseMessage(_internal_add_exprs(), ptr);
2101  CHK_(ptr);
2102  if (!ctx->DataAvailable(ptr)) break;
2103  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
2104  } else goto handle_unusual;
2105  continue;
2106  default: {
2107  handle_unusual:
2108  if ((tag & 7) == 4 || tag == 0) {
2109  ctx->SetLastTag(tag);
2110  goto success;
2111  }
2112  ptr = UnknownFieldParse(tag,
2113  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
2114  ptr, ctx);
2115  CHK_(ptr != nullptr);
2116  continue;
2117  }
2118  } // switch
2119  } // while
2120 success:
2121  return ptr;
2122 failure:
2123  ptr = nullptr;
2124  goto success;
2125 #undef CHK_
2126 }
2127 
2128 ::PROTOBUF_NAMESPACE_ID::uint8* LinearArgumentProto::_InternalSerialize(
2129  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
2130  // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.LinearArgumentProto)
2131  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2132  (void) cached_has_bits;
2133 
2134  // .operations_research.sat.LinearExpressionProto target = 1;
2135  if (this->has_target()) {
2136  target = stream->EnsureSpace(target);
2137  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2138  InternalWriteMessage(
2139  1, _Internal::target(this), target, stream);
2140  }
2141 
2142  // repeated .operations_research.sat.LinearExpressionProto exprs = 2;
2143  for (unsigned int i = 0,
2144  n = static_cast<unsigned int>(this->_internal_exprs_size()); i < n; i++) {
2145  target = stream->EnsureSpace(target);
2146  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2147  InternalWriteMessage(2, this->_internal_exprs(i), target, stream);
2148  }
2149 
2150  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2151  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
2152  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
2153  }
2154  // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.LinearArgumentProto)
2155  return target;
2156 }
2157 
2158 size_t LinearArgumentProto::ByteSizeLong() const {
2159 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.LinearArgumentProto)
2160  size_t total_size = 0;
2161 
2162  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2163  // Prevent compiler warnings about cached_has_bits being unused
2164  (void) cached_has_bits;
2165 
2166  // repeated .operations_research.sat.LinearExpressionProto exprs = 2;
2167  total_size += 1UL * this->_internal_exprs_size();
2168  for (const auto& msg : this->exprs_) {
2169  total_size +=
2170  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
2171  }
2172 
2173  // .operations_research.sat.LinearExpressionProto target = 1;
2174  if (this->has_target()) {
2175  total_size += 1 +
2176  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2177  *target_);
2178  }
2179 
2180  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2181  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
2182  _internal_metadata_, total_size, &_cached_size_);
2183  }
2184  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
2185  SetCachedSize(cached_size);
2186  return total_size;
2187 }
2188 
2189 void LinearArgumentProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
2190 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.sat.LinearArgumentProto)
2191  GOOGLE_DCHECK_NE(&from, this);
2192  const LinearArgumentProto* source =
2193  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<LinearArgumentProto>(
2194  &from);
2195  if (source == nullptr) {
2196  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.sat.LinearArgumentProto)
2197  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
2198  } else {
2199  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.sat.LinearArgumentProto)
2200  MergeFrom(*source);
2201  }
2202 }
2203 
2204 void LinearArgumentProto::MergeFrom(const LinearArgumentProto& from) {
2205 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.LinearArgumentProto)
2206  GOOGLE_DCHECK_NE(&from, this);
2207  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2208  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2209  (void) cached_has_bits;
2210 
2211  exprs_.MergeFrom(from.exprs_);
2212  if (from.has_target()) {
2213  _internal_mutable_target()->::operations_research::sat::LinearExpressionProto::MergeFrom(from._internal_target());
2214  }
2215 }
2216 
2217 void LinearArgumentProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
2218 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.sat.LinearArgumentProto)
2219  if (&from == this) return;
2220  Clear();
2221  MergeFrom(from);
2222 }
2223 
2224 void LinearArgumentProto::CopyFrom(const LinearArgumentProto& from) {
2225 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.LinearArgumentProto)
2226  if (&from == this) return;
2227  Clear();
2228  MergeFrom(from);
2229 }
2230 
2231 bool LinearArgumentProto::IsInitialized() const {
2232  return true;
2233 }
2234 
2235 void LinearArgumentProto::InternalSwap(LinearArgumentProto* other) {
2236  using std::swap;
2237  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
2238  exprs_.InternalSwap(&other->exprs_);
2239  swap(target_, other->target_);
2240 }
2241 
2242 ::PROTOBUF_NAMESPACE_ID::Metadata LinearArgumentProto::GetMetadata() const {
2243  return GetMetadataStatic();
2244 }
2245 
2246 
2247 // ===================================================================
2248 
2250  public:
2251 };
2252 
2253 AllDifferentConstraintProto::AllDifferentConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
2254  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
2255  vars_(arena) {
2256  SharedCtor();
2257  RegisterArenaDtor(arena);
2258  // @@protoc_insertion_point(arena_constructor:operations_research.sat.AllDifferentConstraintProto)
2259 }
2260 AllDifferentConstraintProto::AllDifferentConstraintProto(const AllDifferentConstraintProto& from)
2261  : ::PROTOBUF_NAMESPACE_ID::Message(),
2262  vars_(from.vars_) {
2263  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2264  // @@protoc_insertion_point(copy_constructor:operations_research.sat.AllDifferentConstraintProto)
2265 }
2266 
2267 void AllDifferentConstraintProto::SharedCtor() {
2268 }
2269 
2270 AllDifferentConstraintProto::~AllDifferentConstraintProto() {
2271  // @@protoc_insertion_point(destructor:operations_research.sat.AllDifferentConstraintProto)
2272  SharedDtor();
2273  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2274 }
2275 
2276 void AllDifferentConstraintProto::SharedDtor() {
2277  GOOGLE_DCHECK(GetArena() == nullptr);
2278 }
2279 
2280 void AllDifferentConstraintProto::ArenaDtor(void* object) {
2281  AllDifferentConstraintProto* _this = reinterpret_cast< AllDifferentConstraintProto* >(object);
2282  (void)_this;
2283 }
2284 void AllDifferentConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
2285 }
2286 void AllDifferentConstraintProto::SetCachedSize(int size) const {
2287  _cached_size_.Set(size);
2288 }
2289 const AllDifferentConstraintProto& AllDifferentConstraintProto::default_instance() {
2290  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_AllDifferentConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto.base);
2291  return *internal_default_instance();
2292 }
2293 
2294 
2295 void AllDifferentConstraintProto::Clear() {
2296 // @@protoc_insertion_point(message_clear_start:operations_research.sat.AllDifferentConstraintProto)
2297  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2298  // Prevent compiler warnings about cached_has_bits being unused
2299  (void) cached_has_bits;
2300 
2301  vars_.Clear();
2302  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2303 }
2304 
2305 const char* AllDifferentConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
2306 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
2307  while (!ctx->Done(&ptr)) {
2309  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
2310  CHK_(ptr);
2311  switch (tag >> 3) {
2312  // repeated int32 vars = 1;
2313  case 1:
2314  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
2315  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_vars(), ptr, ctx);
2316  CHK_(ptr);
2317  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
2318  _internal_add_vars(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
2319  CHK_(ptr);
2320  } else goto handle_unusual;
2321  continue;
2322  default: {
2323  handle_unusual:
2324  if ((tag & 7) == 4 || tag == 0) {
2325  ctx->SetLastTag(tag);
2326  goto success;
2327  }
2328  ptr = UnknownFieldParse(tag,
2329  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
2330  ptr, ctx);
2331  CHK_(ptr != nullptr);
2332  continue;
2333  }
2334  } // switch
2335  } // while
2336 success:
2337  return ptr;
2338 failure:
2339  ptr = nullptr;
2340  goto success;
2341 #undef CHK_
2342 }
2343 
2344 ::PROTOBUF_NAMESPACE_ID::uint8* AllDifferentConstraintProto::_InternalSerialize(
2345  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
2346  // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.AllDifferentConstraintProto)
2347  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2348  (void) cached_has_bits;
2349 
2350  // repeated int32 vars = 1;
2351  {
2352  int byte_size = _vars_cached_byte_size_.load(std::memory_order_relaxed);
2353  if (byte_size > 0) {
2354  target = stream->WriteInt32Packed(
2355  1, _internal_vars(), byte_size, target);
2356  }
2357  }
2358 
2359  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2360  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
2361  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
2362  }
2363  // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.AllDifferentConstraintProto)
2364  return target;
2365 }
2366 
2367 size_t AllDifferentConstraintProto::ByteSizeLong() const {
2368 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.AllDifferentConstraintProto)
2369  size_t total_size = 0;
2370 
2371  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2372  // Prevent compiler warnings about cached_has_bits being unused
2373  (void) cached_has_bits;
2374 
2375  // repeated int32 vars = 1;
2376  {
2377  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2378  Int32Size(this->vars_);
2379  if (data_size > 0) {
2380  total_size += 1 +
2381  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2382  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
2383  }
2384  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
2385  _vars_cached_byte_size_.store(cached_size,
2386  std::memory_order_relaxed);
2387  total_size += data_size;
2388  }
2389 
2390  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2391  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
2392  _internal_metadata_, total_size, &_cached_size_);
2393  }
2394  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
2395  SetCachedSize(cached_size);
2396  return total_size;
2397 }
2398 
2399 void AllDifferentConstraintProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
2400 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.sat.AllDifferentConstraintProto)
2401  GOOGLE_DCHECK_NE(&from, this);
2402  const AllDifferentConstraintProto* source =
2403  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AllDifferentConstraintProto>(
2404  &from);
2405  if (source == nullptr) {
2406  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.sat.AllDifferentConstraintProto)
2407  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
2408  } else {
2409  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.sat.AllDifferentConstraintProto)
2410  MergeFrom(*source);
2411  }
2412 }
2413 
2414 void AllDifferentConstraintProto::MergeFrom(const AllDifferentConstraintProto& from) {
2415 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.AllDifferentConstraintProto)
2416  GOOGLE_DCHECK_NE(&from, this);
2417  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2418  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2419  (void) cached_has_bits;
2420 
2421  vars_.MergeFrom(from.vars_);
2422 }
2423 
2424 void AllDifferentConstraintProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
2425 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.sat.AllDifferentConstraintProto)
2426  if (&from == this) return;
2427  Clear();
2428  MergeFrom(from);
2429 }
2430 
2431 void AllDifferentConstraintProto::CopyFrom(const AllDifferentConstraintProto& from) {
2432 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.AllDifferentConstraintProto)
2433  if (&from == this) return;
2434  Clear();
2435  MergeFrom(from);
2436 }
2437 
2438 bool AllDifferentConstraintProto::IsInitialized() const {
2439  return true;
2440 }
2441 
2442 void AllDifferentConstraintProto::InternalSwap(AllDifferentConstraintProto* other) {
2443  using std::swap;
2444  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
2445  vars_.InternalSwap(&other->vars_);
2446 }
2447 
2448 ::PROTOBUF_NAMESPACE_ID::Metadata AllDifferentConstraintProto::GetMetadata() const {
2449  return GetMetadataStatic();
2450 }
2451 
2452 
2453 // ===================================================================
2454 
2456  public:
2457 };
2458 
2459 LinearConstraintProto::LinearConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
2460  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
2461  vars_(arena),
2462  coeffs_(arena),
2463  domain_(arena) {
2464  SharedCtor();
2465  RegisterArenaDtor(arena);
2466  // @@protoc_insertion_point(arena_constructor:operations_research.sat.LinearConstraintProto)
2467 }
2468 LinearConstraintProto::LinearConstraintProto(const LinearConstraintProto& from)
2469  : ::PROTOBUF_NAMESPACE_ID::Message(),
2470  vars_(from.vars_),
2471  coeffs_(from.coeffs_),
2472  domain_(from.domain_) {
2473  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2474  // @@protoc_insertion_point(copy_constructor:operations_research.sat.LinearConstraintProto)
2475 }
2476 
2477 void LinearConstraintProto::SharedCtor() {
2478 }
2479 
2480 LinearConstraintProto::~LinearConstraintProto() {
2481  // @@protoc_insertion_point(destructor:operations_research.sat.LinearConstraintProto)
2482  SharedDtor();
2483  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2484 }
2485 
2486 void LinearConstraintProto::SharedDtor() {
2487  GOOGLE_DCHECK(GetArena() == nullptr);
2488 }
2489 
2490 void LinearConstraintProto::ArenaDtor(void* object) {
2491  LinearConstraintProto* _this = reinterpret_cast< LinearConstraintProto* >(object);
2492  (void)_this;
2493 }
2494 void LinearConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
2495 }
2496 void LinearConstraintProto::SetCachedSize(int size) const {
2497  _cached_size_.Set(size);
2498 }
2499 const LinearConstraintProto& LinearConstraintProto::default_instance() {
2500  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_LinearConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto.base);
2501  return *internal_default_instance();
2502 }
2503 
2504 
2505 void LinearConstraintProto::Clear() {
2506 // @@protoc_insertion_point(message_clear_start:operations_research.sat.LinearConstraintProto)
2507  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2508  // Prevent compiler warnings about cached_has_bits being unused
2509  (void) cached_has_bits;
2510 
2511  vars_.Clear();
2512  coeffs_.Clear();
2513  domain_.Clear();
2514  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2515 }
2516 
2517 const char* LinearConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
2518 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
2519  while (!ctx->Done(&ptr)) {
2521  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
2522  CHK_(ptr);
2523  switch (tag >> 3) {
2524  // repeated int32 vars = 1;
2525  case 1:
2526  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
2527  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_vars(), ptr, ctx);
2528  CHK_(ptr);
2529  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
2530  _internal_add_vars(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
2531  CHK_(ptr);
2532  } else goto handle_unusual;
2533  continue;
2534  // repeated int64 coeffs = 2;
2535  case 2:
2536  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
2537  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_coeffs(), ptr, ctx);
2538  CHK_(ptr);
2539  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) {
2540  _internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
2541  CHK_(ptr);
2542  } else goto handle_unusual;
2543  continue;
2544  // repeated int64 domain = 3;
2545  case 3:
2546  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
2547  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_domain(), ptr, ctx);
2548  CHK_(ptr);
2549  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24) {
2550  _internal_add_domain(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
2551  CHK_(ptr);
2552  } else goto handle_unusual;
2553  continue;
2554  default: {
2555  handle_unusual:
2556  if ((tag & 7) == 4 || tag == 0) {
2557  ctx->SetLastTag(tag);
2558  goto success;
2559  }
2560  ptr = UnknownFieldParse(tag,
2561  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
2562  ptr, ctx);
2563  CHK_(ptr != nullptr);
2564  continue;
2565  }
2566  } // switch
2567  } // while
2568 success:
2569  return ptr;
2570 failure:
2571  ptr = nullptr;
2572  goto success;
2573 #undef CHK_
2574 }
2575 
2576 ::PROTOBUF_NAMESPACE_ID::uint8* LinearConstraintProto::_InternalSerialize(
2577  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
2578  // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.LinearConstraintProto)
2579  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2580  (void) cached_has_bits;
2581 
2582  // repeated int32 vars = 1;
2583  {
2584  int byte_size = _vars_cached_byte_size_.load(std::memory_order_relaxed);
2585  if (byte_size > 0) {
2586  target = stream->WriteInt32Packed(
2587  1, _internal_vars(), byte_size, target);
2588  }
2589  }
2590 
2591  // repeated int64 coeffs = 2;
2592  {
2593  int byte_size = _coeffs_cached_byte_size_.load(std::memory_order_relaxed);
2594  if (byte_size > 0) {
2595  target = stream->WriteInt64Packed(
2596  2, _internal_coeffs(), byte_size, target);
2597  }
2598  }
2599 
2600  // repeated int64 domain = 3;
2601  {
2602  int byte_size = _domain_cached_byte_size_.load(std::memory_order_relaxed);
2603  if (byte_size > 0) {
2604  target = stream->WriteInt64Packed(
2605  3, _internal_domain(), byte_size, target);
2606  }
2607  }
2608 
2609  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2610  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
2611  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
2612  }
2613  // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.LinearConstraintProto)
2614  return target;
2615 }
2616 
2617 size_t LinearConstraintProto::ByteSizeLong() const {
2618 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.LinearConstraintProto)
2619  size_t total_size = 0;
2620 
2621  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2622  // Prevent compiler warnings about cached_has_bits being unused
2623  (void) cached_has_bits;
2624 
2625  // repeated int32 vars = 1;
2626  {
2627  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2628  Int32Size(this->vars_);
2629  if (data_size > 0) {
2630  total_size += 1 +
2631  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2632  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
2633  }
2634  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
2635  _vars_cached_byte_size_.store(cached_size,
2636  std::memory_order_relaxed);
2637  total_size += data_size;
2638  }
2639 
2640  // repeated int64 coeffs = 2;
2641  {
2642  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2643  Int64Size(this->coeffs_);
2644  if (data_size > 0) {
2645  total_size += 1 +
2646  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2647  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
2648  }
2649  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
2650  _coeffs_cached_byte_size_.store(cached_size,
2651  std::memory_order_relaxed);
2652  total_size += data_size;
2653  }
2654 
2655  // repeated int64 domain = 3;
2656  {
2657  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2658  Int64Size(this->domain_);
2659  if (data_size > 0) {
2660  total_size += 1 +
2661  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2662  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
2663  }
2664  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
2665  _domain_cached_byte_size_.store(cached_size,
2666  std::memory_order_relaxed);
2667  total_size += data_size;
2668  }
2669 
2670  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2671  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
2672  _internal_metadata_, total_size, &_cached_size_);
2673  }
2674  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
2675  SetCachedSize(cached_size);
2676  return total_size;
2677 }
2678 
2679 void LinearConstraintProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
2680 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.sat.LinearConstraintProto)
2681  GOOGLE_DCHECK_NE(&from, this);
2682  const LinearConstraintProto* source =
2683  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<LinearConstraintProto>(
2684  &from);
2685  if (source == nullptr) {
2686  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.sat.LinearConstraintProto)
2687  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
2688  } else {
2689  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.sat.LinearConstraintProto)
2690  MergeFrom(*source);
2691  }
2692 }
2693 
2694 void LinearConstraintProto::MergeFrom(const LinearConstraintProto& from) {
2695 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.LinearConstraintProto)
2696  GOOGLE_DCHECK_NE(&from, this);
2697  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2698  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2699  (void) cached_has_bits;
2700 
2701  vars_.MergeFrom(from.vars_);
2702  coeffs_.MergeFrom(from.coeffs_);
2703  domain_.MergeFrom(from.domain_);
2704 }
2705 
2706 void LinearConstraintProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
2707 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.sat.LinearConstraintProto)
2708  if (&from == this) return;
2709  Clear();
2710  MergeFrom(from);
2711 }
2712 
2713 void LinearConstraintProto::CopyFrom(const LinearConstraintProto& from) {
2714 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.LinearConstraintProto)
2715  if (&from == this) return;
2716  Clear();
2717  MergeFrom(from);
2718 }
2719 
2720 bool LinearConstraintProto::IsInitialized() const {
2721  return true;
2722 }
2723 
2724 void LinearConstraintProto::InternalSwap(LinearConstraintProto* other) {
2725  using std::swap;
2726  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
2727  vars_.InternalSwap(&other->vars_);
2728  coeffs_.InternalSwap(&other->coeffs_);
2729  domain_.InternalSwap(&other->domain_);
2730 }
2731 
2732 ::PROTOBUF_NAMESPACE_ID::Metadata LinearConstraintProto::GetMetadata() const {
2733  return GetMetadataStatic();
2734 }
2735 
2736 
2737 // ===================================================================
2738 
2740  public:
2741 };
2742 
2743 ElementConstraintProto::ElementConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
2744  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
2745  vars_(arena) {
2746  SharedCtor();
2747  RegisterArenaDtor(arena);
2748  // @@protoc_insertion_point(arena_constructor:operations_research.sat.ElementConstraintProto)
2749 }
2750 ElementConstraintProto::ElementConstraintProto(const ElementConstraintProto& from)
2751  : ::PROTOBUF_NAMESPACE_ID::Message(),
2752  vars_(from.vars_) {
2753  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2754  ::memcpy(&index_, &from.index_,
2755  static_cast<size_t>(reinterpret_cast<char*>(&target_) -
2756  reinterpret_cast<char*>(&index_)) + sizeof(target_));
2757  // @@protoc_insertion_point(copy_constructor:operations_research.sat.ElementConstraintProto)
2758 }
2759 
2760 void ElementConstraintProto::SharedCtor() {
2761  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
2762  reinterpret_cast<char*>(&index_) - reinterpret_cast<char*>(this)),
2763  0, static_cast<size_t>(reinterpret_cast<char*>(&target_) -
2764  reinterpret_cast<char*>(&index_)) + sizeof(target_));
2765 }
2766 
2767 ElementConstraintProto::~ElementConstraintProto() {
2768  // @@protoc_insertion_point(destructor:operations_research.sat.ElementConstraintProto)
2769  SharedDtor();
2770  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2771 }
2772 
2773 void ElementConstraintProto::SharedDtor() {
2774  GOOGLE_DCHECK(GetArena() == nullptr);
2775 }
2776 
2777 void ElementConstraintProto::ArenaDtor(void* object) {
2778  ElementConstraintProto* _this = reinterpret_cast< ElementConstraintProto* >(object);
2779  (void)_this;
2780 }
2781 void ElementConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
2782 }
2783 void ElementConstraintProto::SetCachedSize(int size) const {
2784  _cached_size_.Set(size);
2785 }
2786 const ElementConstraintProto& ElementConstraintProto::default_instance() {
2787  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_ElementConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto.base);
2788  return *internal_default_instance();
2789 }
2790 
2791 
2792 void ElementConstraintProto::Clear() {
2793 // @@protoc_insertion_point(message_clear_start:operations_research.sat.ElementConstraintProto)
2794  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2795  // Prevent compiler warnings about cached_has_bits being unused
2796  (void) cached_has_bits;
2797 
2798  vars_.Clear();
2799  ::memset(&index_, 0, static_cast<size_t>(
2800  reinterpret_cast<char*>(&target_) -
2801  reinterpret_cast<char*>(&index_)) + sizeof(target_));
2802  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2803 }
2804 
2805 const char* ElementConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
2806 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
2807  while (!ctx->Done(&ptr)) {
2809  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
2810  CHK_(ptr);
2811  switch (tag >> 3) {
2812  // int32 index = 1;
2813  case 1:
2814  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
2815  index_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2816  CHK_(ptr);
2817  } else goto handle_unusual;
2818  continue;
2819  // int32 target = 2;
2820  case 2:
2821  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
2822  target_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2823  CHK_(ptr);
2824  } else goto handle_unusual;
2825  continue;
2826  // repeated int32 vars = 3;
2827  case 3:
2828  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
2829  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_vars(), ptr, ctx);
2830  CHK_(ptr);
2831  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24) {
2832  _internal_add_vars(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
2833  CHK_(ptr);
2834  } else goto handle_unusual;
2835  continue;
2836  default: {
2837  handle_unusual:
2838  if ((tag & 7) == 4 || tag == 0) {
2839  ctx->SetLastTag(tag);
2840  goto success;
2841  }
2842  ptr = UnknownFieldParse(tag,
2843  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
2844  ptr, ctx);
2845  CHK_(ptr != nullptr);
2846  continue;
2847  }
2848  } // switch
2849  } // while
2850 success:
2851  return ptr;
2852 failure:
2853  ptr = nullptr;
2854  goto success;
2855 #undef CHK_
2856 }
2857 
2858 ::PROTOBUF_NAMESPACE_ID::uint8* ElementConstraintProto::_InternalSerialize(
2859  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
2860  // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.ElementConstraintProto)
2861  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2862  (void) cached_has_bits;
2863 
2864  // int32 index = 1;
2865  if (this->index() != 0) {
2866  target = stream->EnsureSpace(target);
2867  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_index(), target);
2868  }
2869 
2870  // int32 target = 2;
2871  if (this->target() != 0) {
2872  target = stream->EnsureSpace(target);
2873  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_target(), target);
2874  }
2875 
2876  // repeated int32 vars = 3;
2877  {
2878  int byte_size = _vars_cached_byte_size_.load(std::memory_order_relaxed);
2879  if (byte_size > 0) {
2880  target = stream->WriteInt32Packed(
2881  3, _internal_vars(), byte_size, target);
2882  }
2883  }
2884 
2885  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2886  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
2887  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
2888  }
2889  // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.ElementConstraintProto)
2890  return target;
2891 }
2892 
2893 size_t ElementConstraintProto::ByteSizeLong() const {
2894 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.ElementConstraintProto)
2895  size_t total_size = 0;
2896 
2897  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2898  // Prevent compiler warnings about cached_has_bits being unused
2899  (void) cached_has_bits;
2900 
2901  // repeated int32 vars = 3;
2902  {
2903  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2904  Int32Size(this->vars_);
2905  if (data_size > 0) {
2906  total_size += 1 +
2907  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2908  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
2909  }
2910  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
2911  _vars_cached_byte_size_.store(cached_size,
2912  std::memory_order_relaxed);
2913  total_size += data_size;
2914  }
2915 
2916  // int32 index = 1;
2917  if (this->index() != 0) {
2918  total_size += 1 +
2919  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2920  this->_internal_index());
2921  }
2922 
2923  // int32 target = 2;
2924  if (this->target() != 0) {
2925  total_size += 1 +
2926  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2927  this->_internal_target());
2928  }
2929 
2930  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2931  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
2932  _internal_metadata_, total_size, &_cached_size_);
2933  }
2934  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
2935  SetCachedSize(cached_size);
2936  return total_size;
2937 }
2938 
2939 void ElementConstraintProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
2940 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.sat.ElementConstraintProto)
2941  GOOGLE_DCHECK_NE(&from, this);
2942  const ElementConstraintProto* source =
2943  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<ElementConstraintProto>(
2944  &from);
2945  if (source == nullptr) {
2946  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.sat.ElementConstraintProto)
2947  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
2948  } else {
2949  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.sat.ElementConstraintProto)
2950  MergeFrom(*source);
2951  }
2952 }
2953 
2954 void ElementConstraintProto::MergeFrom(const ElementConstraintProto& from) {
2955 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.ElementConstraintProto)
2956  GOOGLE_DCHECK_NE(&from, this);
2957  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2958  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2959  (void) cached_has_bits;
2960 
2961  vars_.MergeFrom(from.vars_);
2962  if (from.index() != 0) {
2963  _internal_set_index(from._internal_index());
2964  }
2965  if (from.target() != 0) {
2966  _internal_set_target(from._internal_target());
2967  }
2968 }
2969 
2970 void ElementConstraintProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
2971 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.sat.ElementConstraintProto)
2972  if (&from == this) return;
2973  Clear();
2974  MergeFrom(from);
2975 }
2976 
2977 void ElementConstraintProto::CopyFrom(const ElementConstraintProto& from) {
2978 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.ElementConstraintProto)
2979  if (&from == this) return;
2980  Clear();
2981  MergeFrom(from);
2982 }
2983 
2984 bool ElementConstraintProto::IsInitialized() const {
2985  return true;
2986 }
2987 
2988 void ElementConstraintProto::InternalSwap(ElementConstraintProto* other) {
2989  using std::swap;
2990  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
2991  vars_.InternalSwap(&other->vars_);
2992  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
2993  PROTOBUF_FIELD_OFFSET(ElementConstraintProto, target_)
2994  + sizeof(ElementConstraintProto::target_)
2995  - PROTOBUF_FIELD_OFFSET(ElementConstraintProto, index_)>(
2996  reinterpret_cast<char*>(&index_),
2997  reinterpret_cast<char*>(&other->index_));
2998 }
2999 
3000 ::PROTOBUF_NAMESPACE_ID::Metadata ElementConstraintProto::GetMetadata() const {
3001  return GetMetadataStatic();
3002 }
3003 
3004 
3005 // ===================================================================
3006 
3008  public:
3009 };
3010 
3011 IntervalConstraintProto::IntervalConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
3012  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
3013  SharedCtor();
3014  RegisterArenaDtor(arena);
3015  // @@protoc_insertion_point(arena_constructor:operations_research.sat.IntervalConstraintProto)
3016 }
3017 IntervalConstraintProto::IntervalConstraintProto(const IntervalConstraintProto& from)
3018  : ::PROTOBUF_NAMESPACE_ID::Message() {
3019  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3020  ::memcpy(&start_, &from.start_,
3021  static_cast<size_t>(reinterpret_cast<char*>(&size_) -
3022  reinterpret_cast<char*>(&start_)) + sizeof(size_));
3023  // @@protoc_insertion_point(copy_constructor:operations_research.sat.IntervalConstraintProto)
3024 }
3025 
3026 void IntervalConstraintProto::SharedCtor() {
3027  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
3028  reinterpret_cast<char*>(&start_) - reinterpret_cast<char*>(this)),
3029  0, static_cast<size_t>(reinterpret_cast<char*>(&size_) -
3030  reinterpret_cast<char*>(&start_)) + sizeof(size_));
3031 }
3032 
3033 IntervalConstraintProto::~IntervalConstraintProto() {
3034  // @@protoc_insertion_point(destructor:operations_research.sat.IntervalConstraintProto)
3035  SharedDtor();
3036  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3037 }
3038 
3039 void IntervalConstraintProto::SharedDtor() {
3040  GOOGLE_DCHECK(GetArena() == nullptr);
3041 }
3042 
3043 void IntervalConstraintProto::ArenaDtor(void* object) {
3044  IntervalConstraintProto* _this = reinterpret_cast< IntervalConstraintProto* >(object);
3045  (void)_this;
3046 }
3047 void IntervalConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
3048 }
3049 void IntervalConstraintProto::SetCachedSize(int size) const {
3050  _cached_size_.Set(size);
3051 }
3052 const IntervalConstraintProto& IntervalConstraintProto::default_instance() {
3053  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_IntervalConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto.base);
3054  return *internal_default_instance();
3055 }
3056 
3057 
3058 void IntervalConstraintProto::Clear() {
3059 // @@protoc_insertion_point(message_clear_start:operations_research.sat.IntervalConstraintProto)
3060  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3061  // Prevent compiler warnings about cached_has_bits being unused
3062  (void) cached_has_bits;
3063 
3064  ::memset(&start_, 0, static_cast<size_t>(
3065  reinterpret_cast<char*>(&size_) -
3066  reinterpret_cast<char*>(&start_)) + sizeof(size_));
3067  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3068 }
3069 
3070 const char* IntervalConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
3071 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
3072  while (!ctx->Done(&ptr)) {
3074  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
3075  CHK_(ptr);
3076  switch (tag >> 3) {
3077  // int32 start = 1;
3078  case 1:
3079  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
3080  start_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3081  CHK_(ptr);
3082  } else goto handle_unusual;
3083  continue;
3084  // int32 end = 2;
3085  case 2:
3086  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
3087  end_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3088  CHK_(ptr);
3089  } else goto handle_unusual;
3090  continue;
3091  // int32 size = 3;
3092  case 3:
3093  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
3094  size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3095  CHK_(ptr);
3096  } else goto handle_unusual;
3097  continue;
3098  default: {
3099  handle_unusual:
3100  if ((tag & 7) == 4 || tag == 0) {
3101  ctx->SetLastTag(tag);
3102  goto success;
3103  }
3104  ptr = UnknownFieldParse(tag,
3105  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
3106  ptr, ctx);
3107  CHK_(ptr != nullptr);
3108  continue;
3109  }
3110  } // switch
3111  } // while
3112 success:
3113  return ptr;
3114 failure:
3115  ptr = nullptr;
3116  goto success;
3117 #undef CHK_
3118 }
3119 
3120 ::PROTOBUF_NAMESPACE_ID::uint8* IntervalConstraintProto::_InternalSerialize(
3121  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
3122  // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.IntervalConstraintProto)
3123  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3124  (void) cached_has_bits;
3125 
3126  // int32 start = 1;
3127  if (this->start() != 0) {
3128  target = stream->EnsureSpace(target);
3129  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_start(), target);
3130  }
3131 
3132  // int32 end = 2;
3133  if (this->end() != 0) {
3134  target = stream->EnsureSpace(target);
3135  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_end(), target);
3136  }
3137 
3138  // int32 size = 3;
3139  if (this->size() != 0) {
3140  target = stream->EnsureSpace(target);
3141  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_size(), target);
3142  }
3143 
3144  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
3145  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
3146  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
3147  }
3148  // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.IntervalConstraintProto)
3149  return target;
3150 }
3151 
3152 size_t IntervalConstraintProto::ByteSizeLong() const {
3153 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.IntervalConstraintProto)
3154  size_t total_size = 0;
3155 
3156  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3157  // Prevent compiler warnings about cached_has_bits being unused
3158  (void) cached_has_bits;
3159 
3160  // int32 start = 1;
3161  if (this->start() != 0) {
3162  total_size += 1 +
3163  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
3164  this->_internal_start());
3165  }
3166 
3167  // int32 end = 2;
3168  if (this->end() != 0) {
3169  total_size += 1 +
3170  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
3171  this->_internal_end());
3172  }
3173 
3174  // int32 size = 3;
3175  if (this->size() != 0) {
3176  total_size += 1 +
3177  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
3178  this->_internal_size());
3179  }
3180 
3181  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
3182  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
3183  _internal_metadata_, total_size, &_cached_size_);
3184  }
3185  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
3186  SetCachedSize(cached_size);
3187  return total_size;
3188 }
3189 
3190 void IntervalConstraintProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
3191 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.sat.IntervalConstraintProto)
3192  GOOGLE_DCHECK_NE(&from, this);
3193  const IntervalConstraintProto* source =
3194  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<IntervalConstraintProto>(
3195  &from);
3196  if (source == nullptr) {
3197  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.sat.IntervalConstraintProto)
3198  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
3199  } else {
3200  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.sat.IntervalConstraintProto)
3201  MergeFrom(*source);
3202  }
3203 }
3204 
3205 void IntervalConstraintProto::MergeFrom(const IntervalConstraintProto& from) {
3206 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.IntervalConstraintProto)
3207  GOOGLE_DCHECK_NE(&from, this);
3208  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3209  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3210  (void) cached_has_bits;
3211 
3212  if (from.start() != 0) {
3213  _internal_set_start(from._internal_start());
3214  }
3215  if (from.end() != 0) {
3216  _internal_set_end(from._internal_end());
3217  }
3218  if (from.size() != 0) {
3219  _internal_set_size(from._internal_size());
3220  }
3221 }
3222 
3223 void IntervalConstraintProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
3224 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.sat.IntervalConstraintProto)
3225  if (&from == this) return;
3226  Clear();
3227  MergeFrom(from);
3228 }
3229 
3230 void IntervalConstraintProto::CopyFrom(const IntervalConstraintProto& from) {
3231 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.IntervalConstraintProto)
3232  if (&from == this) return;
3233  Clear();
3234  MergeFrom(from);
3235 }
3236 
3237 bool IntervalConstraintProto::IsInitialized() const {
3238  return true;
3239 }
3240 
3241 void IntervalConstraintProto::InternalSwap(IntervalConstraintProto* other) {
3242  using std::swap;
3243  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
3244  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
3245  PROTOBUF_FIELD_OFFSET(IntervalConstraintProto, size_)
3246  + sizeof(IntervalConstraintProto::size_)
3247  - PROTOBUF_FIELD_OFFSET(IntervalConstraintProto, start_)>(
3248  reinterpret_cast<char*>(&start_),
3249  reinterpret_cast<char*>(&other->start_));
3250 }
3251 
3252 ::PROTOBUF_NAMESPACE_ID::Metadata IntervalConstraintProto::GetMetadata() const {
3253  return GetMetadataStatic();
3254 }
3255 
3256 
3257 // ===================================================================
3258 
3260  public:
3261 };
3262 
3263 NoOverlapConstraintProto::NoOverlapConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
3264  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
3265  intervals_(arena) {
3266  SharedCtor();
3267  RegisterArenaDtor(arena);
3268  // @@protoc_insertion_point(arena_constructor:operations_research.sat.NoOverlapConstraintProto)
3269 }
3270 NoOverlapConstraintProto::NoOverlapConstraintProto(const NoOverlapConstraintProto& from)
3271  : ::PROTOBUF_NAMESPACE_ID::Message(),
3272  intervals_(from.intervals_) {
3273  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3274  // @@protoc_insertion_point(copy_constructor:operations_research.sat.NoOverlapConstraintProto)
3275 }
3276 
3277 void NoOverlapConstraintProto::SharedCtor() {
3278 }
3279 
3280 NoOverlapConstraintProto::~NoOverlapConstraintProto() {
3281  // @@protoc_insertion_point(destructor:operations_research.sat.NoOverlapConstraintProto)
3282  SharedDtor();
3283  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3284 }
3285 
3286 void NoOverlapConstraintProto::SharedDtor() {
3287  GOOGLE_DCHECK(GetArena() == nullptr);
3288 }
3289 
3290 void NoOverlapConstraintProto::ArenaDtor(void* object) {
3291  NoOverlapConstraintProto* _this = reinterpret_cast< NoOverlapConstraintProto* >(object);
3292  (void)_this;
3293 }
3294 void NoOverlapConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
3295 }
3296 void NoOverlapConstraintProto::SetCachedSize(int size) const {
3297  _cached_size_.Set(size);
3298 }
3299 const NoOverlapConstraintProto& NoOverlapConstraintProto::default_instance() {
3300  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_NoOverlapConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto.base);
3301  return *internal_default_instance();
3302 }
3303 
3304 
3305 void NoOverlapConstraintProto::Clear() {
3306 // @@protoc_insertion_point(message_clear_start:operations_research.sat.NoOverlapConstraintProto)
3307  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3308  // Prevent compiler warnings about cached_has_bits being unused
3309  (void) cached_has_bits;
3310 
3311  intervals_.Clear();
3312  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3313 }
3314 
3315 const char* NoOverlapConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
3316 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
3317  while (!ctx->Done(&ptr)) {
3319  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
3320  CHK_(ptr);
3321  switch (tag >> 3) {
3322  // repeated int32 intervals = 1;
3323  case 1:
3324  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
3325  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_intervals(), ptr, ctx);
3326  CHK_(ptr);
3327  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
3328  _internal_add_intervals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
3329  CHK_(ptr);
3330  } else goto handle_unusual;
3331  continue;
3332  default: {
3333  handle_unusual:
3334  if ((tag & 7) == 4 || tag == 0) {
3335  ctx->SetLastTag(tag);
3336  goto success;
3337  }
3338  ptr = UnknownFieldParse(tag,
3339  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
3340  ptr, ctx);
3341  CHK_(ptr != nullptr);
3342  continue;
3343  }
3344  } // switch
3345  } // while
3346 success:
3347  return ptr;
3348 failure:
3349  ptr = nullptr;
3350  goto success;
3351 #undef CHK_
3352 }
3353 
3354 ::PROTOBUF_NAMESPACE_ID::uint8* NoOverlapConstraintProto::_InternalSerialize(
3355  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
3356  // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.NoOverlapConstraintProto)
3357  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3358  (void) cached_has_bits;
3359 
3360  // repeated int32 intervals = 1;
3361  {
3362  int byte_size = _intervals_cached_byte_size_.load(std::memory_order_relaxed);
3363  if (byte_size > 0) {
3364  target = stream->WriteInt32Packed(
3365  1, _internal_intervals(), byte_size, target);
3366  }
3367  }
3368 
3369  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
3370  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
3371  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
3372  }
3373  // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.NoOverlapConstraintProto)
3374  return target;
3375 }
3376 
3377 size_t NoOverlapConstraintProto::ByteSizeLong() const {
3378 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.NoOverlapConstraintProto)
3379  size_t total_size = 0;
3380 
3381  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3382  // Prevent compiler warnings about cached_has_bits being unused
3383  (void) cached_has_bits;
3384 
3385  // repeated int32 intervals = 1;
3386  {
3387  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
3388  Int32Size(this->intervals_);
3389  if (data_size > 0) {
3390  total_size += 1 +
3391  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
3392  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
3393  }
3394  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
3395  _intervals_cached_byte_size_.store(cached_size,
3396  std::memory_order_relaxed);
3397  total_size += data_size;
3398  }
3399 
3400  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
3401  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
3402  _internal_metadata_, total_size, &_cached_size_);
3403  }
3404  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
3405  SetCachedSize(cached_size);
3406  return total_size;
3407 }
3408 
3409 void NoOverlapConstraintProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
3410 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.sat.NoOverlapConstraintProto)
3411  GOOGLE_DCHECK_NE(&from, this);
3412  const NoOverlapConstraintProto* source =
3413  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<NoOverlapConstraintProto>(
3414  &from);
3415  if (source == nullptr) {
3416  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.sat.NoOverlapConstraintProto)
3417  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
3418  } else {
3419  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.sat.NoOverlapConstraintProto)
3420  MergeFrom(*source);
3421  }
3422 }
3423 
3424 void NoOverlapConstraintProto::MergeFrom(const NoOverlapConstraintProto& from) {
3425 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.NoOverlapConstraintProto)
3426  GOOGLE_DCHECK_NE(&from, this);
3427  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3428  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3429  (void) cached_has_bits;
3430 
3431  intervals_.MergeFrom(from.intervals_);
3432 }
3433 
3434 void NoOverlapConstraintProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
3435 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.sat.NoOverlapConstraintProto)
3436  if (&from == this) return;
3437  Clear();
3438  MergeFrom(from);
3439 }
3440 
3441 void NoOverlapConstraintProto::CopyFrom(const NoOverlapConstraintProto& from) {
3442 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.NoOverlapConstraintProto)
3443  if (&from == this) return;
3444  Clear();
3445  MergeFrom(from);
3446 }
3447 
3448 bool NoOverlapConstraintProto::IsInitialized() const {
3449  return true;
3450 }
3451 
3452 void NoOverlapConstraintProto::InternalSwap(NoOverlapConstraintProto* other) {
3453  using std::swap;
3454  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
3455  intervals_.InternalSwap(&other->intervals_);
3456 }
3457 
3458 ::PROTOBUF_NAMESPACE_ID::Metadata NoOverlapConstraintProto::GetMetadata() const {
3459  return GetMetadataStatic();
3460 }
3461 
3462 
3463 // ===================================================================
3464 
3466  public:
3467 };
3468 
3469 NoOverlap2DConstraintProto::NoOverlap2DConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
3470  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
3471  x_intervals_(arena),
3472  y_intervals_(arena) {
3473  SharedCtor();
3474  RegisterArenaDtor(arena);
3475  // @@protoc_insertion_point(arena_constructor:operations_research.sat.NoOverlap2DConstraintProto)
3476 }
3477 NoOverlap2DConstraintProto::NoOverlap2DConstraintProto(const NoOverlap2DConstraintProto& from)
3478  : ::PROTOBUF_NAMESPACE_ID::Message(),
3479  x_intervals_(from.x_intervals_),
3480  y_intervals_(from.y_intervals_) {
3481  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3482  boxes_with_null_area_can_overlap_ = from.boxes_with_null_area_can_overlap_;
3483  // @@protoc_insertion_point(copy_constructor:operations_research.sat.NoOverlap2DConstraintProto)
3484 }
3485 
3486 void NoOverlap2DConstraintProto::SharedCtor() {
3487  boxes_with_null_area_can_overlap_ = false;
3488 }
3489 
3490 NoOverlap2DConstraintProto::~NoOverlap2DConstraintProto() {
3491  // @@protoc_insertion_point(destructor:operations_research.sat.NoOverlap2DConstraintProto)
3492  SharedDtor();
3493  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3494 }
3495 
3496 void NoOverlap2DConstraintProto::SharedDtor() {
3497  GOOGLE_DCHECK(GetArena() == nullptr);
3498 }
3499 
3500 void NoOverlap2DConstraintProto::ArenaDtor(void* object) {
3501  NoOverlap2DConstraintProto* _this = reinterpret_cast< NoOverlap2DConstraintProto* >(object);
3502  (void)_this;
3503 }
3504 void NoOverlap2DConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
3505 }
3506 void NoOverlap2DConstraintProto::SetCachedSize(int size) const {
3507  _cached_size_.Set(size);
3508 }
3509 const NoOverlap2DConstraintProto& NoOverlap2DConstraintProto::default_instance() {
3510  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_NoOverlap2DConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto.base);
3511  return *internal_default_instance();
3512 }
3513 
3514 
3515 void NoOverlap2DConstraintProto::Clear() {
3516 // @@protoc_insertion_point(message_clear_start:operations_research.sat.NoOverlap2DConstraintProto)
3517  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3518  // Prevent compiler warnings about cached_has_bits being unused
3519  (void) cached_has_bits;
3520 
3521  x_intervals_.Clear();
3522  y_intervals_.Clear();
3523  boxes_with_null_area_can_overlap_ = false;
3524  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3525 }
3526 
3527 const char* NoOverlap2DConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
3528 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
3529  while (!ctx->Done(&ptr)) {
3531  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
3532  CHK_(ptr);
3533  switch (tag >> 3) {
3534  // repeated int32 x_intervals = 1;
3535  case 1:
3536  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
3537  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_x_intervals(), ptr, ctx);
3538  CHK_(ptr);
3539  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
3540  _internal_add_x_intervals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
3541  CHK_(ptr);
3542  } else goto handle_unusual;
3543  continue;
3544  // repeated int32 y_intervals = 2;
3545  case 2:
3546  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
3547  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_y_intervals(), ptr, ctx);
3548  CHK_(ptr);
3549  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) {
3550  _internal_add_y_intervals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
3551  CHK_(ptr);
3552  } else goto handle_unusual;
3553  continue;
3554  // bool boxes_with_null_area_can_overlap = 3;
3555  case 3:
3556  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
3557  boxes_with_null_area_can_overlap_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3558  CHK_(ptr);
3559  } else goto handle_unusual;
3560  continue;
3561  default: {
3562  handle_unusual:
3563  if ((tag & 7) == 4 || tag == 0) {
3564  ctx->SetLastTag(tag);
3565  goto success;
3566  }
3567  ptr = UnknownFieldParse(tag,
3568  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
3569  ptr, ctx);
3570  CHK_(ptr != nullptr);
3571  continue;
3572  }
3573  } // switch
3574  } // while
3575 success:
3576  return ptr;
3577 failure:
3578  ptr = nullptr;
3579  goto success;
3580 #undef CHK_
3581 }
3582 
3583 ::PROTOBUF_NAMESPACE_ID::uint8* NoOverlap2DConstraintProto::_InternalSerialize(
3584  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
3585  // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.NoOverlap2DConstraintProto)
3586  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3587  (void) cached_has_bits;
3588 
3589  // repeated int32 x_intervals = 1;
3590  {
3591  int byte_size = _x_intervals_cached_byte_size_.load(std::memory_order_relaxed);
3592  if (byte_size > 0) {
3593  target = stream->WriteInt32Packed(
3594  1, _internal_x_intervals(), byte_size, target);
3595  }
3596  }
3597 
3598  // repeated int32 y_intervals = 2;
3599  {
3600  int byte_size = _y_intervals_cached_byte_size_.load(std::memory_order_relaxed);
3601  if (byte_size > 0) {
3602  target = stream->WriteInt32Packed(
3603  2, _internal_y_intervals(), byte_size, target);
3604  }
3605  }
3606 
3607  // bool boxes_with_null_area_can_overlap = 3;
3608  if (this->boxes_with_null_area_can_overlap() != 0) {
3609  target = stream->EnsureSpace(target);
3610  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_boxes_with_null_area_can_overlap(), target);
3611  }
3612 
3613  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
3614  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
3615  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
3616  }
3617  // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.NoOverlap2DConstraintProto)
3618  return target;
3619 }
3620 
3621 size_t NoOverlap2DConstraintProto::ByteSizeLong() const {
3622 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.NoOverlap2DConstraintProto)
3623  size_t total_size = 0;
3624 
3625  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3626  // Prevent compiler warnings about cached_has_bits being unused
3627  (void) cached_has_bits;
3628 
3629  // repeated int32 x_intervals = 1;
3630  {
3631  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
3632  Int32Size(this->x_intervals_);
3633  if (data_size > 0) {
3634  total_size += 1 +
3635  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
3636  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
3637  }
3638  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
3639  _x_intervals_cached_byte_size_.store(cached_size,
3640  std::memory_order_relaxed);
3641  total_size += data_size;
3642  }
3643 
3644  // repeated int32 y_intervals = 2;
3645  {
3646  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
3647  Int32Size(this->y_intervals_);
3648  if (data_size > 0) {
3649  total_size += 1 +
3650  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
3651  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
3652  }
3653  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
3654  _y_intervals_cached_byte_size_.store(cached_size,
3655  std::memory_order_relaxed);
3656  total_size += data_size;
3657  }
3658 
3659  // bool boxes_with_null_area_can_overlap = 3;
3660  if (this->boxes_with_null_area_can_overlap() != 0) {
3661  total_size += 1 + 1;
3662  }
3663 
3664  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
3665  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
3666  _internal_metadata_, total_size, &_cached_size_);
3667  }
3668  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
3669  SetCachedSize(cached_size);
3670  return total_size;
3671 }
3672 
3673 void NoOverlap2DConstraintProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
3674 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.sat.NoOverlap2DConstraintProto)
3675  GOOGLE_DCHECK_NE(&from, this);
3676  const NoOverlap2DConstraintProto* source =
3677  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<NoOverlap2DConstraintProto>(
3678  &from);
3679  if (source == nullptr) {
3680  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.sat.NoOverlap2DConstraintProto)
3681  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
3682  } else {
3683  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.sat.NoOverlap2DConstraintProto)
3684  MergeFrom(*source);
3685  }
3686 }
3687 
3688 void NoOverlap2DConstraintProto::MergeFrom(const NoOverlap2DConstraintProto& from) {
3689 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.NoOverlap2DConstraintProto)
3690  GOOGLE_DCHECK_NE(&from, this);
3691  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3692  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3693  (void) cached_has_bits;
3694 
3695  x_intervals_.MergeFrom(from.x_intervals_);
3696  y_intervals_.MergeFrom(from.y_intervals_);
3697  if (from.boxes_with_null_area_can_overlap() != 0) {
3698  _internal_set_boxes_with_null_area_can_overlap(from._internal_boxes_with_null_area_can_overlap());
3699  }
3700 }
3701 
3702 void NoOverlap2DConstraintProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
3703 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.sat.NoOverlap2DConstraintProto)
3704  if (&from == this) return;
3705  Clear();
3706  MergeFrom(from);
3707 }
3708 
3709 void NoOverlap2DConstraintProto::CopyFrom(const NoOverlap2DConstraintProto& from) {
3710 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.NoOverlap2DConstraintProto)
3711  if (&from == this) return;
3712  Clear();
3713  MergeFrom(from);
3714 }
3715 
3716 bool NoOverlap2DConstraintProto::IsInitialized() const {
3717  return true;
3718 }
3719 
3720 void NoOverlap2DConstraintProto::InternalSwap(NoOverlap2DConstraintProto* other) {
3721  using std::swap;
3722  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
3723  x_intervals_.InternalSwap(&other->x_intervals_);
3724  y_intervals_.InternalSwap(&other->y_intervals_);
3725  swap(boxes_with_null_area_can_overlap_, other->boxes_with_null_area_can_overlap_);
3726 }
3727 
3728 ::PROTOBUF_NAMESPACE_ID::Metadata NoOverlap2DConstraintProto::GetMetadata() const {
3729  return GetMetadataStatic();
3730 }
3731 
3732 
3733 // ===================================================================
3734 
3736  public:
3737 };
3738 
3739 CumulativeConstraintProto::CumulativeConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
3740  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
3741  intervals_(arena),
3742  demands_(arena) {
3743  SharedCtor();
3744  RegisterArenaDtor(arena);
3745  // @@protoc_insertion_point(arena_constructor:operations_research.sat.CumulativeConstraintProto)
3746 }
3747 CumulativeConstraintProto::CumulativeConstraintProto(const CumulativeConstraintProto& from)
3748  : ::PROTOBUF_NAMESPACE_ID::Message(),
3749  intervals_(from.intervals_),
3750  demands_(from.demands_) {
3751  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3752  capacity_ = from.capacity_;
3753  // @@protoc_insertion_point(copy_constructor:operations_research.sat.CumulativeConstraintProto)
3754 }
3755 
3756 void CumulativeConstraintProto::SharedCtor() {
3757  capacity_ = 0;
3758 }
3759 
3760 CumulativeConstraintProto::~CumulativeConstraintProto() {
3761  // @@protoc_insertion_point(destructor:operations_research.sat.CumulativeConstraintProto)
3762  SharedDtor();
3763  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3764 }
3765 
3766 void CumulativeConstraintProto::SharedDtor() {
3767  GOOGLE_DCHECK(GetArena() == nullptr);
3768 }
3769 
3770 void CumulativeConstraintProto::ArenaDtor(void* object) {
3771  CumulativeConstraintProto* _this = reinterpret_cast< CumulativeConstraintProto* >(object);
3772  (void)_this;
3773 }
3774 void CumulativeConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
3775 }
3776 void CumulativeConstraintProto::SetCachedSize(int size) const {
3777  _cached_size_.Set(size);
3778 }
3779 const CumulativeConstraintProto& CumulativeConstraintProto::default_instance() {
3780  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_CumulativeConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto.base);
3781  return *internal_default_instance();
3782 }
3783 
3784 
3785 void CumulativeConstraintProto::Clear() {
3786 // @@protoc_insertion_point(message_clear_start:operations_research.sat.CumulativeConstraintProto)
3787  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3788  // Prevent compiler warnings about cached_has_bits being unused
3789  (void) cached_has_bits;
3790 
3791  intervals_.Clear();
3792  demands_.Clear();
3793  capacity_ = 0;
3794  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3795 }
3796 
3797 const char* CumulativeConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
3798 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
3799  while (!ctx->Done(&ptr)) {
3801  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
3802  CHK_(ptr);
3803  switch (tag >> 3) {
3804  // int32 capacity = 1;
3805  case 1:
3806  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
3807  capacity_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3808  CHK_(ptr);
3809  } else goto handle_unusual;
3810  continue;
3811  // repeated int32 intervals = 2;
3812  case 2:
3813  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
3814  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_intervals(), ptr, ctx);
3815  CHK_(ptr);
3816  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) {
3817  _internal_add_intervals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
3818  CHK_(ptr);
3819  } else goto handle_unusual;
3820  continue;
3821  // repeated int32 demands = 3;
3822  case 3:
3823  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
3824  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_demands(), ptr, ctx);
3825  CHK_(ptr);
3826  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24) {
3827  _internal_add_demands(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
3828  CHK_(ptr);
3829  } else goto handle_unusual;
3830  continue;
3831  default: {
3832  handle_unusual:
3833  if ((tag & 7) == 4 || tag == 0) {
3834  ctx->SetLastTag(tag);
3835  goto success;
3836  }
3837  ptr = UnknownFieldParse(tag,
3838  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
3839  ptr, ctx);
3840  CHK_(ptr != nullptr);
3841  continue;
3842  }
3843  } // switch
3844  } // while
3845 success:
3846  return ptr;
3847 failure:
3848  ptr = nullptr;
3849  goto success;
3850 #undef CHK_
3851 }
3852 
3853 ::PROTOBUF_NAMESPACE_ID::uint8* CumulativeConstraintProto::_InternalSerialize(
3854  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
3855  // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.CumulativeConstraintProto)
3856  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3857  (void) cached_has_bits;
3858 
3859  // int32 capacity = 1;
3860  if (this->capacity() != 0) {
3861  target = stream->EnsureSpace(target);
3862  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_capacity(), target);
3863  }
3864 
3865  // repeated int32 intervals = 2;
3866  {
3867  int byte_size = _intervals_cached_byte_size_.load(std::memory_order_relaxed);
3868  if (byte_size > 0) {
3869  target = stream->WriteInt32Packed(
3870  2, _internal_intervals(), byte_size, target);
3871  }
3872  }
3873 
3874  // repeated int32 demands = 3;
3875  {
3876  int byte_size = _demands_cached_byte_size_.load(std::memory_order_relaxed);
3877  if (byte_size > 0) {
3878  target = stream->WriteInt32Packed(
3879  3, _internal_demands(), byte_size, target);
3880  }
3881  }
3882 
3883  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
3884  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
3885  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
3886  }
3887  // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.CumulativeConstraintProto)
3888  return target;
3889 }
3890 
3891 size_t CumulativeConstraintProto::ByteSizeLong() const {
3892 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.CumulativeConstraintProto)
3893  size_t total_size = 0;
3894 
3895  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3896  // Prevent compiler warnings about cached_has_bits being unused
3897  (void) cached_has_bits;
3898 
3899  // repeated int32 intervals = 2;
3900  {
3901  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
3902  Int32Size(this->intervals_);
3903  if (data_size > 0) {
3904  total_size += 1 +
3905  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
3906  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
3907  }
3908  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
3909  _intervals_cached_byte_size_.store(cached_size,
3910  std::memory_order_relaxed);
3911  total_size += data_size;
3912  }
3913 
3914  // repeated int32 demands = 3;
3915  {
3916  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
3917  Int32Size(this->demands_);
3918  if (data_size > 0) {
3919  total_size += 1 +
3920  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
3921  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
3922  }
3923  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
3924  _demands_cached_byte_size_.store(cached_size,
3925  std::memory_order_relaxed);
3926  total_size += data_size;
3927  }
3928 
3929  // int32 capacity = 1;
3930  if (this->capacity() != 0) {
3931  total_size += 1 +
3932  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
3933  this->_internal_capacity());
3934  }
3935 
3936  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
3937  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
3938  _internal_metadata_, total_size, &_cached_size_);
3939  }
3940  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
3941  SetCachedSize(cached_size);
3942  return total_size;
3943 }
3944 
3945 void CumulativeConstraintProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
3946 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.sat.CumulativeConstraintProto)
3947  GOOGLE_DCHECK_NE(&from, this);
3948  const CumulativeConstraintProto* source =
3949  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CumulativeConstraintProto>(
3950  &from);
3951  if (source == nullptr) {
3952  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.sat.CumulativeConstraintProto)
3953  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
3954  } else {
3955  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.sat.CumulativeConstraintProto)
3956  MergeFrom(*source);
3957  }
3958 }
3959 
3960 void CumulativeConstraintProto::MergeFrom(const CumulativeConstraintProto& from) {
3961 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.CumulativeConstraintProto)
3962  GOOGLE_DCHECK_NE(&from, this);
3963  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3964  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3965  (void) cached_has_bits;
3966 
3967  intervals_.MergeFrom(from.intervals_);
3968  demands_.MergeFrom(from.demands_);
3969  if (from.capacity() != 0) {
3970  _internal_set_capacity(from._internal_capacity());
3971  }
3972 }
3973 
3974 void CumulativeConstraintProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
3975 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.sat.CumulativeConstraintProto)
3976  if (&from == this) return;
3977  Clear();
3978  MergeFrom(from);
3979 }
3980 
3981 void CumulativeConstraintProto::CopyFrom(const CumulativeConstraintProto& from) {
3982 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.CumulativeConstraintProto)
3983  if (&from == this) return;
3984  Clear();
3985  MergeFrom(from);
3986 }
3987 
3988 bool CumulativeConstraintProto::IsInitialized() const {
3989  return true;
3990 }
3991 
3992 void CumulativeConstraintProto::InternalSwap(CumulativeConstraintProto* other) {
3993  using std::swap;
3994  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
3995  intervals_.InternalSwap(&other->intervals_);
3996  demands_.InternalSwap(&other->demands_);
3997  swap(capacity_, other->capacity_);
3998 }
3999 
4000 ::PROTOBUF_NAMESPACE_ID::Metadata CumulativeConstraintProto::GetMetadata() const {
4001  return GetMetadataStatic();
4002 }
4003 
4004 
4005 // ===================================================================
4006 
4008  public:
4009 };
4010 
4011 ReservoirConstraintProto::ReservoirConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
4012  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
4013  times_(arena),
4014  demands_(arena),
4015  actives_(arena) {
4016  SharedCtor();
4017  RegisterArenaDtor(arena);
4018  // @@protoc_insertion_point(arena_constructor:operations_research.sat.ReservoirConstraintProto)
4019 }
4020 ReservoirConstraintProto::ReservoirConstraintProto(const ReservoirConstraintProto& from)
4021  : ::PROTOBUF_NAMESPACE_ID::Message(),
4022  times_(from.times_),
4023  demands_(from.demands_),
4024  actives_(from.actives_) {
4025  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
4026  ::memcpy(&min_level_, &from.min_level_,
4027  static_cast<size_t>(reinterpret_cast<char*>(&max_level_) -
4028  reinterpret_cast<char*>(&min_level_)) + sizeof(max_level_));
4029  // @@protoc_insertion_point(copy_constructor:operations_research.sat.ReservoirConstraintProto)
4030 }
4031 
4032 void ReservoirConstraintProto::SharedCtor() {
4033  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
4034  reinterpret_cast<char*>(&min_level_) - reinterpret_cast<char*>(this)),
4035  0, static_cast<size_t>(reinterpret_cast<char*>(&max_level_) -
4036  reinterpret_cast<char*>(&min_level_)) + sizeof(max_level_));
4037 }
4038 
4039 ReservoirConstraintProto::~ReservoirConstraintProto() {
4040  // @@protoc_insertion_point(destructor:operations_research.sat.ReservoirConstraintProto)
4041  SharedDtor();
4042  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4043 }
4044 
4045 void ReservoirConstraintProto::SharedDtor() {
4046  GOOGLE_DCHECK(GetArena() == nullptr);
4047 }
4048 
4049 void ReservoirConstraintProto::ArenaDtor(void* object) {
4050  ReservoirConstraintProto* _this = reinterpret_cast< ReservoirConstraintProto* >(object);
4051  (void)_this;
4052 }
4053 void ReservoirConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
4054 }
4055 void ReservoirConstraintProto::SetCachedSize(int size) const {
4056  _cached_size_.Set(size);
4057 }
4058 const ReservoirConstraintProto& ReservoirConstraintProto::default_instance() {
4059  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_ReservoirConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto.base);
4060  return *internal_default_instance();
4061 }
4062 
4063 
4064 void ReservoirConstraintProto::Clear() {
4065 // @@protoc_insertion_point(message_clear_start:operations_research.sat.ReservoirConstraintProto)
4066  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4067  // Prevent compiler warnings about cached_has_bits being unused
4068  (void) cached_has_bits;
4069 
4070  times_.Clear();
4071  demands_.Clear();
4072  actives_.Clear();
4073  ::memset(&min_level_, 0, static_cast<size_t>(
4074  reinterpret_cast<char*>(&max_level_) -
4075  reinterpret_cast<char*>(&min_level_)) + sizeof(max_level_));
4076  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4077 }
4078 
4079 const char* ReservoirConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
4080 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
4081  while (!ctx->Done(&ptr)) {
4083  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
4084  CHK_(ptr);
4085  switch (tag >> 3) {
4086  // int64 min_level = 1;
4087  case 1:
4088  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
4089  min_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
4090  CHK_(ptr);
4091  } else goto handle_unusual;
4092  continue;
4093  // int64 max_level = 2;
4094  case 2:
4095  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
4096  max_level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
4097  CHK_(ptr);
4098  } else goto handle_unusual;
4099  continue;
4100  // repeated int32 times = 3;
4101  case 3:
4102  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
4103  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_times(), ptr, ctx);
4104  CHK_(ptr);
4105  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24) {
4106  _internal_add_times(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
4107  CHK_(ptr);
4108  } else goto handle_unusual;
4109  continue;
4110  // repeated int64 demands = 4;
4111  case 4:
4112  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
4113  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_demands(), ptr, ctx);
4114  CHK_(ptr);
4115  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32) {
4116  _internal_add_demands(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
4117  CHK_(ptr);
4118  } else goto handle_unusual;
4119  continue;
4120  // repeated int32 actives = 5;
4121  case 5:
4122  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
4123  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_actives(), ptr, ctx);
4124  CHK_(ptr);
4125  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40) {
4126  _internal_add_actives(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
4127  CHK_(ptr);
4128  } else goto handle_unusual;
4129  continue;
4130  default: {
4131  handle_unusual:
4132  if ((tag & 7) == 4 || tag == 0) {
4133  ctx->SetLastTag(tag);
4134  goto success;
4135  }
4136  ptr = UnknownFieldParse(tag,
4137  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
4138  ptr, ctx);
4139  CHK_(ptr != nullptr);
4140  continue;
4141  }
4142  } // switch
4143  } // while
4144 success:
4145  return ptr;
4146 failure:
4147  ptr = nullptr;
4148  goto success;
4149 #undef CHK_
4150 }
4151 
4152 ::PROTOBUF_NAMESPACE_ID::uint8* ReservoirConstraintProto::_InternalSerialize(
4153  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
4154  // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.ReservoirConstraintProto)
4155  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4156  (void) cached_has_bits;
4157 
4158  // int64 min_level = 1;
4159  if (this->min_level() != 0) {
4160  target = stream->EnsureSpace(target);
4161  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(1, this->_internal_min_level(), target);
4162  }
4163 
4164  // int64 max_level = 2;
4165  if (this->max_level() != 0) {
4166  target = stream->EnsureSpace(target);
4167  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->_internal_max_level(), target);
4168  }
4169 
4170  // repeated int32 times = 3;
4171  {
4172  int byte_size = _times_cached_byte_size_.load(std::memory_order_relaxed);
4173  if (byte_size > 0) {
4174  target = stream->WriteInt32Packed(
4175  3, _internal_times(), byte_size, target);
4176  }
4177  }
4178 
4179  // repeated int64 demands = 4;
4180  {
4181  int byte_size = _demands_cached_byte_size_.load(std::memory_order_relaxed);
4182  if (byte_size > 0) {
4183  target = stream->WriteInt64Packed(
4184  4, _internal_demands(), byte_size, target);
4185  }
4186  }
4187 
4188  // repeated int32 actives = 5;
4189  {
4190  int byte_size = _actives_cached_byte_size_.load(std::memory_order_relaxed);
4191  if (byte_size > 0) {
4192  target = stream->WriteInt32Packed(
4193  5, _internal_actives(), byte_size, target);
4194  }
4195  }
4196 
4197  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
4198  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
4199  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
4200  }
4201  // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.ReservoirConstraintProto)
4202  return target;
4203 }
4204 
4205 size_t ReservoirConstraintProto::ByteSizeLong() const {
4206 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.ReservoirConstraintProto)
4207  size_t total_size = 0;
4208 
4209  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4210  // Prevent compiler warnings about cached_has_bits being unused
4211  (void) cached_has_bits;
4212 
4213  // repeated int32 times = 3;
4214  {
4215  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4216  Int32Size(this->times_);
4217  if (data_size > 0) {
4218  total_size += 1 +
4219  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4220  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
4221  }
4222  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4223  _times_cached_byte_size_.store(cached_size,
4224  std::memory_order_relaxed);
4225  total_size += data_size;
4226  }
4227 
4228  // repeated int64 demands = 4;
4229  {
4230  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4231  Int64Size(this->demands_);
4232  if (data_size > 0) {
4233  total_size += 1 +
4234  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4235  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
4236  }
4237  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4238  _demands_cached_byte_size_.store(cached_size,
4239  std::memory_order_relaxed);
4240  total_size += data_size;
4241  }
4242 
4243  // repeated int32 actives = 5;
4244  {
4245  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4246  Int32Size(this->actives_);
4247  if (data_size > 0) {
4248  total_size += 1 +
4249  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4250  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
4251  }
4252  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4253  _actives_cached_byte_size_.store(cached_size,
4254  std::memory_order_relaxed);
4255  total_size += data_size;
4256  }
4257 
4258  // int64 min_level = 1;
4259  if (this->min_level() != 0) {
4260  total_size += 1 +
4261  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4262  this->_internal_min_level());
4263  }
4264 
4265  // int64 max_level = 2;
4266  if (this->max_level() != 0) {
4267  total_size += 1 +
4268  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4269  this->_internal_max_level());
4270  }
4271 
4272  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
4273  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
4274  _internal_metadata_, total_size, &_cached_size_);
4275  }
4276  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
4277  SetCachedSize(cached_size);
4278  return total_size;
4279 }
4280 
4281 void ReservoirConstraintProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
4282 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.sat.ReservoirConstraintProto)
4283  GOOGLE_DCHECK_NE(&from, this);
4284  const ReservoirConstraintProto* source =
4285  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<ReservoirConstraintProto>(
4286  &from);
4287  if (source == nullptr) {
4288  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.sat.ReservoirConstraintProto)
4289  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
4290  } else {
4291  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.sat.ReservoirConstraintProto)
4292  MergeFrom(*source);
4293  }
4294 }
4295 
4296 void ReservoirConstraintProto::MergeFrom(const ReservoirConstraintProto& from) {
4297 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.ReservoirConstraintProto)
4298  GOOGLE_DCHECK_NE(&from, this);
4299  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
4300  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4301  (void) cached_has_bits;
4302 
4303  times_.MergeFrom(from.times_);
4304  demands_.MergeFrom(from.demands_);
4305  actives_.MergeFrom(from.actives_);
4306  if (from.min_level() != 0) {
4307  _internal_set_min_level(from._internal_min_level());
4308  }
4309  if (from.max_level() != 0) {
4310  _internal_set_max_level(from._internal_max_level());
4311  }
4312 }
4313 
4314 void ReservoirConstraintProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
4315 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.sat.ReservoirConstraintProto)
4316  if (&from == this) return;
4317  Clear();
4318  MergeFrom(from);
4319 }
4320 
4321 void ReservoirConstraintProto::CopyFrom(const ReservoirConstraintProto& from) {
4322 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.ReservoirConstraintProto)
4323  if (&from == this) return;
4324  Clear();
4325  MergeFrom(from);
4326 }
4327 
4328 bool ReservoirConstraintProto::IsInitialized() const {
4329  return true;
4330 }
4331 
4332 void ReservoirConstraintProto::InternalSwap(ReservoirConstraintProto* other) {
4333  using std::swap;
4334  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
4335  times_.InternalSwap(&other->times_);
4336  demands_.InternalSwap(&other->demands_);
4337  actives_.InternalSwap(&other->actives_);
4338  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
4339  PROTOBUF_FIELD_OFFSET(ReservoirConstraintProto, max_level_)
4340  + sizeof(ReservoirConstraintProto::max_level_)
4341  - PROTOBUF_FIELD_OFFSET(ReservoirConstraintProto, min_level_)>(
4342  reinterpret_cast<char*>(&min_level_),
4343  reinterpret_cast<char*>(&other->min_level_));
4344 }
4345 
4346 ::PROTOBUF_NAMESPACE_ID::Metadata ReservoirConstraintProto::GetMetadata() const {
4347  return GetMetadataStatic();
4348 }
4349 
4350 
4351 // ===================================================================
4352 
4354  public:
4355 };
4356 
4357 CircuitConstraintProto::CircuitConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
4358  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
4359  tails_(arena),
4360  heads_(arena),
4361  literals_(arena) {
4362  SharedCtor();
4363  RegisterArenaDtor(arena);
4364  // @@protoc_insertion_point(arena_constructor:operations_research.sat.CircuitConstraintProto)
4365 }
4366 CircuitConstraintProto::CircuitConstraintProto(const CircuitConstraintProto& from)
4367  : ::PROTOBUF_NAMESPACE_ID::Message(),
4368  tails_(from.tails_),
4369  heads_(from.heads_),
4370  literals_(from.literals_) {
4371  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
4372  // @@protoc_insertion_point(copy_constructor:operations_research.sat.CircuitConstraintProto)
4373 }
4374 
4375 void CircuitConstraintProto::SharedCtor() {
4376 }
4377 
4378 CircuitConstraintProto::~CircuitConstraintProto() {
4379  // @@protoc_insertion_point(destructor:operations_research.sat.CircuitConstraintProto)
4380  SharedDtor();
4381  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4382 }
4383 
4384 void CircuitConstraintProto::SharedDtor() {
4385  GOOGLE_DCHECK(GetArena() == nullptr);
4386 }
4387 
4388 void CircuitConstraintProto::ArenaDtor(void* object) {
4389  CircuitConstraintProto* _this = reinterpret_cast< CircuitConstraintProto* >(object);
4390  (void)_this;
4391 }
4392 void CircuitConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
4393 }
4394 void CircuitConstraintProto::SetCachedSize(int size) const {
4395  _cached_size_.Set(size);
4396 }
4397 const CircuitConstraintProto& CircuitConstraintProto::default_instance() {
4398  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_CircuitConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto.base);
4399  return *internal_default_instance();
4400 }
4401 
4402 
4403 void CircuitConstraintProto::Clear() {
4404 // @@protoc_insertion_point(message_clear_start:operations_research.sat.CircuitConstraintProto)
4405  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4406  // Prevent compiler warnings about cached_has_bits being unused
4407  (void) cached_has_bits;
4408 
4409  tails_.Clear();
4410  heads_.Clear();
4411  literals_.Clear();
4412  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4413 }
4414 
4415 const char* CircuitConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
4416 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
4417  while (!ctx->Done(&ptr)) {
4419  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
4420  CHK_(ptr);
4421  switch (tag >> 3) {
4422  // repeated int32 tails = 3;
4423  case 3:
4424  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
4425  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_tails(), ptr, ctx);
4426  CHK_(ptr);
4427  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24) {
4428  _internal_add_tails(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
4429  CHK_(ptr);
4430  } else goto handle_unusual;
4431  continue;
4432  // repeated int32 heads = 4;
4433  case 4:
4434  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
4435  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_heads(), ptr, ctx);
4436  CHK_(ptr);
4437  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32) {
4438  _internal_add_heads(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
4439  CHK_(ptr);
4440  } else goto handle_unusual;
4441  continue;
4442  // repeated int32 literals = 5;
4443  case 5:
4444  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
4445  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_literals(), ptr, ctx);
4446  CHK_(ptr);
4447  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40) {
4448  _internal_add_literals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
4449  CHK_(ptr);
4450  } else goto handle_unusual;
4451  continue;
4452  default: {
4453  handle_unusual:
4454  if ((tag & 7) == 4 || tag == 0) {
4455  ctx->SetLastTag(tag);
4456  goto success;
4457  }
4458  ptr = UnknownFieldParse(tag,
4459  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
4460  ptr, ctx);
4461  CHK_(ptr != nullptr);
4462  continue;
4463  }
4464  } // switch
4465  } // while
4466 success:
4467  return ptr;
4468 failure:
4469  ptr = nullptr;
4470  goto success;
4471 #undef CHK_
4472 }
4473 
4474 ::PROTOBUF_NAMESPACE_ID::uint8* CircuitConstraintProto::_InternalSerialize(
4475  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
4476  // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.CircuitConstraintProto)
4477  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4478  (void) cached_has_bits;
4479 
4480  // repeated int32 tails = 3;
4481  {
4482  int byte_size = _tails_cached_byte_size_.load(std::memory_order_relaxed);
4483  if (byte_size > 0) {
4484  target = stream->WriteInt32Packed(
4485  3, _internal_tails(), byte_size, target);
4486  }
4487  }
4488 
4489  // repeated int32 heads = 4;
4490  {
4491  int byte_size = _heads_cached_byte_size_.load(std::memory_order_relaxed);
4492  if (byte_size > 0) {
4493  target = stream->WriteInt32Packed(
4494  4, _internal_heads(), byte_size, target);
4495  }
4496  }
4497 
4498  // repeated int32 literals = 5;
4499  {
4500  int byte_size = _literals_cached_byte_size_.load(std::memory_order_relaxed);
4501  if (byte_size > 0) {
4502  target = stream->WriteInt32Packed(
4503  5, _internal_literals(), byte_size, target);
4504  }
4505  }
4506 
4507  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
4508  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
4509  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
4510  }
4511  // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.CircuitConstraintProto)
4512  return target;
4513 }
4514 
4515 size_t CircuitConstraintProto::ByteSizeLong() const {
4516 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.CircuitConstraintProto)
4517  size_t total_size = 0;
4518 
4519  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4520  // Prevent compiler warnings about cached_has_bits being unused
4521  (void) cached_has_bits;
4522 
4523  // repeated int32 tails = 3;
4524  {
4525  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4526  Int32Size(this->tails_);
4527  if (data_size > 0) {
4528  total_size += 1 +
4529  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4530  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
4531  }
4532  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4533  _tails_cached_byte_size_.store(cached_size,
4534  std::memory_order_relaxed);
4535  total_size += data_size;
4536  }
4537 
4538  // repeated int32 heads = 4;
4539  {
4540  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4541  Int32Size(this->heads_);
4542  if (data_size > 0) {
4543  total_size += 1 +
4544  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4545  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
4546  }
4547  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4548  _heads_cached_byte_size_.store(cached_size,
4549  std::memory_order_relaxed);
4550  total_size += data_size;
4551  }
4552 
4553  // repeated int32 literals = 5;
4554  {
4555  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4556  Int32Size(this->literals_);
4557  if (data_size > 0) {
4558  total_size += 1 +
4559  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4560  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
4561  }
4562  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4563  _literals_cached_byte_size_.store(cached_size,
4564  std::memory_order_relaxed);
4565  total_size += data_size;
4566  }
4567 
4568  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
4569  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
4570  _internal_metadata_, total_size, &_cached_size_);
4571  }
4572  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
4573  SetCachedSize(cached_size);
4574  return total_size;
4575 }
4576 
4577 void CircuitConstraintProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
4578 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.sat.CircuitConstraintProto)
4579  GOOGLE_DCHECK_NE(&from, this);
4580  const CircuitConstraintProto* source =
4581  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CircuitConstraintProto>(
4582  &from);
4583  if (source == nullptr) {
4584  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.sat.CircuitConstraintProto)
4585  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
4586  } else {
4587  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.sat.CircuitConstraintProto)
4588  MergeFrom(*source);
4589  }
4590 }
4591 
4592 void CircuitConstraintProto::MergeFrom(const CircuitConstraintProto& from) {
4593 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.CircuitConstraintProto)
4594  GOOGLE_DCHECK_NE(&from, this);
4595  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
4596  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4597  (void) cached_has_bits;
4598 
4599  tails_.MergeFrom(from.tails_);
4600  heads_.MergeFrom(from.heads_);
4601  literals_.MergeFrom(from.literals_);
4602 }
4603 
4604 void CircuitConstraintProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
4605 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.sat.CircuitConstraintProto)
4606  if (&from == this) return;
4607  Clear();
4608  MergeFrom(from);
4609 }
4610 
4611 void CircuitConstraintProto::CopyFrom(const CircuitConstraintProto& from) {
4612 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.CircuitConstraintProto)
4613  if (&from == this) return;
4614  Clear();
4615  MergeFrom(from);
4616 }
4617 
4618 bool CircuitConstraintProto::IsInitialized() const {
4619  return true;
4620 }
4621 
4622 void CircuitConstraintProto::InternalSwap(CircuitConstraintProto* other) {
4623  using std::swap;
4624  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
4625  tails_.InternalSwap(&other->tails_);
4626  heads_.InternalSwap(&other->heads_);
4627  literals_.InternalSwap(&other->literals_);
4628 }
4629 
4630 ::PROTOBUF_NAMESPACE_ID::Metadata CircuitConstraintProto::GetMetadata() const {
4631  return GetMetadataStatic();
4632 }
4633 
4634 
4635 // ===================================================================
4636 
4638  public:
4639 };
4640 
4641 RoutesConstraintProto::RoutesConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
4642  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
4643  tails_(arena),
4644  heads_(arena),
4645  literals_(arena),
4646  demands_(arena) {
4647  SharedCtor();
4648  RegisterArenaDtor(arena);
4649  // @@protoc_insertion_point(arena_constructor:operations_research.sat.RoutesConstraintProto)
4650 }
4651 RoutesConstraintProto::RoutesConstraintProto(const RoutesConstraintProto& from)
4652  : ::PROTOBUF_NAMESPACE_ID::Message(),
4653  tails_(from.tails_),
4654  heads_(from.heads_),
4655  literals_(from.literals_),
4656  demands_(from.demands_) {
4657  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
4658  capacity_ = from.capacity_;
4659  // @@protoc_insertion_point(copy_constructor:operations_research.sat.RoutesConstraintProto)
4660 }
4661 
4662 void RoutesConstraintProto::SharedCtor() {
4663  capacity_ = PROTOBUF_LONGLONG(0);
4664 }
4665 
4666 RoutesConstraintProto::~RoutesConstraintProto() {
4667  // @@protoc_insertion_point(destructor:operations_research.sat.RoutesConstraintProto)
4668  SharedDtor();
4669  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4670 }
4671 
4672 void RoutesConstraintProto::SharedDtor() {
4673  GOOGLE_DCHECK(GetArena() == nullptr);
4674 }
4675 
4676 void RoutesConstraintProto::ArenaDtor(void* object) {
4677  RoutesConstraintProto* _this = reinterpret_cast< RoutesConstraintProto* >(object);
4678  (void)_this;
4679 }
4680 void RoutesConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
4681 }
4682 void RoutesConstraintProto::SetCachedSize(int size) const {
4683  _cached_size_.Set(size);
4684 }
4685 const RoutesConstraintProto& RoutesConstraintProto::default_instance() {
4686  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_RoutesConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto.base);
4687  return *internal_default_instance();
4688 }
4689 
4690 
4691 void RoutesConstraintProto::Clear() {
4692 // @@protoc_insertion_point(message_clear_start:operations_research.sat.RoutesConstraintProto)
4693  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4694  // Prevent compiler warnings about cached_has_bits being unused
4695  (void) cached_has_bits;
4696 
4697  tails_.Clear();
4698  heads_.Clear();
4699  literals_.Clear();
4700  demands_.Clear();
4701  capacity_ = PROTOBUF_LONGLONG(0);
4702  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
4703 }
4704 
4705 const char* RoutesConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
4706 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
4707  while (!ctx->Done(&ptr)) {
4709  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
4710  CHK_(ptr);
4711  switch (tag >> 3) {
4712  // repeated int32 tails = 1;
4713  case 1:
4714  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
4715  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_tails(), ptr, ctx);
4716  CHK_(ptr);
4717  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
4718  _internal_add_tails(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
4719  CHK_(ptr);
4720  } else goto handle_unusual;
4721  continue;
4722  // repeated int32 heads = 2;
4723  case 2:
4724  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
4725  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_heads(), ptr, ctx);
4726  CHK_(ptr);
4727  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) {
4728  _internal_add_heads(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
4729  CHK_(ptr);
4730  } else goto handle_unusual;
4731  continue;
4732  // repeated int32 literals = 3;
4733  case 3:
4734  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
4735  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_literals(), ptr, ctx);
4736  CHK_(ptr);
4737  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24) {
4738  _internal_add_literals(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
4739  CHK_(ptr);
4740  } else goto handle_unusual;
4741  continue;
4742  // repeated int32 demands = 4;
4743  case 4:
4744  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
4745  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_demands(), ptr, ctx);
4746  CHK_(ptr);
4747  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32) {
4748  _internal_add_demands(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
4749  CHK_(ptr);
4750  } else goto handle_unusual;
4751  continue;
4752  // int64 capacity = 5;
4753  case 5:
4754  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
4755  capacity_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
4756  CHK_(ptr);
4757  } else goto handle_unusual;
4758  continue;
4759  default: {
4760  handle_unusual:
4761  if ((tag & 7) == 4 || tag == 0) {
4762  ctx->SetLastTag(tag);
4763  goto success;
4764  }
4765  ptr = UnknownFieldParse(tag,
4766  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
4767  ptr, ctx);
4768  CHK_(ptr != nullptr);
4769  continue;
4770  }
4771  } // switch
4772  } // while
4773 success:
4774  return ptr;
4775 failure:
4776  ptr = nullptr;
4777  goto success;
4778 #undef CHK_
4779 }
4780 
4781 ::PROTOBUF_NAMESPACE_ID::uint8* RoutesConstraintProto::_InternalSerialize(
4782  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
4783  // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.RoutesConstraintProto)
4784  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4785  (void) cached_has_bits;
4786 
4787  // repeated int32 tails = 1;
4788  {
4789  int byte_size = _tails_cached_byte_size_.load(std::memory_order_relaxed);
4790  if (byte_size > 0) {
4791  target = stream->WriteInt32Packed(
4792  1, _internal_tails(), byte_size, target);
4793  }
4794  }
4795 
4796  // repeated int32 heads = 2;
4797  {
4798  int byte_size = _heads_cached_byte_size_.load(std::memory_order_relaxed);
4799  if (byte_size > 0) {
4800  target = stream->WriteInt32Packed(
4801  2, _internal_heads(), byte_size, target);
4802  }
4803  }
4804 
4805  // repeated int32 literals = 3;
4806  {
4807  int byte_size = _literals_cached_byte_size_.load(std::memory_order_relaxed);
4808  if (byte_size > 0) {
4809  target = stream->WriteInt32Packed(
4810  3, _internal_literals(), byte_size, target);
4811  }
4812  }
4813 
4814  // repeated int32 demands = 4;
4815  {
4816  int byte_size = _demands_cached_byte_size_.load(std::memory_order_relaxed);
4817  if (byte_size > 0) {
4818  target = stream->WriteInt32Packed(
4819  4, _internal_demands(), byte_size, target);
4820  }
4821  }
4822 
4823  // int64 capacity = 5;
4824  if (this->capacity() != 0) {
4825  target = stream->EnsureSpace(target);
4826  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(5, this->_internal_capacity(), target);
4827  }
4828 
4829  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
4830  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
4831  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
4832  }
4833  // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.RoutesConstraintProto)
4834  return target;
4835 }
4836 
4837 size_t RoutesConstraintProto::ByteSizeLong() const {
4838 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.RoutesConstraintProto)
4839  size_t total_size = 0;
4840 
4841  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4842  // Prevent compiler warnings about cached_has_bits being unused
4843  (void) cached_has_bits;
4844 
4845  // repeated int32 tails = 1;
4846  {
4847  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4848  Int32Size(this->tails_);
4849  if (data_size > 0) {
4850  total_size += 1 +
4851  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4852  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
4853  }
4854  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4855  _tails_cached_byte_size_.store(cached_size,
4856  std::memory_order_relaxed);
4857  total_size += data_size;
4858  }
4859 
4860  // repeated int32 heads = 2;
4861  {
4862  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4863  Int32Size(this->heads_);
4864  if (data_size > 0) {
4865  total_size += 1 +
4866  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4867  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
4868  }
4869  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4870  _heads_cached_byte_size_.store(cached_size,
4871  std::memory_order_relaxed);
4872  total_size += data_size;
4873  }
4874 
4875  // repeated int32 literals = 3;
4876  {
4877  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4878  Int32Size(this->literals_);
4879  if (data_size > 0) {
4880  total_size += 1 +
4881  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4882  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
4883  }
4884  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4885  _literals_cached_byte_size_.store(cached_size,
4886  std::memory_order_relaxed);
4887  total_size += data_size;
4888  }
4889 
4890  // repeated int32 demands = 4;
4891  {
4892  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
4893  Int32Size(this->demands_);
4894  if (data_size > 0) {
4895  total_size += 1 +
4896  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
4897  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
4898  }
4899  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
4900  _demands_cached_byte_size_.store(cached_size,
4901  std::memory_order_relaxed);
4902  total_size += data_size;
4903  }
4904 
4905  // int64 capacity = 5;
4906  if (this->capacity() != 0) {
4907  total_size += 1 +
4908  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
4909  this->_internal_capacity());
4910  }
4911 
4912  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
4913  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
4914  _internal_metadata_, total_size, &_cached_size_);
4915  }
4916  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
4917  SetCachedSize(cached_size);
4918  return total_size;
4919 }
4920 
4921 void RoutesConstraintProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
4922 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.sat.RoutesConstraintProto)
4923  GOOGLE_DCHECK_NE(&from, this);
4924  const RoutesConstraintProto* source =
4925  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<RoutesConstraintProto>(
4926  &from);
4927  if (source == nullptr) {
4928  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.sat.RoutesConstraintProto)
4929  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
4930  } else {
4931  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.sat.RoutesConstraintProto)
4932  MergeFrom(*source);
4933  }
4934 }
4935 
4936 void RoutesConstraintProto::MergeFrom(const RoutesConstraintProto& from) {
4937 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.RoutesConstraintProto)
4938  GOOGLE_DCHECK_NE(&from, this);
4939  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
4940  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
4941  (void) cached_has_bits;
4942 
4943  tails_.MergeFrom(from.tails_);
4944  heads_.MergeFrom(from.heads_);
4945  literals_.MergeFrom(from.literals_);
4946  demands_.MergeFrom(from.demands_);
4947  if (from.capacity() != 0) {
4948  _internal_set_capacity(from._internal_capacity());
4949  }
4950 }
4951 
4952 void RoutesConstraintProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
4953 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.sat.RoutesConstraintProto)
4954  if (&from == this) return;
4955  Clear();
4956  MergeFrom(from);
4957 }
4958 
4959 void RoutesConstraintProto::CopyFrom(const RoutesConstraintProto& from) {
4960 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.RoutesConstraintProto)
4961  if (&from == this) return;
4962  Clear();
4963  MergeFrom(from);
4964 }
4965 
4966 bool RoutesConstraintProto::IsInitialized() const {
4967  return true;
4968 }
4969 
4970 void RoutesConstraintProto::InternalSwap(RoutesConstraintProto* other) {
4971  using std::swap;
4972  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
4973  tails_.InternalSwap(&other->tails_);
4974  heads_.InternalSwap(&other->heads_);
4975  literals_.InternalSwap(&other->literals_);
4976  demands_.InternalSwap(&other->demands_);
4977  swap(capacity_, other->capacity_);
4978 }
4979 
4980 ::PROTOBUF_NAMESPACE_ID::Metadata RoutesConstraintProto::GetMetadata() const {
4981  return GetMetadataStatic();
4982 }
4983 
4984 
4985 // ===================================================================
4986 
4988  public:
4989 };
4990 
4991 TableConstraintProto::TableConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
4992  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
4993  vars_(arena),
4994  values_(arena) {
4995  SharedCtor();
4996  RegisterArenaDtor(arena);
4997  // @@protoc_insertion_point(arena_constructor:operations_research.sat.TableConstraintProto)
4998 }
4999 TableConstraintProto::TableConstraintProto(const TableConstraintProto& from)
5000  : ::PROTOBUF_NAMESPACE_ID::Message(),
5001  vars_(from.vars_),
5002  values_(from.values_) {
5003  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
5004  negated_ = from.negated_;
5005  // @@protoc_insertion_point(copy_constructor:operations_research.sat.TableConstraintProto)
5006 }
5007 
5008 void TableConstraintProto::SharedCtor() {
5009  negated_ = false;
5010 }
5011 
5012 TableConstraintProto::~TableConstraintProto() {
5013  // @@protoc_insertion_point(destructor:operations_research.sat.TableConstraintProto)
5014  SharedDtor();
5015  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
5016 }
5017 
5018 void TableConstraintProto::SharedDtor() {
5019  GOOGLE_DCHECK(GetArena() == nullptr);
5020 }
5021 
5022 void TableConstraintProto::ArenaDtor(void* object) {
5023  TableConstraintProto* _this = reinterpret_cast< TableConstraintProto* >(object);
5024  (void)_this;
5025 }
5026 void TableConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
5027 }
5028 void TableConstraintProto::SetCachedSize(int size) const {
5029  _cached_size_.Set(size);
5030 }
5031 const TableConstraintProto& TableConstraintProto::default_instance() {
5032  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_TableConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto.base);
5033  return *internal_default_instance();
5034 }
5035 
5036 
5037 void TableConstraintProto::Clear() {
5038 // @@protoc_insertion_point(message_clear_start:operations_research.sat.TableConstraintProto)
5039  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5040  // Prevent compiler warnings about cached_has_bits being unused
5041  (void) cached_has_bits;
5042 
5043  vars_.Clear();
5044  values_.Clear();
5045  negated_ = false;
5046  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
5047 }
5048 
5049 const char* TableConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
5050 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
5051  while (!ctx->Done(&ptr)) {
5053  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
5054  CHK_(ptr);
5055  switch (tag >> 3) {
5056  // repeated int32 vars = 1;
5057  case 1:
5058  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
5059  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_vars(), ptr, ctx);
5060  CHK_(ptr);
5061  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
5062  _internal_add_vars(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
5063  CHK_(ptr);
5064  } else goto handle_unusual;
5065  continue;
5066  // repeated int64 values = 2;
5067  case 2:
5068  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
5069  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_values(), ptr, ctx);
5070  CHK_(ptr);
5071  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) {
5072  _internal_add_values(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
5073  CHK_(ptr);
5074  } else goto handle_unusual;
5075  continue;
5076  // bool negated = 3;
5077  case 3:
5078  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
5079  negated_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
5080  CHK_(ptr);
5081  } else goto handle_unusual;
5082  continue;
5083  default: {
5084  handle_unusual:
5085  if ((tag & 7) == 4 || tag == 0) {
5086  ctx->SetLastTag(tag);
5087  goto success;
5088  }
5089  ptr = UnknownFieldParse(tag,
5090  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
5091  ptr, ctx);
5092  CHK_(ptr != nullptr);
5093  continue;
5094  }
5095  } // switch
5096  } // while
5097 success:
5098  return ptr;
5099 failure:
5100  ptr = nullptr;
5101  goto success;
5102 #undef CHK_
5103 }
5104 
5105 ::PROTOBUF_NAMESPACE_ID::uint8* TableConstraintProto::_InternalSerialize(
5106  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
5107  // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.TableConstraintProto)
5108  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5109  (void) cached_has_bits;
5110 
5111  // repeated int32 vars = 1;
5112  {
5113  int byte_size = _vars_cached_byte_size_.load(std::memory_order_relaxed);
5114  if (byte_size > 0) {
5115  target = stream->WriteInt32Packed(
5116  1, _internal_vars(), byte_size, target);
5117  }
5118  }
5119 
5120  // repeated int64 values = 2;
5121  {
5122  int byte_size = _values_cached_byte_size_.load(std::memory_order_relaxed);
5123  if (byte_size > 0) {
5124  target = stream->WriteInt64Packed(
5125  2, _internal_values(), byte_size, target);
5126  }
5127  }
5128 
5129  // bool negated = 3;
5130  if (this->negated() != 0) {
5131  target = stream->EnsureSpace(target);
5132  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_negated(), target);
5133  }
5134 
5135  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
5136  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
5137  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
5138  }
5139  // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.TableConstraintProto)
5140  return target;
5141 }
5142 
5143 size_t TableConstraintProto::ByteSizeLong() const {
5144 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.TableConstraintProto)
5145  size_t total_size = 0;
5146 
5147  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5148  // Prevent compiler warnings about cached_has_bits being unused
5149  (void) cached_has_bits;
5150 
5151  // repeated int32 vars = 1;
5152  {
5153  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5154  Int32Size(this->vars_);
5155  if (data_size > 0) {
5156  total_size += 1 +
5157  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5158  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
5159  }
5160  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
5161  _vars_cached_byte_size_.store(cached_size,
5162  std::memory_order_relaxed);
5163  total_size += data_size;
5164  }
5165 
5166  // repeated int64 values = 2;
5167  {
5168  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5169  Int64Size(this->values_);
5170  if (data_size > 0) {
5171  total_size += 1 +
5172  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5173  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
5174  }
5175  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
5176  _values_cached_byte_size_.store(cached_size,
5177  std::memory_order_relaxed);
5178  total_size += data_size;
5179  }
5180 
5181  // bool negated = 3;
5182  if (this->negated() != 0) {
5183  total_size += 1 + 1;
5184  }
5185 
5186  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
5187  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
5188  _internal_metadata_, total_size, &_cached_size_);
5189  }
5190  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
5191  SetCachedSize(cached_size);
5192  return total_size;
5193 }
5194 
5195 void TableConstraintProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
5196 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.sat.TableConstraintProto)
5197  GOOGLE_DCHECK_NE(&from, this);
5198  const TableConstraintProto* source =
5199  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<TableConstraintProto>(
5200  &from);
5201  if (source == nullptr) {
5202  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.sat.TableConstraintProto)
5203  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
5204  } else {
5205  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.sat.TableConstraintProto)
5206  MergeFrom(*source);
5207  }
5208 }
5209 
5210 void TableConstraintProto::MergeFrom(const TableConstraintProto& from) {
5211 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.TableConstraintProto)
5212  GOOGLE_DCHECK_NE(&from, this);
5213  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
5214  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5215  (void) cached_has_bits;
5216 
5217  vars_.MergeFrom(from.vars_);
5218  values_.MergeFrom(from.values_);
5219  if (from.negated() != 0) {
5220  _internal_set_negated(from._internal_negated());
5221  }
5222 }
5223 
5224 void TableConstraintProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
5225 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.sat.TableConstraintProto)
5226  if (&from == this) return;
5227  Clear();
5228  MergeFrom(from);
5229 }
5230 
5231 void TableConstraintProto::CopyFrom(const TableConstraintProto& from) {
5232 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.TableConstraintProto)
5233  if (&from == this) return;
5234  Clear();
5235  MergeFrom(from);
5236 }
5237 
5238 bool TableConstraintProto::IsInitialized() const {
5239  return true;
5240 }
5241 
5242 void TableConstraintProto::InternalSwap(TableConstraintProto* other) {
5243  using std::swap;
5244  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
5245  vars_.InternalSwap(&other->vars_);
5246  values_.InternalSwap(&other->values_);
5247  swap(negated_, other->negated_);
5248 }
5249 
5250 ::PROTOBUF_NAMESPACE_ID::Metadata TableConstraintProto::GetMetadata() const {
5251  return GetMetadataStatic();
5252 }
5253 
5254 
5255 // ===================================================================
5256 
5258  public:
5259 };
5260 
5261 InverseConstraintProto::InverseConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
5262  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
5263  f_direct_(arena),
5264  f_inverse_(arena) {
5265  SharedCtor();
5266  RegisterArenaDtor(arena);
5267  // @@protoc_insertion_point(arena_constructor:operations_research.sat.InverseConstraintProto)
5268 }
5269 InverseConstraintProto::InverseConstraintProto(const InverseConstraintProto& from)
5270  : ::PROTOBUF_NAMESPACE_ID::Message(),
5271  f_direct_(from.f_direct_),
5272  f_inverse_(from.f_inverse_) {
5273  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
5274  // @@protoc_insertion_point(copy_constructor:operations_research.sat.InverseConstraintProto)
5275 }
5276 
5277 void InverseConstraintProto::SharedCtor() {
5278 }
5279 
5280 InverseConstraintProto::~InverseConstraintProto() {
5281  // @@protoc_insertion_point(destructor:operations_research.sat.InverseConstraintProto)
5282  SharedDtor();
5283  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
5284 }
5285 
5286 void InverseConstraintProto::SharedDtor() {
5287  GOOGLE_DCHECK(GetArena() == nullptr);
5288 }
5289 
5290 void InverseConstraintProto::ArenaDtor(void* object) {
5291  InverseConstraintProto* _this = reinterpret_cast< InverseConstraintProto* >(object);
5292  (void)_this;
5293 }
5294 void InverseConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
5295 }
5296 void InverseConstraintProto::SetCachedSize(int size) const {
5297  _cached_size_.Set(size);
5298 }
5299 const InverseConstraintProto& InverseConstraintProto::default_instance() {
5300  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_InverseConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto.base);
5301  return *internal_default_instance();
5302 }
5303 
5304 
5305 void InverseConstraintProto::Clear() {
5306 // @@protoc_insertion_point(message_clear_start:operations_research.sat.InverseConstraintProto)
5307  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5308  // Prevent compiler warnings about cached_has_bits being unused
5309  (void) cached_has_bits;
5310 
5311  f_direct_.Clear();
5312  f_inverse_.Clear();
5313  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
5314 }
5315 
5316 const char* InverseConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
5317 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
5318  while (!ctx->Done(&ptr)) {
5320  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
5321  CHK_(ptr);
5322  switch (tag >> 3) {
5323  // repeated int32 f_direct = 1;
5324  case 1:
5325  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
5326  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_f_direct(), ptr, ctx);
5327  CHK_(ptr);
5328  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
5329  _internal_add_f_direct(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
5330  CHK_(ptr);
5331  } else goto handle_unusual;
5332  continue;
5333  // repeated int32 f_inverse = 2;
5334  case 2:
5335  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
5336  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_f_inverse(), ptr, ctx);
5337  CHK_(ptr);
5338  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) {
5339  _internal_add_f_inverse(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
5340  CHK_(ptr);
5341  } else goto handle_unusual;
5342  continue;
5343  default: {
5344  handle_unusual:
5345  if ((tag & 7) == 4 || tag == 0) {
5346  ctx->SetLastTag(tag);
5347  goto success;
5348  }
5349  ptr = UnknownFieldParse(tag,
5350  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
5351  ptr, ctx);
5352  CHK_(ptr != nullptr);
5353  continue;
5354  }
5355  } // switch
5356  } // while
5357 success:
5358  return ptr;
5359 failure:
5360  ptr = nullptr;
5361  goto success;
5362 #undef CHK_
5363 }
5364 
5365 ::PROTOBUF_NAMESPACE_ID::uint8* InverseConstraintProto::_InternalSerialize(
5366  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
5367  // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.InverseConstraintProto)
5368  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5369  (void) cached_has_bits;
5370 
5371  // repeated int32 f_direct = 1;
5372  {
5373  int byte_size = _f_direct_cached_byte_size_.load(std::memory_order_relaxed);
5374  if (byte_size > 0) {
5375  target = stream->WriteInt32Packed(
5376  1, _internal_f_direct(), byte_size, target);
5377  }
5378  }
5379 
5380  // repeated int32 f_inverse = 2;
5381  {
5382  int byte_size = _f_inverse_cached_byte_size_.load(std::memory_order_relaxed);
5383  if (byte_size > 0) {
5384  target = stream->WriteInt32Packed(
5385  2, _internal_f_inverse(), byte_size, target);
5386  }
5387  }
5388 
5389  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
5390  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
5391  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
5392  }
5393  // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.InverseConstraintProto)
5394  return target;
5395 }
5396 
5397 size_t InverseConstraintProto::ByteSizeLong() const {
5398 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.InverseConstraintProto)
5399  size_t total_size = 0;
5400 
5401  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5402  // Prevent compiler warnings about cached_has_bits being unused
5403  (void) cached_has_bits;
5404 
5405  // repeated int32 f_direct = 1;
5406  {
5407  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5408  Int32Size(this->f_direct_);
5409  if (data_size > 0) {
5410  total_size += 1 +
5411  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5412  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
5413  }
5414  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
5415  _f_direct_cached_byte_size_.store(cached_size,
5416  std::memory_order_relaxed);
5417  total_size += data_size;
5418  }
5419 
5420  // repeated int32 f_inverse = 2;
5421  {
5422  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5423  Int32Size(this->f_inverse_);
5424  if (data_size > 0) {
5425  total_size += 1 +
5426  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5427  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
5428  }
5429  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
5430  _f_inverse_cached_byte_size_.store(cached_size,
5431  std::memory_order_relaxed);
5432  total_size += data_size;
5433  }
5434 
5435  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
5436  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
5437  _internal_metadata_, total_size, &_cached_size_);
5438  }
5439  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
5440  SetCachedSize(cached_size);
5441  return total_size;
5442 }
5443 
5444 void InverseConstraintProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
5445 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.sat.InverseConstraintProto)
5446  GOOGLE_DCHECK_NE(&from, this);
5447  const InverseConstraintProto* source =
5448  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<InverseConstraintProto>(
5449  &from);
5450  if (source == nullptr) {
5451  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.sat.InverseConstraintProto)
5452  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
5453  } else {
5454  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.sat.InverseConstraintProto)
5455  MergeFrom(*source);
5456  }
5457 }
5458 
5459 void InverseConstraintProto::MergeFrom(const InverseConstraintProto& from) {
5460 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.InverseConstraintProto)
5461  GOOGLE_DCHECK_NE(&from, this);
5462  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
5463  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5464  (void) cached_has_bits;
5465 
5466  f_direct_.MergeFrom(from.f_direct_);
5467  f_inverse_.MergeFrom(from.f_inverse_);
5468 }
5469 
5470 void InverseConstraintProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
5471 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.sat.InverseConstraintProto)
5472  if (&from == this) return;
5473  Clear();
5474  MergeFrom(from);
5475 }
5476 
5477 void InverseConstraintProto::CopyFrom(const InverseConstraintProto& from) {
5478 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.InverseConstraintProto)
5479  if (&from == this) return;
5480  Clear();
5481  MergeFrom(from);
5482 }
5483 
5484 bool InverseConstraintProto::IsInitialized() const {
5485  return true;
5486 }
5487 
5488 void InverseConstraintProto::InternalSwap(InverseConstraintProto* other) {
5489  using std::swap;
5490  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
5491  f_direct_.InternalSwap(&other->f_direct_);
5492  f_inverse_.InternalSwap(&other->f_inverse_);
5493 }
5494 
5495 ::PROTOBUF_NAMESPACE_ID::Metadata InverseConstraintProto::GetMetadata() const {
5496  return GetMetadataStatic();
5497 }
5498 
5499 
5500 // ===================================================================
5501 
5503  public:
5504 };
5505 
5506 AutomatonConstraintProto::AutomatonConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
5507  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
5508  final_states_(arena),
5509  transition_tail_(arena),
5510  transition_head_(arena),
5511  transition_label_(arena),
5512  vars_(arena) {
5513  SharedCtor();
5514  RegisterArenaDtor(arena);
5515  // @@protoc_insertion_point(arena_constructor:operations_research.sat.AutomatonConstraintProto)
5516 }
5517 AutomatonConstraintProto::AutomatonConstraintProto(const AutomatonConstraintProto& from)
5518  : ::PROTOBUF_NAMESPACE_ID::Message(),
5519  final_states_(from.final_states_),
5520  transition_tail_(from.transition_tail_),
5521  transition_head_(from.transition_head_),
5522  transition_label_(from.transition_label_),
5523  vars_(from.vars_) {
5524  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
5525  starting_state_ = from.starting_state_;
5526  // @@protoc_insertion_point(copy_constructor:operations_research.sat.AutomatonConstraintProto)
5527 }
5528 
5529 void AutomatonConstraintProto::SharedCtor() {
5530  starting_state_ = PROTOBUF_LONGLONG(0);
5531 }
5532 
5533 AutomatonConstraintProto::~AutomatonConstraintProto() {
5534  // @@protoc_insertion_point(destructor:operations_research.sat.AutomatonConstraintProto)
5535  SharedDtor();
5536  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
5537 }
5538 
5539 void AutomatonConstraintProto::SharedDtor() {
5540  GOOGLE_DCHECK(GetArena() == nullptr);
5541 }
5542 
5543 void AutomatonConstraintProto::ArenaDtor(void* object) {
5544  AutomatonConstraintProto* _this = reinterpret_cast< AutomatonConstraintProto* >(object);
5545  (void)_this;
5546 }
5547 void AutomatonConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
5548 }
5549 void AutomatonConstraintProto::SetCachedSize(int size) const {
5550  _cached_size_.Set(size);
5551 }
5552 const AutomatonConstraintProto& AutomatonConstraintProto::default_instance() {
5553  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_AutomatonConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto.base);
5554  return *internal_default_instance();
5555 }
5556 
5557 
5558 void AutomatonConstraintProto::Clear() {
5559 // @@protoc_insertion_point(message_clear_start:operations_research.sat.AutomatonConstraintProto)
5560  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5561  // Prevent compiler warnings about cached_has_bits being unused
5562  (void) cached_has_bits;
5563 
5564  final_states_.Clear();
5565  transition_tail_.Clear();
5566  transition_head_.Clear();
5567  transition_label_.Clear();
5568  vars_.Clear();
5569  starting_state_ = PROTOBUF_LONGLONG(0);
5570  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
5571 }
5572 
5573 const char* AutomatonConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
5574 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
5575  while (!ctx->Done(&ptr)) {
5577  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
5578  CHK_(ptr);
5579  switch (tag >> 3) {
5580  // int64 starting_state = 2;
5581  case 2:
5582  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
5583  starting_state_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
5584  CHK_(ptr);
5585  } else goto handle_unusual;
5586  continue;
5587  // repeated int64 final_states = 3;
5588  case 3:
5589  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
5590  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_final_states(), ptr, ctx);
5591  CHK_(ptr);
5592  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24) {
5593  _internal_add_final_states(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
5594  CHK_(ptr);
5595  } else goto handle_unusual;
5596  continue;
5597  // repeated int64 transition_tail = 4;
5598  case 4:
5599  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
5600  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_transition_tail(), ptr, ctx);
5601  CHK_(ptr);
5602  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32) {
5603  _internal_add_transition_tail(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
5604  CHK_(ptr);
5605  } else goto handle_unusual;
5606  continue;
5607  // repeated int64 transition_head = 5;
5608  case 5:
5609  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
5610  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_transition_head(), ptr, ctx);
5611  CHK_(ptr);
5612  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40) {
5613  _internal_add_transition_head(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
5614  CHK_(ptr);
5615  } else goto handle_unusual;
5616  continue;
5617  // repeated int64 transition_label = 6;
5618  case 6:
5619  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
5620  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_transition_label(), ptr, ctx);
5621  CHK_(ptr);
5622  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48) {
5623  _internal_add_transition_label(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
5624  CHK_(ptr);
5625  } else goto handle_unusual;
5626  continue;
5627  // repeated int32 vars = 7;
5628  case 7:
5629  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
5630  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_vars(), ptr, ctx);
5631  CHK_(ptr);
5632  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56) {
5633  _internal_add_vars(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
5634  CHK_(ptr);
5635  } else goto handle_unusual;
5636  continue;
5637  default: {
5638  handle_unusual:
5639  if ((tag & 7) == 4 || tag == 0) {
5640  ctx->SetLastTag(tag);
5641  goto success;
5642  }
5643  ptr = UnknownFieldParse(tag,
5644  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
5645  ptr, ctx);
5646  CHK_(ptr != nullptr);
5647  continue;
5648  }
5649  } // switch
5650  } // while
5651 success:
5652  return ptr;
5653 failure:
5654  ptr = nullptr;
5655  goto success;
5656 #undef CHK_
5657 }
5658 
5659 ::PROTOBUF_NAMESPACE_ID::uint8* AutomatonConstraintProto::_InternalSerialize(
5660  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
5661  // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.AutomatonConstraintProto)
5662  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5663  (void) cached_has_bits;
5664 
5665  // int64 starting_state = 2;
5666  if (this->starting_state() != 0) {
5667  target = stream->EnsureSpace(target);
5668  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->_internal_starting_state(), target);
5669  }
5670 
5671  // repeated int64 final_states = 3;
5672  {
5673  int byte_size = _final_states_cached_byte_size_.load(std::memory_order_relaxed);
5674  if (byte_size > 0) {
5675  target = stream->WriteInt64Packed(
5676  3, _internal_final_states(), byte_size, target);
5677  }
5678  }
5679 
5680  // repeated int64 transition_tail = 4;
5681  {
5682  int byte_size = _transition_tail_cached_byte_size_.load(std::memory_order_relaxed);
5683  if (byte_size > 0) {
5684  target = stream->WriteInt64Packed(
5685  4, _internal_transition_tail(), byte_size, target);
5686  }
5687  }
5688 
5689  // repeated int64 transition_head = 5;
5690  {
5691  int byte_size = _transition_head_cached_byte_size_.load(std::memory_order_relaxed);
5692  if (byte_size > 0) {
5693  target = stream->WriteInt64Packed(
5694  5, _internal_transition_head(), byte_size, target);
5695  }
5696  }
5697 
5698  // repeated int64 transition_label = 6;
5699  {
5700  int byte_size = _transition_label_cached_byte_size_.load(std::memory_order_relaxed);
5701  if (byte_size > 0) {
5702  target = stream->WriteInt64Packed(
5703  6, _internal_transition_label(), byte_size, target);
5704  }
5705  }
5706 
5707  // repeated int32 vars = 7;
5708  {
5709  int byte_size = _vars_cached_byte_size_.load(std::memory_order_relaxed);
5710  if (byte_size > 0) {
5711  target = stream->WriteInt32Packed(
5712  7, _internal_vars(), byte_size, target);
5713  }
5714  }
5715 
5716  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
5717  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
5718  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
5719  }
5720  // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.AutomatonConstraintProto)
5721  return target;
5722 }
5723 
5724 size_t AutomatonConstraintProto::ByteSizeLong() const {
5725 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.AutomatonConstraintProto)
5726  size_t total_size = 0;
5727 
5728  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5729  // Prevent compiler warnings about cached_has_bits being unused
5730  (void) cached_has_bits;
5731 
5732  // repeated int64 final_states = 3;
5733  {
5734  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5735  Int64Size(this->final_states_);
5736  if (data_size > 0) {
5737  total_size += 1 +
5738  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5739  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
5740  }
5741  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
5742  _final_states_cached_byte_size_.store(cached_size,
5743  std::memory_order_relaxed);
5744  total_size += data_size;
5745  }
5746 
5747  // repeated int64 transition_tail = 4;
5748  {
5749  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5750  Int64Size(this->transition_tail_);
5751  if (data_size > 0) {
5752  total_size += 1 +
5753  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5754  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
5755  }
5756  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
5757  _transition_tail_cached_byte_size_.store(cached_size,
5758  std::memory_order_relaxed);
5759  total_size += data_size;
5760  }
5761 
5762  // repeated int64 transition_head = 5;
5763  {
5764  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5765  Int64Size(this->transition_head_);
5766  if (data_size > 0) {
5767  total_size += 1 +
5768  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5769  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
5770  }
5771  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
5772  _transition_head_cached_byte_size_.store(cached_size,
5773  std::memory_order_relaxed);
5774  total_size += data_size;
5775  }
5776 
5777  // repeated int64 transition_label = 6;
5778  {
5779  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5780  Int64Size(this->transition_label_);
5781  if (data_size > 0) {
5782  total_size += 1 +
5783  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5784  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
5785  }
5786  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
5787  _transition_label_cached_byte_size_.store(cached_size,
5788  std::memory_order_relaxed);
5789  total_size += data_size;
5790  }
5791 
5792  // repeated int32 vars = 7;
5793  {
5794  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
5795  Int32Size(this->vars_);
5796  if (data_size > 0) {
5797  total_size += 1 +
5798  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
5799  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
5800  }
5801  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
5802  _vars_cached_byte_size_.store(cached_size,
5803  std::memory_order_relaxed);
5804  total_size += data_size;
5805  }
5806 
5807  // int64 starting_state = 2;
5808  if (this->starting_state() != 0) {
5809  total_size += 1 +
5810  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
5811  this->_internal_starting_state());
5812  }
5813 
5814  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
5815  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
5816  _internal_metadata_, total_size, &_cached_size_);
5817  }
5818  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
5819  SetCachedSize(cached_size);
5820  return total_size;
5821 }
5822 
5823 void AutomatonConstraintProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
5824 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.sat.AutomatonConstraintProto)
5825  GOOGLE_DCHECK_NE(&from, this);
5826  const AutomatonConstraintProto* source =
5827  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AutomatonConstraintProto>(
5828  &from);
5829  if (source == nullptr) {
5830  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.sat.AutomatonConstraintProto)
5831  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
5832  } else {
5833  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.sat.AutomatonConstraintProto)
5834  MergeFrom(*source);
5835  }
5836 }
5837 
5838 void AutomatonConstraintProto::MergeFrom(const AutomatonConstraintProto& from) {
5839 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.AutomatonConstraintProto)
5840  GOOGLE_DCHECK_NE(&from, this);
5841  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
5842  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
5843  (void) cached_has_bits;
5844 
5845  final_states_.MergeFrom(from.final_states_);
5846  transition_tail_.MergeFrom(from.transition_tail_);
5847  transition_head_.MergeFrom(from.transition_head_);
5848  transition_label_.MergeFrom(from.transition_label_);
5849  vars_.MergeFrom(from.vars_);
5850  if (from.starting_state() != 0) {
5851  _internal_set_starting_state(from._internal_starting_state());
5852  }
5853 }
5854 
5855 void AutomatonConstraintProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
5856 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.sat.AutomatonConstraintProto)
5857  if (&from == this) return;
5858  Clear();
5859  MergeFrom(from);
5860 }
5861 
5862 void AutomatonConstraintProto::CopyFrom(const AutomatonConstraintProto& from) {
5863 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.AutomatonConstraintProto)
5864  if (&from == this) return;
5865  Clear();
5866  MergeFrom(from);
5867 }
5868 
5869 bool AutomatonConstraintProto::IsInitialized() const {
5870  return true;
5871 }
5872 
5873 void AutomatonConstraintProto::InternalSwap(AutomatonConstraintProto* other) {
5874  using std::swap;
5875  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
5876  final_states_.InternalSwap(&other->final_states_);
5877  transition_tail_.InternalSwap(&other->transition_tail_);
5878  transition_head_.InternalSwap(&other->transition_head_);
5879  transition_label_.InternalSwap(&other->transition_label_);
5880  vars_.InternalSwap(&other->vars_);
5881  swap(starting_state_, other->starting_state_);
5882 }
5883 
5884 ::PROTOBUF_NAMESPACE_ID::Metadata AutomatonConstraintProto::GetMetadata() const {
5885  return GetMetadataStatic();
5886 }
5887 
5888 
5889 // ===================================================================
5890 
5892  public:
5893  static const ::operations_research::sat::BoolArgumentProto& bool_or(const ConstraintProto* msg);
5894  static const ::operations_research::sat::BoolArgumentProto& bool_and(const ConstraintProto* msg);
5895  static const ::operations_research::sat::BoolArgumentProto& at_most_one(const ConstraintProto* msg);
5896  static const ::operations_research::sat::BoolArgumentProto& bool_xor(const ConstraintProto* msg);
5897  static const ::operations_research::sat::IntegerArgumentProto& int_div(const ConstraintProto* msg);
5898  static const ::operations_research::sat::IntegerArgumentProto& int_mod(const ConstraintProto* msg);
5899  static const ::operations_research::sat::IntegerArgumentProto& int_max(const ConstraintProto* msg);
5900  static const ::operations_research::sat::LinearArgumentProto& lin_max(const ConstraintProto* msg);
5901  static const ::operations_research::sat::IntegerArgumentProto& int_min(const ConstraintProto* msg);
5902  static const ::operations_research::sat::LinearArgumentProto& lin_min(const ConstraintProto* msg);
5903  static const ::operations_research::sat::IntegerArgumentProto& int_prod(const ConstraintProto* msg);
5904  static const ::operations_research::sat::LinearConstraintProto& linear(const ConstraintProto* msg);
5905  static const ::operations_research::sat::AllDifferentConstraintProto& all_diff(const ConstraintProto* msg);
5906  static const ::operations_research::sat::ElementConstraintProto& element(const ConstraintProto* msg);
5907  static const ::operations_research::sat::CircuitConstraintProto& circuit(const ConstraintProto* msg);
5908  static const ::operations_research::sat::RoutesConstraintProto& routes(const ConstraintProto* msg);
5909  static const ::operations_research::sat::TableConstraintProto& table(const ConstraintProto* msg);
5910  static const ::operations_research::sat::AutomatonConstraintProto& automaton(const ConstraintProto* msg);
5911  static const ::operations_research::sat::InverseConstraintProto& inverse(const ConstraintProto* msg);
5912  static const ::operations_research::sat::ReservoirConstraintProto& reservoir(const ConstraintProto* msg);
5913  static const ::operations_research::sat::IntervalConstraintProto& interval(const ConstraintProto* msg);
5914  static const ::operations_research::sat::NoOverlapConstraintProto& no_overlap(const ConstraintProto* msg);
5915  static const ::operations_research::sat::NoOverlap2DConstraintProto& no_overlap_2d(const ConstraintProto* msg);
5916  static const ::operations_research::sat::CumulativeConstraintProto& cumulative(const ConstraintProto* msg);
5917 };
5918 
5919 const ::operations_research::sat::BoolArgumentProto&
5920 ConstraintProto::_Internal::bool_or(const ConstraintProto* msg) {
5921  return *msg->constraint_.bool_or_;
5922 }
5923 const ::operations_research::sat::BoolArgumentProto&
5924 ConstraintProto::_Internal::bool_and(const ConstraintProto* msg) {
5925  return *msg->constraint_.bool_and_;
5926 }
5927 const ::operations_research::sat::BoolArgumentProto&
5928 ConstraintProto::_Internal::at_most_one(const ConstraintProto* msg) {
5929  return *msg->constraint_.at_most_one_;
5930 }
5931 const ::operations_research::sat::BoolArgumentProto&
5932 ConstraintProto::_Internal::bool_xor(const ConstraintProto* msg) {
5933  return *msg->constraint_.bool_xor_;
5934 }
5935 const ::operations_research::sat::IntegerArgumentProto&
5936 ConstraintProto::_Internal::int_div(const ConstraintProto* msg) {
5937  return *msg->constraint_.int_div_;
5938 }
5939 const ::operations_research::sat::IntegerArgumentProto&
5940 ConstraintProto::_Internal::int_mod(const ConstraintProto* msg) {
5941  return *msg->constraint_.int_mod_;
5942 }
5943 const ::operations_research::sat::IntegerArgumentProto&
5944 ConstraintProto::_Internal::int_max(const ConstraintProto* msg) {
5945  return *msg->constraint_.int_max_;
5946 }
5947 const ::operations_research::sat::LinearArgumentProto&
5948 ConstraintProto::_Internal::lin_max(const ConstraintProto* msg) {
5949  return *msg->constraint_.lin_max_;
5950 }
5951 const ::operations_research::sat::IntegerArgumentProto&
5952 ConstraintProto::_Internal::int_min(const ConstraintProto* msg) {
5953  return *msg->constraint_.int_min_;
5954 }
5955 const ::operations_research::sat::LinearArgumentProto&
5956 ConstraintProto::_Internal::lin_min(const ConstraintProto* msg) {
5957  return *msg->constraint_.lin_min_;
5958 }
5959 const ::operations_research::sat::IntegerArgumentProto&
5960 ConstraintProto::_Internal::int_prod(const ConstraintProto* msg) {
5961  return *msg->constraint_.int_prod_;
5962 }
5963 const ::operations_research::sat::LinearConstraintProto&
5964 ConstraintProto::_Internal::linear(const ConstraintProto* msg) {
5965  return *msg->constraint_.linear_;
5966 }
5967 const ::operations_research::sat::AllDifferentConstraintProto&
5968 ConstraintProto::_Internal::all_diff(const ConstraintProto* msg) {
5969  return *msg->constraint_.all_diff_;
5970 }
5971 const ::operations_research::sat::ElementConstraintProto&
5972 ConstraintProto::_Internal::element(const ConstraintProto* msg) {
5973  return *msg->constraint_.element_;
5974 }
5975 const ::operations_research::sat::CircuitConstraintProto&
5976 ConstraintProto::_Internal::circuit(const ConstraintProto* msg) {
5977  return *msg->constraint_.circuit_;
5978 }
5979 const ::operations_research::sat::RoutesConstraintProto&
5980 ConstraintProto::_Internal::routes(const ConstraintProto* msg) {
5981  return *msg->constraint_.routes_;
5982 }
5983 const ::operations_research::sat::TableConstraintProto&
5984 ConstraintProto::_Internal::table(const ConstraintProto* msg) {
5985  return *msg->constraint_.table_;
5986 }
5987 const ::operations_research::sat::AutomatonConstraintProto&
5988 ConstraintProto::_Internal::automaton(const ConstraintProto* msg) {
5989  return *msg->constraint_.automaton_;
5990 }
5991 const ::operations_research::sat::InverseConstraintProto&
5992 ConstraintProto::_Internal::inverse(const ConstraintProto* msg) {
5993  return *msg->constraint_.inverse_;
5994 }
5995 const ::operations_research::sat::ReservoirConstraintProto&
5996 ConstraintProto::_Internal::reservoir(const ConstraintProto* msg) {
5997  return *msg->constraint_.reservoir_;
5998 }
5999 const ::operations_research::sat::IntervalConstraintProto&
6000 ConstraintProto::_Internal::interval(const ConstraintProto* msg) {
6001  return *msg->constraint_.interval_;
6002 }
6003 const ::operations_research::sat::NoOverlapConstraintProto&
6004 ConstraintProto::_Internal::no_overlap(const ConstraintProto* msg) {
6005  return *msg->constraint_.no_overlap_;
6006 }
6007 const ::operations_research::sat::NoOverlap2DConstraintProto&
6008 ConstraintProto::_Internal::no_overlap_2d(const ConstraintProto* msg) {
6009  return *msg->constraint_.no_overlap_2d_;
6010 }
6011 const ::operations_research::sat::CumulativeConstraintProto&
6012 ConstraintProto::_Internal::cumulative(const ConstraintProto* msg) {
6013  return *msg->constraint_.cumulative_;
6014 }
6015 void ConstraintProto::set_allocated_bool_or(::operations_research::sat::BoolArgumentProto* bool_or) {
6016  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6017  clear_constraint();
6018  if (bool_or) {
6019  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6020  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(bool_or);
6021  if (message_arena != submessage_arena) {
6022  bool_or = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6023  message_arena, bool_or, submessage_arena);
6024  }
6025  set_has_bool_or();
6026  constraint_.bool_or_ = bool_or;
6027  }
6028  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.bool_or)
6029 }
6030 void ConstraintProto::set_allocated_bool_and(::operations_research::sat::BoolArgumentProto* bool_and) {
6031  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6032  clear_constraint();
6033  if (bool_and) {
6034  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6035  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(bool_and);
6036  if (message_arena != submessage_arena) {
6037  bool_and = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6038  message_arena, bool_and, submessage_arena);
6039  }
6040  set_has_bool_and();
6041  constraint_.bool_and_ = bool_and;
6042  }
6043  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.bool_and)
6044 }
6045 void ConstraintProto::set_allocated_at_most_one(::operations_research::sat::BoolArgumentProto* at_most_one) {
6046  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6047  clear_constraint();
6048  if (at_most_one) {
6049  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6050  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(at_most_one);
6051  if (message_arena != submessage_arena) {
6052  at_most_one = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6053  message_arena, at_most_one, submessage_arena);
6054  }
6055  set_has_at_most_one();
6056  constraint_.at_most_one_ = at_most_one;
6057  }
6058  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.at_most_one)
6059 }
6060 void ConstraintProto::set_allocated_bool_xor(::operations_research::sat::BoolArgumentProto* bool_xor) {
6061  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6062  clear_constraint();
6063  if (bool_xor) {
6064  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6065  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(bool_xor);
6066  if (message_arena != submessage_arena) {
6067  bool_xor = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6068  message_arena, bool_xor, submessage_arena);
6069  }
6070  set_has_bool_xor();
6071  constraint_.bool_xor_ = bool_xor;
6072  }
6073  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.bool_xor)
6074 }
6075 void ConstraintProto::set_allocated_int_div(::operations_research::sat::IntegerArgumentProto* int_div) {
6076  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6077  clear_constraint();
6078  if (int_div) {
6079  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6080  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(int_div);
6081  if (message_arena != submessage_arena) {
6082  int_div = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6083  message_arena, int_div, submessage_arena);
6084  }
6085  set_has_int_div();
6086  constraint_.int_div_ = int_div;
6087  }
6088  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.int_div)
6089 }
6090 void ConstraintProto::set_allocated_int_mod(::operations_research::sat::IntegerArgumentProto* int_mod) {
6091  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6092  clear_constraint();
6093  if (int_mod) {
6094  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6095  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(int_mod);
6096  if (message_arena != submessage_arena) {
6097  int_mod = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6098  message_arena, int_mod, submessage_arena);
6099  }
6100  set_has_int_mod();
6101  constraint_.int_mod_ = int_mod;
6102  }
6103  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.int_mod)
6104 }
6105 void ConstraintProto::set_allocated_int_max(::operations_research::sat::IntegerArgumentProto* int_max) {
6106  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6107  clear_constraint();
6108  if (int_max) {
6109  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6110  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(int_max);
6111  if (message_arena != submessage_arena) {
6112  int_max = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6113  message_arena, int_max, submessage_arena);
6114  }
6115  set_has_int_max();
6116  constraint_.int_max_ = int_max;
6117  }
6118  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.int_max)
6119 }
6120 void ConstraintProto::set_allocated_lin_max(::operations_research::sat::LinearArgumentProto* lin_max) {
6121  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6122  clear_constraint();
6123  if (lin_max) {
6124  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6125  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(lin_max);
6126  if (message_arena != submessage_arena) {
6127  lin_max = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6128  message_arena, lin_max, submessage_arena);
6129  }
6130  set_has_lin_max();
6131  constraint_.lin_max_ = lin_max;
6132  }
6133  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.lin_max)
6134 }
6135 void ConstraintProto::set_allocated_int_min(::operations_research::sat::IntegerArgumentProto* int_min) {
6136  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6137  clear_constraint();
6138  if (int_min) {
6139  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6140  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(int_min);
6141  if (message_arena != submessage_arena) {
6142  int_min = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6143  message_arena, int_min, submessage_arena);
6144  }
6145  set_has_int_min();
6146  constraint_.int_min_ = int_min;
6147  }
6148  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.int_min)
6149 }
6150 void ConstraintProto::set_allocated_lin_min(::operations_research::sat::LinearArgumentProto* lin_min) {
6151  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6152  clear_constraint();
6153  if (lin_min) {
6154  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6155  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(lin_min);
6156  if (message_arena != submessage_arena) {
6157  lin_min = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6158  message_arena, lin_min, submessage_arena);
6159  }
6160  set_has_lin_min();
6161  constraint_.lin_min_ = lin_min;
6162  }
6163  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.lin_min)
6164 }
6165 void ConstraintProto::set_allocated_int_prod(::operations_research::sat::IntegerArgumentProto* int_prod) {
6166  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6167  clear_constraint();
6168  if (int_prod) {
6169  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6170  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(int_prod);
6171  if (message_arena != submessage_arena) {
6172  int_prod = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6173  message_arena, int_prod, submessage_arena);
6174  }
6175  set_has_int_prod();
6176  constraint_.int_prod_ = int_prod;
6177  }
6178  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.int_prod)
6179 }
6180 void ConstraintProto::set_allocated_linear(::operations_research::sat::LinearConstraintProto* linear) {
6181  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6182  clear_constraint();
6183  if (linear) {
6184  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6185  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(linear);
6186  if (message_arena != submessage_arena) {
6187  linear = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6188  message_arena, linear, submessage_arena);
6189  }
6190  set_has_linear();
6191  constraint_.linear_ = linear;
6192  }
6193  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.linear)
6194 }
6195 void ConstraintProto::set_allocated_all_diff(::operations_research::sat::AllDifferentConstraintProto* all_diff) {
6196  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6197  clear_constraint();
6198  if (all_diff) {
6199  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6200  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(all_diff);
6201  if (message_arena != submessage_arena) {
6202  all_diff = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6203  message_arena, all_diff, submessage_arena);
6204  }
6205  set_has_all_diff();
6206  constraint_.all_diff_ = all_diff;
6207  }
6208  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.all_diff)
6209 }
6210 void ConstraintProto::set_allocated_element(::operations_research::sat::ElementConstraintProto* element) {
6211  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6212  clear_constraint();
6213  if (element) {
6214  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6215  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(element);
6216  if (message_arena != submessage_arena) {
6217  element = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6218  message_arena, element, submessage_arena);
6219  }
6220  set_has_element();
6221  constraint_.element_ = element;
6222  }
6223  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.element)
6224 }
6225 void ConstraintProto::set_allocated_circuit(::operations_research::sat::CircuitConstraintProto* circuit) {
6226  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6227  clear_constraint();
6228  if (circuit) {
6229  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6230  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(circuit);
6231  if (message_arena != submessage_arena) {
6232  circuit = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6233  message_arena, circuit, submessage_arena);
6234  }
6235  set_has_circuit();
6236  constraint_.circuit_ = circuit;
6237  }
6238  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.circuit)
6239 }
6240 void ConstraintProto::set_allocated_routes(::operations_research::sat::RoutesConstraintProto* routes) {
6241  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6242  clear_constraint();
6243  if (routes) {
6244  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6245  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(routes);
6246  if (message_arena != submessage_arena) {
6247  routes = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6248  message_arena, routes, submessage_arena);
6249  }
6250  set_has_routes();
6251  constraint_.routes_ = routes;
6252  }
6253  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.routes)
6254 }
6255 void ConstraintProto::set_allocated_table(::operations_research::sat::TableConstraintProto* table) {
6256  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6257  clear_constraint();
6258  if (table) {
6259  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6260  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(table);
6261  if (message_arena != submessage_arena) {
6262  table = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6263  message_arena, table, submessage_arena);
6264  }
6265  set_has_table();
6266  constraint_.table_ = table;
6267  }
6268  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.table)
6269 }
6270 void ConstraintProto::set_allocated_automaton(::operations_research::sat::AutomatonConstraintProto* automaton) {
6271  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6272  clear_constraint();
6273  if (automaton) {
6274  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6275  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(automaton);
6276  if (message_arena != submessage_arena) {
6277  automaton = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6278  message_arena, automaton, submessage_arena);
6279  }
6280  set_has_automaton();
6281  constraint_.automaton_ = automaton;
6282  }
6283  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.automaton)
6284 }
6285 void ConstraintProto::set_allocated_inverse(::operations_research::sat::InverseConstraintProto* inverse) {
6286  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6287  clear_constraint();
6288  if (inverse) {
6289  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6290  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(inverse);
6291  if (message_arena != submessage_arena) {
6292  inverse = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6293  message_arena, inverse, submessage_arena);
6294  }
6295  set_has_inverse();
6296  constraint_.inverse_ = inverse;
6297  }
6298  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.inverse)
6299 }
6300 void ConstraintProto::set_allocated_reservoir(::operations_research::sat::ReservoirConstraintProto* reservoir) {
6301  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6302  clear_constraint();
6303  if (reservoir) {
6304  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6305  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(reservoir);
6306  if (message_arena != submessage_arena) {
6307  reservoir = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6308  message_arena, reservoir, submessage_arena);
6309  }
6310  set_has_reservoir();
6311  constraint_.reservoir_ = reservoir;
6312  }
6313  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.reservoir)
6314 }
6315 void ConstraintProto::set_allocated_interval(::operations_research::sat::IntervalConstraintProto* interval) {
6316  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6317  clear_constraint();
6318  if (interval) {
6319  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6320  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(interval);
6321  if (message_arena != submessage_arena) {
6322  interval = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6323  message_arena, interval, submessage_arena);
6324  }
6325  set_has_interval();
6326  constraint_.interval_ = interval;
6327  }
6328  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.interval)
6329 }
6330 void ConstraintProto::set_allocated_no_overlap(::operations_research::sat::NoOverlapConstraintProto* no_overlap) {
6331  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6332  clear_constraint();
6333  if (no_overlap) {
6334  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6335  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(no_overlap);
6336  if (message_arena != submessage_arena) {
6337  no_overlap = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6338  message_arena, no_overlap, submessage_arena);
6339  }
6340  set_has_no_overlap();
6341  constraint_.no_overlap_ = no_overlap;
6342  }
6343  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.no_overlap)
6344 }
6345 void ConstraintProto::set_allocated_no_overlap_2d(::operations_research::sat::NoOverlap2DConstraintProto* no_overlap_2d) {
6346  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6347  clear_constraint();
6348  if (no_overlap_2d) {
6349  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6350  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(no_overlap_2d);
6351  if (message_arena != submessage_arena) {
6352  no_overlap_2d = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6353  message_arena, no_overlap_2d, submessage_arena);
6354  }
6355  set_has_no_overlap_2d();
6356  constraint_.no_overlap_2d_ = no_overlap_2d;
6357  }
6358  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.no_overlap_2d)
6359 }
6360 void ConstraintProto::set_allocated_cumulative(::operations_research::sat::CumulativeConstraintProto* cumulative) {
6361  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6362  clear_constraint();
6363  if (cumulative) {
6364  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6365  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(cumulative);
6366  if (message_arena != submessage_arena) {
6367  cumulative = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6368  message_arena, cumulative, submessage_arena);
6369  }
6370  set_has_cumulative();
6371  constraint_.cumulative_ = cumulative;
6372  }
6373  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.cumulative)
6374 }
6375 ConstraintProto::ConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
6376  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
6377  enforcement_literal_(arena) {
6378  SharedCtor();
6379  RegisterArenaDtor(arena);
6380  // @@protoc_insertion_point(arena_constructor:operations_research.sat.ConstraintProto)
6381 }
6382 ConstraintProto::ConstraintProto(const ConstraintProto& from)
6383  : ::PROTOBUF_NAMESPACE_ID::Message(),
6384  enforcement_literal_(from.enforcement_literal_) {
6385  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
6386  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
6387  if (!from._internal_name().empty()) {
6388  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
6389  GetArena());
6390  }
6391  clear_has_constraint();
6392  switch (from.constraint_case()) {
6393  case kBoolOr: {
6394  _internal_mutable_bool_or()->::operations_research::sat::BoolArgumentProto::MergeFrom(from._internal_bool_or());
6395  break;
6396  }
6397  case kBoolAnd: {
6398  _internal_mutable_bool_and()->::operations_research::sat::BoolArgumentProto::MergeFrom(from._internal_bool_and());
6399  break;
6400  }
6401  case kAtMostOne: {
6402  _internal_mutable_at_most_one()->::operations_research::sat::BoolArgumentProto::MergeFrom(from._internal_at_most_one());
6403  break;
6404  }
6405  case kBoolXor: {
6406  _internal_mutable_bool_xor()->::operations_research::sat::BoolArgumentProto::MergeFrom(from._internal_bool_xor());
6407  break;
6408  }
6409  case kIntDiv: {
6410  _internal_mutable_int_div()->::operations_research::sat::IntegerArgumentProto::MergeFrom(from._internal_int_div());
6411  break;
6412  }
6413  case kIntMod: {
6414  _internal_mutable_int_mod()->::operations_research::sat::IntegerArgumentProto::MergeFrom(from._internal_int_mod());
6415  break;
6416  }
6417  case kIntMax: {
6418  _internal_mutable_int_max()->::operations_research::sat::IntegerArgumentProto::MergeFrom(from._internal_int_max());
6419  break;
6420  }
6421  case kLinMax: {
6422  _internal_mutable_lin_max()->::operations_research::sat::LinearArgumentProto::MergeFrom(from._internal_lin_max());
6423  break;
6424  }
6425  case kIntMin: {
6426  _internal_mutable_int_min()->::operations_research::sat::IntegerArgumentProto::MergeFrom(from._internal_int_min());
6427  break;
6428  }
6429  case kLinMin: {
6430  _internal_mutable_lin_min()->::operations_research::sat::LinearArgumentProto::MergeFrom(from._internal_lin_min());
6431  break;
6432  }
6433  case kIntProd: {
6434  _internal_mutable_int_prod()->::operations_research::sat::IntegerArgumentProto::MergeFrom(from._internal_int_prod());
6435  break;
6436  }
6437  case kLinear: {
6438  _internal_mutable_linear()->::operations_research::sat::LinearConstraintProto::MergeFrom(from._internal_linear());
6439  break;
6440  }
6441  case kAllDiff: {
6442  _internal_mutable_all_diff()->::operations_research::sat::AllDifferentConstraintProto::MergeFrom(from._internal_all_diff());
6443  break;
6444  }
6445  case kElement: {
6446  _internal_mutable_element()->::operations_research::sat::ElementConstraintProto::MergeFrom(from._internal_element());
6447  break;
6448  }
6449  case kCircuit: {
6450  _internal_mutable_circuit()->::operations_research::sat::CircuitConstraintProto::MergeFrom(from._internal_circuit());
6451  break;
6452  }
6453  case kRoutes: {
6454  _internal_mutable_routes()->::operations_research::sat::RoutesConstraintProto::MergeFrom(from._internal_routes());
6455  break;
6456  }
6457  case kTable: {
6458  _internal_mutable_table()->::operations_research::sat::TableConstraintProto::MergeFrom(from._internal_table());
6459  break;
6460  }
6461  case kAutomaton: {
6462  _internal_mutable_automaton()->::operations_research::sat::AutomatonConstraintProto::MergeFrom(from._internal_automaton());
6463  break;
6464  }
6465  case kInverse: {
6466  _internal_mutable_inverse()->::operations_research::sat::InverseConstraintProto::MergeFrom(from._internal_inverse());
6467  break;
6468  }
6469  case kReservoir: {
6470  _internal_mutable_reservoir()->::operations_research::sat::ReservoirConstraintProto::MergeFrom(from._internal_reservoir());
6471  break;
6472  }
6473  case kInterval: {
6474  _internal_mutable_interval()->::operations_research::sat::IntervalConstraintProto::MergeFrom(from._internal_interval());
6475  break;
6476  }
6477  case kNoOverlap: {
6478  _internal_mutable_no_overlap()->::operations_research::sat::NoOverlapConstraintProto::MergeFrom(from._internal_no_overlap());
6479  break;
6480  }
6481  case kNoOverlap2D: {
6482  _internal_mutable_no_overlap_2d()->::operations_research::sat::NoOverlap2DConstraintProto::MergeFrom(from._internal_no_overlap_2d());
6483  break;
6484  }
6485  case kCumulative: {
6486  _internal_mutable_cumulative()->::operations_research::sat::CumulativeConstraintProto::MergeFrom(from._internal_cumulative());
6487  break;
6488  }
6489  case CONSTRAINT_NOT_SET: {
6490  break;
6491  }
6492  }
6493  // @@protoc_insertion_point(copy_constructor:operations_research.sat.ConstraintProto)
6494 }
6495 
6496 void ConstraintProto::SharedCtor() {
6497  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_ConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto.base);
6498  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
6499  clear_has_constraint();
6500 }
6501 
6502 ConstraintProto::~ConstraintProto() {
6503  // @@protoc_insertion_point(destructor:operations_research.sat.ConstraintProto)
6504  SharedDtor();
6505  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
6506 }
6507 
6508 void ConstraintProto::SharedDtor() {
6509  GOOGLE_DCHECK(GetArena() == nullptr);
6510  name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
6511  if (has_constraint()) {
6512  clear_constraint();
6513  }
6514 }
6515 
6516 void ConstraintProto::ArenaDtor(void* object) {
6517  ConstraintProto* _this = reinterpret_cast< ConstraintProto* >(object);
6518  (void)_this;
6519 }
6520 void ConstraintProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
6521 }
6522 void ConstraintProto::SetCachedSize(int size) const {
6523  _cached_size_.Set(size);
6524 }
6525 const ConstraintProto& ConstraintProto::default_instance() {
6526  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_ConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto.base);
6527  return *internal_default_instance();
6528 }
6529 
6530 
6531 void ConstraintProto::clear_constraint() {
6532 // @@protoc_insertion_point(one_of_clear_start:operations_research.sat.ConstraintProto)
6533  switch (constraint_case()) {
6534  case kBoolOr: {
6535  if (GetArena() == nullptr) {
6536  delete constraint_.bool_or_;
6537  }
6538  break;
6539  }
6540  case kBoolAnd: {
6541  if (GetArena() == nullptr) {
6542  delete constraint_.bool_and_;
6543  }
6544  break;
6545  }
6546  case kAtMostOne: {
6547  if (GetArena() == nullptr) {
6548  delete constraint_.at_most_one_;
6549  }
6550  break;
6551  }
6552  case kBoolXor: {
6553  if (GetArena() == nullptr) {
6554  delete constraint_.bool_xor_;
6555  }
6556  break;
6557  }
6558  case kIntDiv: {
6559  if (GetArena() == nullptr) {
6560  delete constraint_.int_div_;
6561  }
6562  break;
6563  }
6564  case kIntMod: {
6565  if (GetArena() == nullptr) {
6566  delete constraint_.int_mod_;
6567  }
6568  break;
6569  }
6570  case kIntMax: {
6571  if (GetArena() == nullptr) {
6572  delete constraint_.int_max_;
6573  }
6574  break;
6575  }
6576  case kLinMax: {
6577  if (GetArena() == nullptr) {
6578  delete constraint_.lin_max_;
6579  }
6580  break;
6581  }
6582  case kIntMin: {
6583  if (GetArena() == nullptr) {
6584  delete constraint_.int_min_;
6585  }
6586  break;
6587  }
6588  case kLinMin: {
6589  if (GetArena() == nullptr) {
6590  delete constraint_.lin_min_;
6591  }
6592  break;
6593  }
6594  case kIntProd: {
6595  if (GetArena() == nullptr) {
6596  delete constraint_.int_prod_;
6597  }
6598  break;
6599  }
6600  case kLinear: {
6601  if (GetArena() == nullptr) {
6602  delete constraint_.linear_;
6603  }
6604  break;
6605  }
6606  case kAllDiff: {
6607  if (GetArena() == nullptr) {
6608  delete constraint_.all_diff_;
6609  }
6610  break;
6611  }
6612  case kElement: {
6613  if (GetArena() == nullptr) {
6614  delete constraint_.element_;
6615  }
6616  break;
6617  }
6618  case kCircuit: {
6619  if (GetArena() == nullptr) {
6620  delete constraint_.circuit_;
6621  }
6622  break;
6623  }
6624  case kRoutes: {
6625  if (GetArena() == nullptr) {
6626  delete constraint_.routes_;
6627  }
6628  break;
6629  }
6630  case kTable: {
6631  if (GetArena() == nullptr) {
6632  delete constraint_.table_;
6633  }
6634  break;
6635  }
6636  case kAutomaton: {
6637  if (GetArena() == nullptr) {
6638  delete constraint_.automaton_;
6639  }
6640  break;
6641  }
6642  case kInverse: {
6643  if (GetArena() == nullptr) {
6644  delete constraint_.inverse_;
6645  }
6646  break;
6647  }
6648  case kReservoir: {
6649  if (GetArena() == nullptr) {
6650  delete constraint_.reservoir_;
6651  }
6652  break;
6653  }
6654  case kInterval: {
6655  if (GetArena() == nullptr) {
6656  delete constraint_.interval_;
6657  }
6658  break;
6659  }
6660  case kNoOverlap: {
6661  if (GetArena() == nullptr) {
6662  delete constraint_.no_overlap_;
6663  }
6664  break;
6665  }
6666  case kNoOverlap2D: {
6667  if (GetArena() == nullptr) {
6668  delete constraint_.no_overlap_2d_;
6669  }
6670  break;
6671  }
6672  case kCumulative: {
6673  if (GetArena() == nullptr) {
6674  delete constraint_.cumulative_;
6675  }
6676  break;
6677  }
6678  case CONSTRAINT_NOT_SET: {
6679  break;
6680  }
6681  }
6682  _oneof_case_[0] = CONSTRAINT_NOT_SET;
6683 }
6684 
6685 
6686 void ConstraintProto::Clear() {
6687 // @@protoc_insertion_point(message_clear_start:operations_research.sat.ConstraintProto)
6688  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
6689  // Prevent compiler warnings about cached_has_bits being unused
6690  (void) cached_has_bits;
6691 
6692  enforcement_literal_.Clear();
6693  name_.ClearToEmpty();
6694  clear_constraint();
6695  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
6696 }
6697 
6698 const char* ConstraintProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
6699 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
6700  while (!ctx->Done(&ptr)) {
6702  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
6703  CHK_(ptr);
6704  switch (tag >> 3) {
6705  // string name = 1;
6706  case 1:
6707  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
6708  auto str = _internal_mutable_name();
6709  ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
6710  CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.sat.ConstraintProto.name"));
6711  CHK_(ptr);
6712  } else goto handle_unusual;
6713  continue;
6714  // repeated int32 enforcement_literal = 2;
6715  case 2:
6716  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
6717  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_enforcement_literal(), ptr, ctx);
6718  CHK_(ptr);
6719  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) {
6720  _internal_add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
6721  CHK_(ptr);
6722  } else goto handle_unusual;
6723  continue;
6724  // .operations_research.sat.BoolArgumentProto bool_or = 3;
6725  case 3:
6726  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
6727  ptr = ctx->ParseMessage(_internal_mutable_bool_or(), ptr);
6728  CHK_(ptr);
6729  } else goto handle_unusual;
6730  continue;
6731  // .operations_research.sat.BoolArgumentProto bool_and = 4;
6732  case 4:
6733  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
6734  ptr = ctx->ParseMessage(_internal_mutable_bool_and(), ptr);
6735  CHK_(ptr);
6736  } else goto handle_unusual;
6737  continue;
6738  // .operations_research.sat.BoolArgumentProto bool_xor = 5;
6739  case 5:
6740  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
6741  ptr = ctx->ParseMessage(_internal_mutable_bool_xor(), ptr);
6742  CHK_(ptr);
6743  } else goto handle_unusual;
6744  continue;
6745  // .operations_research.sat.IntegerArgumentProto int_div = 7;
6746  case 7:
6747  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
6748  ptr = ctx->ParseMessage(_internal_mutable_int_div(), ptr);
6749  CHK_(ptr);
6750  } else goto handle_unusual;
6751  continue;
6752  // .operations_research.sat.IntegerArgumentProto int_mod = 8;
6753  case 8:
6754  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
6755  ptr = ctx->ParseMessage(_internal_mutable_int_mod(), ptr);
6756  CHK_(ptr);
6757  } else goto handle_unusual;
6758  continue;
6759  // .operations_research.sat.IntegerArgumentProto int_max = 9;
6760  case 9:
6761  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
6762  ptr = ctx->ParseMessage(_internal_mutable_int_max(), ptr);
6763  CHK_(ptr);
6764  } else goto handle_unusual;
6765  continue;
6766  // .operations_research.sat.IntegerArgumentProto int_min = 10;
6767  case 10:
6768  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) {
6769  ptr = ctx->ParseMessage(_internal_mutable_int_min(), ptr);
6770  CHK_(ptr);
6771  } else goto handle_unusual;
6772  continue;
6773  // .operations_research.sat.IntegerArgumentProto int_prod = 11;
6774  case 11:
6775  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) {
6776  ptr = ctx->ParseMessage(_internal_mutable_int_prod(), ptr);
6777  CHK_(ptr);
6778  } else goto handle_unusual;
6779  continue;
6780  // .operations_research.sat.LinearConstraintProto linear = 12;
6781  case 12:
6782  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 98)) {
6783  ptr = ctx->ParseMessage(_internal_mutable_linear(), ptr);
6784  CHK_(ptr);
6785  } else goto handle_unusual;
6786  continue;
6787  // .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
6788  case 13:
6789  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 106)) {
6790  ptr = ctx->ParseMessage(_internal_mutable_all_diff(), ptr);
6791  CHK_(ptr);
6792  } else goto handle_unusual;
6793  continue;
6794  // .operations_research.sat.ElementConstraintProto element = 14;
6795  case 14:
6796  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 114)) {
6797  ptr = ctx->ParseMessage(_internal_mutable_element(), ptr);
6798  CHK_(ptr);
6799  } else goto handle_unusual;
6800  continue;
6801  // .operations_research.sat.CircuitConstraintProto circuit = 15;
6802  case 15:
6803  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 122)) {
6804  ptr = ctx->ParseMessage(_internal_mutable_circuit(), ptr);
6805  CHK_(ptr);
6806  } else goto handle_unusual;
6807  continue;
6808  // .operations_research.sat.TableConstraintProto table = 16;
6809  case 16:
6810  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 130)) {
6811  ptr = ctx->ParseMessage(_internal_mutable_table(), ptr);
6812  CHK_(ptr);
6813  } else goto handle_unusual;
6814  continue;
6815  // .operations_research.sat.AutomatonConstraintProto automaton = 17;
6816  case 17:
6817  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 138)) {
6818  ptr = ctx->ParseMessage(_internal_mutable_automaton(), ptr);
6819  CHK_(ptr);
6820  } else goto handle_unusual;
6821  continue;
6822  // .operations_research.sat.InverseConstraintProto inverse = 18;
6823  case 18:
6824  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 146)) {
6825  ptr = ctx->ParseMessage(_internal_mutable_inverse(), ptr);
6826  CHK_(ptr);
6827  } else goto handle_unusual;
6828  continue;
6829  // .operations_research.sat.IntervalConstraintProto interval = 19;
6830  case 19:
6831  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 154)) {
6832  ptr = ctx->ParseMessage(_internal_mutable_interval(), ptr);
6833  CHK_(ptr);
6834  } else goto handle_unusual;
6835  continue;
6836  // .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
6837  case 20:
6838  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 162)) {
6839  ptr = ctx->ParseMessage(_internal_mutable_no_overlap(), ptr);
6840  CHK_(ptr);
6841  } else goto handle_unusual;
6842  continue;
6843  // .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
6844  case 21:
6845  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 170)) {
6846  ptr = ctx->ParseMessage(_internal_mutable_no_overlap_2d(), ptr);
6847  CHK_(ptr);
6848  } else goto handle_unusual;
6849  continue;
6850  // .operations_research.sat.CumulativeConstraintProto cumulative = 22;
6851  case 22:
6852  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 178)) {
6853  ptr = ctx->ParseMessage(_internal_mutable_cumulative(), ptr);
6854  CHK_(ptr);
6855  } else goto handle_unusual;
6856  continue;
6857  // .operations_research.sat.RoutesConstraintProto routes = 23;
6858  case 23:
6859  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 186)) {
6860  ptr = ctx->ParseMessage(_internal_mutable_routes(), ptr);
6861  CHK_(ptr);
6862  } else goto handle_unusual;
6863  continue;
6864  // .operations_research.sat.ReservoirConstraintProto reservoir = 24;
6865  case 24:
6866  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 194)) {
6867  ptr = ctx->ParseMessage(_internal_mutable_reservoir(), ptr);
6868  CHK_(ptr);
6869  } else goto handle_unusual;
6870  continue;
6871  // .operations_research.sat.BoolArgumentProto at_most_one = 26;
6872  case 26:
6873  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 210)) {
6874  ptr = ctx->ParseMessage(_internal_mutable_at_most_one(), ptr);
6875  CHK_(ptr);
6876  } else goto handle_unusual;
6877  continue;
6878  // .operations_research.sat.LinearArgumentProto lin_max = 27;
6879  case 27:
6880  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 218)) {
6881  ptr = ctx->ParseMessage(_internal_mutable_lin_max(), ptr);
6882  CHK_(ptr);
6883  } else goto handle_unusual;
6884  continue;
6885  // .operations_research.sat.LinearArgumentProto lin_min = 28;
6886  case 28:
6887  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 226)) {
6888  ptr = ctx->ParseMessage(_internal_mutable_lin_min(), ptr);
6889  CHK_(ptr);
6890  } else goto handle_unusual;
6891  continue;
6892  default: {
6893  handle_unusual:
6894  if ((tag & 7) == 4 || tag == 0) {
6895  ctx->SetLastTag(tag);
6896  goto success;
6897  }
6898  ptr = UnknownFieldParse(tag,
6899  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
6900  ptr, ctx);
6901  CHK_(ptr != nullptr);
6902  continue;
6903  }
6904  } // switch
6905  } // while
6906 success:
6907  return ptr;
6908 failure:
6909  ptr = nullptr;
6910  goto success;
6911 #undef CHK_
6912 }
6913 
6914 ::PROTOBUF_NAMESPACE_ID::uint8* ConstraintProto::_InternalSerialize(
6915  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
6916  // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.ConstraintProto)
6917  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
6918  (void) cached_has_bits;
6919 
6920  // string name = 1;
6921  if (this->name().size() > 0) {
6922  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
6923  this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
6924  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
6925  "operations_research.sat.ConstraintProto.name");
6926  target = stream->WriteStringMaybeAliased(
6927  1, this->_internal_name(), target);
6928  }
6929 
6930  // repeated int32 enforcement_literal = 2;
6931  {
6932  int byte_size = _enforcement_literal_cached_byte_size_.load(std::memory_order_relaxed);
6933  if (byte_size > 0) {
6934  target = stream->WriteInt32Packed(
6935  2, _internal_enforcement_literal(), byte_size, target);
6936  }
6937  }
6938 
6939  // .operations_research.sat.BoolArgumentProto bool_or = 3;
6940  if (_internal_has_bool_or()) {
6941  target = stream->EnsureSpace(target);
6942  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6943  InternalWriteMessage(
6944  3, _Internal::bool_or(this), target, stream);
6945  }
6946 
6947  // .operations_research.sat.BoolArgumentProto bool_and = 4;
6948  if (_internal_has_bool_and()) {
6949  target = stream->EnsureSpace(target);
6950  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6951  InternalWriteMessage(
6952  4, _Internal::bool_and(this), target, stream);
6953  }
6954 
6955  // .operations_research.sat.BoolArgumentProto bool_xor = 5;
6956  if (_internal_has_bool_xor()) {
6957  target = stream->EnsureSpace(target);
6958  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6959  InternalWriteMessage(
6960  5, _Internal::bool_xor(this), target, stream);
6961  }
6962 
6963  // .operations_research.sat.IntegerArgumentProto int_div = 7;
6964  if (_internal_has_int_div()) {
6965  target = stream->EnsureSpace(target);
6966  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6967  InternalWriteMessage(
6968  7, _Internal::int_div(this), target, stream);
6969  }
6970 
6971  // .operations_research.sat.IntegerArgumentProto int_mod = 8;
6972  if (_internal_has_int_mod()) {
6973  target = stream->EnsureSpace(target);
6974  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6975  InternalWriteMessage(
6976  8, _Internal::int_mod(this), target, stream);
6977  }
6978 
6979  // .operations_research.sat.IntegerArgumentProto int_max = 9;
6980  if (_internal_has_int_max()) {
6981  target = stream->EnsureSpace(target);
6982  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6983  InternalWriteMessage(
6984  9, _Internal::int_max(this), target, stream);
6985  }
6986 
6987  // .operations_research.sat.IntegerArgumentProto int_min = 10;
6988  if (_internal_has_int_min()) {
6989  target = stream->EnsureSpace(target);
6990  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6991  InternalWriteMessage(
6992  10, _Internal::int_min(this), target, stream);
6993  }
6994 
6995  // .operations_research.sat.IntegerArgumentProto int_prod = 11;
6996  if (_internal_has_int_prod()) {
6997  target = stream->EnsureSpace(target);
6998  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
6999  InternalWriteMessage(
7000  11, _Internal::int_prod(this), target, stream);
7001  }
7002 
7003  // .operations_research.sat.LinearConstraintProto linear = 12;
7004  if (_internal_has_linear()) {
7005  target = stream->EnsureSpace(target);
7006  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7007  InternalWriteMessage(
7008  12, _Internal::linear(this), target, stream);
7009  }
7010 
7011  // .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
7012  if (_internal_has_all_diff()) {
7013  target = stream->EnsureSpace(target);
7014  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7015  InternalWriteMessage(
7016  13, _Internal::all_diff(this), target, stream);
7017  }
7018 
7019  // .operations_research.sat.ElementConstraintProto element = 14;
7020  if (_internal_has_element()) {
7021  target = stream->EnsureSpace(target);
7022  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7023  InternalWriteMessage(
7024  14, _Internal::element(this), target, stream);
7025  }
7026 
7027  // .operations_research.sat.CircuitConstraintProto circuit = 15;
7028  if (_internal_has_circuit()) {
7029  target = stream->EnsureSpace(target);
7030  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7031  InternalWriteMessage(
7032  15, _Internal::circuit(this), target, stream);
7033  }
7034 
7035  // .operations_research.sat.TableConstraintProto table = 16;
7036  if (_internal_has_table()) {
7037  target = stream->EnsureSpace(target);
7038  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7039  InternalWriteMessage(
7040  16, _Internal::table(this), target, stream);
7041  }
7042 
7043  // .operations_research.sat.AutomatonConstraintProto automaton = 17;
7044  if (_internal_has_automaton()) {
7045  target = stream->EnsureSpace(target);
7046  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7047  InternalWriteMessage(
7048  17, _Internal::automaton(this), target, stream);
7049  }
7050 
7051  // .operations_research.sat.InverseConstraintProto inverse = 18;
7052  if (_internal_has_inverse()) {
7053  target = stream->EnsureSpace(target);
7054  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7055  InternalWriteMessage(
7056  18, _Internal::inverse(this), target, stream);
7057  }
7058 
7059  // .operations_research.sat.IntervalConstraintProto interval = 19;
7060  if (_internal_has_interval()) {
7061  target = stream->EnsureSpace(target);
7062  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7063  InternalWriteMessage(
7064  19, _Internal::interval(this), target, stream);
7065  }
7066 
7067  // .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
7068  if (_internal_has_no_overlap()) {
7069  target = stream->EnsureSpace(target);
7070  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7071  InternalWriteMessage(
7072  20, _Internal::no_overlap(this), target, stream);
7073  }
7074 
7075  // .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
7076  if (_internal_has_no_overlap_2d()) {
7077  target = stream->EnsureSpace(target);
7078  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7079  InternalWriteMessage(
7080  21, _Internal::no_overlap_2d(this), target, stream);
7081  }
7082 
7083  // .operations_research.sat.CumulativeConstraintProto cumulative = 22;
7084  if (_internal_has_cumulative()) {
7085  target = stream->EnsureSpace(target);
7086  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7087  InternalWriteMessage(
7088  22, _Internal::cumulative(this), target, stream);
7089  }
7090 
7091  // .operations_research.sat.RoutesConstraintProto routes = 23;
7092  if (_internal_has_routes()) {
7093  target = stream->EnsureSpace(target);
7094  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7095  InternalWriteMessage(
7096  23, _Internal::routes(this), target, stream);
7097  }
7098 
7099  // .operations_research.sat.ReservoirConstraintProto reservoir = 24;
7100  if (_internal_has_reservoir()) {
7101  target = stream->EnsureSpace(target);
7102  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7103  InternalWriteMessage(
7104  24, _Internal::reservoir(this), target, stream);
7105  }
7106 
7107  // .operations_research.sat.BoolArgumentProto at_most_one = 26;
7108  if (_internal_has_at_most_one()) {
7109  target = stream->EnsureSpace(target);
7110  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7111  InternalWriteMessage(
7112  26, _Internal::at_most_one(this), target, stream);
7113  }
7114 
7115  // .operations_research.sat.LinearArgumentProto lin_max = 27;
7116  if (_internal_has_lin_max()) {
7117  target = stream->EnsureSpace(target);
7118  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7119  InternalWriteMessage(
7120  27, _Internal::lin_max(this), target, stream);
7121  }
7122 
7123  // .operations_research.sat.LinearArgumentProto lin_min = 28;
7124  if (_internal_has_lin_min()) {
7125  target = stream->EnsureSpace(target);
7126  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7127  InternalWriteMessage(
7128  28, _Internal::lin_min(this), target, stream);
7129  }
7130 
7131  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
7132  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
7133  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
7134  }
7135  // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.ConstraintProto)
7136  return target;
7137 }
7138 
7139 size_t ConstraintProto::ByteSizeLong() const {
7140 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.ConstraintProto)
7141  size_t total_size = 0;
7142 
7143  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
7144  // Prevent compiler warnings about cached_has_bits being unused
7145  (void) cached_has_bits;
7146 
7147  // repeated int32 enforcement_literal = 2;
7148  {
7149  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7150  Int32Size(this->enforcement_literal_);
7151  if (data_size > 0) {
7152  total_size += 1 +
7153  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
7154  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
7155  }
7156  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
7157  _enforcement_literal_cached_byte_size_.store(cached_size,
7158  std::memory_order_relaxed);
7159  total_size += data_size;
7160  }
7161 
7162  // string name = 1;
7163  if (this->name().size() > 0) {
7164  total_size += 1 +
7165  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
7166  this->_internal_name());
7167  }
7168 
7169  switch (constraint_case()) {
7170  // .operations_research.sat.BoolArgumentProto bool_or = 3;
7171  case kBoolOr: {
7172  total_size += 1 +
7173  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7174  *constraint_.bool_or_);
7175  break;
7176  }
7177  // .operations_research.sat.BoolArgumentProto bool_and = 4;
7178  case kBoolAnd: {
7179  total_size += 1 +
7180  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7181  *constraint_.bool_and_);
7182  break;
7183  }
7184  // .operations_research.sat.BoolArgumentProto at_most_one = 26;
7185  case kAtMostOne: {
7186  total_size += 2 +
7187  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7188  *constraint_.at_most_one_);
7189  break;
7190  }
7191  // .operations_research.sat.BoolArgumentProto bool_xor = 5;
7192  case kBoolXor: {
7193  total_size += 1 +
7194  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7195  *constraint_.bool_xor_);
7196  break;
7197  }
7198  // .operations_research.sat.IntegerArgumentProto int_div = 7;
7199  case kIntDiv: {
7200  total_size += 1 +
7201  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7202  *constraint_.int_div_);
7203  break;
7204  }
7205  // .operations_research.sat.IntegerArgumentProto int_mod = 8;
7206  case kIntMod: {
7207  total_size += 1 +
7208  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7209  *constraint_.int_mod_);
7210  break;
7211  }
7212  // .operations_research.sat.IntegerArgumentProto int_max = 9;
7213  case kIntMax: {
7214  total_size += 1 +
7215  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7216  *constraint_.int_max_);
7217  break;
7218  }
7219  // .operations_research.sat.LinearArgumentProto lin_max = 27;
7220  case kLinMax: {
7221  total_size += 2 +
7222  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7223  *constraint_.lin_max_);
7224  break;
7225  }
7226  // .operations_research.sat.IntegerArgumentProto int_min = 10;
7227  case kIntMin: {
7228  total_size += 1 +
7229  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7230  *constraint_.int_min_);
7231  break;
7232  }
7233  // .operations_research.sat.LinearArgumentProto lin_min = 28;
7234  case kLinMin: {
7235  total_size += 2 +
7236  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7237  *constraint_.lin_min_);
7238  break;
7239  }
7240  // .operations_research.sat.IntegerArgumentProto int_prod = 11;
7241  case kIntProd: {
7242  total_size += 1 +
7243  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7244  *constraint_.int_prod_);
7245  break;
7246  }
7247  // .operations_research.sat.LinearConstraintProto linear = 12;
7248  case kLinear: {
7249  total_size += 1 +
7250  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7251  *constraint_.linear_);
7252  break;
7253  }
7254  // .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
7255  case kAllDiff: {
7256  total_size += 1 +
7257  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7258  *constraint_.all_diff_);
7259  break;
7260  }
7261  // .operations_research.sat.ElementConstraintProto element = 14;
7262  case kElement: {
7263  total_size += 1 +
7264  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7265  *constraint_.element_);
7266  break;
7267  }
7268  // .operations_research.sat.CircuitConstraintProto circuit = 15;
7269  case kCircuit: {
7270  total_size += 1 +
7271  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7272  *constraint_.circuit_);
7273  break;
7274  }
7275  // .operations_research.sat.RoutesConstraintProto routes = 23;
7276  case kRoutes: {
7277  total_size += 2 +
7278  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7279  *constraint_.routes_);
7280  break;
7281  }
7282  // .operations_research.sat.TableConstraintProto table = 16;
7283  case kTable: {
7284  total_size += 2 +
7285  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7286  *constraint_.table_);
7287  break;
7288  }
7289  // .operations_research.sat.AutomatonConstraintProto automaton = 17;
7290  case kAutomaton: {
7291  total_size += 2 +
7292  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7293  *constraint_.automaton_);
7294  break;
7295  }
7296  // .operations_research.sat.InverseConstraintProto inverse = 18;
7297  case kInverse: {
7298  total_size += 2 +
7299  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7300  *constraint_.inverse_);
7301  break;
7302  }
7303  // .operations_research.sat.ReservoirConstraintProto reservoir = 24;
7304  case kReservoir: {
7305  total_size += 2 +
7306  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7307  *constraint_.reservoir_);
7308  break;
7309  }
7310  // .operations_research.sat.IntervalConstraintProto interval = 19;
7311  case kInterval: {
7312  total_size += 2 +
7313  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7314  *constraint_.interval_);
7315  break;
7316  }
7317  // .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
7318  case kNoOverlap: {
7319  total_size += 2 +
7320  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7321  *constraint_.no_overlap_);
7322  break;
7323  }
7324  // .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
7325  case kNoOverlap2D: {
7326  total_size += 2 +
7327  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7328  *constraint_.no_overlap_2d_);
7329  break;
7330  }
7331  // .operations_research.sat.CumulativeConstraintProto cumulative = 22;
7332  case kCumulative: {
7333  total_size += 2 +
7334  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
7335  *constraint_.cumulative_);
7336  break;
7337  }
7338  case CONSTRAINT_NOT_SET: {
7339  break;
7340  }
7341  }
7342  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
7343  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
7344  _internal_metadata_, total_size, &_cached_size_);
7345  }
7346  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
7347  SetCachedSize(cached_size);
7348  return total_size;
7349 }
7350 
7351 void ConstraintProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
7352 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.sat.ConstraintProto)
7353  GOOGLE_DCHECK_NE(&from, this);
7354  const ConstraintProto* source =
7355  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<ConstraintProto>(
7356  &from);
7357  if (source == nullptr) {
7358  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.sat.ConstraintProto)
7359  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
7360  } else {
7361  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.sat.ConstraintProto)
7362  MergeFrom(*source);
7363  }
7364 }
7365 
7366 void ConstraintProto::MergeFrom(const ConstraintProto& from) {
7367 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.ConstraintProto)
7368  GOOGLE_DCHECK_NE(&from, this);
7369  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
7370  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
7371  (void) cached_has_bits;
7372 
7373  enforcement_literal_.MergeFrom(from.enforcement_literal_);
7374  if (from.name().size() > 0) {
7375  _internal_set_name(from._internal_name());
7376  }
7377  switch (from.constraint_case()) {
7378  case kBoolOr: {
7379  _internal_mutable_bool_or()->::operations_research::sat::BoolArgumentProto::MergeFrom(from._internal_bool_or());
7380  break;
7381  }
7382  case kBoolAnd: {
7383  _internal_mutable_bool_and()->::operations_research::sat::BoolArgumentProto::MergeFrom(from._internal_bool_and());
7384  break;
7385  }
7386  case kAtMostOne: {
7387  _internal_mutable_at_most_one()->::operations_research::sat::BoolArgumentProto::MergeFrom(from._internal_at_most_one());
7388  break;
7389  }
7390  case kBoolXor: {
7391  _internal_mutable_bool_xor()->::operations_research::sat::BoolArgumentProto::MergeFrom(from._internal_bool_xor());
7392  break;
7393  }
7394  case kIntDiv: {
7395  _internal_mutable_int_div()->::operations_research::sat::IntegerArgumentProto::MergeFrom(from._internal_int_div());
7396  break;
7397  }
7398  case kIntMod: {
7399  _internal_mutable_int_mod()->::operations_research::sat::IntegerArgumentProto::MergeFrom(from._internal_int_mod());
7400  break;
7401  }
7402  case kIntMax: {
7403  _internal_mutable_int_max()->::operations_research::sat::IntegerArgumentProto::MergeFrom(from._internal_int_max());
7404  break;
7405  }
7406  case kLinMax: {
7407  _internal_mutable_lin_max()->::operations_research::sat::LinearArgumentProto::MergeFrom(from._internal_lin_max());
7408  break;
7409  }
7410  case kIntMin: {
7411  _internal_mutable_int_min()->::operations_research::sat::IntegerArgumentProto::MergeFrom(from._internal_int_min());
7412  break;
7413  }
7414  case kLinMin: {
7415  _internal_mutable_lin_min()->::operations_research::sat::LinearArgumentProto::MergeFrom(from._internal_lin_min());
7416  break;
7417  }
7418  case kIntProd: {
7419  _internal_mutable_int_prod()->::operations_research::sat::IntegerArgumentProto::MergeFrom(from._internal_int_prod());
7420  break;
7421  }
7422  case kLinear: {
7423  _internal_mutable_linear()->::operations_research::sat::LinearConstraintProto::MergeFrom(from._internal_linear());
7424  break;
7425  }
7426  case kAllDiff: {
7427  _internal_mutable_all_diff()->::operations_research::sat::AllDifferentConstraintProto::MergeFrom(from._internal_all_diff());
7428  break;
7429  }
7430  case kElement: {
7431  _internal_mutable_element()->::operations_research::sat::ElementConstraintProto::MergeFrom(from._internal_element());
7432  break;
7433  }
7434  case kCircuit: {
7435  _internal_mutable_circuit()->::operations_research::sat::CircuitConstraintProto::MergeFrom(from._internal_circuit());
7436  break;
7437  }
7438  case kRoutes: {
7439  _internal_mutable_routes()->::operations_research::sat::RoutesConstraintProto::MergeFrom(from._internal_routes());
7440  break;
7441  }
7442  case kTable: {
7443  _internal_mutable_table()->::operations_research::sat::TableConstraintProto::MergeFrom(from._internal_table());
7444  break;
7445  }
7446  case kAutomaton: {
7447  _internal_mutable_automaton()->::operations_research::sat::AutomatonConstraintProto::MergeFrom(from._internal_automaton());
7448  break;
7449  }
7450  case kInverse: {
7451  _internal_mutable_inverse()->::operations_research::sat::InverseConstraintProto::MergeFrom(from._internal_inverse());
7452  break;
7453  }
7454  case kReservoir: {
7455  _internal_mutable_reservoir()->::operations_research::sat::ReservoirConstraintProto::MergeFrom(from._internal_reservoir());
7456  break;
7457  }
7458  case kInterval: {
7459  _internal_mutable_interval()->::operations_research::sat::IntervalConstraintProto::MergeFrom(from._internal_interval());
7460  break;
7461  }
7462  case kNoOverlap: {
7463  _internal_mutable_no_overlap()->::operations_research::sat::NoOverlapConstraintProto::MergeFrom(from._internal_no_overlap());
7464  break;
7465  }
7466  case kNoOverlap2D: {
7467  _internal_mutable_no_overlap_2d()->::operations_research::sat::NoOverlap2DConstraintProto::MergeFrom(from._internal_no_overlap_2d());
7468  break;
7469  }
7470  case kCumulative: {
7471  _internal_mutable_cumulative()->::operations_research::sat::CumulativeConstraintProto::MergeFrom(from._internal_cumulative());
7472  break;
7473  }
7474  case CONSTRAINT_NOT_SET: {
7475  break;
7476  }
7477  }
7478 }
7479 
7480 void ConstraintProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
7481 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.sat.ConstraintProto)
7482  if (&from == this) return;
7483  Clear();
7484  MergeFrom(from);
7485 }
7486 
7487 void ConstraintProto::CopyFrom(const ConstraintProto& from) {
7488 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.ConstraintProto)
7489  if (&from == this) return;
7490  Clear();
7491  MergeFrom(from);
7492 }
7493 
7494 bool ConstraintProto::IsInitialized() const {
7495  return true;
7496 }
7497 
7498 void ConstraintProto::InternalSwap(ConstraintProto* other) {
7499  using std::swap;
7500  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
7501  enforcement_literal_.InternalSwap(&other->enforcement_literal_);
7502  name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
7503  swap(constraint_, other->constraint_);
7504  swap(_oneof_case_[0], other->_oneof_case_[0]);
7505 }
7506 
7507 ::PROTOBUF_NAMESPACE_ID::Metadata ConstraintProto::GetMetadata() const {
7508  return GetMetadataStatic();
7509 }
7510 
7511 
7512 // ===================================================================
7513 
7515  public:
7516 };
7517 
7518 CpObjectiveProto::CpObjectiveProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
7519  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
7520  vars_(arena),
7521  coeffs_(arena),
7522  domain_(arena) {
7523  SharedCtor();
7524  RegisterArenaDtor(arena);
7525  // @@protoc_insertion_point(arena_constructor:operations_research.sat.CpObjectiveProto)
7526 }
7527 CpObjectiveProto::CpObjectiveProto(const CpObjectiveProto& from)
7528  : ::PROTOBUF_NAMESPACE_ID::Message(),
7529  vars_(from.vars_),
7530  coeffs_(from.coeffs_),
7531  domain_(from.domain_) {
7532  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
7533  ::memcpy(&offset_, &from.offset_,
7534  static_cast<size_t>(reinterpret_cast<char*>(&scaling_factor_) -
7535  reinterpret_cast<char*>(&offset_)) + sizeof(scaling_factor_));
7536  // @@protoc_insertion_point(copy_constructor:operations_research.sat.CpObjectiveProto)
7537 }
7538 
7539 void CpObjectiveProto::SharedCtor() {
7540  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
7541  reinterpret_cast<char*>(&offset_) - reinterpret_cast<char*>(this)),
7542  0, static_cast<size_t>(reinterpret_cast<char*>(&scaling_factor_) -
7543  reinterpret_cast<char*>(&offset_)) + sizeof(scaling_factor_));
7544 }
7545 
7546 CpObjectiveProto::~CpObjectiveProto() {
7547  // @@protoc_insertion_point(destructor:operations_research.sat.CpObjectiveProto)
7548  SharedDtor();
7549  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
7550 }
7551 
7552 void CpObjectiveProto::SharedDtor() {
7553  GOOGLE_DCHECK(GetArena() == nullptr);
7554 }
7555 
7556 void CpObjectiveProto::ArenaDtor(void* object) {
7557  CpObjectiveProto* _this = reinterpret_cast< CpObjectiveProto* >(object);
7558  (void)_this;
7559 }
7560 void CpObjectiveProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
7561 }
7562 void CpObjectiveProto::SetCachedSize(int size) const {
7563  _cached_size_.Set(size);
7564 }
7565 const CpObjectiveProto& CpObjectiveProto::default_instance() {
7566  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_CpObjectiveProto_ortools_2fsat_2fcp_5fmodel_2eproto.base);
7567  return *internal_default_instance();
7568 }
7569 
7570 
7571 void CpObjectiveProto::Clear() {
7572 // @@protoc_insertion_point(message_clear_start:operations_research.sat.CpObjectiveProto)
7573  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
7574  // Prevent compiler warnings about cached_has_bits being unused
7575  (void) cached_has_bits;
7576 
7577  vars_.Clear();
7578  coeffs_.Clear();
7579  domain_.Clear();
7580  ::memset(&offset_, 0, static_cast<size_t>(
7581  reinterpret_cast<char*>(&scaling_factor_) -
7582  reinterpret_cast<char*>(&offset_)) + sizeof(scaling_factor_));
7583  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
7584 }
7585 
7586 const char* CpObjectiveProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
7587 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
7588  while (!ctx->Done(&ptr)) {
7590  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
7591  CHK_(ptr);
7592  switch (tag >> 3) {
7593  // repeated int32 vars = 1;
7594  case 1:
7595  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
7596  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_vars(), ptr, ctx);
7597  CHK_(ptr);
7598  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
7599  _internal_add_vars(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
7600  CHK_(ptr);
7601  } else goto handle_unusual;
7602  continue;
7603  // double offset = 2;
7604  case 2:
7605  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 17)) {
7606  offset_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
7607  ptr += sizeof(double);
7608  } else goto handle_unusual;
7609  continue;
7610  // double scaling_factor = 3;
7611  case 3:
7612  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 25)) {
7613  scaling_factor_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
7614  ptr += sizeof(double);
7615  } else goto handle_unusual;
7616  continue;
7617  // repeated int64 coeffs = 4;
7618  case 4:
7619  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
7620  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_coeffs(), ptr, ctx);
7621  CHK_(ptr);
7622  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32) {
7623  _internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
7624  CHK_(ptr);
7625  } else goto handle_unusual;
7626  continue;
7627  // repeated int64 domain = 5;
7628  case 5:
7629  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
7630  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_domain(), ptr, ctx);
7631  CHK_(ptr);
7632  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40) {
7633  _internal_add_domain(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
7634  CHK_(ptr);
7635  } else goto handle_unusual;
7636  continue;
7637  default: {
7638  handle_unusual:
7639  if ((tag & 7) == 4 || tag == 0) {
7640  ctx->SetLastTag(tag);
7641  goto success;
7642  }
7643  ptr = UnknownFieldParse(tag,
7644  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
7645  ptr, ctx);
7646  CHK_(ptr != nullptr);
7647  continue;
7648  }
7649  } // switch
7650  } // while
7651 success:
7652  return ptr;
7653 failure:
7654  ptr = nullptr;
7655  goto success;
7656 #undef CHK_
7657 }
7658 
7659 ::PROTOBUF_NAMESPACE_ID::uint8* CpObjectiveProto::_InternalSerialize(
7660  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
7661  // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.CpObjectiveProto)
7662  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
7663  (void) cached_has_bits;
7664 
7665  // repeated int32 vars = 1;
7666  {
7667  int byte_size = _vars_cached_byte_size_.load(std::memory_order_relaxed);
7668  if (byte_size > 0) {
7669  target = stream->WriteInt32Packed(
7670  1, _internal_vars(), byte_size, target);
7671  }
7672  }
7673 
7674  // double offset = 2;
7675  if (!(this->offset() <= 0 && this->offset() >= 0)) {
7676  target = stream->EnsureSpace(target);
7677  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(2, this->_internal_offset(), target);
7678  }
7679 
7680  // double scaling_factor = 3;
7681  if (!(this->scaling_factor() <= 0 && this->scaling_factor() >= 0)) {
7682  target = stream->EnsureSpace(target);
7683  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(3, this->_internal_scaling_factor(), target);
7684  }
7685 
7686  // repeated int64 coeffs = 4;
7687  {
7688  int byte_size = _coeffs_cached_byte_size_.load(std::memory_order_relaxed);
7689  if (byte_size > 0) {
7690  target = stream->WriteInt64Packed(
7691  4, _internal_coeffs(), byte_size, target);
7692  }
7693  }
7694 
7695  // repeated int64 domain = 5;
7696  {
7697  int byte_size = _domain_cached_byte_size_.load(std::memory_order_relaxed);
7698  if (byte_size > 0) {
7699  target = stream->WriteInt64Packed(
7700  5, _internal_domain(), byte_size, target);
7701  }
7702  }
7703 
7704  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
7705  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
7706  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
7707  }
7708  // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.CpObjectiveProto)
7709  return target;
7710 }
7711 
7712 size_t CpObjectiveProto::ByteSizeLong() const {
7713 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.CpObjectiveProto)
7714  size_t total_size = 0;
7715 
7716  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
7717  // Prevent compiler warnings about cached_has_bits being unused
7718  (void) cached_has_bits;
7719 
7720  // repeated int32 vars = 1;
7721  {
7722  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7723  Int32Size(this->vars_);
7724  if (data_size > 0) {
7725  total_size += 1 +
7726  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
7727  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
7728  }
7729  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
7730  _vars_cached_byte_size_.store(cached_size,
7731  std::memory_order_relaxed);
7732  total_size += data_size;
7733  }
7734 
7735  // repeated int64 coeffs = 4;
7736  {
7737  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7738  Int64Size(this->coeffs_);
7739  if (data_size > 0) {
7740  total_size += 1 +
7741  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
7742  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
7743  }
7744  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
7745  _coeffs_cached_byte_size_.store(cached_size,
7746  std::memory_order_relaxed);
7747  total_size += data_size;
7748  }
7749 
7750  // repeated int64 domain = 5;
7751  {
7752  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
7753  Int64Size(this->domain_);
7754  if (data_size > 0) {
7755  total_size += 1 +
7756  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
7757  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
7758  }
7759  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
7760  _domain_cached_byte_size_.store(cached_size,
7761  std::memory_order_relaxed);
7762  total_size += data_size;
7763  }
7764 
7765  // double offset = 2;
7766  if (!(this->offset() <= 0 && this->offset() >= 0)) {
7767  total_size += 1 + 8;
7768  }
7769 
7770  // double scaling_factor = 3;
7771  if (!(this->scaling_factor() <= 0 && this->scaling_factor() >= 0)) {
7772  total_size += 1 + 8;
7773  }
7774 
7775  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
7776  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
7777  _internal_metadata_, total_size, &_cached_size_);
7778  }
7779  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
7780  SetCachedSize(cached_size);
7781  return total_size;
7782 }
7783 
7784 void CpObjectiveProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
7785 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.sat.CpObjectiveProto)
7786  GOOGLE_DCHECK_NE(&from, this);
7787  const CpObjectiveProto* source =
7788  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CpObjectiveProto>(
7789  &from);
7790  if (source == nullptr) {
7791  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.sat.CpObjectiveProto)
7792  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
7793  } else {
7794  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.sat.CpObjectiveProto)
7795  MergeFrom(*source);
7796  }
7797 }
7798 
7799 void CpObjectiveProto::MergeFrom(const CpObjectiveProto& from) {
7800 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.CpObjectiveProto)
7801  GOOGLE_DCHECK_NE(&from, this);
7802  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
7803  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
7804  (void) cached_has_bits;
7805 
7806  vars_.MergeFrom(from.vars_);
7807  coeffs_.MergeFrom(from.coeffs_);
7808  domain_.MergeFrom(from.domain_);
7809  if (!(from.offset() <= 0 && from.offset() >= 0)) {
7810  _internal_set_offset(from._internal_offset());
7811  }
7812  if (!(from.scaling_factor() <= 0 && from.scaling_factor() >= 0)) {
7813  _internal_set_scaling_factor(from._internal_scaling_factor());
7814  }
7815 }
7816 
7817 void CpObjectiveProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
7818 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.sat.CpObjectiveProto)
7819  if (&from == this) return;
7820  Clear();
7821  MergeFrom(from);
7822 }
7823 
7824 void CpObjectiveProto::CopyFrom(const CpObjectiveProto& from) {
7825 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.CpObjectiveProto)
7826  if (&from == this) return;
7827  Clear();
7828  MergeFrom(from);
7829 }
7830 
7831 bool CpObjectiveProto::IsInitialized() const {
7832  return true;
7833 }
7834 
7835 void CpObjectiveProto::InternalSwap(CpObjectiveProto* other) {
7836  using std::swap;
7837  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
7838  vars_.InternalSwap(&other->vars_);
7839  coeffs_.InternalSwap(&other->coeffs_);
7840  domain_.InternalSwap(&other->domain_);
7841  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
7842  PROTOBUF_FIELD_OFFSET(CpObjectiveProto, scaling_factor_)
7843  + sizeof(CpObjectiveProto::scaling_factor_)
7844  - PROTOBUF_FIELD_OFFSET(CpObjectiveProto, offset_)>(
7845  reinterpret_cast<char*>(&offset_),
7846  reinterpret_cast<char*>(&other->offset_));
7847 }
7848 
7849 ::PROTOBUF_NAMESPACE_ID::Metadata CpObjectiveProto::GetMetadata() const {
7850  return GetMetadataStatic();
7851 }
7852 
7853 
7854 // ===================================================================
7855 
7857  public:
7858 };
7859 
7860 DecisionStrategyProto_AffineTransformation::DecisionStrategyProto_AffineTransformation(::PROTOBUF_NAMESPACE_ID::Arena* arena)
7861  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
7862  SharedCtor();
7863  RegisterArenaDtor(arena);
7864  // @@protoc_insertion_point(arena_constructor:operations_research.sat.DecisionStrategyProto.AffineTransformation)
7865 }
7866 DecisionStrategyProto_AffineTransformation::DecisionStrategyProto_AffineTransformation(const DecisionStrategyProto_AffineTransformation& from)
7867  : ::PROTOBUF_NAMESPACE_ID::Message() {
7868  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
7869  ::memcpy(&offset_, &from.offset_,
7870  static_cast<size_t>(reinterpret_cast<char*>(&var_) -
7871  reinterpret_cast<char*>(&offset_)) + sizeof(var_));
7872  // @@protoc_insertion_point(copy_constructor:operations_research.sat.DecisionStrategyProto.AffineTransformation)
7873 }
7874 
7875 void DecisionStrategyProto_AffineTransformation::SharedCtor() {
7876  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
7877  reinterpret_cast<char*>(&offset_) - reinterpret_cast<char*>(this)),
7878  0, static_cast<size_t>(reinterpret_cast<char*>(&var_) -
7879  reinterpret_cast<char*>(&offset_)) + sizeof(var_));
7880 }
7881 
7882 DecisionStrategyProto_AffineTransformation::~DecisionStrategyProto_AffineTransformation() {
7883  // @@protoc_insertion_point(destructor:operations_research.sat.DecisionStrategyProto.AffineTransformation)
7884  SharedDtor();
7885  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
7886 }
7887 
7888 void DecisionStrategyProto_AffineTransformation::SharedDtor() {
7889  GOOGLE_DCHECK(GetArena() == nullptr);
7890 }
7891 
7892 void DecisionStrategyProto_AffineTransformation::ArenaDtor(void* object) {
7893  DecisionStrategyProto_AffineTransformation* _this = reinterpret_cast< DecisionStrategyProto_AffineTransformation* >(object);
7894  (void)_this;
7895 }
7896 void DecisionStrategyProto_AffineTransformation::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
7897 }
7898 void DecisionStrategyProto_AffineTransformation::SetCachedSize(int size) const {
7899  _cached_size_.Set(size);
7900 }
7901 const DecisionStrategyProto_AffineTransformation& DecisionStrategyProto_AffineTransformation::default_instance() {
7902  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_DecisionStrategyProto_AffineTransformation_ortools_2fsat_2fcp_5fmodel_2eproto.base);
7903  return *internal_default_instance();
7904 }
7905 
7906 
7907 void DecisionStrategyProto_AffineTransformation::Clear() {
7908 // @@protoc_insertion_point(message_clear_start:operations_research.sat.DecisionStrategyProto.AffineTransformation)
7909  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
7910  // Prevent compiler warnings about cached_has_bits being unused
7911  (void) cached_has_bits;
7912 
7913  ::memset(&offset_, 0, static_cast<size_t>(
7914  reinterpret_cast<char*>(&var_) -
7915  reinterpret_cast<char*>(&offset_)) + sizeof(var_));
7916  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
7917 }
7918 
7919 const char* DecisionStrategyProto_AffineTransformation::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
7920 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
7921  while (!ctx->Done(&ptr)) {
7923  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
7924  CHK_(ptr);
7925  switch (tag >> 3) {
7926  // int32 var = 1;
7927  case 1:
7928  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
7929  var_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
7930  CHK_(ptr);
7931  } else goto handle_unusual;
7932  continue;
7933  // int64 offset = 2;
7934  case 2:
7935  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
7936  offset_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
7937  CHK_(ptr);
7938  } else goto handle_unusual;
7939  continue;
7940  // int64 positive_coeff = 3;
7941  case 3:
7942  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
7943  positive_coeff_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
7944  CHK_(ptr);
7945  } else goto handle_unusual;
7946  continue;
7947  default: {
7948  handle_unusual:
7949  if ((tag & 7) == 4 || tag == 0) {
7950  ctx->SetLastTag(tag);
7951  goto success;
7952  }
7953  ptr = UnknownFieldParse(tag,
7954  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
7955  ptr, ctx);
7956  CHK_(ptr != nullptr);
7957  continue;
7958  }
7959  } // switch
7960  } // while
7961 success:
7962  return ptr;
7963 failure:
7964  ptr = nullptr;
7965  goto success;
7966 #undef CHK_
7967 }
7968 
7969 ::PROTOBUF_NAMESPACE_ID::uint8* DecisionStrategyProto_AffineTransformation::_InternalSerialize(
7970  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
7971  // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.DecisionStrategyProto.AffineTransformation)
7972  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
7973  (void) cached_has_bits;
7974 
7975  // int32 var = 1;
7976  if (this->var() != 0) {
7977  target = stream->EnsureSpace(target);
7978  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_var(), target);
7979  }
7980 
7981  // int64 offset = 2;
7982  if (this->offset() != 0) {
7983  target = stream->EnsureSpace(target);
7984  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(2, this->_internal_offset(), target);
7985  }
7986 
7987  // int64 positive_coeff = 3;
7988  if (this->positive_coeff() != 0) {
7989  target = stream->EnsureSpace(target);
7990  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(3, this->_internal_positive_coeff(), target);
7991  }
7992 
7993  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
7994  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
7995  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
7996  }
7997  // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.DecisionStrategyProto.AffineTransformation)
7998  return target;
7999 }
8000 
8001 size_t DecisionStrategyProto_AffineTransformation::ByteSizeLong() const {
8002 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.DecisionStrategyProto.AffineTransformation)
8003  size_t total_size = 0;
8004 
8005  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
8006  // Prevent compiler warnings about cached_has_bits being unused
8007  (void) cached_has_bits;
8008 
8009  // int64 offset = 2;
8010  if (this->offset() != 0) {
8011  total_size += 1 +
8012  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
8013  this->_internal_offset());
8014  }
8015 
8016  // int64 positive_coeff = 3;
8017  if (this->positive_coeff() != 0) {
8018  total_size += 1 +
8019  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
8020  this->_internal_positive_coeff());
8021  }
8022 
8023  // int32 var = 1;
8024  if (this->var() != 0) {
8025  total_size += 1 +
8026  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
8027  this->_internal_var());
8028  }
8029 
8030  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
8031  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
8032  _internal_metadata_, total_size, &_cached_size_);
8033  }
8034  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
8035  SetCachedSize(cached_size);
8036  return total_size;
8037 }
8038 
8039 void DecisionStrategyProto_AffineTransformation::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
8040 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.sat.DecisionStrategyProto.AffineTransformation)
8041  GOOGLE_DCHECK_NE(&from, this);
8042  const DecisionStrategyProto_AffineTransformation* source =
8043  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<DecisionStrategyProto_AffineTransformation>(
8044  &from);
8045  if (source == nullptr) {
8046  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.sat.DecisionStrategyProto.AffineTransformation)
8047  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
8048  } else {
8049  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.sat.DecisionStrategyProto.AffineTransformation)
8050  MergeFrom(*source);
8051  }
8052 }
8053 
8054 void DecisionStrategyProto_AffineTransformation::MergeFrom(const DecisionStrategyProto_AffineTransformation& from) {
8055 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.DecisionStrategyProto.AffineTransformation)
8056  GOOGLE_DCHECK_NE(&from, this);
8057  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
8058  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
8059  (void) cached_has_bits;
8060 
8061  if (from.offset() != 0) {
8062  _internal_set_offset(from._internal_offset());
8063  }
8064  if (from.positive_coeff() != 0) {
8065  _internal_set_positive_coeff(from._internal_positive_coeff());
8066  }
8067  if (from.var() != 0) {
8068  _internal_set_var(from._internal_var());
8069  }
8070 }
8071 
8072 void DecisionStrategyProto_AffineTransformation::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
8073 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.sat.DecisionStrategyProto.AffineTransformation)
8074  if (&from == this) return;
8075  Clear();
8076  MergeFrom(from);
8077 }
8078 
8079 void DecisionStrategyProto_AffineTransformation::CopyFrom(const DecisionStrategyProto_AffineTransformation& from) {
8080 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.DecisionStrategyProto.AffineTransformation)
8081  if (&from == this) return;
8082  Clear();
8083  MergeFrom(from);
8084 }
8085 
8086 bool DecisionStrategyProto_AffineTransformation::IsInitialized() const {
8087  return true;
8088 }
8089 
8090 void DecisionStrategyProto_AffineTransformation::InternalSwap(DecisionStrategyProto_AffineTransformation* other) {
8091  using std::swap;
8092  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
8093  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
8094  PROTOBUF_FIELD_OFFSET(DecisionStrategyProto_AffineTransformation, var_)
8095  + sizeof(DecisionStrategyProto_AffineTransformation::var_)
8096  - PROTOBUF_FIELD_OFFSET(DecisionStrategyProto_AffineTransformation, offset_)>(
8097  reinterpret_cast<char*>(&offset_),
8098  reinterpret_cast<char*>(&other->offset_));
8099 }
8100 
8101 ::PROTOBUF_NAMESPACE_ID::Metadata DecisionStrategyProto_AffineTransformation::GetMetadata() const {
8102  return GetMetadataStatic();
8103 }
8104 
8105 
8106 // ===================================================================
8107 
8109  public:
8110 };
8111 
8112 DecisionStrategyProto::DecisionStrategyProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
8113  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
8114  variables_(arena),
8115  transformations_(arena) {
8116  SharedCtor();
8117  RegisterArenaDtor(arena);
8118  // @@protoc_insertion_point(arena_constructor:operations_research.sat.DecisionStrategyProto)
8119 }
8120 DecisionStrategyProto::DecisionStrategyProto(const DecisionStrategyProto& from)
8121  : ::PROTOBUF_NAMESPACE_ID::Message(),
8122  variables_(from.variables_),
8123  transformations_(from.transformations_) {
8124  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
8125  ::memcpy(&variable_selection_strategy_, &from.variable_selection_strategy_,
8126  static_cast<size_t>(reinterpret_cast<char*>(&domain_reduction_strategy_) -
8127  reinterpret_cast<char*>(&variable_selection_strategy_)) + sizeof(domain_reduction_strategy_));
8128  // @@protoc_insertion_point(copy_constructor:operations_research.sat.DecisionStrategyProto)
8129 }
8130 
8131 void DecisionStrategyProto::SharedCtor() {
8132  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_DecisionStrategyProto_ortools_2fsat_2fcp_5fmodel_2eproto.base);
8133  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
8134  reinterpret_cast<char*>(&variable_selection_strategy_) - reinterpret_cast<char*>(this)),
8135  0, static_cast<size_t>(reinterpret_cast<char*>(&domain_reduction_strategy_) -
8136  reinterpret_cast<char*>(&variable_selection_strategy_)) + sizeof(domain_reduction_strategy_));
8137 }
8138 
8139 DecisionStrategyProto::~DecisionStrategyProto() {
8140  // @@protoc_insertion_point(destructor:operations_research.sat.DecisionStrategyProto)
8141  SharedDtor();
8142  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
8143 }
8144 
8145 void DecisionStrategyProto::SharedDtor() {
8146  GOOGLE_DCHECK(GetArena() == nullptr);
8147 }
8148 
8149 void DecisionStrategyProto::ArenaDtor(void* object) {
8150  DecisionStrategyProto* _this = reinterpret_cast< DecisionStrategyProto* >(object);
8151  (void)_this;
8152 }
8153 void DecisionStrategyProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
8154 }
8155 void DecisionStrategyProto::SetCachedSize(int size) const {
8156  _cached_size_.Set(size);
8157 }
8158 const DecisionStrategyProto& DecisionStrategyProto::default_instance() {
8159  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_DecisionStrategyProto_ortools_2fsat_2fcp_5fmodel_2eproto.base);
8160  return *internal_default_instance();
8161 }
8162 
8163 
8164 void DecisionStrategyProto::Clear() {
8165 // @@protoc_insertion_point(message_clear_start:operations_research.sat.DecisionStrategyProto)
8166  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
8167  // Prevent compiler warnings about cached_has_bits being unused
8168  (void) cached_has_bits;
8169 
8170  variables_.Clear();
8171  transformations_.Clear();
8172  ::memset(&variable_selection_strategy_, 0, static_cast<size_t>(
8173  reinterpret_cast<char*>(&domain_reduction_strategy_) -
8174  reinterpret_cast<char*>(&variable_selection_strategy_)) + sizeof(domain_reduction_strategy_));
8175  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
8176 }
8177 
8178 const char* DecisionStrategyProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
8179 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
8180  while (!ctx->Done(&ptr)) {
8182  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
8183  CHK_(ptr);
8184  switch (tag >> 3) {
8185  // repeated int32 variables = 1;
8186  case 1:
8187  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
8188  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_variables(), ptr, ctx);
8189  CHK_(ptr);
8190  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
8191  _internal_add_variables(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
8192  CHK_(ptr);
8193  } else goto handle_unusual;
8194  continue;
8195  // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
8196  case 2:
8197  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
8198  ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
8199  CHK_(ptr);
8200  _internal_set_variable_selection_strategy(static_cast<::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy>(val));
8201  } else goto handle_unusual;
8202  continue;
8203  // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
8204  case 3:
8205  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
8206  ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
8207  CHK_(ptr);
8208  _internal_set_domain_reduction_strategy(static_cast<::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy>(val));
8209  } else goto handle_unusual;
8210  continue;
8211  // repeated .operations_research.sat.DecisionStrategyProto.AffineTransformation transformations = 4;
8212  case 4:
8213  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
8214  ptr -= 1;
8215  do {
8216  ptr += 1;
8217  ptr = ctx->ParseMessage(_internal_add_transformations(), ptr);
8218  CHK_(ptr);
8219  if (!ctx->DataAvailable(ptr)) break;
8220  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
8221  } else goto handle_unusual;
8222  continue;
8223  default: {
8224  handle_unusual:
8225  if ((tag & 7) == 4 || tag == 0) {
8226  ctx->SetLastTag(tag);
8227  goto success;
8228  }
8229  ptr = UnknownFieldParse(tag,
8230  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
8231  ptr, ctx);
8232  CHK_(ptr != nullptr);
8233  continue;
8234  }
8235  } // switch
8236  } // while
8237 success:
8238  return ptr;
8239 failure:
8240  ptr = nullptr;
8241  goto success;
8242 #undef CHK_
8243 }
8244 
8245 ::PROTOBUF_NAMESPACE_ID::uint8* DecisionStrategyProto::_InternalSerialize(
8246  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
8247  // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.DecisionStrategyProto)
8248  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
8249  (void) cached_has_bits;
8250 
8251  // repeated int32 variables = 1;
8252  {
8253  int byte_size = _variables_cached_byte_size_.load(std::memory_order_relaxed);
8254  if (byte_size > 0) {
8255  target = stream->WriteInt32Packed(
8256  1, _internal_variables(), byte_size, target);
8257  }
8258  }
8259 
8260  // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
8261  if (this->variable_selection_strategy() != 0) {
8262  target = stream->EnsureSpace(target);
8263  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
8264  2, this->_internal_variable_selection_strategy(), target);
8265  }
8266 
8267  // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
8268  if (this->domain_reduction_strategy() != 0) {
8269  target = stream->EnsureSpace(target);
8270  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
8271  3, this->_internal_domain_reduction_strategy(), target);
8272  }
8273 
8274  // repeated .operations_research.sat.DecisionStrategyProto.AffineTransformation transformations = 4;
8275  for (unsigned int i = 0,
8276  n = static_cast<unsigned int>(this->_internal_transformations_size()); i < n; i++) {
8277  target = stream->EnsureSpace(target);
8278  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
8279  InternalWriteMessage(4, this->_internal_transformations(i), target, stream);
8280  }
8281 
8282  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
8283  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
8284  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
8285  }
8286  // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.DecisionStrategyProto)
8287  return target;
8288 }
8289 
8290 size_t DecisionStrategyProto::ByteSizeLong() const {
8291 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.DecisionStrategyProto)
8292  size_t total_size = 0;
8293 
8294  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
8295  // Prevent compiler warnings about cached_has_bits being unused
8296  (void) cached_has_bits;
8297 
8298  // repeated int32 variables = 1;
8299  {
8300  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
8301  Int32Size(this->variables_);
8302  if (data_size > 0) {
8303  total_size += 1 +
8304  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
8305  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
8306  }
8307  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
8308  _variables_cached_byte_size_.store(cached_size,
8309  std::memory_order_relaxed);
8310  total_size += data_size;
8311  }
8312 
8313  // repeated .operations_research.sat.DecisionStrategyProto.AffineTransformation transformations = 4;
8314  total_size += 1UL * this->_internal_transformations_size();
8315  for (const auto& msg : this->transformations_) {
8316  total_size +=
8317  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
8318  }
8319 
8320  // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
8321  if (this->variable_selection_strategy() != 0) {
8322  total_size += 1 +
8323  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_variable_selection_strategy());
8324  }
8325 
8326  // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
8327  if (this->domain_reduction_strategy() != 0) {
8328  total_size += 1 +
8329  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_domain_reduction_strategy());
8330  }
8331 
8332  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
8333  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
8334  _internal_metadata_, total_size, &_cached_size_);
8335  }
8336  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
8337  SetCachedSize(cached_size);
8338  return total_size;
8339 }
8340 
8341 void DecisionStrategyProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
8342 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.sat.DecisionStrategyProto)
8343  GOOGLE_DCHECK_NE(&from, this);
8344  const DecisionStrategyProto* source =
8345  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<DecisionStrategyProto>(
8346  &from);
8347  if (source == nullptr) {
8348  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.sat.DecisionStrategyProto)
8349  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
8350  } else {
8351  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.sat.DecisionStrategyProto)
8352  MergeFrom(*source);
8353  }
8354 }
8355 
8356 void DecisionStrategyProto::MergeFrom(const DecisionStrategyProto& from) {
8357 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.DecisionStrategyProto)
8358  GOOGLE_DCHECK_NE(&from, this);
8359  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
8360  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
8361  (void) cached_has_bits;
8362 
8363  variables_.MergeFrom(from.variables_);
8364  transformations_.MergeFrom(from.transformations_);
8365  if (from.variable_selection_strategy() != 0) {
8366  _internal_set_variable_selection_strategy(from._internal_variable_selection_strategy());
8367  }
8368  if (from.domain_reduction_strategy() != 0) {
8369  _internal_set_domain_reduction_strategy(from._internal_domain_reduction_strategy());
8370  }
8371 }
8372 
8373 void DecisionStrategyProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
8374 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.sat.DecisionStrategyProto)
8375  if (&from == this) return;
8376  Clear();
8377  MergeFrom(from);
8378 }
8379 
8380 void DecisionStrategyProto::CopyFrom(const DecisionStrategyProto& from) {
8381 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.DecisionStrategyProto)
8382  if (&from == this) return;
8383  Clear();
8384  MergeFrom(from);
8385 }
8386 
8387 bool DecisionStrategyProto::IsInitialized() const {
8388  return true;
8389 }
8390 
8391 void DecisionStrategyProto::InternalSwap(DecisionStrategyProto* other) {
8392  using std::swap;
8393  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
8394  variables_.InternalSwap(&other->variables_);
8395  transformations_.InternalSwap(&other->transformations_);
8396  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
8397  PROTOBUF_FIELD_OFFSET(DecisionStrategyProto, domain_reduction_strategy_)
8398  + sizeof(DecisionStrategyProto::domain_reduction_strategy_)
8399  - PROTOBUF_FIELD_OFFSET(DecisionStrategyProto, variable_selection_strategy_)>(
8400  reinterpret_cast<char*>(&variable_selection_strategy_),
8401  reinterpret_cast<char*>(&other->variable_selection_strategy_));
8402 }
8403 
8404 ::PROTOBUF_NAMESPACE_ID::Metadata DecisionStrategyProto::GetMetadata() const {
8405  return GetMetadataStatic();
8406 }
8407 
8408 
8409 // ===================================================================
8410 
8412  public:
8413 };
8414 
8415 PartialVariableAssignment::PartialVariableAssignment(::PROTOBUF_NAMESPACE_ID::Arena* arena)
8416  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
8417  vars_(arena),
8418  values_(arena) {
8419  SharedCtor();
8420  RegisterArenaDtor(arena);
8421  // @@protoc_insertion_point(arena_constructor:operations_research.sat.PartialVariableAssignment)
8422 }
8423 PartialVariableAssignment::PartialVariableAssignment(const PartialVariableAssignment& from)
8424  : ::PROTOBUF_NAMESPACE_ID::Message(),
8425  vars_(from.vars_),
8426  values_(from.values_) {
8427  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
8428  // @@protoc_insertion_point(copy_constructor:operations_research.sat.PartialVariableAssignment)
8429 }
8430 
8431 void PartialVariableAssignment::SharedCtor() {
8432 }
8433 
8434 PartialVariableAssignment::~PartialVariableAssignment() {
8435  // @@protoc_insertion_point(destructor:operations_research.sat.PartialVariableAssignment)
8436  SharedDtor();
8437  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
8438 }
8439 
8440 void PartialVariableAssignment::SharedDtor() {
8441  GOOGLE_DCHECK(GetArena() == nullptr);
8442 }
8443 
8444 void PartialVariableAssignment::ArenaDtor(void* object) {
8445  PartialVariableAssignment* _this = reinterpret_cast< PartialVariableAssignment* >(object);
8446  (void)_this;
8447 }
8448 void PartialVariableAssignment::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
8449 }
8450 void PartialVariableAssignment::SetCachedSize(int size) const {
8451  _cached_size_.Set(size);
8452 }
8453 const PartialVariableAssignment& PartialVariableAssignment::default_instance() {
8454  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_PartialVariableAssignment_ortools_2fsat_2fcp_5fmodel_2eproto.base);
8455  return *internal_default_instance();
8456 }
8457 
8458 
8459 void PartialVariableAssignment::Clear() {
8460 // @@protoc_insertion_point(message_clear_start:operations_research.sat.PartialVariableAssignment)
8461  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
8462  // Prevent compiler warnings about cached_has_bits being unused
8463  (void) cached_has_bits;
8464 
8465  vars_.Clear();
8466  values_.Clear();
8467  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
8468 }
8469 
8470 const char* PartialVariableAssignment::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
8471 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
8472  while (!ctx->Done(&ptr)) {
8474  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
8475  CHK_(ptr);
8476  switch (tag >> 3) {
8477  // repeated int32 vars = 1;
8478  case 1:
8479  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
8480  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_vars(), ptr, ctx);
8481  CHK_(ptr);
8482  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
8483  _internal_add_vars(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
8484  CHK_(ptr);
8485  } else goto handle_unusual;
8486  continue;
8487  // repeated int64 values = 2;
8488  case 2:
8489  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
8490  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_values(), ptr, ctx);
8491  CHK_(ptr);
8492  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) {
8493  _internal_add_values(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
8494  CHK_(ptr);
8495  } else goto handle_unusual;
8496  continue;
8497  default: {
8498  handle_unusual:
8499  if ((tag & 7) == 4 || tag == 0) {
8500  ctx->SetLastTag(tag);
8501  goto success;
8502  }
8503  ptr = UnknownFieldParse(tag,
8504  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
8505  ptr, ctx);
8506  CHK_(ptr != nullptr);
8507  continue;
8508  }
8509  } // switch
8510  } // while
8511 success:
8512  return ptr;
8513 failure:
8514  ptr = nullptr;
8515  goto success;
8516 #undef CHK_
8517 }
8518 
8519 ::PROTOBUF_NAMESPACE_ID::uint8* PartialVariableAssignment::_InternalSerialize(
8520  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
8521  // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.PartialVariableAssignment)
8522  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
8523  (void) cached_has_bits;
8524 
8525  // repeated int32 vars = 1;
8526  {
8527  int byte_size = _vars_cached_byte_size_.load(std::memory_order_relaxed);
8528  if (byte_size > 0) {
8529  target = stream->WriteInt32Packed(
8530  1, _internal_vars(), byte_size, target);
8531  }
8532  }
8533 
8534  // repeated int64 values = 2;
8535  {
8536  int byte_size = _values_cached_byte_size_.load(std::memory_order_relaxed);
8537  if (byte_size > 0) {
8538  target = stream->WriteInt64Packed(
8539  2, _internal_values(), byte_size, target);
8540  }
8541  }
8542 
8543  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
8544  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
8545  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
8546  }
8547  // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.PartialVariableAssignment)
8548  return target;
8549 }
8550 
8551 size_t PartialVariableAssignment::ByteSizeLong() const {
8552 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.PartialVariableAssignment)
8553  size_t total_size = 0;
8554 
8555  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
8556  // Prevent compiler warnings about cached_has_bits being unused
8557  (void) cached_has_bits;
8558 
8559  // repeated int32 vars = 1;
8560  {
8561  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
8562  Int32Size(this->vars_);
8563  if (data_size > 0) {
8564  total_size += 1 +
8565  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
8566  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
8567  }
8568  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
8569  _vars_cached_byte_size_.store(cached_size,
8570  std::memory_order_relaxed);
8571  total_size += data_size;
8572  }
8573 
8574  // repeated int64 values = 2;
8575  {
8576  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
8577  Int64Size(this->values_);
8578  if (data_size > 0) {
8579  total_size += 1 +
8580  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
8581  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
8582  }
8583  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
8584  _values_cached_byte_size_.store(cached_size,
8585  std::memory_order_relaxed);
8586  total_size += data_size;
8587  }
8588 
8589  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
8590  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
8591  _internal_metadata_, total_size, &_cached_size_);
8592  }
8593  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
8594  SetCachedSize(cached_size);
8595  return total_size;
8596 }
8597 
8598 void PartialVariableAssignment::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
8599 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.sat.PartialVariableAssignment)
8600  GOOGLE_DCHECK_NE(&from, this);
8601  const PartialVariableAssignment* source =
8602  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<PartialVariableAssignment>(
8603  &from);
8604  if (source == nullptr) {
8605  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.sat.PartialVariableAssignment)
8606  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
8607  } else {
8608  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.sat.PartialVariableAssignment)
8609  MergeFrom(*source);
8610  }
8611 }
8612 
8613 void PartialVariableAssignment::MergeFrom(const PartialVariableAssignment& from) {
8614 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.PartialVariableAssignment)
8615  GOOGLE_DCHECK_NE(&from, this);
8616  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
8617  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
8618  (void) cached_has_bits;
8619 
8620  vars_.MergeFrom(from.vars_);
8621  values_.MergeFrom(from.values_);
8622 }
8623 
8624 void PartialVariableAssignment::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
8625 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.sat.PartialVariableAssignment)
8626  if (&from == this) return;
8627  Clear();
8628  MergeFrom(from);
8629 }
8630 
8631 void PartialVariableAssignment::CopyFrom(const PartialVariableAssignment& from) {
8632 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.PartialVariableAssignment)
8633  if (&from == this) return;
8634  Clear();
8635  MergeFrom(from);
8636 }
8637 
8638 bool PartialVariableAssignment::IsInitialized() const {
8639  return true;
8640 }
8641 
8642 void PartialVariableAssignment::InternalSwap(PartialVariableAssignment* other) {
8643  using std::swap;
8644  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
8645  vars_.InternalSwap(&other->vars_);
8646  values_.InternalSwap(&other->values_);
8647 }
8648 
8649 ::PROTOBUF_NAMESPACE_ID::Metadata PartialVariableAssignment::GetMetadata() const {
8650  return GetMetadataStatic();
8651 }
8652 
8653 
8654 // ===================================================================
8655 
8657  public:
8658  static const ::operations_research::sat::CpObjectiveProto& objective(const CpModelProto* msg);
8659  static const ::operations_research::sat::PartialVariableAssignment& solution_hint(const CpModelProto* msg);
8660 };
8661 
8662 const ::operations_research::sat::CpObjectiveProto&
8663 CpModelProto::_Internal::objective(const CpModelProto* msg) {
8664  return *msg->objective_;
8665 }
8666 const ::operations_research::sat::PartialVariableAssignment&
8667 CpModelProto::_Internal::solution_hint(const CpModelProto* msg) {
8668  return *msg->solution_hint_;
8669 }
8670 CpModelProto::CpModelProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
8671  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
8672  variables_(arena),
8673  constraints_(arena),
8674  search_strategy_(arena),
8675  assumptions_(arena) {
8676  SharedCtor();
8677  RegisterArenaDtor(arena);
8678  // @@protoc_insertion_point(arena_constructor:operations_research.sat.CpModelProto)
8679 }
8680 CpModelProto::CpModelProto(const CpModelProto& from)
8681  : ::PROTOBUF_NAMESPACE_ID::Message(),
8682  variables_(from.variables_),
8683  constraints_(from.constraints_),
8684  search_strategy_(from.search_strategy_),
8685  assumptions_(from.assumptions_) {
8686  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
8687  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
8688  if (!from._internal_name().empty()) {
8689  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(),
8690  GetArena());
8691  }
8692  if (from._internal_has_objective()) {
8693  objective_ = new ::operations_research::sat::CpObjectiveProto(*from.objective_);
8694  } else {
8695  objective_ = nullptr;
8696  }
8697  if (from._internal_has_solution_hint()) {
8698  solution_hint_ = new ::operations_research::sat::PartialVariableAssignment(*from.solution_hint_);
8699  } else {
8700  solution_hint_ = nullptr;
8701  }
8702  // @@protoc_insertion_point(copy_constructor:operations_research.sat.CpModelProto)
8703 }
8704 
8705 void CpModelProto::SharedCtor() {
8706  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_CpModelProto_ortools_2fsat_2fcp_5fmodel_2eproto.base);
8707  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
8708  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
8709  reinterpret_cast<char*>(&objective_) - reinterpret_cast<char*>(this)),
8710  0, static_cast<size_t>(reinterpret_cast<char*>(&solution_hint_) -
8711  reinterpret_cast<char*>(&objective_)) + sizeof(solution_hint_));
8712 }
8713 
8714 CpModelProto::~CpModelProto() {
8715  // @@protoc_insertion_point(destructor:operations_research.sat.CpModelProto)
8716  SharedDtor();
8717  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
8718 }
8719 
8720 void CpModelProto::SharedDtor() {
8721  GOOGLE_DCHECK(GetArena() == nullptr);
8722  name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
8723  if (this != internal_default_instance()) delete objective_;
8724  if (this != internal_default_instance()) delete solution_hint_;
8725 }
8726 
8727 void CpModelProto::ArenaDtor(void* object) {
8728  CpModelProto* _this = reinterpret_cast< CpModelProto* >(object);
8729  (void)_this;
8730 }
8731 void CpModelProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
8732 }
8733 void CpModelProto::SetCachedSize(int size) const {
8734  _cached_size_.Set(size);
8735 }
8736 const CpModelProto& CpModelProto::default_instance() {
8737  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_CpModelProto_ortools_2fsat_2fcp_5fmodel_2eproto.base);
8738  return *internal_default_instance();
8739 }
8740 
8741 
8742 void CpModelProto::Clear() {
8743 // @@protoc_insertion_point(message_clear_start:operations_research.sat.CpModelProto)
8744  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
8745  // Prevent compiler warnings about cached_has_bits being unused
8746  (void) cached_has_bits;
8747 
8748  variables_.Clear();
8749  constraints_.Clear();
8750  search_strategy_.Clear();
8751  assumptions_.Clear();
8752  name_.ClearToEmpty();
8753  if (GetArena() == nullptr && objective_ != nullptr) {
8754  delete objective_;
8755  }
8756  objective_ = nullptr;
8757  if (GetArena() == nullptr && solution_hint_ != nullptr) {
8758  delete solution_hint_;
8759  }
8760  solution_hint_ = nullptr;
8761  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
8762 }
8763 
8764 const char* CpModelProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
8765 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
8766  while (!ctx->Done(&ptr)) {
8768  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
8769  CHK_(ptr);
8770  switch (tag >> 3) {
8771  // string name = 1;
8772  case 1:
8773  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
8774  auto str = _internal_mutable_name();
8775  ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
8776  CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.sat.CpModelProto.name"));
8777  CHK_(ptr);
8778  } else goto handle_unusual;
8779  continue;
8780  // repeated .operations_research.sat.IntegerVariableProto variables = 2;
8781  case 2:
8782  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
8783  ptr -= 1;
8784  do {
8785  ptr += 1;
8786  ptr = ctx->ParseMessage(_internal_add_variables(), ptr);
8787  CHK_(ptr);
8788  if (!ctx->DataAvailable(ptr)) break;
8789  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
8790  } else goto handle_unusual;
8791  continue;
8792  // repeated .operations_research.sat.ConstraintProto constraints = 3;
8793  case 3:
8794  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
8795  ptr -= 1;
8796  do {
8797  ptr += 1;
8798  ptr = ctx->ParseMessage(_internal_add_constraints(), ptr);
8799  CHK_(ptr);
8800  if (!ctx->DataAvailable(ptr)) break;
8801  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
8802  } else goto handle_unusual;
8803  continue;
8804  // .operations_research.sat.CpObjectiveProto objective = 4;
8805  case 4:
8806  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
8807  ptr = ctx->ParseMessage(_internal_mutable_objective(), ptr);
8808  CHK_(ptr);
8809  } else goto handle_unusual;
8810  continue;
8811  // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
8812  case 5:
8813  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
8814  ptr -= 1;
8815  do {
8816  ptr += 1;
8817  ptr = ctx->ParseMessage(_internal_add_search_strategy(), ptr);
8818  CHK_(ptr);
8819  if (!ctx->DataAvailable(ptr)) break;
8820  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
8821  } else goto handle_unusual;
8822  continue;
8823  // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
8824  case 6:
8825  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
8826  ptr = ctx->ParseMessage(_internal_mutable_solution_hint(), ptr);
8827  CHK_(ptr);
8828  } else goto handle_unusual;
8829  continue;
8830  // repeated int32 assumptions = 7;
8831  case 7:
8832  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
8833  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_assumptions(), ptr, ctx);
8834  CHK_(ptr);
8835  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56) {
8836  _internal_add_assumptions(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
8837  CHK_(ptr);
8838  } else goto handle_unusual;
8839  continue;
8840  default: {
8841  handle_unusual:
8842  if ((tag & 7) == 4 || tag == 0) {
8843  ctx->SetLastTag(tag);
8844  goto success;
8845  }
8846  ptr = UnknownFieldParse(tag,
8847  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
8848  ptr, ctx);
8849  CHK_(ptr != nullptr);
8850  continue;
8851  }
8852  } // switch
8853  } // while
8854 success:
8855  return ptr;
8856 failure:
8857  ptr = nullptr;
8858  goto success;
8859 #undef CHK_
8860 }
8861 
8862 ::PROTOBUF_NAMESPACE_ID::uint8* CpModelProto::_InternalSerialize(
8863  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
8864  // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.CpModelProto)
8865  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
8866  (void) cached_has_bits;
8867 
8868  // string name = 1;
8869  if (this->name().size() > 0) {
8870  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
8871  this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
8872  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
8873  "operations_research.sat.CpModelProto.name");
8874  target = stream->WriteStringMaybeAliased(
8875  1, this->_internal_name(), target);
8876  }
8877 
8878  // repeated .operations_research.sat.IntegerVariableProto variables = 2;
8879  for (unsigned int i = 0,
8880  n = static_cast<unsigned int>(this->_internal_variables_size()); i < n; i++) {
8881  target = stream->EnsureSpace(target);
8882  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
8883  InternalWriteMessage(2, this->_internal_variables(i), target, stream);
8884  }
8885 
8886  // repeated .operations_research.sat.ConstraintProto constraints = 3;
8887  for (unsigned int i = 0,
8888  n = static_cast<unsigned int>(this->_internal_constraints_size()); i < n; i++) {
8889  target = stream->EnsureSpace(target);
8890  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
8891  InternalWriteMessage(3, this->_internal_constraints(i), target, stream);
8892  }
8893 
8894  // .operations_research.sat.CpObjectiveProto objective = 4;
8895  if (this->has_objective()) {
8896  target = stream->EnsureSpace(target);
8897  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
8898  InternalWriteMessage(
8899  4, _Internal::objective(this), target, stream);
8900  }
8901 
8902  // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
8903  for (unsigned int i = 0,
8904  n = static_cast<unsigned int>(this->_internal_search_strategy_size()); i < n; i++) {
8905  target = stream->EnsureSpace(target);
8906  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
8907  InternalWriteMessage(5, this->_internal_search_strategy(i), target, stream);
8908  }
8909 
8910  // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
8911  if (this->has_solution_hint()) {
8912  target = stream->EnsureSpace(target);
8913  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
8914  InternalWriteMessage(
8915  6, _Internal::solution_hint(this), target, stream);
8916  }
8917 
8918  // repeated int32 assumptions = 7;
8919  {
8920  int byte_size = _assumptions_cached_byte_size_.load(std::memory_order_relaxed);
8921  if (byte_size > 0) {
8922  target = stream->WriteInt32Packed(
8923  7, _internal_assumptions(), byte_size, target);
8924  }
8925  }
8926 
8927  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
8928  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
8929  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
8930  }
8931  // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.CpModelProto)
8932  return target;
8933 }
8934 
8935 size_t CpModelProto::ByteSizeLong() const {
8936 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.CpModelProto)
8937  size_t total_size = 0;
8938 
8939  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
8940  // Prevent compiler warnings about cached_has_bits being unused
8941  (void) cached_has_bits;
8942 
8943  // repeated .operations_research.sat.IntegerVariableProto variables = 2;
8944  total_size += 1UL * this->_internal_variables_size();
8945  for (const auto& msg : this->variables_) {
8946  total_size +=
8947  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
8948  }
8949 
8950  // repeated .operations_research.sat.ConstraintProto constraints = 3;
8951  total_size += 1UL * this->_internal_constraints_size();
8952  for (const auto& msg : this->constraints_) {
8953  total_size +=
8954  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
8955  }
8956 
8957  // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
8958  total_size += 1UL * this->_internal_search_strategy_size();
8959  for (const auto& msg : this->search_strategy_) {
8960  total_size +=
8961  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
8962  }
8963 
8964  // repeated int32 assumptions = 7;
8965  {
8966  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
8967  Int32Size(this->assumptions_);
8968  if (data_size > 0) {
8969  total_size += 1 +
8970  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
8971  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
8972  }
8973  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
8974  _assumptions_cached_byte_size_.store(cached_size,
8975  std::memory_order_relaxed);
8976  total_size += data_size;
8977  }
8978 
8979  // string name = 1;
8980  if (this->name().size() > 0) {
8981  total_size += 1 +
8982  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
8983  this->_internal_name());
8984  }
8985 
8986  // .operations_research.sat.CpObjectiveProto objective = 4;
8987  if (this->has_objective()) {
8988  total_size += 1 +
8989  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
8990  *objective_);
8991  }
8992 
8993  // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
8994  if (this->has_solution_hint()) {
8995  total_size += 1 +
8996  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
8997  *solution_hint_);
8998  }
8999 
9000  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
9001  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
9002  _internal_metadata_, total_size, &_cached_size_);
9003  }
9004  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
9005  SetCachedSize(cached_size);
9006  return total_size;
9007 }
9008 
9009 void CpModelProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
9010 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.sat.CpModelProto)
9011  GOOGLE_DCHECK_NE(&from, this);
9012  const CpModelProto* source =
9013  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CpModelProto>(
9014  &from);
9015  if (source == nullptr) {
9016  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.sat.CpModelProto)
9017  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
9018  } else {
9019  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.sat.CpModelProto)
9020  MergeFrom(*source);
9021  }
9022 }
9023 
9024 void CpModelProto::MergeFrom(const CpModelProto& from) {
9025 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.CpModelProto)
9026  GOOGLE_DCHECK_NE(&from, this);
9027  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
9028  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
9029  (void) cached_has_bits;
9030 
9031  variables_.MergeFrom(from.variables_);
9032  constraints_.MergeFrom(from.constraints_);
9033  search_strategy_.MergeFrom(from.search_strategy_);
9034  assumptions_.MergeFrom(from.assumptions_);
9035  if (from.name().size() > 0) {
9036  _internal_set_name(from._internal_name());
9037  }
9038  if (from.has_objective()) {
9039  _internal_mutable_objective()->::operations_research::sat::CpObjectiveProto::MergeFrom(from._internal_objective());
9040  }
9041  if (from.has_solution_hint()) {
9042  _internal_mutable_solution_hint()->::operations_research::sat::PartialVariableAssignment::MergeFrom(from._internal_solution_hint());
9043  }
9044 }
9045 
9046 void CpModelProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
9047 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.sat.CpModelProto)
9048  if (&from == this) return;
9049  Clear();
9050  MergeFrom(from);
9051 }
9052 
9053 void CpModelProto::CopyFrom(const CpModelProto& from) {
9054 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.CpModelProto)
9055  if (&from == this) return;
9056  Clear();
9057  MergeFrom(from);
9058 }
9059 
9060 bool CpModelProto::IsInitialized() const {
9061  return true;
9062 }
9063 
9064 void CpModelProto::InternalSwap(CpModelProto* other) {
9065  using std::swap;
9066  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
9067  variables_.InternalSwap(&other->variables_);
9068  constraints_.InternalSwap(&other->constraints_);
9069  search_strategy_.InternalSwap(&other->search_strategy_);
9070  assumptions_.InternalSwap(&other->assumptions_);
9071  name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
9072  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
9073  PROTOBUF_FIELD_OFFSET(CpModelProto, solution_hint_)
9074  + sizeof(CpModelProto::solution_hint_)
9075  - PROTOBUF_FIELD_OFFSET(CpModelProto, objective_)>(
9076  reinterpret_cast<char*>(&objective_),
9077  reinterpret_cast<char*>(&other->objective_));
9078 }
9079 
9080 ::PROTOBUF_NAMESPACE_ID::Metadata CpModelProto::GetMetadata() const {
9081  return GetMetadataStatic();
9082 }
9083 
9084 
9085 // ===================================================================
9086 
9088  public:
9089 };
9090 
9091 CpSolverResponse::CpSolverResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
9092  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
9093  solution_(arena),
9094  solution_lower_bounds_(arena),
9095  solution_upper_bounds_(arena),
9096  tightened_variables_(arena),
9097  sufficient_assumptions_for_infeasibility_(arena) {
9098  SharedCtor();
9099  RegisterArenaDtor(arena);
9100  // @@protoc_insertion_point(arena_constructor:operations_research.sat.CpSolverResponse)
9101 }
9102 CpSolverResponse::CpSolverResponse(const CpSolverResponse& from)
9103  : ::PROTOBUF_NAMESPACE_ID::Message(),
9104  solution_(from.solution_),
9105  solution_lower_bounds_(from.solution_lower_bounds_),
9106  solution_upper_bounds_(from.solution_upper_bounds_),
9107  tightened_variables_(from.tightened_variables_),
9108  sufficient_assumptions_for_infeasibility_(from.sufficient_assumptions_for_infeasibility_) {
9109  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
9110  solution_info_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
9111  if (!from._internal_solution_info().empty()) {
9112  solution_info_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_solution_info(),
9113  GetArena());
9114  }
9115  ::memcpy(&objective_value_, &from.objective_value_,
9116  static_cast<size_t>(reinterpret_cast<char*>(&num_lp_iterations_) -
9117  reinterpret_cast<char*>(&objective_value_)) + sizeof(num_lp_iterations_));
9118  // @@protoc_insertion_point(copy_constructor:operations_research.sat.CpSolverResponse)
9119 }
9120 
9121 void CpSolverResponse::SharedCtor() {
9122  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_CpSolverResponse_ortools_2fsat_2fcp_5fmodel_2eproto.base);
9123  solution_info_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
9124  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
9125  reinterpret_cast<char*>(&objective_value_) - reinterpret_cast<char*>(this)),
9126  0, static_cast<size_t>(reinterpret_cast<char*>(&num_lp_iterations_) -
9127  reinterpret_cast<char*>(&objective_value_)) + sizeof(num_lp_iterations_));
9128 }
9129 
9130 CpSolverResponse::~CpSolverResponse() {
9131  // @@protoc_insertion_point(destructor:operations_research.sat.CpSolverResponse)
9132  SharedDtor();
9133  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
9134 }
9135 
9136 void CpSolverResponse::SharedDtor() {
9137  GOOGLE_DCHECK(GetArena() == nullptr);
9138  solution_info_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
9139 }
9140 
9141 void CpSolverResponse::ArenaDtor(void* object) {
9142  CpSolverResponse* _this = reinterpret_cast< CpSolverResponse* >(object);
9143  (void)_this;
9144 }
9145 void CpSolverResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
9146 }
9147 void CpSolverResponse::SetCachedSize(int size) const {
9148  _cached_size_.Set(size);
9149 }
9150 const CpSolverResponse& CpSolverResponse::default_instance() {
9151  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_CpSolverResponse_ortools_2fsat_2fcp_5fmodel_2eproto.base);
9152  return *internal_default_instance();
9153 }
9154 
9155 
9156 void CpSolverResponse::Clear() {
9157 // @@protoc_insertion_point(message_clear_start:operations_research.sat.CpSolverResponse)
9158  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
9159  // Prevent compiler warnings about cached_has_bits being unused
9160  (void) cached_has_bits;
9161 
9162  solution_.Clear();
9163  solution_lower_bounds_.Clear();
9164  solution_upper_bounds_.Clear();
9165  tightened_variables_.Clear();
9166  sufficient_assumptions_for_infeasibility_.Clear();
9167  solution_info_.ClearToEmpty();
9168  ::memset(&objective_value_, 0, static_cast<size_t>(
9169  reinterpret_cast<char*>(&num_lp_iterations_) -
9170  reinterpret_cast<char*>(&objective_value_)) + sizeof(num_lp_iterations_));
9171  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
9172 }
9173 
9174 const char* CpSolverResponse::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
9175 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
9176  while (!ctx->Done(&ptr)) {
9178  ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
9179  CHK_(ptr);
9180  switch (tag >> 3) {
9181  // .operations_research.sat.CpSolverStatus status = 1;
9182  case 1:
9183  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
9184  ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
9185  CHK_(ptr);
9186  _internal_set_status(static_cast<::operations_research::sat::CpSolverStatus>(val));
9187  } else goto handle_unusual;
9188  continue;
9189  // repeated int64 solution = 2;
9190  case 2:
9191  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
9192  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_solution(), ptr, ctx);
9193  CHK_(ptr);
9194  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) {
9195  _internal_add_solution(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
9196  CHK_(ptr);
9197  } else goto handle_unusual;
9198  continue;
9199  // double objective_value = 3;
9200  case 3:
9201  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 25)) {
9202  objective_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
9203  ptr += sizeof(double);
9204  } else goto handle_unusual;
9205  continue;
9206  // double best_objective_bound = 4;
9207  case 4:
9208  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 33)) {
9209  best_objective_bound_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
9210  ptr += sizeof(double);
9211  } else goto handle_unusual;
9212  continue;
9213  // bool all_solutions_were_found = 5;
9214  case 5:
9215  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
9216  all_solutions_were_found_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
9217  CHK_(ptr);
9218  } else goto handle_unusual;
9219  continue;
9220  // int64 num_booleans = 10;
9221  case 10:
9222  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) {
9223  num_booleans_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
9224  CHK_(ptr);
9225  } else goto handle_unusual;
9226  continue;
9227  // int64 num_conflicts = 11;
9228  case 11:
9229  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 88)) {
9230  num_conflicts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
9231  CHK_(ptr);
9232  } else goto handle_unusual;
9233  continue;
9234  // int64 num_branches = 12;
9235  case 12:
9236  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 96)) {
9237  num_branches_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
9238  CHK_(ptr);
9239  } else goto handle_unusual;
9240  continue;
9241  // int64 num_binary_propagations = 13;
9242  case 13:
9243  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 104)) {
9244  num_binary_propagations_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
9245  CHK_(ptr);
9246  } else goto handle_unusual;
9247  continue;
9248  // int64 num_integer_propagations = 14;
9249  case 14:
9250  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 112)) {
9251  num_integer_propagations_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
9252  CHK_(ptr);
9253  } else goto handle_unusual;
9254  continue;
9255  // double wall_time = 15;
9256  case 15:
9257  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 121)) {
9258  wall_time_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
9259  ptr += sizeof(double);
9260  } else goto handle_unusual;
9261  continue;
9262  // double user_time = 16;
9263  case 16:
9264  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 129)) {
9265  user_time_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
9266  ptr += sizeof(double);
9267  } else goto handle_unusual;
9268  continue;
9269  // double deterministic_time = 17;
9270  case 17:
9271  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 137)) {
9272  deterministic_time_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
9273  ptr += sizeof(double);
9274  } else goto handle_unusual;
9275  continue;
9276  // repeated int64 solution_lower_bounds = 18;
9277  case 18:
9278  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 146)) {
9279  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_solution_lower_bounds(), ptr, ctx);
9280  CHK_(ptr);
9281  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 144) {
9282  _internal_add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
9283  CHK_(ptr);
9284  } else goto handle_unusual;
9285  continue;
9286  // repeated int64 solution_upper_bounds = 19;
9287  case 19:
9288  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 154)) {
9289  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt64Parser(_internal_mutable_solution_upper_bounds(), ptr, ctx);
9290  CHK_(ptr);
9291  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 152) {
9292  _internal_add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
9293  CHK_(ptr);
9294  } else goto handle_unusual;
9295  continue;
9296  // string solution_info = 20;
9297  case 20:
9298  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 162)) {
9299  auto str = _internal_mutable_solution_info();
9300  ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
9301  CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.sat.CpSolverResponse.solution_info"));
9302  CHK_(ptr);
9303  } else goto handle_unusual;
9304  continue;
9305  // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
9306  case 21:
9307  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 170)) {
9308  ptr -= 2;
9309  do {
9310  ptr += 2;
9311  ptr = ctx->ParseMessage(_internal_add_tightened_variables(), ptr);
9312  CHK_(ptr);
9313  if (!ctx->DataAvailable(ptr)) break;
9314  } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<170>(ptr));
9315  } else goto handle_unusual;
9316  continue;
9317  // double primal_integral = 22;
9318  case 22:
9319  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 177)) {
9320  primal_integral_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
9321  ptr += sizeof(double);
9322  } else goto handle_unusual;
9323  continue;
9324  // repeated int32 sufficient_assumptions_for_infeasibility = 23;
9325  case 23:
9326  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 186)) {
9327  ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_sufficient_assumptions_for_infeasibility(), ptr, ctx);
9328  CHK_(ptr);
9329  } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 184) {
9330  _internal_add_sufficient_assumptions_for_infeasibility(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
9331  CHK_(ptr);
9332  } else goto handle_unusual;
9333  continue;
9334  // int64 num_restarts = 24;
9335  case 24:
9336  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 192)) {
9337  num_restarts_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
9338  CHK_(ptr);
9339  } else goto handle_unusual;
9340  continue;
9341  // int64 num_lp_iterations = 25;
9342  case 25:
9343  if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 200)) {
9344  num_lp_iterations_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
9345  CHK_(ptr);
9346  } else goto handle_unusual;
9347  continue;
9348  default: {
9349  handle_unusual:
9350  if ((tag & 7) == 4 || tag == 0) {
9351  ctx->SetLastTag(tag);
9352  goto success;
9353  }
9354  ptr = UnknownFieldParse(tag,
9355  _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
9356  ptr, ctx);
9357  CHK_(ptr != nullptr);
9358  continue;
9359  }
9360  } // switch
9361  } // while
9362 success:
9363  return ptr;
9364 failure:
9365  ptr = nullptr;
9366  goto success;
9367 #undef CHK_
9368 }
9369 
9370 ::PROTOBUF_NAMESPACE_ID::uint8* CpSolverResponse::_InternalSerialize(
9371  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
9372  // @@protoc_insertion_point(serialize_to_array_start:operations_research.sat.CpSolverResponse)
9373  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
9374  (void) cached_has_bits;
9375 
9376  // .operations_research.sat.CpSolverStatus status = 1;
9377  if (this->status() != 0) {
9378  target = stream->EnsureSpace(target);
9379  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
9380  1, this->_internal_status(), target);
9381  }
9382 
9383  // repeated int64 solution = 2;
9384  {
9385  int byte_size = _solution_cached_byte_size_.load(std::memory_order_relaxed);
9386  if (byte_size > 0) {
9387  target = stream->WriteInt64Packed(
9388  2, _internal_solution(), byte_size, target);
9389  }
9390  }
9391 
9392  // double objective_value = 3;
9393  if (!(this->objective_value() <= 0 && this->objective_value() >= 0)) {
9394  target = stream->EnsureSpace(target);
9395  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(3, this->_internal_objective_value(), target);
9396  }
9397 
9398  // double best_objective_bound = 4;
9399  if (!(this->best_objective_bound() <= 0 && this->best_objective_bound() >= 0)) {
9400  target = stream->EnsureSpace(target);
9401  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(4, this->_internal_best_objective_bound(), target);
9402  }
9403 
9404  // bool all_solutions_were_found = 5;
9405  if (this->all_solutions_were_found() != 0) {
9406  target = stream->EnsureSpace(target);
9407  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(5, this->_internal_all_solutions_were_found(), target);
9408  }
9409 
9410  // int64 num_booleans = 10;
9411  if (this->num_booleans() != 0) {
9412  target = stream->EnsureSpace(target);
9413  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(10, this->_internal_num_booleans(), target);
9414  }
9415 
9416  // int64 num_conflicts = 11;
9417  if (this->num_conflicts() != 0) {
9418  target = stream->EnsureSpace(target);
9419  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(11, this->_internal_num_conflicts(), target);
9420  }
9421 
9422  // int64 num_branches = 12;
9423  if (this->num_branches() != 0) {
9424  target = stream->EnsureSpace(target);
9425  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(12, this->_internal_num_branches(), target);
9426  }
9427 
9428  // int64 num_binary_propagations = 13;
9429  if (this->num_binary_propagations() != 0) {
9430  target = stream->EnsureSpace(target);
9431  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(13, this->_internal_num_binary_propagations(), target);
9432  }
9433 
9434  // int64 num_integer_propagations = 14;
9435  if (this->num_integer_propagations() != 0) {
9436  target = stream->EnsureSpace(target);
9437  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(14, this->_internal_num_integer_propagations(), target);
9438  }
9439 
9440  // double wall_time = 15;
9441  if (!(this->wall_time() <= 0 && this->wall_time() >= 0)) {
9442  target = stream->EnsureSpace(target);
9443  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(15, this->_internal_wall_time(), target);
9444  }
9445 
9446  // double user_time = 16;
9447  if (!(this->user_time() <= 0 && this->user_time() >= 0)) {
9448  target = stream->EnsureSpace(target);
9449  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(16, this->_internal_user_time(), target);
9450  }
9451 
9452  // double deterministic_time = 17;
9453  if (!(this->deterministic_time() <= 0 && this->deterministic_time() >= 0)) {
9454  target = stream->EnsureSpace(target);
9455  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(17, this->_internal_deterministic_time(), target);
9456  }
9457 
9458  // repeated int64 solution_lower_bounds = 18;
9459  {
9460  int byte_size = _solution_lower_bounds_cached_byte_size_.load(std::memory_order_relaxed);
9461  if (byte_size > 0) {
9462  target = stream->WriteInt64Packed(
9463  18, _internal_solution_lower_bounds(), byte_size, target);
9464  }
9465  }
9466 
9467  // repeated int64 solution_upper_bounds = 19;
9468  {
9469  int byte_size = _solution_upper_bounds_cached_byte_size_.load(std::memory_order_relaxed);
9470  if (byte_size > 0) {
9471  target = stream->WriteInt64Packed(
9472  19, _internal_solution_upper_bounds(), byte_size, target);
9473  }
9474  }
9475 
9476  // string solution_info = 20;
9477  if (this->solution_info().size() > 0) {
9478  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
9479  this->_internal_solution_info().data(), static_cast<int>(this->_internal_solution_info().length()),
9480  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
9481  "operations_research.sat.CpSolverResponse.solution_info");
9482  target = stream->WriteStringMaybeAliased(
9483  20, this->_internal_solution_info(), target);
9484  }
9485 
9486  // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
9487  for (unsigned int i = 0,
9488  n = static_cast<unsigned int>(this->_internal_tightened_variables_size()); i < n; i++) {
9489  target = stream->EnsureSpace(target);
9490  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
9491  InternalWriteMessage(21, this->_internal_tightened_variables(i), target, stream);
9492  }
9493 
9494  // double primal_integral = 22;
9495  if (!(this->primal_integral() <= 0 && this->primal_integral() >= 0)) {
9496  target = stream->EnsureSpace(target);
9497  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(22, this->_internal_primal_integral(), target);
9498  }
9499 
9500  // repeated int32 sufficient_assumptions_for_infeasibility = 23;
9501  {
9502  int byte_size = _sufficient_assumptions_for_infeasibility_cached_byte_size_.load(std::memory_order_relaxed);
9503  if (byte_size > 0) {
9504  target = stream->WriteInt32Packed(
9505  23, _internal_sufficient_assumptions_for_infeasibility(), byte_size, target);
9506  }
9507  }
9508 
9509  // int64 num_restarts = 24;
9510  if (this->num_restarts() != 0) {
9511  target = stream->EnsureSpace(target);
9512  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(24, this->_internal_num_restarts(), target);
9513  }
9514 
9515  // int64 num_lp_iterations = 25;
9516  if (this->num_lp_iterations() != 0) {
9517  target = stream->EnsureSpace(target);
9518  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(25, this->_internal_num_lp_iterations(), target);
9519  }
9520 
9521  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
9522  target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
9523  _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
9524  }
9525  // @@protoc_insertion_point(serialize_to_array_end:operations_research.sat.CpSolverResponse)
9526  return target;
9527 }
9528 
9529 size_t CpSolverResponse::ByteSizeLong() const {
9530 // @@protoc_insertion_point(message_byte_size_start:operations_research.sat.CpSolverResponse)
9531  size_t total_size = 0;
9532 
9533  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
9534  // Prevent compiler warnings about cached_has_bits being unused
9535  (void) cached_has_bits;
9536 
9537  // repeated int64 solution = 2;
9538  {
9539  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
9540  Int64Size(this->solution_);
9541  if (data_size > 0) {
9542  total_size += 1 +
9543  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
9544  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
9545  }
9546  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
9547  _solution_cached_byte_size_.store(cached_size,
9548  std::memory_order_relaxed);
9549  total_size += data_size;
9550  }
9551 
9552  // repeated int64 solution_lower_bounds = 18;
9553  {
9554  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
9555  Int64Size(this->solution_lower_bounds_);
9556  if (data_size > 0) {
9557  total_size += 2 +
9558  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
9559  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
9560  }
9561  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
9562  _solution_lower_bounds_cached_byte_size_.store(cached_size,
9563  std::memory_order_relaxed);
9564  total_size += data_size;
9565  }
9566 
9567  // repeated int64 solution_upper_bounds = 19;
9568  {
9569  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
9570  Int64Size(this->solution_upper_bounds_);
9571  if (data_size > 0) {
9572  total_size += 2 +
9573  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
9574  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
9575  }
9576  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
9577  _solution_upper_bounds_cached_byte_size_.store(cached_size,
9578  std::memory_order_relaxed);
9579  total_size += data_size;
9580  }
9581 
9582  // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
9583  total_size += 2UL * this->_internal_tightened_variables_size();
9584  for (const auto& msg : this->tightened_variables_) {
9585  total_size +=
9586  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
9587  }
9588 
9589  // repeated int32 sufficient_assumptions_for_infeasibility = 23;
9590  {
9591  size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
9592  Int32Size(this->sufficient_assumptions_for_infeasibility_);
9593  if (data_size > 0) {
9594  total_size += 2 +
9595  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
9596  static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
9597  }
9598  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
9599  _sufficient_assumptions_for_infeasibility_cached_byte_size_.store(cached_size,
9600  std::memory_order_relaxed);
9601  total_size += data_size;
9602  }
9603 
9604  // string solution_info = 20;
9605  if (this->solution_info().size() > 0) {
9606  total_size += 2 +
9607  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
9608  this->_internal_solution_info());
9609  }
9610 
9611  // double objective_value = 3;
9612  if (!(this->objective_value() <= 0 && this->objective_value() >= 0)) {
9613  total_size += 1 + 8;
9614  }
9615 
9616  // .operations_research.sat.CpSolverStatus status = 1;
9617  if (this->status() != 0) {
9618  total_size += 1 +
9619  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_status());
9620  }
9621 
9622  // bool all_solutions_were_found = 5;
9623  if (this->all_solutions_were_found() != 0) {
9624  total_size += 1 + 1;
9625  }
9626 
9627  // double best_objective_bound = 4;
9628  if (!(this->best_objective_bound() <= 0 && this->best_objective_bound() >= 0)) {
9629  total_size += 1 + 8;
9630  }
9631 
9632  // int64 num_booleans = 10;
9633  if (this->num_booleans() != 0) {
9634  total_size += 1 +
9635  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
9636  this->_internal_num_booleans());
9637  }
9638 
9639  // int64 num_conflicts = 11;
9640  if (this->num_conflicts() != 0) {
9641  total_size += 1 +
9642  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
9643  this->_internal_num_conflicts());
9644  }
9645 
9646  // int64 num_branches = 12;
9647  if (this->num_branches() != 0) {
9648  total_size += 1 +
9649  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
9650  this->_internal_num_branches());
9651  }
9652 
9653  // int64 num_binary_propagations = 13;
9654  if (this->num_binary_propagations() != 0) {
9655  total_size += 1 +
9656  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
9657  this->_internal_num_binary_propagations());
9658  }
9659 
9660  // int64 num_integer_propagations = 14;
9661  if (this->num_integer_propagations() != 0) {
9662  total_size += 1 +
9663  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
9664  this->_internal_num_integer_propagations());
9665  }
9666 
9667  // double wall_time = 15;
9668  if (!(this->wall_time() <= 0 && this->wall_time() >= 0)) {
9669  total_size += 1 + 8;
9670  }
9671 
9672  // double user_time = 16;
9673  if (!(this->user_time() <= 0 && this->user_time() >= 0)) {
9674  total_size += 2 + 8;
9675  }
9676 
9677  // double deterministic_time = 17;
9678  if (!(this->deterministic_time() <= 0 && this->deterministic_time() >= 0)) {
9679  total_size += 2 + 8;
9680  }
9681 
9682  // double primal_integral = 22;
9683  if (!(this->primal_integral() <= 0 && this->primal_integral() >= 0)) {
9684  total_size += 2 + 8;
9685  }
9686 
9687  // int64 num_restarts = 24;
9688  if (this->num_restarts() != 0) {
9689  total_size += 2 +
9690  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
9691  this->_internal_num_restarts());
9692  }
9693 
9694  // int64 num_lp_iterations = 25;
9695  if (this->num_lp_iterations() != 0) {
9696  total_size += 2 +
9697  ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
9698  this->_internal_num_lp_iterations());
9699  }
9700 
9701  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
9702  return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
9703  _internal_metadata_, total_size, &_cached_size_);
9704  }
9705  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
9706  SetCachedSize(cached_size);
9707  return total_size;
9708 }
9709 
9710 void CpSolverResponse::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
9711 // @@protoc_insertion_point(generalized_merge_from_start:operations_research.sat.CpSolverResponse)
9712  GOOGLE_DCHECK_NE(&from, this);
9713  const CpSolverResponse* source =
9714  ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CpSolverResponse>(
9715  &from);
9716  if (source == nullptr) {
9717  // @@protoc_insertion_point(generalized_merge_from_cast_fail:operations_research.sat.CpSolverResponse)
9718  ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
9719  } else {
9720  // @@protoc_insertion_point(generalized_merge_from_cast_success:operations_research.sat.CpSolverResponse)
9721  MergeFrom(*source);
9722  }
9723 }
9724 
9725 void CpSolverResponse::MergeFrom(const CpSolverResponse& from) {
9726 // @@protoc_insertion_point(class_specific_merge_from_start:operations_research.sat.CpSolverResponse)
9727  GOOGLE_DCHECK_NE(&from, this);
9728  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
9729  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
9730  (void) cached_has_bits;
9731 
9732  solution_.MergeFrom(from.solution_);
9733  solution_lower_bounds_.MergeFrom(from.solution_lower_bounds_);
9734  solution_upper_bounds_.MergeFrom(from.solution_upper_bounds_);
9735  tightened_variables_.MergeFrom(from.tightened_variables_);
9736  sufficient_assumptions_for_infeasibility_.MergeFrom(from.sufficient_assumptions_for_infeasibility_);
9737  if (from.solution_info().size() > 0) {
9738  _internal_set_solution_info(from._internal_solution_info());
9739  }
9740  if (!(from.objective_value() <= 0 && from.objective_value() >= 0)) {
9741  _internal_set_objective_value(from._internal_objective_value());
9742  }
9743  if (from.status() != 0) {
9744  _internal_set_status(from._internal_status());
9745  }
9746  if (from.all_solutions_were_found() != 0) {
9747  _internal_set_all_solutions_were_found(from._internal_all_solutions_were_found());
9748  }
9749  if (!(from.best_objective_bound() <= 0 && from.best_objective_bound() >= 0)) {
9750  _internal_set_best_objective_bound(from._internal_best_objective_bound());
9751  }
9752  if (from.num_booleans() != 0) {
9753  _internal_set_num_booleans(from._internal_num_booleans());
9754  }
9755  if (from.num_conflicts() != 0) {
9756  _internal_set_num_conflicts(from._internal_num_conflicts());
9757  }
9758  if (from.num_branches() != 0) {
9759  _internal_set_num_branches(from._internal_num_branches());
9760  }
9761  if (from.num_binary_propagations() != 0) {
9762  _internal_set_num_binary_propagations(from._internal_num_binary_propagations());
9763  }
9764  if (from.num_integer_propagations() != 0) {
9765  _internal_set_num_integer_propagations(from._internal_num_integer_propagations());
9766  }
9767  if (!(from.wall_time() <= 0 && from.wall_time() >= 0)) {
9768  _internal_set_wall_time(from._internal_wall_time());
9769  }
9770  if (!(from.user_time() <= 0 && from.user_time() >= 0)) {
9771  _internal_set_user_time(from._internal_user_time());
9772  }
9773  if (!(from.deterministic_time() <= 0 && from.deterministic_time() >= 0)) {
9774  _internal_set_deterministic_time(from._internal_deterministic_time());
9775  }
9776  if (!(from.primal_integral() <= 0 && from.primal_integral() >= 0)) {
9777  _internal_set_primal_integral(from._internal_primal_integral());
9778  }
9779  if (from.num_restarts() != 0) {
9780  _internal_set_num_restarts(from._internal_num_restarts());
9781  }
9782  if (from.num_lp_iterations() != 0) {
9783  _internal_set_num_lp_iterations(from._internal_num_lp_iterations());
9784  }
9785 }
9786 
9787 void CpSolverResponse::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
9788 // @@protoc_insertion_point(generalized_copy_from_start:operations_research.sat.CpSolverResponse)
9789  if (&from == this) return;
9790  Clear();
9791  MergeFrom(from);
9792 }
9793 
9794 void CpSolverResponse::CopyFrom(const CpSolverResponse& from) {
9795 // @@protoc_insertion_point(class_specific_copy_from_start:operations_research.sat.CpSolverResponse)
9796  if (&from == this) return;
9797  Clear();
9798  MergeFrom(from);
9799 }
9800 
9801 bool CpSolverResponse::IsInitialized() const {
9802  return true;
9803 }
9804 
9805 void CpSolverResponse::InternalSwap(CpSolverResponse* other) {
9806  using std::swap;
9807  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
9808  solution_.InternalSwap(&other->solution_);
9809  solution_lower_bounds_.InternalSwap(&other->solution_lower_bounds_);
9810  solution_upper_bounds_.InternalSwap(&other->solution_upper_bounds_);
9811  tightened_variables_.InternalSwap(&other->tightened_variables_);
9812  sufficient_assumptions_for_infeasibility_.InternalSwap(&other->sufficient_assumptions_for_infeasibility_);
9813  solution_info_.Swap(&other->solution_info_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
9814  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
9815  PROTOBUF_FIELD_OFFSET(CpSolverResponse, num_lp_iterations_)
9816  + sizeof(CpSolverResponse::num_lp_iterations_)
9817  - PROTOBUF_FIELD_OFFSET(CpSolverResponse, objective_value_)>(
9818  reinterpret_cast<char*>(&objective_value_),
9819  reinterpret_cast<char*>(&other->objective_value_));
9820 }
9821 
9822 ::PROTOBUF_NAMESPACE_ID::Metadata CpSolverResponse::GetMetadata() const {
9823  return GetMetadataStatic();
9824 }
9825 
9826 
9827 // @@protoc_insertion_point(namespace_scope)
9828 } // namespace sat
9829 } // namespace operations_research
9830 PROTOBUF_NAMESPACE_OPEN
9831 template<> PROTOBUF_NOINLINE ::operations_research::sat::IntegerVariableProto* Arena::CreateMaybeMessage< ::operations_research::sat::IntegerVariableProto >(Arena* arena) {
9832  return Arena::CreateMessageInternal< ::operations_research::sat::IntegerVariableProto >(arena);
9833 }
9834 template<> PROTOBUF_NOINLINE ::operations_research::sat::BoolArgumentProto* Arena::CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(Arena* arena) {
9835  return Arena::CreateMessageInternal< ::operations_research::sat::BoolArgumentProto >(arena);
9836 }
9837 template<> PROTOBUF_NOINLINE ::operations_research::sat::IntegerArgumentProto* Arena::CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(Arena* arena) {
9838  return Arena::CreateMessageInternal< ::operations_research::sat::IntegerArgumentProto >(arena);
9839 }
9840 template<> PROTOBUF_NOINLINE ::operations_research::sat::LinearExpressionProto* Arena::CreateMaybeMessage< ::operations_research::sat::LinearExpressionProto >(Arena* arena) {
9841  return Arena::CreateMessageInternal< ::operations_research::sat::LinearExpressionProto >(arena);
9842 }
9843 template<> PROTOBUF_NOINLINE ::operations_research::sat::LinearArgumentProto* Arena::CreateMaybeMessage< ::operations_research::sat::LinearArgumentProto >(Arena* arena) {
9844  return Arena::CreateMessageInternal< ::operations_research::sat::LinearArgumentProto >(arena);
9845 }
9846 template<> PROTOBUF_NOINLINE ::operations_research::sat::AllDifferentConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::AllDifferentConstraintProto >(Arena* arena) {
9847  return Arena::CreateMessageInternal< ::operations_research::sat::AllDifferentConstraintProto >(arena);
9848 }
9849 template<> PROTOBUF_NOINLINE ::operations_research::sat::LinearConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::LinearConstraintProto >(Arena* arena) {
9850  return Arena::CreateMessageInternal< ::operations_research::sat::LinearConstraintProto >(arena);
9851 }
9852 template<> PROTOBUF_NOINLINE ::operations_research::sat::ElementConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::ElementConstraintProto >(Arena* arena) {
9853  return Arena::CreateMessageInternal< ::operations_research::sat::ElementConstraintProto >(arena);
9854 }
9855 template<> PROTOBUF_NOINLINE ::operations_research::sat::IntervalConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::IntervalConstraintProto >(Arena* arena) {
9856  return Arena::CreateMessageInternal< ::operations_research::sat::IntervalConstraintProto >(arena);
9857 }
9858 template<> PROTOBUF_NOINLINE ::operations_research::sat::NoOverlapConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::NoOverlapConstraintProto >(Arena* arena) {
9859  return Arena::CreateMessageInternal< ::operations_research::sat::NoOverlapConstraintProto >(arena);
9860 }
9861 template<> PROTOBUF_NOINLINE ::operations_research::sat::NoOverlap2DConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::NoOverlap2DConstraintProto >(Arena* arena) {
9862  return Arena::CreateMessageInternal< ::operations_research::sat::NoOverlap2DConstraintProto >(arena);
9863 }
9864 template<> PROTOBUF_NOINLINE ::operations_research::sat::CumulativeConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::CumulativeConstraintProto >(Arena* arena) {
9865  return Arena::CreateMessageInternal< ::operations_research::sat::CumulativeConstraintProto >(arena);
9866 }
9867 template<> PROTOBUF_NOINLINE ::operations_research::sat::ReservoirConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::ReservoirConstraintProto >(Arena* arena) {
9868  return Arena::CreateMessageInternal< ::operations_research::sat::ReservoirConstraintProto >(arena);
9869 }
9870 template<> PROTOBUF_NOINLINE ::operations_research::sat::CircuitConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::CircuitConstraintProto >(Arena* arena) {
9871  return Arena::CreateMessageInternal< ::operations_research::sat::CircuitConstraintProto >(arena);
9872 }
9873 template<> PROTOBUF_NOINLINE ::operations_research::sat::RoutesConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::RoutesConstraintProto >(Arena* arena) {
9874  return Arena::CreateMessageInternal< ::operations_research::sat::RoutesConstraintProto >(arena);
9875 }
9876 template<> PROTOBUF_NOINLINE ::operations_research::sat::TableConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::TableConstraintProto >(Arena* arena) {
9877  return Arena::CreateMessageInternal< ::operations_research::sat::TableConstraintProto >(arena);
9878 }
9879 template<> PROTOBUF_NOINLINE ::operations_research::sat::InverseConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::InverseConstraintProto >(Arena* arena) {
9880  return Arena::CreateMessageInternal< ::operations_research::sat::InverseConstraintProto >(arena);
9881 }
9882 template<> PROTOBUF_NOINLINE ::operations_research::sat::AutomatonConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::AutomatonConstraintProto >(Arena* arena) {
9883  return Arena::CreateMessageInternal< ::operations_research::sat::AutomatonConstraintProto >(arena);
9884 }
9885 template<> PROTOBUF_NOINLINE ::operations_research::sat::ConstraintProto* Arena::CreateMaybeMessage< ::operations_research::sat::ConstraintProto >(Arena* arena) {
9886  return Arena::CreateMessageInternal< ::operations_research::sat::ConstraintProto >(arena);
9887 }
9888 template<> PROTOBUF_NOINLINE ::operations_research::sat::CpObjectiveProto* Arena::CreateMaybeMessage< ::operations_research::sat::CpObjectiveProto >(Arena* arena) {
9889  return Arena::CreateMessageInternal< ::operations_research::sat::CpObjectiveProto >(arena);
9890 }
9891 template<> PROTOBUF_NOINLINE ::operations_research::sat::DecisionStrategyProto_AffineTransformation* Arena::CreateMaybeMessage< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >(Arena* arena) {
9892  return Arena::CreateMessageInternal< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >(arena);
9893 }
9894 template<> PROTOBUF_NOINLINE ::operations_research::sat::DecisionStrategyProto* Arena::CreateMaybeMessage< ::operations_research::sat::DecisionStrategyProto >(Arena* arena) {
9895  return Arena::CreateMessageInternal< ::operations_research::sat::DecisionStrategyProto >(arena);
9896 }
9897 template<> PROTOBUF_NOINLINE ::operations_research::sat::PartialVariableAssignment* Arena::CreateMaybeMessage< ::operations_research::sat::PartialVariableAssignment >(Arena* arena) {
9898  return Arena::CreateMessageInternal< ::operations_research::sat::PartialVariableAssignment >(arena);
9899 }
9900 template<> PROTOBUF_NOINLINE ::operations_research::sat::CpModelProto* Arena::CreateMaybeMessage< ::operations_research::sat::CpModelProto >(Arena* arena) {
9901  return Arena::CreateMessageInternal< ::operations_research::sat::CpModelProto >(arena);
9902 }
9903 template<> PROTOBUF_NOINLINE ::operations_research::sat::CpSolverResponse* Arena::CreateMaybeMessage< ::operations_research::sat::CpSolverResponse >(Arena* arena) {
9904  return Arena::CreateMessageInternal< ::operations_research::sat::CpSolverResponse >(arena);
9905 }
9906 PROTOBUF_NAMESPACE_CLOSE
9907 
9908 // @@protoc_insertion_point(global_scope)
9909 #include <google/protobuf/port_undef.inc>
operations_research::sat::DecisionStrategyProto_AffineTransformation::_Internal
Definition: cp_model.pb.cc:7856
operations_research::sat::ConstraintProto::_Internal::element
static const ::operations_research::sat::ElementConstraintProto & element(const ConstraintProto *msg)
Definition: cp_model.pb.cc:5972
operations_research::sat::ElementConstraintProto
var
IntVar * var
Definition: expr_array.cc:1858
operations_research::sat::IntervalConstraintProto::_Internal
Definition: cp_model.pb.cc:3007
operations_research::sat::CpModelProtoDefaultTypeInternal::_instance
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< CpModelProto > _instance
Definition: cp_model.pb.cc:136
operations_research::sat::NoOverlap2DConstraintProto
operations_research::sat::_DecisionStrategyProto_AffineTransformation_default_instance_
class operations_research::sat::DecisionStrategyProto_AffineTransformationDefaultTypeInternal _DecisionStrategyProto_AffineTransformation_default_instance_
Definition: cp_model.pb.h:90
operations_research::sat::RoutesConstraintProto
CreateMaybeMessage< ::operations_research::sat::ConstraintProto >
PROTOBUF_NOINLINE ::operations_research::sat::ConstraintProto * Arena::CreateMaybeMessage< ::operations_research::sat::ConstraintProto >(Arena *arena)
Definition: cp_model.pb.cc:9885
operations_research::sat::DecisionStrategyProto_AffineTransformationDefaultTypeInternal::_instance
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< DecisionStrategyProto_AffineTransformation > _instance
Definition: cp_model.pb.cc:124
operations_research::sat::_InverseConstraintProto_default_instance_
class operations_research::sat::InverseConstraintProtoDefaultTypeInternal _InverseConstraintProto_default_instance_
Definition: cp_model.pb.h:105
operations_research::sat::CpModelProto::_Internal::solution_hint
static const ::operations_research::sat::PartialVariableAssignment & solution_hint(const CpModelProto *msg)
Definition: cp_model.pb.cc:8667
cp_model.pb.h
operations_research::sat::CpSolverResponseDefaultTypeInternal::_instance
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< CpSolverResponse > _instance
Definition: cp_model.pb.cc:140
scc_info_AutomatonConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_AutomatonConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:167
scc_info_PartialVariableAssignment_ortools_2fsat_2fcp_5fmodel_2eproto
PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_PartialVariableAssignment_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:451
operations_research::sat::ReservoirConstraintProto::_Internal
Definition: cp_model.pb.cc:4007
operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy_IsValid
bool DecisionStrategyProto_VariableSelectionStrategy_IsValid(int value)
Definition: cp_model.pb.cc:981
operations_research::sat::NoOverlap2DConstraintProto::_Internal
Definition: cp_model.pb.cc:3465
operations_research::sat::IntegerArgumentProto
scc_info_CircuitConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_CircuitConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:193
operations_research::sat::CpModelProto::_Internal
Definition: cp_model.pb.cc:8656
InitDefaultsscc_info_DecisionStrategyProto_AffineTransformation_ortools_2fsat_2fcp_5fmodel_2eproto
static void InitDefaultsscc_info_DecisionStrategyProto_AffineTransformation_ortools_2fsat_2fcp_5fmodel_2eproto()
Definition: cp_model.pb.cc:297
operations_research::sat::CumulativeConstraintProtoDefaultTypeInternal
Definition: cp_model.pb.cc:86
operations_research::sat::LinearConstraintProto
operations_research::sat::IntegerVariableProtoDefaultTypeInternal
Definition: cp_model.pb.cc:42
operations_research::sat::ConstraintProto::_Internal::reservoir
static const ::operations_research::sat::ReservoirConstraintProto & reservoir(const ConstraintProto *msg)
Definition: cp_model.pb.cc:5996
InitDefaultsscc_info_AllDifferentConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
static void InitDefaultsscc_info_AllDifferentConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto()
Definition: cp_model.pb.cc:144
operations_research::sat::NoOverlapConstraintProto
operations_research::sat::CpObjectiveProto
operations_research::sat::LinearArgumentProtoDefaultTypeInternal
Definition: cp_model.pb.cc:58
operations_research::sat::CpModelProtoDefaultTypeInternal
Definition: cp_model.pb.cc:134
operations_research::sat::_LinearConstraintProto_default_instance_
class operations_research::sat::LinearConstraintProtoDefaultTypeInternal _LinearConstraintProto_default_instance_
Definition: cp_model.pb.h:111
operations_research::sat::CpObjectiveProtoDefaultTypeInternal
Definition: cp_model.pb.cc:118
operations_research::sat::DecisionStrategyProto_DomainReductionStrategy
DecisionStrategyProto_DomainReductionStrategy
Definition: cp_model.pb.h:194
CreateMaybeMessage< ::operations_research::sat::NoOverlap2DConstraintProto >
PROTOBUF_NOINLINE ::operations_research::sat::NoOverlap2DConstraintProto * Arena::CreateMaybeMessage< ::operations_research::sat::NoOverlap2DConstraintProto >(Arena *arena)
Definition: cp_model.pb.cc:9861
operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy_descriptor
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DecisionStrategyProto_VariableSelectionStrategy_descriptor()
Definition: cp_model.pb.cc:977
operations_research::sat::LinearConstraintProto::_Internal
Definition: cp_model.pb.cc:2455
operations_research::sat::InverseConstraintProto
InitDefaultsscc_info_PartialVariableAssignment_ortools_2fsat_2fcp_5fmodel_2eproto
static void InitDefaultsscc_info_PartialVariableAssignment_ortools_2fsat_2fcp_5fmodel_2eproto()
Definition: cp_model.pb.cc:441
operations_research::sat::IntegerArgumentProto::_Internal
Definition: cp_model.pb.cc:1502
operations_research::sat::NoOverlap2DConstraintProtoDefaultTypeInternal::_instance
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< NoOverlap2DConstraintProto > _instance
Definition: cp_model.pb.cc:84
operations_research::sat::AutomatonConstraintProtoDefaultTypeInternal
Definition: cp_model.pb.cc:110
InitDefaultsscc_info_ReservoirConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
static void InitDefaultsscc_info_ReservoirConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto()
Definition: cp_model.pb.cc:454
operations_research::sat::ConstraintProto::_Internal::lin_max
static const ::operations_research::sat::LinearArgumentProto & lin_max(const ConstraintProto *msg)
Definition: cp_model.pb.cc:5948
CreateMaybeMessage< ::operations_research::sat::DecisionStrategyProto >
PROTOBUF_NOINLINE ::operations_research::sat::DecisionStrategyProto * Arena::CreateMaybeMessage< ::operations_research::sat::DecisionStrategyProto >(Arena *arena)
Definition: cp_model.pb.cc:9894
scc_info_IntegerVariableProto_ortools_2fsat_2fcp_5fmodel_2eproto
PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_IntegerVariableProto_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:346
operations_research::sat::LinearExpressionProtoDefaultTypeInternal::_instance
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< LinearExpressionProto > _instance
Definition: cp_model.pb.cc:56
file_level_enum_descriptors_ortools_2fsat_2fcp_5fmodel_2eproto
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * file_level_enum_descriptors_ortools_2fsat_2fcp_5fmodel_2eproto[3]
Definition: cp_model.pb.cc:494
operations_research::sat::ConstraintProto::_Internal::at_most_one
static const ::operations_research::sat::BoolArgumentProto & at_most_one(const ConstraintProto *msg)
Definition: cp_model.pb.cc:5928
operations_research::sat::ConstraintProto::_Internal::linear
static const ::operations_research::sat::LinearConstraintProto & linear(const ConstraintProto *msg)
Definition: cp_model.pb.cc:5964
operations_research::sat::ElementConstraintProtoDefaultTypeInternal
Definition: cp_model.pb.cc:70
operations_research::sat::CpSolverStatus_descriptor
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * CpSolverStatus_descriptor()
Definition: cp_model.pb.cc:1031
operations_research::sat::CpSolverResponseDefaultTypeInternal
Definition: cp_model.pb.cc:138
operations_research::sat::ConstraintProto::_Internal::no_overlap_2d
static const ::operations_research::sat::NoOverlap2DConstraintProto & no_overlap_2d(const ConstraintProto *msg)
Definition: cp_model.pb.cc:6008
value
int64 value
Definition: demon_profiler.cc:43
InitDefaultsscc_info_TableConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
static void InitDefaultsscc_info_TableConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto()
Definition: cp_model.pb.cc:480
operations_research::sat::AutomatonConstraintProto
operations_research::sat::_AllDifferentConstraintProto_default_instance_
class operations_research::sat::AllDifferentConstraintProtoDefaultTypeInternal _AllDifferentConstraintProto_default_instance_
Definition: cp_model.pb.h:60
scc_info_CpModelProto_ortools_2fsat_2fcp_5fmodel_2eproto
::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 5 > scc_info_CpModelProto_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:235
operations_research::sat::BoolArgumentProto
operations_research::sat::NoOverlapConstraintProtoDefaultTypeInternal
Definition: cp_model.pb.cc:78
operations_research::sat::LinearArgumentProto::_Internal::target
static const ::operations_research::sat::LinearExpressionProto & target(const LinearArgumentProto *msg)
Definition: cp_model.pb.cc:2013
operations_research::sat::_NoOverlap2DConstraintProto_default_instance_
class operations_research::sat::NoOverlap2DConstraintProtoDefaultTypeInternal _NoOverlap2DConstraintProto_default_instance_
Definition: cp_model.pb.h:117
operations_research::sat::AutomatonConstraintProtoDefaultTypeInternal::_instance
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< AutomatonConstraintProto > _instance
Definition: cp_model.pb.cc:112
file_default_instances
::PROTOBUF_NAMESPACE_ID::Message const *const file_default_instances[]
Definition: cp_model.pb.cc:772
operations_research
The vehicle routing library lets one model and solve generic vehicle routing problems ranging from th...
Definition: dense_doubly_linked_list.h:21
scc_info_LinearArgumentProto_ortools_2fsat_2fcp_5fmodel_2eproto
PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 1 > scc_info_LinearArgumentProto_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:385
scc_info_DecisionStrategyProto_ortools_2fsat_2fcp_5fmodel_2eproto
PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 1 > scc_info_DecisionStrategyProto_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:293
operations_research::sat::_LinearExpressionProto_default_instance_
class operations_research::sat::LinearExpressionProtoDefaultTypeInternal _LinearExpressionProto_default_instance_
Definition: cp_model.pb.h:114
operations_research::sat::_ReservoirConstraintProto_default_instance_
class operations_research::sat::ReservoirConstraintProtoDefaultTypeInternal _ReservoirConstraintProto_default_instance_
Definition: cp_model.pb.h:126
operations_research::sat::LinearExpressionProtoDefaultTypeInternal
Definition: cp_model.pb.cc:54
operations_research::sat::_ConstraintProto_default_instance_
class operations_research::sat::ConstraintProtoDefaultTypeInternal _ConstraintProto_default_instance_
Definition: cp_model.pb.h:72
scc_info_InverseConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_InverseConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:372
scc_info_ElementConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_ElementConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:320
CreateMaybeMessage< ::operations_research::sat::CpSolverResponse >
PROTOBUF_NOINLINE ::operations_research::sat::CpSolverResponse * Arena::CreateMaybeMessage< ::operations_research::sat::CpSolverResponse >(Arena *arena)
Definition: cp_model.pb.cc:9903
operations_research::sat::IntegerArgumentProtoDefaultTypeInternal
Definition: cp_model.pb.cc:50
CreateMaybeMessage< ::operations_research::sat::AutomatonConstraintProto >
PROTOBUF_NOINLINE ::operations_research::sat::AutomatonConstraintProto * Arena::CreateMaybeMessage< ::operations_research::sat::AutomatonConstraintProto >(Arena *arena)
Definition: cp_model.pb.cc:9882
schemas
static constexpr ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema * schemas
Definition: optional_boolean.pb.cc:23
InitDefaultsscc_info_CpObjectiveProto_ortools_2fsat_2fcp_5fmodel_2eproto
static void InitDefaultsscc_info_CpObjectiveProto_ortools_2fsat_2fcp_5fmodel_2eproto()
Definition: cp_model.pb.cc:243
scc_info_NoOverlapConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_NoOverlapConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:438
operations_research::sat::AllDifferentConstraintProto
operations_research::sat::ReservoirConstraintProtoDefaultTypeInternal::_instance
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< ReservoirConstraintProto > _instance
Definition: cp_model.pb.cc:92
operations_research::sat::IntegerVariableProtoDefaultTypeInternal::_instance
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< IntegerVariableProto > _instance
Definition: cp_model.pb.cc:44
InitDefaultsscc_info_CpSolverResponse_ortools_2fsat_2fcp_5fmodel_2eproto
static void InitDefaultsscc_info_CpSolverResponse_ortools_2fsat_2fcp_5fmodel_2eproto()
Definition: cp_model.pb.cc:256
operations_research::sat::AllDifferentConstraintProto::_Internal
Definition: cp_model.pb.cc:2249
operations_research::sat::PartialVariableAssignmentDefaultTypeInternal::_instance
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< PartialVariableAssignment > _instance
Definition: cp_model.pb.cc:132
index
int index
Definition: pack.cc:508
operations_research::sat::DecisionStrategyProto_AffineTransformationDefaultTypeInternal
Definition: cp_model.pb.cc:122
InitDefaultsscc_info_LinearConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
static void InitDefaultsscc_info_LinearConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto()
Definition: cp_model.pb.cc:389
int32
int int32
Definition: integral_types.h:33
CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >
PROTOBUF_NOINLINE ::operations_research::sat::BoolArgumentProto * Arena::CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(Arena *arena)
Definition: cp_model.pb.cc:9834
offset_
const int64 offset_
Definition: interval.cc:2076
CreateMaybeMessage< ::operations_research::sat::LinearExpressionProto >
PROTOBUF_NOINLINE ::operations_research::sat::LinearExpressionProto * Arena::CreateMaybeMessage< ::operations_research::sat::LinearExpressionProto >(Arena *arena)
Definition: cp_model.pb.cc:9840
CreateMaybeMessage< ::operations_research::sat::LinearArgumentProto >
PROTOBUF_NOINLINE ::operations_research::sat::LinearArgumentProto * Arena::CreateMaybeMessage< ::operations_research::sat::LinearArgumentProto >(Arena *arena)
Definition: cp_model.pb.cc:9843
CreateMaybeMessage< ::operations_research::sat::RoutesConstraintProto >
PROTOBUF_NOINLINE ::operations_research::sat::RoutesConstraintProto * Arena::CreateMaybeMessage< ::operations_research::sat::RoutesConstraintProto >(Arena *arena)
Definition: cp_model.pb.cc:9873
operations_research::sat::InverseConstraintProtoDefaultTypeInternal::_instance
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< InverseConstraintProto > _instance
Definition: cp_model.pb.cc:108
scc_info_RoutesConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_RoutesConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:477
operations_research::sat::LinearArgumentProtoDefaultTypeInternal::_instance
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< LinearArgumentProto > _instance
Definition: cp_model.pb.cc:60
operations_research::sat::BoolArgumentProtoDefaultTypeInternal::_instance
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< BoolArgumentProto > _instance
Definition: cp_model.pb.cc:48
operations_research::sat::LinearConstraintProtoDefaultTypeInternal
Definition: cp_model.pb.cc:66
operations_research::sat::ConstraintProto::_Internal::no_overlap
static const ::operations_research::sat::NoOverlapConstraintProto & no_overlap(const ConstraintProto *msg)
Definition: cp_model.pb.cc:6004
operations_research::sat::_IntegerArgumentProto_default_instance_
class operations_research::sat::IntegerArgumentProtoDefaultTypeInternal _IntegerArgumentProto_default_instance_
Definition: cp_model.pb.h:96
operations_research::sat::CircuitConstraintProtoDefaultTypeInternal::_instance
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< CircuitConstraintProto > _instance
Definition: cp_model.pb.cc:96
operations_research::sat::_DecisionStrategyProto_default_instance_
class operations_research::sat::DecisionStrategyProtoDefaultTypeInternal _DecisionStrategyProto_default_instance_
Definition: cp_model.pb.h:87
scc_info_ConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 16 > scc_info_ConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:206
scc_info_CpObjectiveProto_ortools_2fsat_2fcp_5fmodel_2eproto
PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_CpObjectiveProto_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:253
InitDefaultsscc_info_IntegerVariableProto_ortools_2fsat_2fcp_5fmodel_2eproto
static void InitDefaultsscc_info_IntegerVariableProto_ortools_2fsat_2fcp_5fmodel_2eproto()
Definition: cp_model.pb.cc:336
operations_research::sat::ConstraintProto::_Internal::circuit
static const ::operations_research::sat::CircuitConstraintProto & circuit(const ConstraintProto *msg)
Definition: cp_model.pb.cc:5976
operations_research::sat::_RoutesConstraintProto_default_instance_
class operations_research::sat::RoutesConstraintProtoDefaultTypeInternal _RoutesConstraintProto_default_instance_
Definition: cp_model.pb.h:129
scc_info_IntegerArgumentProto_ortools_2fsat_2fcp_5fmodel_2eproto
PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_IntegerArgumentProto_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:333
operations_research::sat::AllDifferentConstraintProtoDefaultTypeInternal
Definition: cp_model.pb.cc:62
PROTOBUF_SECTION_VARIABLE
const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto_once
::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto_once
Definition: cp_model.pb.cc:965
operations_research::sat::TableConstraintProtoDefaultTypeInternal::_instance
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< TableConstraintProto > _instance
Definition: cp_model.pb.cc:104
operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy
DecisionStrategyProto_VariableSelectionStrategy
Definition: cp_model.pb.h:166
file_level_service_descriptors_ortools_2fsat_2fcp_5fmodel_2eproto
static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const ** file_level_service_descriptors_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:495
operations_research::sat::CpSolverStatus_IsValid
bool CpSolverStatus_IsValid(int value)
Definition: cp_model.pb.cc:1035
CreateMaybeMessage< ::operations_research::sat::PartialVariableAssignment >
PROTOBUF_NOINLINE ::operations_research::sat::PartialVariableAssignment * Arena::CreateMaybeMessage< ::operations_research::sat::PartialVariableAssignment >(Arena *arena)
Definition: cp_model.pb.cc:9897
operations_research::sat::DecisionStrategyProtoDefaultTypeInternal::_instance
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< DecisionStrategyProto > _instance
Definition: cp_model.pb.cc:128
operations_research::sat::ConstraintProto::_Internal::automaton
static const ::operations_research::sat::AutomatonConstraintProto & automaton(const ConstraintProto *msg)
Definition: cp_model.pb.cc:5988
file_level_metadata_ortools_2fsat_2fcp_5fmodel_2eproto
::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_ortools_2fsat_2fcp_5fmodel_2eproto[25]
Definition: cp_model.pb.cc:493
uint32
unsigned int uint32
Definition: integral_types.h:38
operations_research::sat::ReservoirConstraintProto
InitDefaultsscc_info_NoOverlapConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
static void InitDefaultsscc_info_NoOverlapConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto()
Definition: cp_model.pb.cc:428
operations_research::sat::DecisionStrategyProto_DomainReductionStrategy_IsValid
bool DecisionStrategyProto_DomainReductionStrategy_IsValid(int value)
Definition: cp_model.pb.cc:1008
CreateMaybeMessage< ::operations_research::sat::LinearConstraintProto >
PROTOBUF_NOINLINE ::operations_research::sat::LinearConstraintProto * Arena::CreateMaybeMessage< ::operations_research::sat::LinearConstraintProto >(Arena *arena)
Definition: cp_model.pb.cc:9849
operations_research::sat::ConstraintProto::_Internal::bool_and
static const ::operations_research::sat::BoolArgumentProto & bool_and(const ConstraintProto *msg)
Definition: cp_model.pb.cc:5924
scc_info_CpSolverResponse_ortools_2fsat_2fcp_5fmodel_2eproto
::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 1 > scc_info_CpSolverResponse_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:266
operations_research::sat::LinearArgumentProto
operations_research::sat::DecisionStrategyProto::_Internal
Definition: cp_model.pb.cc:8108
operations_research::sat::BoolArgumentProtoDefaultTypeInternal
Definition: cp_model.pb.cc:46
descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto_deps
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable *const descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto_deps[1]
Definition: cp_model.pb.cc:936
operations_research::sat::DecisionStrategyProto_DomainReductionStrategy_descriptor
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DecisionStrategyProto_DomainReductionStrategy_descriptor()
Definition: cp_model.pb.cc:1004
CreateMaybeMessage< ::operations_research::sat::ReservoirConstraintProto >
PROTOBUF_NOINLINE ::operations_research::sat::ReservoirConstraintProto * Arena::CreateMaybeMessage< ::operations_research::sat::ReservoirConstraintProto >(Arena *arena)
Definition: cp_model.pb.cc:9867
CreateMaybeMessage< ::operations_research::sat::IntegerVariableProto >
PROTOBUF_NAMESPACE_OPEN PROTOBUF_NOINLINE ::operations_research::sat::IntegerVariableProto * Arena::CreateMaybeMessage< ::operations_research::sat::IntegerVariableProto >(Arena *arena)
Definition: cp_model.pb.cc:9831
operations_research::sat::CpObjectiveProtoDefaultTypeInternal::_instance
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< CpObjectiveProto > _instance
Definition: cp_model.pb.cc:120
operations_research::sat::AllDifferentConstraintProtoDefaultTypeInternal::_instance
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< AllDifferentConstraintProto > _instance
Definition: cp_model.pb.cc:64
operations_research::sat::IntegerVariableProto::_Internal
Definition: cp_model.pb.cc:1051
operations_research::sat::ConstraintProto::_Internal::bool_xor
static const ::operations_research::sat::BoolArgumentProto & bool_xor(const ConstraintProto *msg)
Definition: cp_model.pb.cc:5932
operations_research::sat::IntegerVariableProto
operations_research::sat::ConstraintProto::_Internal::int_max
static const ::operations_research::sat::IntegerArgumentProto & int_max(const ConstraintProto *msg)
Definition: cp_model.pb.cc:5944
operations_research::sat::ConstraintProto::_Internal
Definition: cp_model.pb.cc:5891
operations_research::sat::IntegerArgumentProtoDefaultTypeInternal::_instance
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< IntegerArgumentProto > _instance
Definition: cp_model.pb.cc:52
InitDefaultsscc_info_IntervalConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
static void InitDefaultsscc_info_IntervalConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto()
Definition: cp_model.pb.cc:349
operations_research::sat::CircuitConstraintProto::_Internal
Definition: cp_model.pb.cc:4353
operations_research::sat::CircuitConstraintProtoDefaultTypeInternal
Definition: cp_model.pb.cc:94
objective_
IntVar *const objective_
Definition: search.cc:2951
descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:966
operations_research::sat::ConstraintProto::_Internal::all_diff
static const ::operations_research::sat::AllDifferentConstraintProto & all_diff(const ConstraintProto *msg)
Definition: cp_model.pb.cc:5968
operations_research::sat::ConstraintProto
operations_research::sat::_ElementConstraintProto_default_instance_
class operations_research::sat::ElementConstraintProtoDefaultTypeInternal _ElementConstraintProto_default_instance_
Definition: cp_model.pb.h:93
operations_research::sat::CpSolverResponse
scc_info_TableConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_TableConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:490
operations_research::sat::BoolArgumentProto::_Internal
Definition: cp_model.pb.cc:1296
scc_info_CumulativeConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_CumulativeConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:280
InitDefaultsscc_info_InverseConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
static void InitDefaultsscc_info_InverseConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto()
Definition: cp_model.pb.cc:362
InitDefaultsscc_info_CumulativeConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
static void InitDefaultsscc_info_CumulativeConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto()
Definition: cp_model.pb.cc:270
operations_research::sat::DecisionStrategyProto
operations_research::sat::PartialVariableAssignmentDefaultTypeInternal
Definition: cp_model.pb.cc:130
uint64
uint64_t uint64
Definition: integral_types.h:39
operations_research::sat::TableConstraintProtoDefaultTypeInternal
Definition: cp_model.pb.cc:102
InitDefaultsscc_info_ConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
static void InitDefaultsscc_info_ConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto()
Definition: cp_model.pb.cc:196
operations_research::sat::CpSolverStatus
CpSolverStatus
Definition: cp_model.pb.h:222
InitDefaultsscc_info_BoolArgumentProto_ortools_2fsat_2fcp_5fmodel_2eproto
static void InitDefaultsscc_info_BoolArgumentProto_ortools_2fsat_2fcp_5fmodel_2eproto()
Definition: cp_model.pb.cc:170
operations_research::sat::TableConstraintProto
operations_research::sat::_IntegerVariableProto_default_instance_
class operations_research::sat::IntegerVariableProtoDefaultTypeInternal _IntegerVariableProto_default_instance_
Definition: cp_model.pb.h:99
CreateMaybeMessage< ::operations_research::sat::CircuitConstraintProto >
PROTOBUF_NOINLINE ::operations_research::sat::CircuitConstraintProto * Arena::CreateMaybeMessage< ::operations_research::sat::CircuitConstraintProto >(Arena *arena)
Definition: cp_model.pb.cc:9870
operations_research::sat::ConstraintProto::_Internal::interval
static const ::operations_research::sat::IntervalConstraintProto & interval(const ConstraintProto *msg)
Definition: cp_model.pb.cc:6000
scc_info_LinearConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_LinearConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:399
InitDefaultsscc_info_CpModelProto_ortools_2fsat_2fcp_5fmodel_2eproto
static void InitDefaultsscc_info_CpModelProto_ortools_2fsat_2fcp_5fmodel_2eproto()
Definition: cp_model.pb.cc:225
operations_research::sat::ConstraintProto::_Internal::int_prod
static const ::operations_research::sat::IntegerArgumentProto & int_prod(const ConstraintProto *msg)
Definition: cp_model.pb.cc:5960
operations_research::sat::IntervalConstraintProtoDefaultTypeInternal::_instance
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< IntervalConstraintProto > _instance
Definition: cp_model.pb.cc:76
operations_research::sat::LinearExpressionProto::_Internal
Definition: cp_model.pb.cc:1735
operations_research::sat::_CpModelProto_default_instance_
class operations_research::sat::CpModelProtoDefaultTypeInternal _CpModelProto_default_instance_
Definition: cp_model.pb.h:75
operations_research::sat::ConstraintProtoDefaultTypeInternal::_instance
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< ConstraintProto > _instance
Definition: cp_model.pb.cc:116
operations_research::sat::CumulativeConstraintProto::_Internal
Definition: cp_model.pb.cc:3735
InitDefaultsscc_info_ElementConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
static void InitDefaultsscc_info_ElementConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto()
Definition: cp_model.pb.cc:310
operations_research::sat::LinearExpressionProto
operations_research::sat::ConstraintProtoDefaultTypeInternal
Definition: cp_model.pb.cc:114
InitDefaultsscc_info_RoutesConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
static void InitDefaultsscc_info_RoutesConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto()
Definition: cp_model.pb.cc:467
operations_research::sat::_AutomatonConstraintProto_default_instance_
class operations_research::sat::AutomatonConstraintProtoDefaultTypeInternal _AutomatonConstraintProto_default_instance_
Definition: cp_model.pb.h:63
operations_research::sat::CpModelProto
descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto_sccs
::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase *const descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto_sccs[25]
Definition: cp_model.pb.cc:938
operations_research::sat::ConstraintProto::_Internal::bool_or
static const ::operations_research::sat::BoolArgumentProto & bool_or(const ConstraintProto *msg)
Definition: cp_model.pb.cc:5920
operations_research::sat::ConstraintProto::_Internal::int_div
static const ::operations_research::sat::IntegerArgumentProto & int_div(const ConstraintProto *msg)
Definition: cp_model.pb.cc:5936
operations_research::sat::PartialVariableAssignment
scc_info_DecisionStrategyProto_AffineTransformation_ortools_2fsat_2fcp_5fmodel_2eproto
PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_DecisionStrategyProto_AffineTransformation_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:307
operations_research::sat::LinearConstraintProtoDefaultTypeInternal::_instance
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< LinearConstraintProto > _instance
Definition: cp_model.pb.cc:68
scc_info_IntervalConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_IntervalConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:359
operations_research::sat::_CpObjectiveProto_default_instance_
class operations_research::sat::CpObjectiveProtoDefaultTypeInternal _CpObjectiveProto_default_instance_
Definition: cp_model.pb.h:78
operations_research::sat::NoOverlap2DConstraintProtoDefaultTypeInternal
Definition: cp_model.pb.cc:82
operations_research::sat::DecisionStrategyProto_AffineTransformation
InitDefaultsscc_info_AutomatonConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
static void InitDefaultsscc_info_AutomatonConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto()
Definition: cp_model.pb.cc:157
InitDefaultsscc_info_CircuitConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
static void InitDefaultsscc_info_CircuitConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto()
Definition: cp_model.pb.cc:183
operations_research::sat::ReservoirConstraintProtoDefaultTypeInternal
Definition: cp_model.pb.cc:90
operations_research::sat::_TableConstraintProto_default_instance_
class operations_research::sat::TableConstraintProtoDefaultTypeInternal _TableConstraintProto_default_instance_
Definition: cp_model.pb.h:132
CreateMaybeMessage< ::operations_research::sat::CpObjectiveProto >
PROTOBUF_NOINLINE ::operations_research::sat::CpObjectiveProto * Arena::CreateMaybeMessage< ::operations_research::sat::CpObjectiveProto >(Arena *arena)
Definition: cp_model.pb.cc:9888
uint8
unsigned char uint8
Definition: integral_types.h:36
operations_research::sat::DecisionStrategyProtoDefaultTypeInternal
Definition: cp_model.pb.cc:126
vars_
const std::vector< IntVar * > vars_
Definition: alldiff_cst.cc:43
operations_research::sat::_BoolArgumentProto_default_instance_
class operations_research::sat::BoolArgumentProtoDefaultTypeInternal _BoolArgumentProto_default_instance_
Definition: cp_model.pb.h:66
operations_research::sat::AutomatonConstraintProto::_Internal
Definition: cp_model.pb.cc:5502
CreateMaybeMessage< ::operations_research::sat::NoOverlapConstraintProto >
PROTOBUF_NOINLINE ::operations_research::sat::NoOverlapConstraintProto * Arena::CreateMaybeMessage< ::operations_research::sat::NoOverlapConstraintProto >(Arena *arena)
Definition: cp_model.pb.cc:9858
operations_research::sat::NoOverlapConstraintProto::_Internal
Definition: cp_model.pb.cc:3259
operations_research::sat::ElementConstraintProto::_Internal
Definition: cp_model.pb.cc:2739
scc_info_AllDifferentConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_AllDifferentConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:154
CreateMaybeMessage< ::operations_research::sat::AllDifferentConstraintProto >
PROTOBUF_NOINLINE ::operations_research::sat::AllDifferentConstraintProto * Arena::CreateMaybeMessage< ::operations_research::sat::AllDifferentConstraintProto >(Arena *arena)
Definition: cp_model.pb.cc:9846
TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto::offsets
static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]
Definition: cp_model.pb.h:54
operations_research::sat::RoutesConstraintProtoDefaultTypeInternal
Definition: cp_model.pb.cc:98
operations_research::sat::InverseConstraintProtoDefaultTypeInternal
Definition: cp_model.pb.cc:106
scc_info_NoOverlap2DConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_NoOverlap2DConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:425
operations_research::sat::ConstraintProto::_Internal::routes
static const ::operations_research::sat::RoutesConstraintProto & routes(const ConstraintProto *msg)
Definition: cp_model.pb.cc:5980
operations_research::sat::LinearArgumentProto::_Internal
Definition: cp_model.pb.cc:2007
operations_research::sat::_IntervalConstraintProto_default_instance_
class operations_research::sat::IntervalConstraintProtoDefaultTypeInternal _IntervalConstraintProto_default_instance_
Definition: cp_model.pb.h:102
operations_research::sat::ConstraintProto::_Internal::lin_min
static const ::operations_research::sat::LinearArgumentProto & lin_min(const ConstraintProto *msg)
Definition: cp_model.pb.cc:5956
CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >
PROTOBUF_NOINLINE ::operations_research::sat::IntegerArgumentProto * Arena::CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(Arena *arena)
Definition: cp_model.pb.cc:9837
operations_research::sat::RoutesConstraintProto::_Internal
Definition: cp_model.pb.cc:4637
operations_research::sat::_CpSolverResponse_default_instance_
class operations_research::sat::CpSolverResponseDefaultTypeInternal _CpSolverResponse_default_instance_
Definition: cp_model.pb.h:81
operations_research::sat::_PartialVariableAssignment_default_instance_
class operations_research::sat::PartialVariableAssignmentDefaultTypeInternal _PartialVariableAssignment_default_instance_
Definition: cp_model.pb.h:123
CreateMaybeMessage< ::operations_research::sat::InverseConstraintProto >
PROTOBUF_NOINLINE ::operations_research::sat::InverseConstraintProto * Arena::CreateMaybeMessage< ::operations_research::sat::InverseConstraintProto >(Arena *arena)
Definition: cp_model.pb.cc:9879
capacity
int64 capacity
Definition: routing_flow.cc:129
interval
IntervalVar * interval
Definition: resource.cc:98
operations_research::sat::CumulativeConstraintProto
operations_research::sat::_LinearArgumentProto_default_instance_
class operations_research::sat::LinearArgumentProtoDefaultTypeInternal _LinearArgumentProto_default_instance_
Definition: cp_model.pb.h:108
operations_research::sat::CumulativeConstraintProtoDefaultTypeInternal::_instance
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< CumulativeConstraintProto > _instance
Definition: cp_model.pb.cc:88
InitDefaultsscc_info_LinearExpressionProto_ortools_2fsat_2fcp_5fmodel_2eproto
static void InitDefaultsscc_info_LinearExpressionProto_ortools_2fsat_2fcp_5fmodel_2eproto()
Definition: cp_model.pb.cc:402
operations_research::sat::PartialVariableAssignment::_Internal
Definition: cp_model.pb.cc:8411
InitDefaultsscc_info_IntegerArgumentProto_ortools_2fsat_2fcp_5fmodel_2eproto
static void InitDefaultsscc_info_IntegerArgumentProto_ortools_2fsat_2fcp_5fmodel_2eproto()
Definition: cp_model.pb.cc:323
CreateMaybeMessage< ::operations_research::sat::IntervalConstraintProto >
PROTOBUF_NOINLINE ::operations_research::sat::IntervalConstraintProto * Arena::CreateMaybeMessage< ::operations_research::sat::IntervalConstraintProto >(Arena *arena)
Definition: cp_model.pb.cc:9855
scc_info_ReservoirConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_ReservoirConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:464
CreateMaybeMessage< ::operations_research::sat::CpModelProto >
PROTOBUF_NOINLINE ::operations_research::sat::CpModelProto * Arena::CreateMaybeMessage< ::operations_research::sat::CpModelProto >(Arena *arena)
Definition: cp_model.pb.cc:9900
operations_research::sat::_CumulativeConstraintProto_default_instance_
class operations_research::sat::CumulativeConstraintProtoDefaultTypeInternal _CumulativeConstraintProto_default_instance_
Definition: cp_model.pb.h:84
operations_research::sat::TableConstraintProto::_Internal
Definition: cp_model.pb.cc:4987
CreateMaybeMessage< ::operations_research::sat::TableConstraintProto >
PROTOBUF_NOINLINE ::operations_research::sat::TableConstraintProto * Arena::CreateMaybeMessage< ::operations_research::sat::TableConstraintProto >(Arena *arena)
Definition: cp_model.pb.cc:9876
operations_research::sat::ElementConstraintProtoDefaultTypeInternal::_instance
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< ElementConstraintProto > _instance
Definition: cp_model.pb.cc:72
CreateMaybeMessage< ::operations_research::sat::CumulativeConstraintProto >
PROTOBUF_NOINLINE ::operations_research::sat::CumulativeConstraintProto * Arena::CreateMaybeMessage< ::operations_research::sat::CumulativeConstraintProto >(Arena *arena)
Definition: cp_model.pb.cc:9864
operations_research::sat::ConstraintProto::_Internal::table
static const ::operations_research::sat::TableConstraintProto & table(const ConstraintProto *msg)
Definition: cp_model.pb.cc:5984
operations_research::sat::CpModelProto::_Internal::objective
static const ::operations_research::sat::CpObjectiveProto & objective(const CpModelProto *msg)
Definition: cp_model.pb.cc:8663
operations_research::sat::ConstraintProto::_Internal::inverse
static const ::operations_research::sat::InverseConstraintProto & inverse(const ConstraintProto *msg)
Definition: cp_model.pb.cc:5992
InitDefaultsscc_info_DecisionStrategyProto_ortools_2fsat_2fcp_5fmodel_2eproto
static void InitDefaultsscc_info_DecisionStrategyProto_ortools_2fsat_2fcp_5fmodel_2eproto()
Definition: cp_model.pb.cc:283
scc_info_LinearExpressionProto_ortools_2fsat_2fcp_5fmodel_2eproto
PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_LinearExpressionProto_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:412
CHK_
#define CHK_(x)
CreateMaybeMessage< ::operations_research::sat::ElementConstraintProto >
PROTOBUF_NOINLINE ::operations_research::sat::ElementConstraintProto * Arena::CreateMaybeMessage< ::operations_research::sat::ElementConstraintProto >(Arena *arena)
Definition: cp_model.pb.cc:9852
operations_research::sat::ConstraintProto::_Internal::cumulative
static const ::operations_research::sat::CumulativeConstraintProto & cumulative(const ConstraintProto *msg)
Definition: cp_model.pb.cc:6012
operations_research::sat::IntervalConstraintProtoDefaultTypeInternal
Definition: cp_model.pb.cc:74
CreateMaybeMessage< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >
PROTOBUF_NOINLINE ::operations_research::sat::DecisionStrategyProto_AffineTransformation * Arena::CreateMaybeMessage< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >(Arena *arena)
Definition: cp_model.pb.cc:9891
dynamic_init_dummy_ortools_2fsat_2fcp_5fmodel_2eproto
static bool dynamic_init_dummy_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:974
operations_research::sat::CpSolverResponse::_Internal
Definition: cp_model.pb.cc:9087
scc_info_BoolArgumentProto_ortools_2fsat_2fcp_5fmodel_2eproto
PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo< 0 > scc_info_BoolArgumentProto_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:180
name
const std::string name
Definition: default_search.cc:808
InitDefaultsscc_info_LinearArgumentProto_ortools_2fsat_2fcp_5fmodel_2eproto
static void InitDefaultsscc_info_LinearArgumentProto_ortools_2fsat_2fcp_5fmodel_2eproto()
Definition: cp_model.pb.cc:375
operations_research::sat::ConstraintProto::_Internal::int_min
static const ::operations_research::sat::IntegerArgumentProto & int_min(const ConstraintProto *msg)
Definition: cp_model.pb.cc:5952
operations_research::sat::InverseConstraintProto::_Internal
Definition: cp_model.pb.cc:5257
operations_research::sat::ConstraintProto::_Internal::int_mod
static const ::operations_research::sat::IntegerArgumentProto & int_mod(const ConstraintProto *msg)
Definition: cp_model.pb.cc:5940
operations_research::sat::NoOverlapConstraintProtoDefaultTypeInternal::_instance
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< NoOverlapConstraintProto > _instance
Definition: cp_model.pb.cc:80
InitDefaultsscc_info_NoOverlap2DConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto
static void InitDefaultsscc_info_NoOverlap2DConstraintProto_ortools_2fsat_2fcp_5fmodel_2eproto()
Definition: cp_model.pb.cc:415
operations_research::sat::CpObjectiveProto::_Internal
Definition: cp_model.pb.cc:7514
operations_research::sat::_CircuitConstraintProto_default_instance_
class operations_research::sat::CircuitConstraintProtoDefaultTypeInternal _CircuitConstraintProto_default_instance_
Definition: cp_model.pb.h:69
operations_research::sat::CircuitConstraintProto
operations_research::sat::IntervalConstraintProto
operations_research::sat::RoutesConstraintProtoDefaultTypeInternal::_instance
::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed< RoutesConstraintProto > _instance
Definition: cp_model.pb.cc:100
operations_research::sat::_NoOverlapConstraintProto_default_instance_
class operations_research::sat::NoOverlapConstraintProtoDefaultTypeInternal _NoOverlapConstraintProto_default_instance_
Definition: cp_model.pb.h:120