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