OR-Tools  9.0
cp_model.pb.h
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 
4 #ifndef GOOGLE_PROTOBUF_INCLUDED_ortools_2fsat_2fcp_5fmodel_2eproto
5 #define GOOGLE_PROTOBUF_INCLUDED_ortools_2fsat_2fcp_5fmodel_2eproto
6 
7 #include <limits>
8 #include <string>
9 
10 #include <google/protobuf/port_def.inc>
11 #if PROTOBUF_VERSION < 3015000
12 #error This file was generated by a newer version of protoc which is
13 #error incompatible with your Protocol Buffer headers. Please update
14 #error your headers.
15 #endif
16 #if 3015008 < PROTOBUF_MIN_PROTOC_VERSION
17 #error This file was generated by an older version of protoc which is
18 #error incompatible with your Protocol Buffer headers. Please
19 #error regenerate this file with a newer version of protoc.
20 #endif
21 
22 #include <google/protobuf/port_undef.inc>
23 #include <google/protobuf/io/coded_stream.h>
24 #include <google/protobuf/arena.h>
25 #include <google/protobuf/arenastring.h>
26 #include <google/protobuf/generated_message_table_driven.h>
27 #include <google/protobuf/generated_message_util.h>
28 #include <google/protobuf/metadata_lite.h>
29 #include <google/protobuf/generated_message_reflection.h>
30 #include <google/protobuf/message.h>
31 #include <google/protobuf/repeated_field.h> // IWYU pragma: export
32 #include <google/protobuf/extension_set.h> // IWYU pragma: export
33 #include <google/protobuf/generated_enum_reflection.h>
34 #include <google/protobuf/unknown_field_set.h>
35 // @@protoc_insertion_point(includes)
36 #include <google/protobuf/port_def.inc>
37 #define PROTOBUF_INTERNAL_EXPORT_ortools_2fsat_2fcp_5fmodel_2eproto
38 PROTOBUF_NAMESPACE_OPEN
39 namespace internal {
40 class AnyMetadata;
41 } // namespace internal
42 PROTOBUF_NAMESPACE_CLOSE
43 
44 // Internal implementation detail -- do not use these members.
46  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
47  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
48  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
49  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
50  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[28]
51  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
52  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
53  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
54  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
55 };
56 extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto;
58 namespace operations_research {
59 namespace sat {
60 class AllDifferentConstraintProto;
61 struct AllDifferentConstraintProtoDefaultTypeInternal;
62 extern AllDifferentConstraintProtoDefaultTypeInternal _AllDifferentConstraintProto_default_instance_;
63 class AutomatonConstraintProto;
64 struct AutomatonConstraintProtoDefaultTypeInternal;
65 extern AutomatonConstraintProtoDefaultTypeInternal _AutomatonConstraintProto_default_instance_;
66 class BoolArgumentProto;
67 struct BoolArgumentProtoDefaultTypeInternal;
68 extern BoolArgumentProtoDefaultTypeInternal _BoolArgumentProto_default_instance_;
69 class CircuitConstraintProto;
70 struct CircuitConstraintProtoDefaultTypeInternal;
71 extern CircuitConstraintProtoDefaultTypeInternal _CircuitConstraintProto_default_instance_;
72 class ConstraintProto;
73 struct ConstraintProtoDefaultTypeInternal;
74 extern ConstraintProtoDefaultTypeInternal _ConstraintProto_default_instance_;
75 class CpModelProto;
76 struct CpModelProtoDefaultTypeInternal;
77 extern CpModelProtoDefaultTypeInternal _CpModelProto_default_instance_;
78 class CpObjectiveProto;
79 struct CpObjectiveProtoDefaultTypeInternal;
80 extern CpObjectiveProtoDefaultTypeInternal _CpObjectiveProto_default_instance_;
81 class CpSolverResponse;
82 struct CpSolverResponseDefaultTypeInternal;
83 extern CpSolverResponseDefaultTypeInternal _CpSolverResponse_default_instance_;
84 class CumulativeConstraintProto;
85 struct CumulativeConstraintProtoDefaultTypeInternal;
86 extern CumulativeConstraintProtoDefaultTypeInternal _CumulativeConstraintProto_default_instance_;
87 class DecisionStrategyProto;
88 struct DecisionStrategyProtoDefaultTypeInternal;
89 extern DecisionStrategyProtoDefaultTypeInternal _DecisionStrategyProto_default_instance_;
90 class DecisionStrategyProto_AffineTransformation;
91 struct DecisionStrategyProto_AffineTransformationDefaultTypeInternal;
92 extern DecisionStrategyProto_AffineTransformationDefaultTypeInternal _DecisionStrategyProto_AffineTransformation_default_instance_;
93 class DenseMatrixProto;
94 struct DenseMatrixProtoDefaultTypeInternal;
95 extern DenseMatrixProtoDefaultTypeInternal _DenseMatrixProto_default_instance_;
96 class ElementConstraintProto;
97 struct ElementConstraintProtoDefaultTypeInternal;
98 extern ElementConstraintProtoDefaultTypeInternal _ElementConstraintProto_default_instance_;
99 class IntegerArgumentProto;
100 struct IntegerArgumentProtoDefaultTypeInternal;
101 extern IntegerArgumentProtoDefaultTypeInternal _IntegerArgumentProto_default_instance_;
102 class IntegerVariableProto;
103 struct IntegerVariableProtoDefaultTypeInternal;
104 extern IntegerVariableProtoDefaultTypeInternal _IntegerVariableProto_default_instance_;
105 class IntervalConstraintProto;
106 struct IntervalConstraintProtoDefaultTypeInternal;
107 extern IntervalConstraintProtoDefaultTypeInternal _IntervalConstraintProto_default_instance_;
108 class InverseConstraintProto;
109 struct InverseConstraintProtoDefaultTypeInternal;
110 extern InverseConstraintProtoDefaultTypeInternal _InverseConstraintProto_default_instance_;
111 class LinearArgumentProto;
112 struct LinearArgumentProtoDefaultTypeInternal;
113 extern LinearArgumentProtoDefaultTypeInternal _LinearArgumentProto_default_instance_;
114 class LinearConstraintProto;
115 struct LinearConstraintProtoDefaultTypeInternal;
116 extern LinearConstraintProtoDefaultTypeInternal _LinearConstraintProto_default_instance_;
117 class LinearExpressionProto;
118 struct LinearExpressionProtoDefaultTypeInternal;
119 extern LinearExpressionProtoDefaultTypeInternal _LinearExpressionProto_default_instance_;
120 class NoOverlap2DConstraintProto;
121 struct NoOverlap2DConstraintProtoDefaultTypeInternal;
122 extern NoOverlap2DConstraintProtoDefaultTypeInternal _NoOverlap2DConstraintProto_default_instance_;
123 class NoOverlapConstraintProto;
124 struct NoOverlapConstraintProtoDefaultTypeInternal;
125 extern NoOverlapConstraintProtoDefaultTypeInternal _NoOverlapConstraintProto_default_instance_;
126 class PartialVariableAssignment;
127 struct PartialVariableAssignmentDefaultTypeInternal;
128 extern PartialVariableAssignmentDefaultTypeInternal _PartialVariableAssignment_default_instance_;
129 class ReservoirConstraintProto;
130 struct ReservoirConstraintProtoDefaultTypeInternal;
131 extern ReservoirConstraintProtoDefaultTypeInternal _ReservoirConstraintProto_default_instance_;
132 class RoutesConstraintProto;
133 struct RoutesConstraintProtoDefaultTypeInternal;
134 extern RoutesConstraintProtoDefaultTypeInternal _RoutesConstraintProto_default_instance_;
135 class SparsePermutationProto;
136 struct SparsePermutationProtoDefaultTypeInternal;
137 extern SparsePermutationProtoDefaultTypeInternal _SparsePermutationProto_default_instance_;
138 class SymmetryProto;
139 struct SymmetryProtoDefaultTypeInternal;
140 extern SymmetryProtoDefaultTypeInternal _SymmetryProto_default_instance_;
141 class TableConstraintProto;
142 struct TableConstraintProtoDefaultTypeInternal;
143 extern TableConstraintProtoDefaultTypeInternal _TableConstraintProto_default_instance_;
144 } // namespace sat
145 } // namespace operations_research
146 PROTOBUF_NAMESPACE_OPEN
147 template<> ::operations_research::sat::AllDifferentConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::AllDifferentConstraintProto>(Arena*);
148 template<> ::operations_research::sat::AutomatonConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::AutomatonConstraintProto>(Arena*);
149 template<> ::operations_research::sat::BoolArgumentProto* Arena::CreateMaybeMessage<::operations_research::sat::BoolArgumentProto>(Arena*);
150 template<> ::operations_research::sat::CircuitConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::CircuitConstraintProto>(Arena*);
151 template<> ::operations_research::sat::ConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::ConstraintProto>(Arena*);
152 template<> ::operations_research::sat::CpModelProto* Arena::CreateMaybeMessage<::operations_research::sat::CpModelProto>(Arena*);
153 template<> ::operations_research::sat::CpObjectiveProto* Arena::CreateMaybeMessage<::operations_research::sat::CpObjectiveProto>(Arena*);
154 template<> ::operations_research::sat::CpSolverResponse* Arena::CreateMaybeMessage<::operations_research::sat::CpSolverResponse>(Arena*);
155 template<> ::operations_research::sat::CumulativeConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::CumulativeConstraintProto>(Arena*);
156 template<> ::operations_research::sat::DecisionStrategyProto* Arena::CreateMaybeMessage<::operations_research::sat::DecisionStrategyProto>(Arena*);
157 template<> ::operations_research::sat::DecisionStrategyProto_AffineTransformation* Arena::CreateMaybeMessage<::operations_research::sat::DecisionStrategyProto_AffineTransformation>(Arena*);
158 template<> ::operations_research::sat::DenseMatrixProto* Arena::CreateMaybeMessage<::operations_research::sat::DenseMatrixProto>(Arena*);
159 template<> ::operations_research::sat::ElementConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::ElementConstraintProto>(Arena*);
160 template<> ::operations_research::sat::IntegerArgumentProto* Arena::CreateMaybeMessage<::operations_research::sat::IntegerArgumentProto>(Arena*);
161 template<> ::operations_research::sat::IntegerVariableProto* Arena::CreateMaybeMessage<::operations_research::sat::IntegerVariableProto>(Arena*);
162 template<> ::operations_research::sat::IntervalConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::IntervalConstraintProto>(Arena*);
163 template<> ::operations_research::sat::InverseConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::InverseConstraintProto>(Arena*);
164 template<> ::operations_research::sat::LinearArgumentProto* Arena::CreateMaybeMessage<::operations_research::sat::LinearArgumentProto>(Arena*);
165 template<> ::operations_research::sat::LinearConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::LinearConstraintProto>(Arena*);
166 template<> ::operations_research::sat::LinearExpressionProto* Arena::CreateMaybeMessage<::operations_research::sat::LinearExpressionProto>(Arena*);
167 template<> ::operations_research::sat::NoOverlap2DConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::NoOverlap2DConstraintProto>(Arena*);
168 template<> ::operations_research::sat::NoOverlapConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::NoOverlapConstraintProto>(Arena*);
169 template<> ::operations_research::sat::PartialVariableAssignment* Arena::CreateMaybeMessage<::operations_research::sat::PartialVariableAssignment>(Arena*);
170 template<> ::operations_research::sat::ReservoirConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::ReservoirConstraintProto>(Arena*);
171 template<> ::operations_research::sat::RoutesConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::RoutesConstraintProto>(Arena*);
172 template<> ::operations_research::sat::SparsePermutationProto* Arena::CreateMaybeMessage<::operations_research::sat::SparsePermutationProto>(Arena*);
173 template<> ::operations_research::sat::SymmetryProto* Arena::CreateMaybeMessage<::operations_research::sat::SymmetryProto>(Arena*);
174 template<> ::operations_research::sat::TableConstraintProto* Arena::CreateMaybeMessage<::operations_research::sat::TableConstraintProto>(Arena*);
175 PROTOBUF_NAMESPACE_CLOSE
176 namespace operations_research {
177 namespace sat {
178 
187 };
192 
193 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DecisionStrategyProto_VariableSelectionStrategy_descriptor();
194 template<typename T>
195 inline const std::string& DecisionStrategyProto_VariableSelectionStrategy_Name(T enum_t_value) {
198  "Incorrect type passed to function DecisionStrategyProto_VariableSelectionStrategy_Name.");
199  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
201 }
203  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DecisionStrategyProto_VariableSelectionStrategy* value) {
204  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<DecisionStrategyProto_VariableSelectionStrategy>(
206 }
215 };
220 
221 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DecisionStrategyProto_DomainReductionStrategy_descriptor();
222 template<typename T>
223 inline const std::string& DecisionStrategyProto_DomainReductionStrategy_Name(T enum_t_value) {
226  "Incorrect type passed to function DecisionStrategyProto_DomainReductionStrategy_Name.");
227  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
229 }
231  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DecisionStrategyProto_DomainReductionStrategy* value) {
232  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<DecisionStrategyProto_DomainReductionStrategy>(
234 }
235 enum CpSolverStatus : int {
236  UNKNOWN = 0,
238  FEASIBLE = 2,
240  OPTIMAL = 4,
243 };
244 bool CpSolverStatus_IsValid(int value);
248 
249 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* CpSolverStatus_descriptor();
250 template<typename T>
251 inline const std::string& CpSolverStatus_Name(T enum_t_value) {
252  static_assert(::std::is_same<T, CpSolverStatus>::value ||
254  "Incorrect type passed to function CpSolverStatus_Name.");
255  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
256  CpSolverStatus_descriptor(), enum_t_value);
257 }
259  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, CpSolverStatus* value) {
260  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<CpSolverStatus>(
262 }
263 // ===================================================================
264 
265 class IntegerVariableProto PROTOBUF_FINAL :
266  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.IntegerVariableProto) */ {
267  public:
268  inline IntegerVariableProto() : IntegerVariableProto(nullptr) {}
270  explicit constexpr IntegerVariableProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
271 
272  IntegerVariableProto(const IntegerVariableProto& from);
273  IntegerVariableProto(IntegerVariableProto&& from) noexcept
274  : IntegerVariableProto() {
275  *this = ::std::move(from);
276  }
277 
278  inline IntegerVariableProto& operator=(const IntegerVariableProto& from) {
279  CopyFrom(from);
280  return *this;
281  }
282  inline IntegerVariableProto& operator=(IntegerVariableProto&& from) noexcept {
283  if (GetArena() == from.GetArena()) {
284  if (this != &from) InternalSwap(&from);
285  } else {
286  CopyFrom(from);
287  }
288  return *this;
289  }
290 
291  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
292  return GetDescriptor();
293  }
294  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
295  return GetMetadataStatic().descriptor;
296  }
297  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
298  return GetMetadataStatic().reflection;
299  }
300  static const IntegerVariableProto& default_instance() {
301  return *internal_default_instance();
302  }
303  static inline const IntegerVariableProto* internal_default_instance() {
304  return reinterpret_cast<const IntegerVariableProto*>(
306  }
307  static constexpr int kIndexInFileMessages =
308  0;
309 
310  friend void swap(IntegerVariableProto& a, IntegerVariableProto& b) {
311  a.Swap(&b);
312  }
313  inline void Swap(IntegerVariableProto* other) {
314  if (other == this) return;
315  if (GetArena() == other->GetArena()) {
316  InternalSwap(other);
317  } else {
318  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
319  }
320  }
321  void UnsafeArenaSwap(IntegerVariableProto* other) {
322  if (other == this) return;
323  GOOGLE_DCHECK(GetArena() == other->GetArena());
324  InternalSwap(other);
325  }
326 
327  // implements Message ----------------------------------------------
328 
329  inline IntegerVariableProto* New() const final {
330  return CreateMaybeMessage<IntegerVariableProto>(nullptr);
331  }
332 
333  IntegerVariableProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
334  return CreateMaybeMessage<IntegerVariableProto>(arena);
335  }
336  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
337  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
338  void CopyFrom(const IntegerVariableProto& from);
339  void MergeFrom(const IntegerVariableProto& from);
340  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
341  bool IsInitialized() const final;
342 
343  size_t ByteSizeLong() const final;
344  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
345  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
346  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
347  int GetCachedSize() const final { return _cached_size_.Get(); }
348 
349  private:
350  inline void SharedCtor();
351  inline void SharedDtor();
352  void SetCachedSize(int size) const final;
353  void InternalSwap(IntegerVariableProto* other);
354  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
355  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
356  return "operations_research.sat.IntegerVariableProto";
357  }
358  protected:
359  explicit IntegerVariableProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
360  private:
361  static void ArenaDtor(void* object);
362  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
363  public:
364 
365  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
366  private:
367  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
369  }
370 
371  public:
372 
373  // nested types ----------------------------------------------------
374 
375  // accessors -------------------------------------------------------
376 
377  enum : int {
378  kDomainFieldNumber = 2,
379  kNameFieldNumber = 1,
380  };
381  // repeated int64 domain = 2;
382  int domain_size() const;
383  private:
384  int _internal_domain_size() const;
385  public:
386  void clear_domain();
387  private:
388  ::PROTOBUF_NAMESPACE_ID::int64 _internal_domain(int index) const;
389  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
390  _internal_domain() const;
391  void _internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value);
392  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
393  _internal_mutable_domain();
394  public:
395  ::PROTOBUF_NAMESPACE_ID::int64 domain(int index) const;
396  void set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
397  void add_domain(::PROTOBUF_NAMESPACE_ID::int64 value);
398  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
399  domain() const;
400  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
402 
403  // string name = 1;
404  void clear_name();
405  const std::string& name() const;
406  void set_name(const std::string& value);
407  void set_name(std::string&& value);
408  void set_name(const char* value);
409  void set_name(const char* value, size_t size);
410  std::string* mutable_name();
411  std::string* release_name();
412  void set_allocated_name(std::string* name);
413  private:
414  const std::string& _internal_name() const;
415  void _internal_set_name(const std::string& value);
416  std::string* _internal_mutable_name();
417  public:
418 
419  // @@protoc_insertion_point(class_scope:operations_research.sat.IntegerVariableProto)
420  private:
421  class _Internal;
422 
423  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
424  typedef void InternalArenaConstructable_;
425  typedef void DestructorSkippable_;
426  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > domain_;
427  mutable std::atomic<int> _domain_cached_byte_size_;
428  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
429  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
430  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
431 };
432 // -------------------------------------------------------------------
433 
434 class BoolArgumentProto PROTOBUF_FINAL :
435  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.BoolArgumentProto) */ {
436  public:
437  inline BoolArgumentProto() : BoolArgumentProto(nullptr) {}
439  explicit constexpr BoolArgumentProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
440 
441  BoolArgumentProto(const BoolArgumentProto& from);
442  BoolArgumentProto(BoolArgumentProto&& from) noexcept
443  : BoolArgumentProto() {
444  *this = ::std::move(from);
445  }
446 
447  inline BoolArgumentProto& operator=(const BoolArgumentProto& from) {
448  CopyFrom(from);
449  return *this;
450  }
451  inline BoolArgumentProto& operator=(BoolArgumentProto&& from) noexcept {
452  if (GetArena() == from.GetArena()) {
453  if (this != &from) InternalSwap(&from);
454  } else {
455  CopyFrom(from);
456  }
457  return *this;
458  }
459 
460  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
461  return GetDescriptor();
462  }
463  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
464  return GetMetadataStatic().descriptor;
465  }
466  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
467  return GetMetadataStatic().reflection;
468  }
469  static const BoolArgumentProto& default_instance() {
470  return *internal_default_instance();
471  }
472  static inline const BoolArgumentProto* internal_default_instance() {
473  return reinterpret_cast<const BoolArgumentProto*>(
475  }
476  static constexpr int kIndexInFileMessages =
477  1;
478 
479  friend void swap(BoolArgumentProto& a, BoolArgumentProto& b) {
480  a.Swap(&b);
481  }
482  inline void Swap(BoolArgumentProto* other) {
483  if (other == this) return;
484  if (GetArena() == other->GetArena()) {
485  InternalSwap(other);
486  } else {
487  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
488  }
489  }
490  void UnsafeArenaSwap(BoolArgumentProto* other) {
491  if (other == this) return;
492  GOOGLE_DCHECK(GetArena() == other->GetArena());
493  InternalSwap(other);
494  }
495 
496  // implements Message ----------------------------------------------
497 
498  inline BoolArgumentProto* New() const final {
499  return CreateMaybeMessage<BoolArgumentProto>(nullptr);
500  }
501 
502  BoolArgumentProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
503  return CreateMaybeMessage<BoolArgumentProto>(arena);
504  }
505  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
506  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
507  void CopyFrom(const BoolArgumentProto& from);
508  void MergeFrom(const BoolArgumentProto& from);
509  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
510  bool IsInitialized() const final;
511 
512  size_t ByteSizeLong() const final;
513  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
514  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
515  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
516  int GetCachedSize() const final { return _cached_size_.Get(); }
517 
518  private:
519  inline void SharedCtor();
520  inline void SharedDtor();
521  void SetCachedSize(int size) const final;
522  void InternalSwap(BoolArgumentProto* other);
523  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
524  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
525  return "operations_research.sat.BoolArgumentProto";
526  }
527  protected:
528  explicit BoolArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
529  private:
530  static void ArenaDtor(void* object);
531  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
532  public:
533 
534  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
535  private:
536  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
538  }
539 
540  public:
541 
542  // nested types ----------------------------------------------------
543 
544  // accessors -------------------------------------------------------
545 
546  enum : int {
547  kLiteralsFieldNumber = 1,
548  };
549  // repeated int32 literals = 1;
550  int literals_size() const;
551  private:
552  int _internal_literals_size() const;
553  public:
555  private:
556  ::PROTOBUF_NAMESPACE_ID::int32 _internal_literals(int index) const;
557  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
558  _internal_literals() const;
559  void _internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value);
560  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
561  _internal_mutable_literals();
562  public:
563  ::PROTOBUF_NAMESPACE_ID::int32 literals(int index) const;
564  void set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
565  void add_literals(::PROTOBUF_NAMESPACE_ID::int32 value);
566  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
567  literals() const;
568  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
570 
571  // @@protoc_insertion_point(class_scope:operations_research.sat.BoolArgumentProto)
572  private:
573  class _Internal;
574 
575  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
576  typedef void InternalArenaConstructable_;
577  typedef void DestructorSkippable_;
578  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > literals_;
579  mutable std::atomic<int> _literals_cached_byte_size_;
580  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
581  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
582 };
583 // -------------------------------------------------------------------
584 
585 class IntegerArgumentProto PROTOBUF_FINAL :
586  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.IntegerArgumentProto) */ {
587  public:
588  inline IntegerArgumentProto() : IntegerArgumentProto(nullptr) {}
590  explicit constexpr IntegerArgumentProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
591 
592  IntegerArgumentProto(const IntegerArgumentProto& from);
593  IntegerArgumentProto(IntegerArgumentProto&& from) noexcept
594  : IntegerArgumentProto() {
595  *this = ::std::move(from);
596  }
597 
598  inline IntegerArgumentProto& operator=(const IntegerArgumentProto& from) {
599  CopyFrom(from);
600  return *this;
601  }
602  inline IntegerArgumentProto& operator=(IntegerArgumentProto&& from) noexcept {
603  if (GetArena() == from.GetArena()) {
604  if (this != &from) InternalSwap(&from);
605  } else {
606  CopyFrom(from);
607  }
608  return *this;
609  }
610 
611  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
612  return GetDescriptor();
613  }
614  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
615  return GetMetadataStatic().descriptor;
616  }
617  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
618  return GetMetadataStatic().reflection;
619  }
620  static const IntegerArgumentProto& default_instance() {
621  return *internal_default_instance();
622  }
623  static inline const IntegerArgumentProto* internal_default_instance() {
624  return reinterpret_cast<const IntegerArgumentProto*>(
626  }
627  static constexpr int kIndexInFileMessages =
628  2;
629 
630  friend void swap(IntegerArgumentProto& a, IntegerArgumentProto& b) {
631  a.Swap(&b);
632  }
633  inline void Swap(IntegerArgumentProto* other) {
634  if (other == this) return;
635  if (GetArena() == other->GetArena()) {
636  InternalSwap(other);
637  } else {
638  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
639  }
640  }
641  void UnsafeArenaSwap(IntegerArgumentProto* other) {
642  if (other == this) return;
643  GOOGLE_DCHECK(GetArena() == other->GetArena());
644  InternalSwap(other);
645  }
646 
647  // implements Message ----------------------------------------------
648 
649  inline IntegerArgumentProto* New() const final {
650  return CreateMaybeMessage<IntegerArgumentProto>(nullptr);
651  }
652 
653  IntegerArgumentProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
654  return CreateMaybeMessage<IntegerArgumentProto>(arena);
655  }
656  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
657  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
658  void CopyFrom(const IntegerArgumentProto& from);
659  void MergeFrom(const IntegerArgumentProto& from);
660  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
661  bool IsInitialized() const final;
662 
663  size_t ByteSizeLong() const final;
664  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
665  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
666  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
667  int GetCachedSize() const final { return _cached_size_.Get(); }
668 
669  private:
670  inline void SharedCtor();
671  inline void SharedDtor();
672  void SetCachedSize(int size) const final;
673  void InternalSwap(IntegerArgumentProto* other);
674  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
675  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
676  return "operations_research.sat.IntegerArgumentProto";
677  }
678  protected:
679  explicit IntegerArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
680  private:
681  static void ArenaDtor(void* object);
682  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
683  public:
684 
685  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
686  private:
687  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
689  }
690 
691  public:
692 
693  // nested types ----------------------------------------------------
694 
695  // accessors -------------------------------------------------------
696 
697  enum : int {
698  kVarsFieldNumber = 2,
699  kTargetFieldNumber = 1,
700  };
701  // repeated int32 vars = 2;
702  int vars_size() const;
703  private:
704  int _internal_vars_size() const;
705  public:
706  void clear_vars();
707  private:
708  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
709  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
710  _internal_vars() const;
711  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
712  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
713  _internal_mutable_vars();
714  public:
715  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
716  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
717  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
718  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
719  vars() const;
720  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
722 
723  // int32 target = 1;
724  void clear_target();
725  ::PROTOBUF_NAMESPACE_ID::int32 target() const;
726  void set_target(::PROTOBUF_NAMESPACE_ID::int32 value);
727  private:
728  ::PROTOBUF_NAMESPACE_ID::int32 _internal_target() const;
729  void _internal_set_target(::PROTOBUF_NAMESPACE_ID::int32 value);
730  public:
731 
732  // @@protoc_insertion_point(class_scope:operations_research.sat.IntegerArgumentProto)
733  private:
734  class _Internal;
735 
736  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
737  typedef void InternalArenaConstructable_;
738  typedef void DestructorSkippable_;
739  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
740  mutable std::atomic<int> _vars_cached_byte_size_;
741  ::PROTOBUF_NAMESPACE_ID::int32 target_;
742  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
743  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
744 };
745 // -------------------------------------------------------------------
746 
747 class LinearExpressionProto PROTOBUF_FINAL :
748  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.LinearExpressionProto) */ {
749  public:
750  inline LinearExpressionProto() : LinearExpressionProto(nullptr) {}
752  explicit constexpr LinearExpressionProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
753 
754  LinearExpressionProto(const LinearExpressionProto& from);
755  LinearExpressionProto(LinearExpressionProto&& from) noexcept
756  : LinearExpressionProto() {
757  *this = ::std::move(from);
758  }
759 
760  inline LinearExpressionProto& operator=(const LinearExpressionProto& from) {
761  CopyFrom(from);
762  return *this;
763  }
764  inline LinearExpressionProto& operator=(LinearExpressionProto&& from) noexcept {
765  if (GetArena() == from.GetArena()) {
766  if (this != &from) InternalSwap(&from);
767  } else {
768  CopyFrom(from);
769  }
770  return *this;
771  }
772 
773  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
774  return GetDescriptor();
775  }
776  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
777  return GetMetadataStatic().descriptor;
778  }
779  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
780  return GetMetadataStatic().reflection;
781  }
782  static const LinearExpressionProto& default_instance() {
783  return *internal_default_instance();
784  }
785  static inline const LinearExpressionProto* internal_default_instance() {
786  return reinterpret_cast<const LinearExpressionProto*>(
788  }
789  static constexpr int kIndexInFileMessages =
790  3;
791 
792  friend void swap(LinearExpressionProto& a, LinearExpressionProto& b) {
793  a.Swap(&b);
794  }
795  inline void Swap(LinearExpressionProto* other) {
796  if (other == this) return;
797  if (GetArena() == other->GetArena()) {
798  InternalSwap(other);
799  } else {
800  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
801  }
802  }
803  void UnsafeArenaSwap(LinearExpressionProto* other) {
804  if (other == this) return;
805  GOOGLE_DCHECK(GetArena() == other->GetArena());
806  InternalSwap(other);
807  }
808 
809  // implements Message ----------------------------------------------
810 
811  inline LinearExpressionProto* New() const final {
812  return CreateMaybeMessage<LinearExpressionProto>(nullptr);
813  }
814 
815  LinearExpressionProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
816  return CreateMaybeMessage<LinearExpressionProto>(arena);
817  }
818  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
819  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
820  void CopyFrom(const LinearExpressionProto& from);
821  void MergeFrom(const LinearExpressionProto& from);
822  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
823  bool IsInitialized() const final;
824 
825  size_t ByteSizeLong() const final;
826  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
827  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
828  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
829  int GetCachedSize() const final { return _cached_size_.Get(); }
830 
831  private:
832  inline void SharedCtor();
833  inline void SharedDtor();
834  void SetCachedSize(int size) const final;
835  void InternalSwap(LinearExpressionProto* other);
836  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
837  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
838  return "operations_research.sat.LinearExpressionProto";
839  }
840  protected:
841  explicit LinearExpressionProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
842  private:
843  static void ArenaDtor(void* object);
844  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
845  public:
846 
847  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
848  private:
849  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
851  }
852 
853  public:
854 
855  // nested types ----------------------------------------------------
856 
857  // accessors -------------------------------------------------------
858 
859  enum : int {
860  kVarsFieldNumber = 1,
861  kCoeffsFieldNumber = 2,
862  kOffsetFieldNumber = 3,
863  };
864  // repeated int32 vars = 1;
865  int vars_size() const;
866  private:
867  int _internal_vars_size() const;
868  public:
869  void clear_vars();
870  private:
871  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
872  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
873  _internal_vars() const;
874  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
875  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
876  _internal_mutable_vars();
877  public:
878  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
879  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
880  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
881  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
882  vars() const;
883  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
885 
886  // repeated int64 coeffs = 2;
887  int coeffs_size() const;
888  private:
889  int _internal_coeffs_size() const;
890  public:
891  void clear_coeffs();
892  private:
893  ::PROTOBUF_NAMESPACE_ID::int64 _internal_coeffs(int index) const;
894  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
895  _internal_coeffs() const;
896  void _internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value);
897  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
898  _internal_mutable_coeffs();
899  public:
900  ::PROTOBUF_NAMESPACE_ID::int64 coeffs(int index) const;
901  void set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
902  void add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value);
903  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
904  coeffs() const;
905  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
907 
908  // int64 offset = 3;
909  void clear_offset();
910  ::PROTOBUF_NAMESPACE_ID::int64 offset() const;
911  void set_offset(::PROTOBUF_NAMESPACE_ID::int64 value);
912  private:
913  ::PROTOBUF_NAMESPACE_ID::int64 _internal_offset() const;
914  void _internal_set_offset(::PROTOBUF_NAMESPACE_ID::int64 value);
915  public:
916 
917  // @@protoc_insertion_point(class_scope:operations_research.sat.LinearExpressionProto)
918  private:
919  class _Internal;
920 
921  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
922  typedef void InternalArenaConstructable_;
923  typedef void DestructorSkippable_;
924  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
925  mutable std::atomic<int> _vars_cached_byte_size_;
926  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > coeffs_;
927  mutable std::atomic<int> _coeffs_cached_byte_size_;
928  ::PROTOBUF_NAMESPACE_ID::int64 offset_;
929  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
930  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
931 };
932 // -------------------------------------------------------------------
933 
934 class LinearArgumentProto PROTOBUF_FINAL :
935  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.LinearArgumentProto) */ {
936  public:
937  inline LinearArgumentProto() : LinearArgumentProto(nullptr) {}
939  explicit constexpr LinearArgumentProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
940 
941  LinearArgumentProto(const LinearArgumentProto& from);
942  LinearArgumentProto(LinearArgumentProto&& from) noexcept
943  : LinearArgumentProto() {
944  *this = ::std::move(from);
945  }
946 
947  inline LinearArgumentProto& operator=(const LinearArgumentProto& from) {
948  CopyFrom(from);
949  return *this;
950  }
951  inline LinearArgumentProto& operator=(LinearArgumentProto&& from) noexcept {
952  if (GetArena() == from.GetArena()) {
953  if (this != &from) InternalSwap(&from);
954  } else {
955  CopyFrom(from);
956  }
957  return *this;
958  }
959 
960  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
961  return GetDescriptor();
962  }
963  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
964  return GetMetadataStatic().descriptor;
965  }
966  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
967  return GetMetadataStatic().reflection;
968  }
969  static const LinearArgumentProto& default_instance() {
970  return *internal_default_instance();
971  }
972  static inline const LinearArgumentProto* internal_default_instance() {
973  return reinterpret_cast<const LinearArgumentProto*>(
975  }
976  static constexpr int kIndexInFileMessages =
977  4;
978 
979  friend void swap(LinearArgumentProto& a, LinearArgumentProto& b) {
980  a.Swap(&b);
981  }
982  inline void Swap(LinearArgumentProto* other) {
983  if (other == this) return;
984  if (GetArena() == other->GetArena()) {
985  InternalSwap(other);
986  } else {
987  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
988  }
989  }
990  void UnsafeArenaSwap(LinearArgumentProto* other) {
991  if (other == this) return;
992  GOOGLE_DCHECK(GetArena() == other->GetArena());
993  InternalSwap(other);
994  }
995 
996  // implements Message ----------------------------------------------
997 
998  inline LinearArgumentProto* New() const final {
999  return CreateMaybeMessage<LinearArgumentProto>(nullptr);
1000  }
1001 
1002  LinearArgumentProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1003  return CreateMaybeMessage<LinearArgumentProto>(arena);
1004  }
1005  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1006  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1007  void CopyFrom(const LinearArgumentProto& from);
1008  void MergeFrom(const LinearArgumentProto& from);
1009  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1010  bool IsInitialized() const final;
1011 
1012  size_t ByteSizeLong() const final;
1013  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1014  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1015  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1016  int GetCachedSize() const final { return _cached_size_.Get(); }
1017 
1018  private:
1019  inline void SharedCtor();
1020  inline void SharedDtor();
1021  void SetCachedSize(int size) const final;
1022  void InternalSwap(LinearArgumentProto* other);
1023  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1024  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1025  return "operations_research.sat.LinearArgumentProto";
1026  }
1027  protected:
1028  explicit LinearArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1029  private:
1030  static void ArenaDtor(void* object);
1031  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1032  public:
1033 
1034  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1035  private:
1036  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1038  }
1039 
1040  public:
1041 
1042  // nested types ----------------------------------------------------
1043 
1044  // accessors -------------------------------------------------------
1045 
1046  enum : int {
1047  kExprsFieldNumber = 2,
1048  kTargetFieldNumber = 1,
1049  };
1050  // repeated .operations_research.sat.LinearExpressionProto exprs = 2;
1051  int exprs_size() const;
1052  private:
1053  int _internal_exprs_size() const;
1054  public:
1055  void clear_exprs();
1056  ::operations_research::sat::LinearExpressionProto* mutable_exprs(int index);
1057  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >*
1059  private:
1060  const ::operations_research::sat::LinearExpressionProto& _internal_exprs(int index) const;
1061  ::operations_research::sat::LinearExpressionProto* _internal_add_exprs();
1062  public:
1063  const ::operations_research::sat::LinearExpressionProto& exprs(int index) const;
1064  ::operations_research::sat::LinearExpressionProto* add_exprs();
1065  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >&
1066  exprs() const;
1067 
1068  // .operations_research.sat.LinearExpressionProto target = 1;
1069  bool has_target() const;
1070  private:
1071  bool _internal_has_target() const;
1072  public:
1074  const ::operations_research::sat::LinearExpressionProto& target() const;
1075  ::operations_research::sat::LinearExpressionProto* release_target();
1076  ::operations_research::sat::LinearExpressionProto* mutable_target();
1077  void set_allocated_target(::operations_research::sat::LinearExpressionProto* target);
1078  private:
1079  const ::operations_research::sat::LinearExpressionProto& _internal_target() const;
1080  ::operations_research::sat::LinearExpressionProto* _internal_mutable_target();
1081  public:
1083  ::operations_research::sat::LinearExpressionProto* target);
1084  ::operations_research::sat::LinearExpressionProto* unsafe_arena_release_target();
1085 
1086  // @@protoc_insertion_point(class_scope:operations_research.sat.LinearArgumentProto)
1087  private:
1088  class _Internal;
1089 
1090  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1091  typedef void InternalArenaConstructable_;
1092  typedef void DestructorSkippable_;
1093  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > exprs_;
1094  ::operations_research::sat::LinearExpressionProto* target_;
1095  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1096  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1097 };
1098 // -------------------------------------------------------------------
1099 
1100 class AllDifferentConstraintProto PROTOBUF_FINAL :
1101  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.AllDifferentConstraintProto) */ {
1102  public:
1103  inline AllDifferentConstraintProto() : AllDifferentConstraintProto(nullptr) {}
1105  explicit constexpr AllDifferentConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
1106 
1107  AllDifferentConstraintProto(const AllDifferentConstraintProto& from);
1108  AllDifferentConstraintProto(AllDifferentConstraintProto&& from) noexcept
1109  : AllDifferentConstraintProto() {
1110  *this = ::std::move(from);
1111  }
1112 
1113  inline AllDifferentConstraintProto& operator=(const AllDifferentConstraintProto& from) {
1114  CopyFrom(from);
1115  return *this;
1116  }
1117  inline AllDifferentConstraintProto& operator=(AllDifferentConstraintProto&& from) noexcept {
1118  if (GetArena() == from.GetArena()) {
1119  if (this != &from) InternalSwap(&from);
1120  } else {
1121  CopyFrom(from);
1122  }
1123  return *this;
1124  }
1125 
1126  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1127  return GetDescriptor();
1128  }
1129  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1130  return GetMetadataStatic().descriptor;
1131  }
1132  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1133  return GetMetadataStatic().reflection;
1134  }
1135  static const AllDifferentConstraintProto& default_instance() {
1136  return *internal_default_instance();
1137  }
1138  static inline const AllDifferentConstraintProto* internal_default_instance() {
1139  return reinterpret_cast<const AllDifferentConstraintProto*>(
1141  }
1142  static constexpr int kIndexInFileMessages =
1143  5;
1144 
1145  friend void swap(AllDifferentConstraintProto& a, AllDifferentConstraintProto& b) {
1146  a.Swap(&b);
1147  }
1148  inline void Swap(AllDifferentConstraintProto* other) {
1149  if (other == this) return;
1150  if (GetArena() == other->GetArena()) {
1151  InternalSwap(other);
1152  } else {
1153  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1154  }
1155  }
1156  void UnsafeArenaSwap(AllDifferentConstraintProto* other) {
1157  if (other == this) return;
1158  GOOGLE_DCHECK(GetArena() == other->GetArena());
1159  InternalSwap(other);
1160  }
1161 
1162  // implements Message ----------------------------------------------
1163 
1164  inline AllDifferentConstraintProto* New() const final {
1165  return CreateMaybeMessage<AllDifferentConstraintProto>(nullptr);
1166  }
1167 
1168  AllDifferentConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1169  return CreateMaybeMessage<AllDifferentConstraintProto>(arena);
1170  }
1171  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1172  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1173  void CopyFrom(const AllDifferentConstraintProto& from);
1174  void MergeFrom(const AllDifferentConstraintProto& from);
1175  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1176  bool IsInitialized() const final;
1177 
1178  size_t ByteSizeLong() const final;
1179  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1180  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1181  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1182  int GetCachedSize() const final { return _cached_size_.Get(); }
1183 
1184  private:
1185  inline void SharedCtor();
1186  inline void SharedDtor();
1187  void SetCachedSize(int size) const final;
1188  void InternalSwap(AllDifferentConstraintProto* other);
1189  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1190  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1191  return "operations_research.sat.AllDifferentConstraintProto";
1192  }
1193  protected:
1194  explicit AllDifferentConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1195  private:
1196  static void ArenaDtor(void* object);
1197  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1198  public:
1199 
1200  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1201  private:
1202  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1204  }
1205 
1206  public:
1207 
1208  // nested types ----------------------------------------------------
1209 
1210  // accessors -------------------------------------------------------
1211 
1212  enum : int {
1213  kVarsFieldNumber = 1,
1214  };
1215  // repeated int32 vars = 1;
1216  int vars_size() const;
1217  private:
1218  int _internal_vars_size() const;
1219  public:
1220  void clear_vars();
1221  private:
1222  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
1223  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1224  _internal_vars() const;
1225  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
1226  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1227  _internal_mutable_vars();
1228  public:
1229  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
1230  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
1231  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
1232  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1233  vars() const;
1234  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1236 
1237  // @@protoc_insertion_point(class_scope:operations_research.sat.AllDifferentConstraintProto)
1238  private:
1239  class _Internal;
1240 
1241  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1242  typedef void InternalArenaConstructable_;
1243  typedef void DestructorSkippable_;
1244  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
1245  mutable std::atomic<int> _vars_cached_byte_size_;
1246  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1247  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1248 };
1249 // -------------------------------------------------------------------
1250 
1251 class LinearConstraintProto PROTOBUF_FINAL :
1252  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.LinearConstraintProto) */ {
1253  public:
1254  inline LinearConstraintProto() : LinearConstraintProto(nullptr) {}
1256  explicit constexpr LinearConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
1257 
1258  LinearConstraintProto(const LinearConstraintProto& from);
1259  LinearConstraintProto(LinearConstraintProto&& from) noexcept
1260  : LinearConstraintProto() {
1261  *this = ::std::move(from);
1262  }
1263 
1264  inline LinearConstraintProto& operator=(const LinearConstraintProto& from) {
1265  CopyFrom(from);
1266  return *this;
1267  }
1268  inline LinearConstraintProto& operator=(LinearConstraintProto&& from) noexcept {
1269  if (GetArena() == from.GetArena()) {
1270  if (this != &from) InternalSwap(&from);
1271  } else {
1272  CopyFrom(from);
1273  }
1274  return *this;
1275  }
1276 
1277  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1278  return GetDescriptor();
1279  }
1280  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1281  return GetMetadataStatic().descriptor;
1282  }
1283  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1284  return GetMetadataStatic().reflection;
1285  }
1286  static const LinearConstraintProto& default_instance() {
1287  return *internal_default_instance();
1288  }
1289  static inline const LinearConstraintProto* internal_default_instance() {
1290  return reinterpret_cast<const LinearConstraintProto*>(
1292  }
1293  static constexpr int kIndexInFileMessages =
1294  6;
1295 
1296  friend void swap(LinearConstraintProto& a, LinearConstraintProto& b) {
1297  a.Swap(&b);
1298  }
1299  inline void Swap(LinearConstraintProto* other) {
1300  if (other == this) return;
1301  if (GetArena() == other->GetArena()) {
1302  InternalSwap(other);
1303  } else {
1304  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1305  }
1306  }
1307  void UnsafeArenaSwap(LinearConstraintProto* other) {
1308  if (other == this) return;
1309  GOOGLE_DCHECK(GetArena() == other->GetArena());
1310  InternalSwap(other);
1311  }
1312 
1313  // implements Message ----------------------------------------------
1314 
1315  inline LinearConstraintProto* New() const final {
1316  return CreateMaybeMessage<LinearConstraintProto>(nullptr);
1317  }
1318 
1319  LinearConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1320  return CreateMaybeMessage<LinearConstraintProto>(arena);
1321  }
1322  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1323  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1324  void CopyFrom(const LinearConstraintProto& from);
1325  void MergeFrom(const LinearConstraintProto& from);
1326  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1327  bool IsInitialized() const final;
1328 
1329  size_t ByteSizeLong() const final;
1330  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1331  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1332  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1333  int GetCachedSize() const final { return _cached_size_.Get(); }
1334 
1335  private:
1336  inline void SharedCtor();
1337  inline void SharedDtor();
1338  void SetCachedSize(int size) const final;
1339  void InternalSwap(LinearConstraintProto* other);
1340  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1341  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1342  return "operations_research.sat.LinearConstraintProto";
1343  }
1344  protected:
1345  explicit LinearConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1346  private:
1347  static void ArenaDtor(void* object);
1348  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1349  public:
1350 
1351  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1352  private:
1353  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1355  }
1356 
1357  public:
1358 
1359  // nested types ----------------------------------------------------
1360 
1361  // accessors -------------------------------------------------------
1362 
1363  enum : int {
1364  kVarsFieldNumber = 1,
1365  kCoeffsFieldNumber = 2,
1366  kDomainFieldNumber = 3,
1367  };
1368  // repeated int32 vars = 1;
1369  int vars_size() const;
1370  private:
1371  int _internal_vars_size() const;
1372  public:
1373  void clear_vars();
1374  private:
1375  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
1376  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1377  _internal_vars() const;
1378  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
1379  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1380  _internal_mutable_vars();
1381  public:
1382  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
1383  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
1384  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
1385  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1386  vars() const;
1387  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1389 
1390  // repeated int64 coeffs = 2;
1391  int coeffs_size() const;
1392  private:
1393  int _internal_coeffs_size() const;
1394  public:
1396  private:
1397  ::PROTOBUF_NAMESPACE_ID::int64 _internal_coeffs(int index) const;
1398  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
1399  _internal_coeffs() const;
1400  void _internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value);
1401  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
1402  _internal_mutable_coeffs();
1403  public:
1404  ::PROTOBUF_NAMESPACE_ID::int64 coeffs(int index) const;
1405  void set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
1406  void add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value);
1407  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
1408  coeffs() const;
1409  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
1411 
1412  // repeated int64 domain = 3;
1413  int domain_size() const;
1414  private:
1415  int _internal_domain_size() const;
1416  public:
1418  private:
1419  ::PROTOBUF_NAMESPACE_ID::int64 _internal_domain(int index) const;
1420  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
1421  _internal_domain() const;
1422  void _internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value);
1423  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
1424  _internal_mutable_domain();
1425  public:
1426  ::PROTOBUF_NAMESPACE_ID::int64 domain(int index) const;
1427  void set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
1428  void add_domain(::PROTOBUF_NAMESPACE_ID::int64 value);
1429  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
1430  domain() const;
1431  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
1433 
1434  // @@protoc_insertion_point(class_scope:operations_research.sat.LinearConstraintProto)
1435  private:
1436  class _Internal;
1437 
1438  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1439  typedef void InternalArenaConstructable_;
1440  typedef void DestructorSkippable_;
1441  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
1442  mutable std::atomic<int> _vars_cached_byte_size_;
1443  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > coeffs_;
1444  mutable std::atomic<int> _coeffs_cached_byte_size_;
1445  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > domain_;
1446  mutable std::atomic<int> _domain_cached_byte_size_;
1447  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1448  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1449 };
1450 // -------------------------------------------------------------------
1451 
1452 class ElementConstraintProto PROTOBUF_FINAL :
1453  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.ElementConstraintProto) */ {
1454  public:
1455  inline ElementConstraintProto() : ElementConstraintProto(nullptr) {}
1457  explicit constexpr ElementConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
1458 
1459  ElementConstraintProto(const ElementConstraintProto& from);
1460  ElementConstraintProto(ElementConstraintProto&& from) noexcept
1461  : ElementConstraintProto() {
1462  *this = ::std::move(from);
1463  }
1464 
1465  inline ElementConstraintProto& operator=(const ElementConstraintProto& from) {
1466  CopyFrom(from);
1467  return *this;
1468  }
1469  inline ElementConstraintProto& operator=(ElementConstraintProto&& from) noexcept {
1470  if (GetArena() == from.GetArena()) {
1471  if (this != &from) InternalSwap(&from);
1472  } else {
1473  CopyFrom(from);
1474  }
1475  return *this;
1476  }
1477 
1478  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1479  return GetDescriptor();
1480  }
1481  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1482  return GetMetadataStatic().descriptor;
1483  }
1484  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1485  return GetMetadataStatic().reflection;
1486  }
1487  static const ElementConstraintProto& default_instance() {
1488  return *internal_default_instance();
1489  }
1490  static inline const ElementConstraintProto* internal_default_instance() {
1491  return reinterpret_cast<const ElementConstraintProto*>(
1493  }
1494  static constexpr int kIndexInFileMessages =
1495  7;
1496 
1497  friend void swap(ElementConstraintProto& a, ElementConstraintProto& b) {
1498  a.Swap(&b);
1499  }
1500  inline void Swap(ElementConstraintProto* other) {
1501  if (other == this) return;
1502  if (GetArena() == other->GetArena()) {
1503  InternalSwap(other);
1504  } else {
1505  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1506  }
1507  }
1508  void UnsafeArenaSwap(ElementConstraintProto* other) {
1509  if (other == this) return;
1510  GOOGLE_DCHECK(GetArena() == other->GetArena());
1511  InternalSwap(other);
1512  }
1513 
1514  // implements Message ----------------------------------------------
1515 
1516  inline ElementConstraintProto* New() const final {
1517  return CreateMaybeMessage<ElementConstraintProto>(nullptr);
1518  }
1519 
1520  ElementConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1521  return CreateMaybeMessage<ElementConstraintProto>(arena);
1522  }
1523  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1524  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1525  void CopyFrom(const ElementConstraintProto& from);
1526  void MergeFrom(const ElementConstraintProto& from);
1527  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1528  bool IsInitialized() const final;
1529 
1530  size_t ByteSizeLong() const final;
1531  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1532  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1533  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1534  int GetCachedSize() const final { return _cached_size_.Get(); }
1535 
1536  private:
1537  inline void SharedCtor();
1538  inline void SharedDtor();
1539  void SetCachedSize(int size) const final;
1540  void InternalSwap(ElementConstraintProto* other);
1541  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1542  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1543  return "operations_research.sat.ElementConstraintProto";
1544  }
1545  protected:
1546  explicit ElementConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1547  private:
1548  static void ArenaDtor(void* object);
1549  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1550  public:
1551 
1552  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1553  private:
1554  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1556  }
1557 
1558  public:
1559 
1560  // nested types ----------------------------------------------------
1561 
1562  // accessors -------------------------------------------------------
1563 
1564  enum : int {
1565  kVarsFieldNumber = 3,
1566  kIndexFieldNumber = 1,
1567  kTargetFieldNumber = 2,
1568  };
1569  // repeated int32 vars = 3;
1570  int vars_size() const;
1571  private:
1572  int _internal_vars_size() const;
1573  public:
1574  void clear_vars();
1575  private:
1576  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
1577  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1578  _internal_vars() const;
1579  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
1580  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1581  _internal_mutable_vars();
1582  public:
1583  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
1584  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
1585  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
1586  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1587  vars() const;
1588  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1590 
1591  // int32 index = 1;
1592  void clear_index();
1593  ::PROTOBUF_NAMESPACE_ID::int32 index() const;
1594  void set_index(::PROTOBUF_NAMESPACE_ID::int32 value);
1595  private:
1596  ::PROTOBUF_NAMESPACE_ID::int32 _internal_index() const;
1597  void _internal_set_index(::PROTOBUF_NAMESPACE_ID::int32 value);
1598  public:
1599 
1600  // int32 target = 2;
1602  ::PROTOBUF_NAMESPACE_ID::int32 target() const;
1603  void set_target(::PROTOBUF_NAMESPACE_ID::int32 value);
1604  private:
1605  ::PROTOBUF_NAMESPACE_ID::int32 _internal_target() const;
1606  void _internal_set_target(::PROTOBUF_NAMESPACE_ID::int32 value);
1607  public:
1608 
1609  // @@protoc_insertion_point(class_scope:operations_research.sat.ElementConstraintProto)
1610  private:
1611  class _Internal;
1612 
1613  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1614  typedef void InternalArenaConstructable_;
1615  typedef void DestructorSkippable_;
1616  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
1617  mutable std::atomic<int> _vars_cached_byte_size_;
1618  ::PROTOBUF_NAMESPACE_ID::int32 index_;
1619  ::PROTOBUF_NAMESPACE_ID::int32 target_;
1620  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1621  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1622 };
1623 // -------------------------------------------------------------------
1624 
1625 class IntervalConstraintProto PROTOBUF_FINAL :
1626  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.IntervalConstraintProto) */ {
1627  public:
1628  inline IntervalConstraintProto() : IntervalConstraintProto(nullptr) {}
1630  explicit constexpr IntervalConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
1631 
1632  IntervalConstraintProto(const IntervalConstraintProto& from);
1633  IntervalConstraintProto(IntervalConstraintProto&& from) noexcept
1634  : IntervalConstraintProto() {
1635  *this = ::std::move(from);
1636  }
1637 
1638  inline IntervalConstraintProto& operator=(const IntervalConstraintProto& from) {
1639  CopyFrom(from);
1640  return *this;
1641  }
1642  inline IntervalConstraintProto& operator=(IntervalConstraintProto&& from) noexcept {
1643  if (GetArena() == from.GetArena()) {
1644  if (this != &from) InternalSwap(&from);
1645  } else {
1646  CopyFrom(from);
1647  }
1648  return *this;
1649  }
1650 
1651  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1652  return GetDescriptor();
1653  }
1654  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1655  return GetMetadataStatic().descriptor;
1656  }
1657  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1658  return GetMetadataStatic().reflection;
1659  }
1660  static const IntervalConstraintProto& default_instance() {
1661  return *internal_default_instance();
1662  }
1663  static inline const IntervalConstraintProto* internal_default_instance() {
1664  return reinterpret_cast<const IntervalConstraintProto*>(
1666  }
1667  static constexpr int kIndexInFileMessages =
1668  8;
1669 
1670  friend void swap(IntervalConstraintProto& a, IntervalConstraintProto& b) {
1671  a.Swap(&b);
1672  }
1673  inline void Swap(IntervalConstraintProto* other) {
1674  if (other == this) return;
1675  if (GetArena() == other->GetArena()) {
1676  InternalSwap(other);
1677  } else {
1678  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1679  }
1680  }
1681  void UnsafeArenaSwap(IntervalConstraintProto* other) {
1682  if (other == this) return;
1683  GOOGLE_DCHECK(GetArena() == other->GetArena());
1684  InternalSwap(other);
1685  }
1686 
1687  // implements Message ----------------------------------------------
1688 
1689  inline IntervalConstraintProto* New() const final {
1690  return CreateMaybeMessage<IntervalConstraintProto>(nullptr);
1691  }
1692 
1693  IntervalConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1694  return CreateMaybeMessage<IntervalConstraintProto>(arena);
1695  }
1696  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1697  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1698  void CopyFrom(const IntervalConstraintProto& from);
1699  void MergeFrom(const IntervalConstraintProto& from);
1700  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1701  bool IsInitialized() const final;
1702 
1703  size_t ByteSizeLong() const final;
1704  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1705  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1706  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1707  int GetCachedSize() const final { return _cached_size_.Get(); }
1708 
1709  private:
1710  inline void SharedCtor();
1711  inline void SharedDtor();
1712  void SetCachedSize(int size) const final;
1713  void InternalSwap(IntervalConstraintProto* other);
1714  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1715  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1716  return "operations_research.sat.IntervalConstraintProto";
1717  }
1718  protected:
1719  explicit IntervalConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1720  private:
1721  static void ArenaDtor(void* object);
1722  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1723  public:
1724 
1725  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1726  private:
1727  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1729  }
1730 
1731  public:
1732 
1733  // nested types ----------------------------------------------------
1734 
1735  // accessors -------------------------------------------------------
1736 
1737  enum : int {
1738  kStartViewFieldNumber = 4,
1739  kEndViewFieldNumber = 5,
1740  kSizeViewFieldNumber = 6,
1741  kStartFieldNumber = 1,
1742  kEndFieldNumber = 2,
1743  kSizeFieldNumber = 3,
1744  };
1745  // .operations_research.sat.LinearExpressionProto start_view = 4;
1746  bool has_start_view() const;
1747  private:
1748  bool _internal_has_start_view() const;
1749  public:
1751  const ::operations_research::sat::LinearExpressionProto& start_view() const;
1752  ::operations_research::sat::LinearExpressionProto* release_start_view();
1753  ::operations_research::sat::LinearExpressionProto* mutable_start_view();
1754  void set_allocated_start_view(::operations_research::sat::LinearExpressionProto* start_view);
1755  private:
1756  const ::operations_research::sat::LinearExpressionProto& _internal_start_view() const;
1757  ::operations_research::sat::LinearExpressionProto* _internal_mutable_start_view();
1758  public:
1760  ::operations_research::sat::LinearExpressionProto* start_view);
1761  ::operations_research::sat::LinearExpressionProto* unsafe_arena_release_start_view();
1762 
1763  // .operations_research.sat.LinearExpressionProto end_view = 5;
1764  bool has_end_view() const;
1765  private:
1766  bool _internal_has_end_view() const;
1767  public:
1769  const ::operations_research::sat::LinearExpressionProto& end_view() const;
1770  ::operations_research::sat::LinearExpressionProto* release_end_view();
1771  ::operations_research::sat::LinearExpressionProto* mutable_end_view();
1772  void set_allocated_end_view(::operations_research::sat::LinearExpressionProto* end_view);
1773  private:
1774  const ::operations_research::sat::LinearExpressionProto& _internal_end_view() const;
1775  ::operations_research::sat::LinearExpressionProto* _internal_mutable_end_view();
1776  public:
1778  ::operations_research::sat::LinearExpressionProto* end_view);
1779  ::operations_research::sat::LinearExpressionProto* unsafe_arena_release_end_view();
1780 
1781  // .operations_research.sat.LinearExpressionProto size_view = 6;
1782  bool has_size_view() const;
1783  private:
1784  bool _internal_has_size_view() const;
1785  public:
1787  const ::operations_research::sat::LinearExpressionProto& size_view() const;
1788  ::operations_research::sat::LinearExpressionProto* release_size_view();
1789  ::operations_research::sat::LinearExpressionProto* mutable_size_view();
1790  void set_allocated_size_view(::operations_research::sat::LinearExpressionProto* size_view);
1791  private:
1792  const ::operations_research::sat::LinearExpressionProto& _internal_size_view() const;
1793  ::operations_research::sat::LinearExpressionProto* _internal_mutable_size_view();
1794  public:
1796  ::operations_research::sat::LinearExpressionProto* size_view);
1797  ::operations_research::sat::LinearExpressionProto* unsafe_arena_release_size_view();
1798 
1799  // int32 start = 1;
1800  void clear_start();
1801  ::PROTOBUF_NAMESPACE_ID::int32 start() const;
1802  void set_start(::PROTOBUF_NAMESPACE_ID::int32 value);
1803  private:
1804  ::PROTOBUF_NAMESPACE_ID::int32 _internal_start() const;
1805  void _internal_set_start(::PROTOBUF_NAMESPACE_ID::int32 value);
1806  public:
1807 
1808  // int32 end = 2;
1809  void clear_end();
1810  ::PROTOBUF_NAMESPACE_ID::int32 end() const;
1811  void set_end(::PROTOBUF_NAMESPACE_ID::int32 value);
1812  private:
1813  ::PROTOBUF_NAMESPACE_ID::int32 _internal_end() const;
1814  void _internal_set_end(::PROTOBUF_NAMESPACE_ID::int32 value);
1815  public:
1816 
1817  // int32 size = 3;
1818  void clear_size();
1819  ::PROTOBUF_NAMESPACE_ID::int32 size() const;
1820  void set_size(::PROTOBUF_NAMESPACE_ID::int32 value);
1821  private:
1822  ::PROTOBUF_NAMESPACE_ID::int32 _internal_size() const;
1823  void _internal_set_size(::PROTOBUF_NAMESPACE_ID::int32 value);
1824  public:
1825 
1826  // @@protoc_insertion_point(class_scope:operations_research.sat.IntervalConstraintProto)
1827  private:
1828  class _Internal;
1829 
1830  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1831  typedef void InternalArenaConstructable_;
1832  typedef void DestructorSkippable_;
1833  ::operations_research::sat::LinearExpressionProto* start_view_;
1834  ::operations_research::sat::LinearExpressionProto* end_view_;
1835  ::operations_research::sat::LinearExpressionProto* size_view_;
1836  ::PROTOBUF_NAMESPACE_ID::int32 start_;
1837  ::PROTOBUF_NAMESPACE_ID::int32 end_;
1838  ::PROTOBUF_NAMESPACE_ID::int32 size_;
1839  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1840  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1841 };
1842 // -------------------------------------------------------------------
1843 
1844 class NoOverlapConstraintProto PROTOBUF_FINAL :
1845  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.NoOverlapConstraintProto) */ {
1846  public:
1847  inline NoOverlapConstraintProto() : NoOverlapConstraintProto(nullptr) {}
1849  explicit constexpr NoOverlapConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
1850 
1851  NoOverlapConstraintProto(const NoOverlapConstraintProto& from);
1852  NoOverlapConstraintProto(NoOverlapConstraintProto&& from) noexcept
1853  : NoOverlapConstraintProto() {
1854  *this = ::std::move(from);
1855  }
1856 
1857  inline NoOverlapConstraintProto& operator=(const NoOverlapConstraintProto& from) {
1858  CopyFrom(from);
1859  return *this;
1860  }
1861  inline NoOverlapConstraintProto& operator=(NoOverlapConstraintProto&& from) noexcept {
1862  if (GetArena() == from.GetArena()) {
1863  if (this != &from) InternalSwap(&from);
1864  } else {
1865  CopyFrom(from);
1866  }
1867  return *this;
1868  }
1869 
1870  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1871  return GetDescriptor();
1872  }
1873  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1874  return GetMetadataStatic().descriptor;
1875  }
1876  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1877  return GetMetadataStatic().reflection;
1878  }
1879  static const NoOverlapConstraintProto& default_instance() {
1880  return *internal_default_instance();
1881  }
1882  static inline const NoOverlapConstraintProto* internal_default_instance() {
1883  return reinterpret_cast<const NoOverlapConstraintProto*>(
1885  }
1886  static constexpr int kIndexInFileMessages =
1887  9;
1888 
1889  friend void swap(NoOverlapConstraintProto& a, NoOverlapConstraintProto& b) {
1890  a.Swap(&b);
1891  }
1892  inline void Swap(NoOverlapConstraintProto* other) {
1893  if (other == this) return;
1894  if (GetArena() == other->GetArena()) {
1895  InternalSwap(other);
1896  } else {
1897  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1898  }
1899  }
1900  void UnsafeArenaSwap(NoOverlapConstraintProto* other) {
1901  if (other == this) return;
1902  GOOGLE_DCHECK(GetArena() == other->GetArena());
1903  InternalSwap(other);
1904  }
1905 
1906  // implements Message ----------------------------------------------
1907 
1908  inline NoOverlapConstraintProto* New() const final {
1909  return CreateMaybeMessage<NoOverlapConstraintProto>(nullptr);
1910  }
1911 
1912  NoOverlapConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1913  return CreateMaybeMessage<NoOverlapConstraintProto>(arena);
1914  }
1915  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1916  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1917  void CopyFrom(const NoOverlapConstraintProto& from);
1918  void MergeFrom(const NoOverlapConstraintProto& from);
1919  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1920  bool IsInitialized() const final;
1921 
1922  size_t ByteSizeLong() const final;
1923  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1924  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1925  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1926  int GetCachedSize() const final { return _cached_size_.Get(); }
1927 
1928  private:
1929  inline void SharedCtor();
1930  inline void SharedDtor();
1931  void SetCachedSize(int size) const final;
1932  void InternalSwap(NoOverlapConstraintProto* other);
1933  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1934  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1935  return "operations_research.sat.NoOverlapConstraintProto";
1936  }
1937  protected:
1938  explicit NoOverlapConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1939  private:
1940  static void ArenaDtor(void* object);
1941  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1942  public:
1943 
1944  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1945  private:
1946  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1948  }
1949 
1950  public:
1951 
1952  // nested types ----------------------------------------------------
1953 
1954  // accessors -------------------------------------------------------
1955 
1956  enum : int {
1957  kIntervalsFieldNumber = 1,
1958  };
1959  // repeated int32 intervals = 1;
1960  int intervals_size() const;
1961  private:
1962  int _internal_intervals_size() const;
1963  public:
1965  private:
1966  ::PROTOBUF_NAMESPACE_ID::int32 _internal_intervals(int index) const;
1967  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1968  _internal_intervals() const;
1969  void _internal_add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
1970  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1971  _internal_mutable_intervals();
1972  public:
1973  ::PROTOBUF_NAMESPACE_ID::int32 intervals(int index) const;
1974  void set_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
1975  void add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
1976  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
1977  intervals() const;
1978  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
1980 
1981  // @@protoc_insertion_point(class_scope:operations_research.sat.NoOverlapConstraintProto)
1982  private:
1983  class _Internal;
1984 
1985  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1986  typedef void InternalArenaConstructable_;
1987  typedef void DestructorSkippable_;
1988  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > intervals_;
1989  mutable std::atomic<int> _intervals_cached_byte_size_;
1990  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1991  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
1992 };
1993 // -------------------------------------------------------------------
1994 
1995 class NoOverlap2DConstraintProto PROTOBUF_FINAL :
1996  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.NoOverlap2DConstraintProto) */ {
1997  public:
1998  inline NoOverlap2DConstraintProto() : NoOverlap2DConstraintProto(nullptr) {}
2000  explicit constexpr NoOverlap2DConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
2001 
2002  NoOverlap2DConstraintProto(const NoOverlap2DConstraintProto& from);
2003  NoOverlap2DConstraintProto(NoOverlap2DConstraintProto&& from) noexcept
2004  : NoOverlap2DConstraintProto() {
2005  *this = ::std::move(from);
2006  }
2007 
2008  inline NoOverlap2DConstraintProto& operator=(const NoOverlap2DConstraintProto& from) {
2009  CopyFrom(from);
2010  return *this;
2011  }
2012  inline NoOverlap2DConstraintProto& operator=(NoOverlap2DConstraintProto&& from) noexcept {
2013  if (GetArena() == from.GetArena()) {
2014  if (this != &from) InternalSwap(&from);
2015  } else {
2016  CopyFrom(from);
2017  }
2018  return *this;
2019  }
2020 
2021  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2022  return GetDescriptor();
2023  }
2024  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2025  return GetMetadataStatic().descriptor;
2026  }
2027  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2028  return GetMetadataStatic().reflection;
2029  }
2030  static const NoOverlap2DConstraintProto& default_instance() {
2031  return *internal_default_instance();
2032  }
2033  static inline const NoOverlap2DConstraintProto* internal_default_instance() {
2034  return reinterpret_cast<const NoOverlap2DConstraintProto*>(
2036  }
2037  static constexpr int kIndexInFileMessages =
2038  10;
2039 
2040  friend void swap(NoOverlap2DConstraintProto& a, NoOverlap2DConstraintProto& b) {
2041  a.Swap(&b);
2042  }
2043  inline void Swap(NoOverlap2DConstraintProto* other) {
2044  if (other == this) return;
2045  if (GetArena() == other->GetArena()) {
2046  InternalSwap(other);
2047  } else {
2048  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2049  }
2050  }
2051  void UnsafeArenaSwap(NoOverlap2DConstraintProto* other) {
2052  if (other == this) return;
2053  GOOGLE_DCHECK(GetArena() == other->GetArena());
2054  InternalSwap(other);
2055  }
2056 
2057  // implements Message ----------------------------------------------
2058 
2059  inline NoOverlap2DConstraintProto* New() const final {
2060  return CreateMaybeMessage<NoOverlap2DConstraintProto>(nullptr);
2061  }
2062 
2063  NoOverlap2DConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2064  return CreateMaybeMessage<NoOverlap2DConstraintProto>(arena);
2065  }
2066  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2067  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2068  void CopyFrom(const NoOverlap2DConstraintProto& from);
2069  void MergeFrom(const NoOverlap2DConstraintProto& from);
2070  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2071  bool IsInitialized() const final;
2072 
2073  size_t ByteSizeLong() const final;
2074  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2075  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2076  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2077  int GetCachedSize() const final { return _cached_size_.Get(); }
2078 
2079  private:
2080  inline void SharedCtor();
2081  inline void SharedDtor();
2082  void SetCachedSize(int size) const final;
2083  void InternalSwap(NoOverlap2DConstraintProto* other);
2084  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2085  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2086  return "operations_research.sat.NoOverlap2DConstraintProto";
2087  }
2088  protected:
2089  explicit NoOverlap2DConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2090  private:
2091  static void ArenaDtor(void* object);
2092  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2093  public:
2094 
2095  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2096  private:
2097  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2099  }
2100 
2101  public:
2102 
2103  // nested types ----------------------------------------------------
2104 
2105  // accessors -------------------------------------------------------
2106 
2107  enum : int {
2108  kXIntervalsFieldNumber = 1,
2109  kYIntervalsFieldNumber = 2,
2110  kBoxesWithNullAreaCanOverlapFieldNumber = 3,
2111  };
2112  // repeated int32 x_intervals = 1;
2113  int x_intervals_size() const;
2114  private:
2115  int _internal_x_intervals_size() const;
2116  public:
2118  private:
2119  ::PROTOBUF_NAMESPACE_ID::int32 _internal_x_intervals(int index) const;
2120  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2121  _internal_x_intervals() const;
2122  void _internal_add_x_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
2123  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2124  _internal_mutable_x_intervals();
2125  public:
2126  ::PROTOBUF_NAMESPACE_ID::int32 x_intervals(int index) const;
2127  void set_x_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2128  void add_x_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
2129  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2130  x_intervals() const;
2131  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2133 
2134  // repeated int32 y_intervals = 2;
2135  int y_intervals_size() const;
2136  private:
2137  int _internal_y_intervals_size() const;
2138  public:
2140  private:
2141  ::PROTOBUF_NAMESPACE_ID::int32 _internal_y_intervals(int index) const;
2142  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2143  _internal_y_intervals() const;
2144  void _internal_add_y_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
2145  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2146  _internal_mutable_y_intervals();
2147  public:
2148  ::PROTOBUF_NAMESPACE_ID::int32 y_intervals(int index) const;
2149  void set_y_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2150  void add_y_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
2151  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2152  y_intervals() const;
2153  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2155 
2156  // bool boxes_with_null_area_can_overlap = 3;
2160  private:
2161  bool _internal_boxes_with_null_area_can_overlap() const;
2162  void _internal_set_boxes_with_null_area_can_overlap(bool value);
2163  public:
2164 
2165  // @@protoc_insertion_point(class_scope:operations_research.sat.NoOverlap2DConstraintProto)
2166  private:
2167  class _Internal;
2168 
2169  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2170  typedef void InternalArenaConstructable_;
2171  typedef void DestructorSkippable_;
2172  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > x_intervals_;
2173  mutable std::atomic<int> _x_intervals_cached_byte_size_;
2174  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > y_intervals_;
2175  mutable std::atomic<int> _y_intervals_cached_byte_size_;
2176  bool boxes_with_null_area_can_overlap_;
2177  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2178  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2179 };
2180 // -------------------------------------------------------------------
2181 
2182 class CumulativeConstraintProto PROTOBUF_FINAL :
2183  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CumulativeConstraintProto) */ {
2184  public:
2185  inline CumulativeConstraintProto() : CumulativeConstraintProto(nullptr) {}
2187  explicit constexpr CumulativeConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
2188 
2189  CumulativeConstraintProto(const CumulativeConstraintProto& from);
2190  CumulativeConstraintProto(CumulativeConstraintProto&& from) noexcept
2191  : CumulativeConstraintProto() {
2192  *this = ::std::move(from);
2193  }
2194 
2195  inline CumulativeConstraintProto& operator=(const CumulativeConstraintProto& from) {
2196  CopyFrom(from);
2197  return *this;
2198  }
2199  inline CumulativeConstraintProto& operator=(CumulativeConstraintProto&& from) noexcept {
2200  if (GetArena() == from.GetArena()) {
2201  if (this != &from) InternalSwap(&from);
2202  } else {
2203  CopyFrom(from);
2204  }
2205  return *this;
2206  }
2207 
2208  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2209  return GetDescriptor();
2210  }
2211  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2212  return GetMetadataStatic().descriptor;
2213  }
2214  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2215  return GetMetadataStatic().reflection;
2216  }
2217  static const CumulativeConstraintProto& default_instance() {
2218  return *internal_default_instance();
2219  }
2220  static inline const CumulativeConstraintProto* internal_default_instance() {
2221  return reinterpret_cast<const CumulativeConstraintProto*>(
2223  }
2224  static constexpr int kIndexInFileMessages =
2225  11;
2226 
2227  friend void swap(CumulativeConstraintProto& a, CumulativeConstraintProto& b) {
2228  a.Swap(&b);
2229  }
2230  inline void Swap(CumulativeConstraintProto* other) {
2231  if (other == this) return;
2232  if (GetArena() == other->GetArena()) {
2233  InternalSwap(other);
2234  } else {
2235  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2236  }
2237  }
2238  void UnsafeArenaSwap(CumulativeConstraintProto* other) {
2239  if (other == this) return;
2240  GOOGLE_DCHECK(GetArena() == other->GetArena());
2241  InternalSwap(other);
2242  }
2243 
2244  // implements Message ----------------------------------------------
2245 
2246  inline CumulativeConstraintProto* New() const final {
2247  return CreateMaybeMessage<CumulativeConstraintProto>(nullptr);
2248  }
2249 
2250  CumulativeConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2251  return CreateMaybeMessage<CumulativeConstraintProto>(arena);
2252  }
2253  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2254  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2255  void CopyFrom(const CumulativeConstraintProto& from);
2256  void MergeFrom(const CumulativeConstraintProto& from);
2257  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2258  bool IsInitialized() const final;
2259 
2260  size_t ByteSizeLong() const final;
2261  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2262  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2263  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2264  int GetCachedSize() const final { return _cached_size_.Get(); }
2265 
2266  private:
2267  inline void SharedCtor();
2268  inline void SharedDtor();
2269  void SetCachedSize(int size) const final;
2270  void InternalSwap(CumulativeConstraintProto* other);
2271  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2272  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2273  return "operations_research.sat.CumulativeConstraintProto";
2274  }
2275  protected:
2276  explicit CumulativeConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2277  private:
2278  static void ArenaDtor(void* object);
2279  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2280  public:
2281 
2282  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2283  private:
2284  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2286  }
2287 
2288  public:
2289 
2290  // nested types ----------------------------------------------------
2291 
2292  // accessors -------------------------------------------------------
2293 
2294  enum : int {
2295  kIntervalsFieldNumber = 2,
2296  kDemandsFieldNumber = 3,
2297  kCapacityFieldNumber = 1,
2298  };
2299  // repeated int32 intervals = 2;
2300  int intervals_size() const;
2301  private:
2302  int _internal_intervals_size() const;
2303  public:
2305  private:
2306  ::PROTOBUF_NAMESPACE_ID::int32 _internal_intervals(int index) const;
2307  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2308  _internal_intervals() const;
2309  void _internal_add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
2310  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2311  _internal_mutable_intervals();
2312  public:
2313  ::PROTOBUF_NAMESPACE_ID::int32 intervals(int index) const;
2314  void set_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2315  void add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value);
2316  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2317  intervals() const;
2318  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2320 
2321  // repeated int32 demands = 3;
2322  int demands_size() const;
2323  private:
2324  int _internal_demands_size() const;
2325  public:
2327  private:
2328  ::PROTOBUF_NAMESPACE_ID::int32 _internal_demands(int index) const;
2329  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2330  _internal_demands() const;
2331  void _internal_add_demands(::PROTOBUF_NAMESPACE_ID::int32 value);
2332  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2333  _internal_mutable_demands();
2334  public:
2335  ::PROTOBUF_NAMESPACE_ID::int32 demands(int index) const;
2336  void set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2337  void add_demands(::PROTOBUF_NAMESPACE_ID::int32 value);
2338  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2339  demands() const;
2340  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2342 
2343  // int32 capacity = 1;
2345  ::PROTOBUF_NAMESPACE_ID::int32 capacity() const;
2346  void set_capacity(::PROTOBUF_NAMESPACE_ID::int32 value);
2347  private:
2348  ::PROTOBUF_NAMESPACE_ID::int32 _internal_capacity() const;
2349  void _internal_set_capacity(::PROTOBUF_NAMESPACE_ID::int32 value);
2350  public:
2351 
2352  // @@protoc_insertion_point(class_scope:operations_research.sat.CumulativeConstraintProto)
2353  private:
2354  class _Internal;
2355 
2356  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2357  typedef void InternalArenaConstructable_;
2358  typedef void DestructorSkippable_;
2359  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > intervals_;
2360  mutable std::atomic<int> _intervals_cached_byte_size_;
2361  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > demands_;
2362  mutable std::atomic<int> _demands_cached_byte_size_;
2363  ::PROTOBUF_NAMESPACE_ID::int32 capacity_;
2364  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2365  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2366 };
2367 // -------------------------------------------------------------------
2368 
2369 class ReservoirConstraintProto PROTOBUF_FINAL :
2370  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.ReservoirConstraintProto) */ {
2371  public:
2372  inline ReservoirConstraintProto() : ReservoirConstraintProto(nullptr) {}
2374  explicit constexpr ReservoirConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
2375 
2376  ReservoirConstraintProto(const ReservoirConstraintProto& from);
2377  ReservoirConstraintProto(ReservoirConstraintProto&& from) noexcept
2378  : ReservoirConstraintProto() {
2379  *this = ::std::move(from);
2380  }
2381 
2382  inline ReservoirConstraintProto& operator=(const ReservoirConstraintProto& from) {
2383  CopyFrom(from);
2384  return *this;
2385  }
2386  inline ReservoirConstraintProto& operator=(ReservoirConstraintProto&& from) noexcept {
2387  if (GetArena() == from.GetArena()) {
2388  if (this != &from) InternalSwap(&from);
2389  } else {
2390  CopyFrom(from);
2391  }
2392  return *this;
2393  }
2394 
2395  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2396  return GetDescriptor();
2397  }
2398  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2399  return GetMetadataStatic().descriptor;
2400  }
2401  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2402  return GetMetadataStatic().reflection;
2403  }
2404  static const ReservoirConstraintProto& default_instance() {
2405  return *internal_default_instance();
2406  }
2407  static inline const ReservoirConstraintProto* internal_default_instance() {
2408  return reinterpret_cast<const ReservoirConstraintProto*>(
2410  }
2411  static constexpr int kIndexInFileMessages =
2412  12;
2413 
2414  friend void swap(ReservoirConstraintProto& a, ReservoirConstraintProto& b) {
2415  a.Swap(&b);
2416  }
2417  inline void Swap(ReservoirConstraintProto* other) {
2418  if (other == this) return;
2419  if (GetArena() == other->GetArena()) {
2420  InternalSwap(other);
2421  } else {
2422  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2423  }
2424  }
2425  void UnsafeArenaSwap(ReservoirConstraintProto* other) {
2426  if (other == this) return;
2427  GOOGLE_DCHECK(GetArena() == other->GetArena());
2428  InternalSwap(other);
2429  }
2430 
2431  // implements Message ----------------------------------------------
2432 
2433  inline ReservoirConstraintProto* New() const final {
2434  return CreateMaybeMessage<ReservoirConstraintProto>(nullptr);
2435  }
2436 
2437  ReservoirConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2438  return CreateMaybeMessage<ReservoirConstraintProto>(arena);
2439  }
2440  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2441  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2442  void CopyFrom(const ReservoirConstraintProto& from);
2443  void MergeFrom(const ReservoirConstraintProto& from);
2444  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2445  bool IsInitialized() const final;
2446 
2447  size_t ByteSizeLong() const final;
2448  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2449  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2450  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2451  int GetCachedSize() const final { return _cached_size_.Get(); }
2452 
2453  private:
2454  inline void SharedCtor();
2455  inline void SharedDtor();
2456  void SetCachedSize(int size) const final;
2457  void InternalSwap(ReservoirConstraintProto* other);
2458  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2459  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2460  return "operations_research.sat.ReservoirConstraintProto";
2461  }
2462  protected:
2463  explicit ReservoirConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2464  private:
2465  static void ArenaDtor(void* object);
2466  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2467  public:
2468 
2469  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2470  private:
2471  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2473  }
2474 
2475  public:
2476 
2477  // nested types ----------------------------------------------------
2478 
2479  // accessors -------------------------------------------------------
2480 
2481  enum : int {
2482  kTimesFieldNumber = 3,
2483  kDemandsFieldNumber = 4,
2484  kActivesFieldNumber = 5,
2485  kMinLevelFieldNumber = 1,
2486  kMaxLevelFieldNumber = 2,
2487  };
2488  // repeated int32 times = 3;
2489  int times_size() const;
2490  private:
2491  int _internal_times_size() const;
2492  public:
2493  void clear_times();
2494  private:
2495  ::PROTOBUF_NAMESPACE_ID::int32 _internal_times(int index) const;
2496  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2497  _internal_times() const;
2498  void _internal_add_times(::PROTOBUF_NAMESPACE_ID::int32 value);
2499  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2500  _internal_mutable_times();
2501  public:
2502  ::PROTOBUF_NAMESPACE_ID::int32 times(int index) const;
2503  void set_times(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2504  void add_times(::PROTOBUF_NAMESPACE_ID::int32 value);
2505  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2506  times() const;
2507  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2509 
2510  // repeated int64 demands = 4;
2511  int demands_size() const;
2512  private:
2513  int _internal_demands_size() const;
2514  public:
2516  private:
2517  ::PROTOBUF_NAMESPACE_ID::int64 _internal_demands(int index) const;
2518  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
2519  _internal_demands() const;
2520  void _internal_add_demands(::PROTOBUF_NAMESPACE_ID::int64 value);
2521  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
2522  _internal_mutable_demands();
2523  public:
2524  ::PROTOBUF_NAMESPACE_ID::int64 demands(int index) const;
2525  void set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
2526  void add_demands(::PROTOBUF_NAMESPACE_ID::int64 value);
2527  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
2528  demands() const;
2529  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
2531 
2532  // repeated int32 actives = 5;
2533  int actives_size() const;
2534  private:
2535  int _internal_actives_size() const;
2536  public:
2538  private:
2539  ::PROTOBUF_NAMESPACE_ID::int32 _internal_actives(int index) const;
2540  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2541  _internal_actives() const;
2542  void _internal_add_actives(::PROTOBUF_NAMESPACE_ID::int32 value);
2543  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2544  _internal_mutable_actives();
2545  public:
2546  ::PROTOBUF_NAMESPACE_ID::int32 actives(int index) const;
2547  void set_actives(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2548  void add_actives(::PROTOBUF_NAMESPACE_ID::int32 value);
2549  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2550  actives() const;
2551  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2553 
2554  // int64 min_level = 1;
2556  ::PROTOBUF_NAMESPACE_ID::int64 min_level() const;
2557  void set_min_level(::PROTOBUF_NAMESPACE_ID::int64 value);
2558  private:
2559  ::PROTOBUF_NAMESPACE_ID::int64 _internal_min_level() const;
2560  void _internal_set_min_level(::PROTOBUF_NAMESPACE_ID::int64 value);
2561  public:
2562 
2563  // int64 max_level = 2;
2565  ::PROTOBUF_NAMESPACE_ID::int64 max_level() const;
2566  void set_max_level(::PROTOBUF_NAMESPACE_ID::int64 value);
2567  private:
2568  ::PROTOBUF_NAMESPACE_ID::int64 _internal_max_level() const;
2569  void _internal_set_max_level(::PROTOBUF_NAMESPACE_ID::int64 value);
2570  public:
2571 
2572  // @@protoc_insertion_point(class_scope:operations_research.sat.ReservoirConstraintProto)
2573  private:
2574  class _Internal;
2575 
2576  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2577  typedef void InternalArenaConstructable_;
2578  typedef void DestructorSkippable_;
2579  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > times_;
2580  mutable std::atomic<int> _times_cached_byte_size_;
2581  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > demands_;
2582  mutable std::atomic<int> _demands_cached_byte_size_;
2583  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > actives_;
2584  mutable std::atomic<int> _actives_cached_byte_size_;
2585  ::PROTOBUF_NAMESPACE_ID::int64 min_level_;
2586  ::PROTOBUF_NAMESPACE_ID::int64 max_level_;
2587  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2588  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2589 };
2590 // -------------------------------------------------------------------
2591 
2592 class CircuitConstraintProto PROTOBUF_FINAL :
2593  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CircuitConstraintProto) */ {
2594  public:
2595  inline CircuitConstraintProto() : CircuitConstraintProto(nullptr) {}
2597  explicit constexpr CircuitConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
2598 
2599  CircuitConstraintProto(const CircuitConstraintProto& from);
2600  CircuitConstraintProto(CircuitConstraintProto&& from) noexcept
2601  : CircuitConstraintProto() {
2602  *this = ::std::move(from);
2603  }
2604 
2605  inline CircuitConstraintProto& operator=(const CircuitConstraintProto& from) {
2606  CopyFrom(from);
2607  return *this;
2608  }
2609  inline CircuitConstraintProto& operator=(CircuitConstraintProto&& from) noexcept {
2610  if (GetArena() == from.GetArena()) {
2611  if (this != &from) InternalSwap(&from);
2612  } else {
2613  CopyFrom(from);
2614  }
2615  return *this;
2616  }
2617 
2618  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2619  return GetDescriptor();
2620  }
2621  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2622  return GetMetadataStatic().descriptor;
2623  }
2624  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2625  return GetMetadataStatic().reflection;
2626  }
2627  static const CircuitConstraintProto& default_instance() {
2628  return *internal_default_instance();
2629  }
2630  static inline const CircuitConstraintProto* internal_default_instance() {
2631  return reinterpret_cast<const CircuitConstraintProto*>(
2633  }
2634  static constexpr int kIndexInFileMessages =
2635  13;
2636 
2637  friend void swap(CircuitConstraintProto& a, CircuitConstraintProto& b) {
2638  a.Swap(&b);
2639  }
2640  inline void Swap(CircuitConstraintProto* other) {
2641  if (other == this) return;
2642  if (GetArena() == other->GetArena()) {
2643  InternalSwap(other);
2644  } else {
2645  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2646  }
2647  }
2648  void UnsafeArenaSwap(CircuitConstraintProto* other) {
2649  if (other == this) return;
2650  GOOGLE_DCHECK(GetArena() == other->GetArena());
2651  InternalSwap(other);
2652  }
2653 
2654  // implements Message ----------------------------------------------
2655 
2656  inline CircuitConstraintProto* New() const final {
2657  return CreateMaybeMessage<CircuitConstraintProto>(nullptr);
2658  }
2659 
2660  CircuitConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2661  return CreateMaybeMessage<CircuitConstraintProto>(arena);
2662  }
2663  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2664  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2665  void CopyFrom(const CircuitConstraintProto& from);
2666  void MergeFrom(const CircuitConstraintProto& from);
2667  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2668  bool IsInitialized() const final;
2669 
2670  size_t ByteSizeLong() const final;
2671  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2672  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2673  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2674  int GetCachedSize() const final { return _cached_size_.Get(); }
2675 
2676  private:
2677  inline void SharedCtor();
2678  inline void SharedDtor();
2679  void SetCachedSize(int size) const final;
2680  void InternalSwap(CircuitConstraintProto* other);
2681  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2682  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2683  return "operations_research.sat.CircuitConstraintProto";
2684  }
2685  protected:
2686  explicit CircuitConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2687  private:
2688  static void ArenaDtor(void* object);
2689  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2690  public:
2691 
2692  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2693  private:
2694  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2696  }
2697 
2698  public:
2699 
2700  // nested types ----------------------------------------------------
2701 
2702  // accessors -------------------------------------------------------
2703 
2704  enum : int {
2705  kTailsFieldNumber = 3,
2706  kHeadsFieldNumber = 4,
2707  kLiteralsFieldNumber = 5,
2708  };
2709  // repeated int32 tails = 3;
2710  int tails_size() const;
2711  private:
2712  int _internal_tails_size() const;
2713  public:
2714  void clear_tails();
2715  private:
2716  ::PROTOBUF_NAMESPACE_ID::int32 _internal_tails(int index) const;
2717  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2718  _internal_tails() const;
2719  void _internal_add_tails(::PROTOBUF_NAMESPACE_ID::int32 value);
2720  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2721  _internal_mutable_tails();
2722  public:
2723  ::PROTOBUF_NAMESPACE_ID::int32 tails(int index) const;
2724  void set_tails(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2725  void add_tails(::PROTOBUF_NAMESPACE_ID::int32 value);
2726  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2727  tails() const;
2728  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2730 
2731  // repeated int32 heads = 4;
2732  int heads_size() const;
2733  private:
2734  int _internal_heads_size() const;
2735  public:
2736  void clear_heads();
2737  private:
2738  ::PROTOBUF_NAMESPACE_ID::int32 _internal_heads(int index) const;
2739  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2740  _internal_heads() const;
2741  void _internal_add_heads(::PROTOBUF_NAMESPACE_ID::int32 value);
2742  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2743  _internal_mutable_heads();
2744  public:
2745  ::PROTOBUF_NAMESPACE_ID::int32 heads(int index) const;
2746  void set_heads(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2747  void add_heads(::PROTOBUF_NAMESPACE_ID::int32 value);
2748  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2749  heads() const;
2750  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2752 
2753  // repeated int32 literals = 5;
2754  int literals_size() const;
2755  private:
2756  int _internal_literals_size() const;
2757  public:
2759  private:
2760  ::PROTOBUF_NAMESPACE_ID::int32 _internal_literals(int index) const;
2761  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2762  _internal_literals() const;
2763  void _internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value);
2764  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2765  _internal_mutable_literals();
2766  public:
2767  ::PROTOBUF_NAMESPACE_ID::int32 literals(int index) const;
2768  void set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2769  void add_literals(::PROTOBUF_NAMESPACE_ID::int32 value);
2770  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2771  literals() const;
2772  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2774 
2775  // @@protoc_insertion_point(class_scope:operations_research.sat.CircuitConstraintProto)
2776  private:
2777  class _Internal;
2778 
2779  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
2780  typedef void InternalArenaConstructable_;
2781  typedef void DestructorSkippable_;
2782  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > tails_;
2783  mutable std::atomic<int> _tails_cached_byte_size_;
2784  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > heads_;
2785  mutable std::atomic<int> _heads_cached_byte_size_;
2786  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > literals_;
2787  mutable std::atomic<int> _literals_cached_byte_size_;
2788  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
2789  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
2790 };
2791 // -------------------------------------------------------------------
2792 
2793 class RoutesConstraintProto PROTOBUF_FINAL :
2794  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.RoutesConstraintProto) */ {
2795  public:
2796  inline RoutesConstraintProto() : RoutesConstraintProto(nullptr) {}
2798  explicit constexpr RoutesConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
2799 
2800  RoutesConstraintProto(const RoutesConstraintProto& from);
2801  RoutesConstraintProto(RoutesConstraintProto&& from) noexcept
2802  : RoutesConstraintProto() {
2803  *this = ::std::move(from);
2804  }
2805 
2806  inline RoutesConstraintProto& operator=(const RoutesConstraintProto& from) {
2807  CopyFrom(from);
2808  return *this;
2809  }
2810  inline RoutesConstraintProto& operator=(RoutesConstraintProto&& from) noexcept {
2811  if (GetArena() == from.GetArena()) {
2812  if (this != &from) InternalSwap(&from);
2813  } else {
2814  CopyFrom(from);
2815  }
2816  return *this;
2817  }
2818 
2819  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
2820  return GetDescriptor();
2821  }
2822  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
2823  return GetMetadataStatic().descriptor;
2824  }
2825  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
2826  return GetMetadataStatic().reflection;
2827  }
2828  static const RoutesConstraintProto& default_instance() {
2829  return *internal_default_instance();
2830  }
2831  static inline const RoutesConstraintProto* internal_default_instance() {
2832  return reinterpret_cast<const RoutesConstraintProto*>(
2834  }
2835  static constexpr int kIndexInFileMessages =
2836  14;
2837 
2838  friend void swap(RoutesConstraintProto& a, RoutesConstraintProto& b) {
2839  a.Swap(&b);
2840  }
2841  inline void Swap(RoutesConstraintProto* other) {
2842  if (other == this) return;
2843  if (GetArena() == other->GetArena()) {
2844  InternalSwap(other);
2845  } else {
2846  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
2847  }
2848  }
2849  void UnsafeArenaSwap(RoutesConstraintProto* other) {
2850  if (other == this) return;
2851  GOOGLE_DCHECK(GetArena() == other->GetArena());
2852  InternalSwap(other);
2853  }
2854 
2855  // implements Message ----------------------------------------------
2856 
2857  inline RoutesConstraintProto* New() const final {
2858  return CreateMaybeMessage<RoutesConstraintProto>(nullptr);
2859  }
2860 
2861  RoutesConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
2862  return CreateMaybeMessage<RoutesConstraintProto>(arena);
2863  }
2864  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2865  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
2866  void CopyFrom(const RoutesConstraintProto& from);
2867  void MergeFrom(const RoutesConstraintProto& from);
2868  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
2869  bool IsInitialized() const final;
2870 
2871  size_t ByteSizeLong() const final;
2872  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
2873  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
2874  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
2875  int GetCachedSize() const final { return _cached_size_.Get(); }
2876 
2877  private:
2878  inline void SharedCtor();
2879  inline void SharedDtor();
2880  void SetCachedSize(int size) const final;
2881  void InternalSwap(RoutesConstraintProto* other);
2882  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
2883  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
2884  return "operations_research.sat.RoutesConstraintProto";
2885  }
2886  protected:
2887  explicit RoutesConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2888  private:
2889  static void ArenaDtor(void* object);
2890  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
2891  public:
2892 
2893  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
2894  private:
2895  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
2897  }
2898 
2899  public:
2900 
2901  // nested types ----------------------------------------------------
2902 
2903  // accessors -------------------------------------------------------
2904 
2905  enum : int {
2906  kTailsFieldNumber = 1,
2907  kHeadsFieldNumber = 2,
2908  kLiteralsFieldNumber = 3,
2909  kDemandsFieldNumber = 4,
2910  kCapacityFieldNumber = 5,
2911  };
2912  // repeated int32 tails = 1;
2913  int tails_size() const;
2914  private:
2915  int _internal_tails_size() const;
2916  public:
2917  void clear_tails();
2918  private:
2919  ::PROTOBUF_NAMESPACE_ID::int32 _internal_tails(int index) const;
2920  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2921  _internal_tails() const;
2922  void _internal_add_tails(::PROTOBUF_NAMESPACE_ID::int32 value);
2923  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2924  _internal_mutable_tails();
2925  public:
2926  ::PROTOBUF_NAMESPACE_ID::int32 tails(int index) const;
2927  void set_tails(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2928  void add_tails(::PROTOBUF_NAMESPACE_ID::int32 value);
2929  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2930  tails() const;
2931  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2933 
2934  // repeated int32 heads = 2;
2935  int heads_size() const;
2936  private:
2937  int _internal_heads_size() const;
2938  public:
2939  void clear_heads();
2940  private:
2941  ::PROTOBUF_NAMESPACE_ID::int32 _internal_heads(int index) const;
2942  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2943  _internal_heads() const;
2944  void _internal_add_heads(::PROTOBUF_NAMESPACE_ID::int32 value);
2945  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2946  _internal_mutable_heads();
2947  public:
2948  ::PROTOBUF_NAMESPACE_ID::int32 heads(int index) const;
2949  void set_heads(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2950  void add_heads(::PROTOBUF_NAMESPACE_ID::int32 value);
2951  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2952  heads() const;
2953  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2955 
2956  // repeated int32 literals = 3;
2957  int literals_size() const;
2958  private:
2959  int _internal_literals_size() const;
2960  public:
2962  private:
2963  ::PROTOBUF_NAMESPACE_ID::int32 _internal_literals(int index) const;
2964  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2965  _internal_literals() const;
2966  void _internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value);
2967  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2968  _internal_mutable_literals();
2969  public:
2970  ::PROTOBUF_NAMESPACE_ID::int32 literals(int index) const;
2971  void set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2972  void add_literals(::PROTOBUF_NAMESPACE_ID::int32 value);
2973  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2974  literals() const;
2975  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2977 
2978  // repeated int32 demands = 4;
2979  int demands_size() const;
2980  private:
2981  int _internal_demands_size() const;
2982  public:
2984  private:
2985  ::PROTOBUF_NAMESPACE_ID::int32 _internal_demands(int index) const;
2986  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2987  _internal_demands() const;
2988  void _internal_add_demands(::PROTOBUF_NAMESPACE_ID::int32 value);
2989  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2990  _internal_mutable_demands();
2991  public:
2992  ::PROTOBUF_NAMESPACE_ID::int32 demands(int index) const;
2993  void set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
2994  void add_demands(::PROTOBUF_NAMESPACE_ID::int32 value);
2995  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
2996  demands() const;
2997  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
2999 
3000  // int64 capacity = 5;
3002  ::PROTOBUF_NAMESPACE_ID::int64 capacity() const;
3003  void set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value);
3004  private:
3005  ::PROTOBUF_NAMESPACE_ID::int64 _internal_capacity() const;
3006  void _internal_set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value);
3007  public:
3008 
3009  // @@protoc_insertion_point(class_scope:operations_research.sat.RoutesConstraintProto)
3010  private:
3011  class _Internal;
3012 
3013  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3014  typedef void InternalArenaConstructable_;
3015  typedef void DestructorSkippable_;
3016  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > tails_;
3017  mutable std::atomic<int> _tails_cached_byte_size_;
3018  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > heads_;
3019  mutable std::atomic<int> _heads_cached_byte_size_;
3020  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > literals_;
3021  mutable std::atomic<int> _literals_cached_byte_size_;
3022  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > demands_;
3023  mutable std::atomic<int> _demands_cached_byte_size_;
3024  ::PROTOBUF_NAMESPACE_ID::int64 capacity_;
3025  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3026  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3027 };
3028 // -------------------------------------------------------------------
3029 
3030 class TableConstraintProto PROTOBUF_FINAL :
3031  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.TableConstraintProto) */ {
3032  public:
3033  inline TableConstraintProto() : TableConstraintProto(nullptr) {}
3035  explicit constexpr TableConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
3036 
3037  TableConstraintProto(const TableConstraintProto& from);
3038  TableConstraintProto(TableConstraintProto&& from) noexcept
3039  : TableConstraintProto() {
3040  *this = ::std::move(from);
3041  }
3042 
3043  inline TableConstraintProto& operator=(const TableConstraintProto& from) {
3044  CopyFrom(from);
3045  return *this;
3046  }
3047  inline TableConstraintProto& operator=(TableConstraintProto&& from) noexcept {
3048  if (GetArena() == from.GetArena()) {
3049  if (this != &from) InternalSwap(&from);
3050  } else {
3051  CopyFrom(from);
3052  }
3053  return *this;
3054  }
3055 
3056  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3057  return GetDescriptor();
3058  }
3059  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3060  return GetMetadataStatic().descriptor;
3061  }
3062  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3063  return GetMetadataStatic().reflection;
3064  }
3065  static const TableConstraintProto& default_instance() {
3066  return *internal_default_instance();
3067  }
3068  static inline const TableConstraintProto* internal_default_instance() {
3069  return reinterpret_cast<const TableConstraintProto*>(
3071  }
3072  static constexpr int kIndexInFileMessages =
3073  15;
3074 
3075  friend void swap(TableConstraintProto& a, TableConstraintProto& b) {
3076  a.Swap(&b);
3077  }
3078  inline void Swap(TableConstraintProto* other) {
3079  if (other == this) return;
3080  if (GetArena() == other->GetArena()) {
3081  InternalSwap(other);
3082  } else {
3083  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3084  }
3085  }
3086  void UnsafeArenaSwap(TableConstraintProto* other) {
3087  if (other == this) return;
3088  GOOGLE_DCHECK(GetArena() == other->GetArena());
3089  InternalSwap(other);
3090  }
3091 
3092  // implements Message ----------------------------------------------
3093 
3094  inline TableConstraintProto* New() const final {
3095  return CreateMaybeMessage<TableConstraintProto>(nullptr);
3096  }
3097 
3098  TableConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3099  return CreateMaybeMessage<TableConstraintProto>(arena);
3100  }
3101  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3102  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3103  void CopyFrom(const TableConstraintProto& from);
3104  void MergeFrom(const TableConstraintProto& from);
3105  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3106  bool IsInitialized() const final;
3107 
3108  size_t ByteSizeLong() const final;
3109  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3110  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3111  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3112  int GetCachedSize() const final { return _cached_size_.Get(); }
3113 
3114  private:
3115  inline void SharedCtor();
3116  inline void SharedDtor();
3117  void SetCachedSize(int size) const final;
3118  void InternalSwap(TableConstraintProto* other);
3119  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3120  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3121  return "operations_research.sat.TableConstraintProto";
3122  }
3123  protected:
3124  explicit TableConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3125  private:
3126  static void ArenaDtor(void* object);
3127  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3128  public:
3129 
3130  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3131  private:
3132  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3134  }
3135 
3136  public:
3137 
3138  // nested types ----------------------------------------------------
3139 
3140  // accessors -------------------------------------------------------
3141 
3142  enum : int {
3143  kVarsFieldNumber = 1,
3144  kValuesFieldNumber = 2,
3145  kNegatedFieldNumber = 3,
3146  };
3147  // repeated int32 vars = 1;
3148  int vars_size() const;
3149  private:
3150  int _internal_vars_size() const;
3151  public:
3152  void clear_vars();
3153  private:
3154  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
3155  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3156  _internal_vars() const;
3157  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
3158  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3159  _internal_mutable_vars();
3160  public:
3161  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
3162  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
3163  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
3164  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3165  vars() const;
3166  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3168 
3169  // repeated int64 values = 2;
3170  int values_size() const;
3171  private:
3172  int _internal_values_size() const;
3173  public:
3175  private:
3176  ::PROTOBUF_NAMESPACE_ID::int64 _internal_values(int index) const;
3177  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3178  _internal_values() const;
3179  void _internal_add_values(::PROTOBUF_NAMESPACE_ID::int64 value);
3180  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3181  _internal_mutable_values();
3182  public:
3183  ::PROTOBUF_NAMESPACE_ID::int64 values(int index) const;
3184  void set_values(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
3185  void add_values(::PROTOBUF_NAMESPACE_ID::int64 value);
3186  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3187  values() const;
3188  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3190 
3191  // bool negated = 3;
3193  bool negated() const;
3194  void set_negated(bool value);
3195  private:
3196  bool _internal_negated() const;
3197  void _internal_set_negated(bool value);
3198  public:
3199 
3200  // @@protoc_insertion_point(class_scope:operations_research.sat.TableConstraintProto)
3201  private:
3202  class _Internal;
3203 
3204  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3205  typedef void InternalArenaConstructable_;
3206  typedef void DestructorSkippable_;
3207  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
3208  mutable std::atomic<int> _vars_cached_byte_size_;
3209  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > values_;
3210  mutable std::atomic<int> _values_cached_byte_size_;
3211  bool negated_;
3212  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3213  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3214 };
3215 // -------------------------------------------------------------------
3216 
3217 class InverseConstraintProto PROTOBUF_FINAL :
3218  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.InverseConstraintProto) */ {
3219  public:
3220  inline InverseConstraintProto() : InverseConstraintProto(nullptr) {}
3222  explicit constexpr InverseConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
3223 
3224  InverseConstraintProto(const InverseConstraintProto& from);
3225  InverseConstraintProto(InverseConstraintProto&& from) noexcept
3226  : InverseConstraintProto() {
3227  *this = ::std::move(from);
3228  }
3229 
3230  inline InverseConstraintProto& operator=(const InverseConstraintProto& from) {
3231  CopyFrom(from);
3232  return *this;
3233  }
3234  inline InverseConstraintProto& operator=(InverseConstraintProto&& from) noexcept {
3235  if (GetArena() == from.GetArena()) {
3236  if (this != &from) InternalSwap(&from);
3237  } else {
3238  CopyFrom(from);
3239  }
3240  return *this;
3241  }
3242 
3243  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3244  return GetDescriptor();
3245  }
3246  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3247  return GetMetadataStatic().descriptor;
3248  }
3249  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3250  return GetMetadataStatic().reflection;
3251  }
3252  static const InverseConstraintProto& default_instance() {
3253  return *internal_default_instance();
3254  }
3255  static inline const InverseConstraintProto* internal_default_instance() {
3256  return reinterpret_cast<const InverseConstraintProto*>(
3258  }
3259  static constexpr int kIndexInFileMessages =
3260  16;
3261 
3262  friend void swap(InverseConstraintProto& a, InverseConstraintProto& b) {
3263  a.Swap(&b);
3264  }
3265  inline void Swap(InverseConstraintProto* other) {
3266  if (other == this) return;
3267  if (GetArena() == other->GetArena()) {
3268  InternalSwap(other);
3269  } else {
3270  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3271  }
3272  }
3273  void UnsafeArenaSwap(InverseConstraintProto* other) {
3274  if (other == this) return;
3275  GOOGLE_DCHECK(GetArena() == other->GetArena());
3276  InternalSwap(other);
3277  }
3278 
3279  // implements Message ----------------------------------------------
3280 
3281  inline InverseConstraintProto* New() const final {
3282  return CreateMaybeMessage<InverseConstraintProto>(nullptr);
3283  }
3284 
3285  InverseConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3286  return CreateMaybeMessage<InverseConstraintProto>(arena);
3287  }
3288  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3289  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3290  void CopyFrom(const InverseConstraintProto& from);
3291  void MergeFrom(const InverseConstraintProto& from);
3292  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3293  bool IsInitialized() const final;
3294 
3295  size_t ByteSizeLong() const final;
3296  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3297  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3298  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3299  int GetCachedSize() const final { return _cached_size_.Get(); }
3300 
3301  private:
3302  inline void SharedCtor();
3303  inline void SharedDtor();
3304  void SetCachedSize(int size) const final;
3305  void InternalSwap(InverseConstraintProto* other);
3306  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3307  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3308  return "operations_research.sat.InverseConstraintProto";
3309  }
3310  protected:
3311  explicit InverseConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3312  private:
3313  static void ArenaDtor(void* object);
3314  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3315  public:
3316 
3317  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3318  private:
3319  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3321  }
3322 
3323  public:
3324 
3325  // nested types ----------------------------------------------------
3326 
3327  // accessors -------------------------------------------------------
3328 
3329  enum : int {
3330  kFDirectFieldNumber = 1,
3331  kFInverseFieldNumber = 2,
3332  };
3333  // repeated int32 f_direct = 1;
3334  int f_direct_size() const;
3335  private:
3336  int _internal_f_direct_size() const;
3337  public:
3339  private:
3340  ::PROTOBUF_NAMESPACE_ID::int32 _internal_f_direct(int index) const;
3341  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3342  _internal_f_direct() const;
3343  void _internal_add_f_direct(::PROTOBUF_NAMESPACE_ID::int32 value);
3344  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3345  _internal_mutable_f_direct();
3346  public:
3347  ::PROTOBUF_NAMESPACE_ID::int32 f_direct(int index) const;
3348  void set_f_direct(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
3349  void add_f_direct(::PROTOBUF_NAMESPACE_ID::int32 value);
3350  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3351  f_direct() const;
3352  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3354 
3355  // repeated int32 f_inverse = 2;
3356  int f_inverse_size() const;
3357  private:
3358  int _internal_f_inverse_size() const;
3359  public:
3361  private:
3362  ::PROTOBUF_NAMESPACE_ID::int32 _internal_f_inverse(int index) const;
3363  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3364  _internal_f_inverse() const;
3365  void _internal_add_f_inverse(::PROTOBUF_NAMESPACE_ID::int32 value);
3366  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3367  _internal_mutable_f_inverse();
3368  public:
3369  ::PROTOBUF_NAMESPACE_ID::int32 f_inverse(int index) const;
3370  void set_f_inverse(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
3371  void add_f_inverse(::PROTOBUF_NAMESPACE_ID::int32 value);
3372  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3373  f_inverse() const;
3374  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3376 
3377  // @@protoc_insertion_point(class_scope:operations_research.sat.InverseConstraintProto)
3378  private:
3379  class _Internal;
3380 
3381  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3382  typedef void InternalArenaConstructable_;
3383  typedef void DestructorSkippable_;
3384  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > f_direct_;
3385  mutable std::atomic<int> _f_direct_cached_byte_size_;
3386  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > f_inverse_;
3387  mutable std::atomic<int> _f_inverse_cached_byte_size_;
3388  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3389  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3390 };
3391 // -------------------------------------------------------------------
3392 
3393 class AutomatonConstraintProto PROTOBUF_FINAL :
3394  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.AutomatonConstraintProto) */ {
3395  public:
3396  inline AutomatonConstraintProto() : AutomatonConstraintProto(nullptr) {}
3398  explicit constexpr AutomatonConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
3399 
3400  AutomatonConstraintProto(const AutomatonConstraintProto& from);
3401  AutomatonConstraintProto(AutomatonConstraintProto&& from) noexcept
3402  : AutomatonConstraintProto() {
3403  *this = ::std::move(from);
3404  }
3405 
3406  inline AutomatonConstraintProto& operator=(const AutomatonConstraintProto& from) {
3407  CopyFrom(from);
3408  return *this;
3409  }
3410  inline AutomatonConstraintProto& operator=(AutomatonConstraintProto&& from) noexcept {
3411  if (GetArena() == from.GetArena()) {
3412  if (this != &from) InternalSwap(&from);
3413  } else {
3414  CopyFrom(from);
3415  }
3416  return *this;
3417  }
3418 
3419  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3420  return GetDescriptor();
3421  }
3422  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3423  return GetMetadataStatic().descriptor;
3424  }
3425  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3426  return GetMetadataStatic().reflection;
3427  }
3428  static const AutomatonConstraintProto& default_instance() {
3429  return *internal_default_instance();
3430  }
3431  static inline const AutomatonConstraintProto* internal_default_instance() {
3432  return reinterpret_cast<const AutomatonConstraintProto*>(
3434  }
3435  static constexpr int kIndexInFileMessages =
3436  17;
3437 
3438  friend void swap(AutomatonConstraintProto& a, AutomatonConstraintProto& b) {
3439  a.Swap(&b);
3440  }
3441  inline void Swap(AutomatonConstraintProto* other) {
3442  if (other == this) return;
3443  if (GetArena() == other->GetArena()) {
3444  InternalSwap(other);
3445  } else {
3446  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3447  }
3448  }
3449  void UnsafeArenaSwap(AutomatonConstraintProto* other) {
3450  if (other == this) return;
3451  GOOGLE_DCHECK(GetArena() == other->GetArena());
3452  InternalSwap(other);
3453  }
3454 
3455  // implements Message ----------------------------------------------
3456 
3457  inline AutomatonConstraintProto* New() const final {
3458  return CreateMaybeMessage<AutomatonConstraintProto>(nullptr);
3459  }
3460 
3461  AutomatonConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3462  return CreateMaybeMessage<AutomatonConstraintProto>(arena);
3463  }
3464  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3465  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3466  void CopyFrom(const AutomatonConstraintProto& from);
3467  void MergeFrom(const AutomatonConstraintProto& from);
3468  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3469  bool IsInitialized() const final;
3470 
3471  size_t ByteSizeLong() const final;
3472  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3473  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3474  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3475  int GetCachedSize() const final { return _cached_size_.Get(); }
3476 
3477  private:
3478  inline void SharedCtor();
3479  inline void SharedDtor();
3480  void SetCachedSize(int size) const final;
3481  void InternalSwap(AutomatonConstraintProto* other);
3482  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3483  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3484  return "operations_research.sat.AutomatonConstraintProto";
3485  }
3486  protected:
3487  explicit AutomatonConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3488  private:
3489  static void ArenaDtor(void* object);
3490  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3491  public:
3492 
3493  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3494  private:
3495  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3497  }
3498 
3499  public:
3500 
3501  // nested types ----------------------------------------------------
3502 
3503  // accessors -------------------------------------------------------
3504 
3505  enum : int {
3506  kFinalStatesFieldNumber = 3,
3507  kTransitionTailFieldNumber = 4,
3508  kTransitionHeadFieldNumber = 5,
3509  kTransitionLabelFieldNumber = 6,
3510  kVarsFieldNumber = 7,
3511  kStartingStateFieldNumber = 2,
3512  };
3513  // repeated int64 final_states = 3;
3514  int final_states_size() const;
3515  private:
3516  int _internal_final_states_size() const;
3517  public:
3519  private:
3520  ::PROTOBUF_NAMESPACE_ID::int64 _internal_final_states(int index) const;
3521  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3522  _internal_final_states() const;
3523  void _internal_add_final_states(::PROTOBUF_NAMESPACE_ID::int64 value);
3524  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3525  _internal_mutable_final_states();
3526  public:
3527  ::PROTOBUF_NAMESPACE_ID::int64 final_states(int index) const;
3528  void set_final_states(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
3529  void add_final_states(::PROTOBUF_NAMESPACE_ID::int64 value);
3530  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3531  final_states() const;
3532  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3534 
3535  // repeated int64 transition_tail = 4;
3537  private:
3538  int _internal_transition_tail_size() const;
3539  public:
3541  private:
3542  ::PROTOBUF_NAMESPACE_ID::int64 _internal_transition_tail(int index) const;
3543  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3544  _internal_transition_tail() const;
3545  void _internal_add_transition_tail(::PROTOBUF_NAMESPACE_ID::int64 value);
3546  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3547  _internal_mutable_transition_tail();
3548  public:
3549  ::PROTOBUF_NAMESPACE_ID::int64 transition_tail(int index) const;
3550  void set_transition_tail(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
3551  void add_transition_tail(::PROTOBUF_NAMESPACE_ID::int64 value);
3552  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3554  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3556 
3557  // repeated int64 transition_head = 5;
3559  private:
3560  int _internal_transition_head_size() const;
3561  public:
3563  private:
3564  ::PROTOBUF_NAMESPACE_ID::int64 _internal_transition_head(int index) const;
3565  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3566  _internal_transition_head() const;
3567  void _internal_add_transition_head(::PROTOBUF_NAMESPACE_ID::int64 value);
3568  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3569  _internal_mutable_transition_head();
3570  public:
3571  ::PROTOBUF_NAMESPACE_ID::int64 transition_head(int index) const;
3572  void set_transition_head(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
3573  void add_transition_head(::PROTOBUF_NAMESPACE_ID::int64 value);
3574  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3576  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3578 
3579  // repeated int64 transition_label = 6;
3581  private:
3582  int _internal_transition_label_size() const;
3583  public:
3585  private:
3586  ::PROTOBUF_NAMESPACE_ID::int64 _internal_transition_label(int index) const;
3587  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3588  _internal_transition_label() const;
3589  void _internal_add_transition_label(::PROTOBUF_NAMESPACE_ID::int64 value);
3590  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3591  _internal_mutable_transition_label();
3592  public:
3593  ::PROTOBUF_NAMESPACE_ID::int64 transition_label(int index) const;
3594  void set_transition_label(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
3595  void add_transition_label(::PROTOBUF_NAMESPACE_ID::int64 value);
3596  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
3598  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
3600 
3601  // repeated int32 vars = 7;
3602  int vars_size() const;
3603  private:
3604  int _internal_vars_size() const;
3605  public:
3606  void clear_vars();
3607  private:
3608  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
3609  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3610  _internal_vars() const;
3611  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
3612  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3613  _internal_mutable_vars();
3614  public:
3615  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
3616  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
3617  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
3618  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3619  vars() const;
3620  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3622 
3623  // int64 starting_state = 2;
3625  ::PROTOBUF_NAMESPACE_ID::int64 starting_state() const;
3626  void set_starting_state(::PROTOBUF_NAMESPACE_ID::int64 value);
3627  private:
3628  ::PROTOBUF_NAMESPACE_ID::int64 _internal_starting_state() const;
3629  void _internal_set_starting_state(::PROTOBUF_NAMESPACE_ID::int64 value);
3630  public:
3631 
3632  // @@protoc_insertion_point(class_scope:operations_research.sat.AutomatonConstraintProto)
3633  private:
3634  class _Internal;
3635 
3636  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
3637  typedef void InternalArenaConstructable_;
3638  typedef void DestructorSkippable_;
3639  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > final_states_;
3640  mutable std::atomic<int> _final_states_cached_byte_size_;
3641  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > transition_tail_;
3642  mutable std::atomic<int> _transition_tail_cached_byte_size_;
3643  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > transition_head_;
3644  mutable std::atomic<int> _transition_head_cached_byte_size_;
3645  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > transition_label_;
3646  mutable std::atomic<int> _transition_label_cached_byte_size_;
3647  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
3648  mutable std::atomic<int> _vars_cached_byte_size_;
3649  ::PROTOBUF_NAMESPACE_ID::int64 starting_state_;
3650  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
3651  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
3652 };
3653 // -------------------------------------------------------------------
3654 
3655 class ConstraintProto PROTOBUF_FINAL :
3656  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.ConstraintProto) */ {
3657  public:
3658  inline ConstraintProto() : ConstraintProto(nullptr) {}
3659  virtual ~ConstraintProto();
3660  explicit constexpr ConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
3661 
3662  ConstraintProto(const ConstraintProto& from);
3663  ConstraintProto(ConstraintProto&& from) noexcept
3664  : ConstraintProto() {
3665  *this = ::std::move(from);
3666  }
3667 
3668  inline ConstraintProto& operator=(const ConstraintProto& from) {
3669  CopyFrom(from);
3670  return *this;
3671  }
3672  inline ConstraintProto& operator=(ConstraintProto&& from) noexcept {
3673  if (GetArena() == from.GetArena()) {
3674  if (this != &from) InternalSwap(&from);
3675  } else {
3676  CopyFrom(from);
3677  }
3678  return *this;
3679  }
3680 
3681  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
3682  return GetDescriptor();
3683  }
3684  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
3685  return GetMetadataStatic().descriptor;
3686  }
3687  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
3688  return GetMetadataStatic().reflection;
3689  }
3690  static const ConstraintProto& default_instance() {
3691  return *internal_default_instance();
3692  }
3694  kBoolOr = 3,
3695  kBoolAnd = 4,
3696  kAtMostOne = 26,
3697  kExactlyOne = 29,
3698  kBoolXor = 5,
3699  kIntDiv = 7,
3700  kIntMod = 8,
3701  kIntMax = 9,
3702  kLinMax = 27,
3703  kIntMin = 10,
3704  kLinMin = 28,
3705  kIntProd = 11,
3706  kLinear = 12,
3707  kAllDiff = 13,
3708  kElement = 14,
3709  kCircuit = 15,
3710  kRoutes = 23,
3711  kTable = 16,
3712  kAutomaton = 17,
3713  kInverse = 18,
3714  kReservoir = 24,
3715  kInterval = 19,
3716  kNoOverlap = 20,
3717  kNoOverlap2D = 21,
3718  kCumulative = 22,
3719  CONSTRAINT_NOT_SET = 0,
3720  };
3721 
3722  static inline const ConstraintProto* internal_default_instance() {
3723  return reinterpret_cast<const ConstraintProto*>(
3725  }
3726  static constexpr int kIndexInFileMessages =
3727  18;
3728 
3729  friend void swap(ConstraintProto& a, ConstraintProto& b) {
3730  a.Swap(&b);
3731  }
3732  inline void Swap(ConstraintProto* other) {
3733  if (other == this) return;
3734  if (GetArena() == other->GetArena()) {
3735  InternalSwap(other);
3736  } else {
3737  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
3738  }
3739  }
3740  void UnsafeArenaSwap(ConstraintProto* other) {
3741  if (other == this) return;
3742  GOOGLE_DCHECK(GetArena() == other->GetArena());
3743  InternalSwap(other);
3744  }
3745 
3746  // implements Message ----------------------------------------------
3747 
3748  inline ConstraintProto* New() const final {
3749  return CreateMaybeMessage<ConstraintProto>(nullptr);
3750  }
3751 
3752  ConstraintProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
3753  return CreateMaybeMessage<ConstraintProto>(arena);
3754  }
3755  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3756  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
3757  void CopyFrom(const ConstraintProto& from);
3758  void MergeFrom(const ConstraintProto& from);
3759  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
3760  bool IsInitialized() const final;
3761 
3762  size_t ByteSizeLong() const final;
3763  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
3764  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
3765  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
3766  int GetCachedSize() const final { return _cached_size_.Get(); }
3767 
3768  private:
3769  inline void SharedCtor();
3770  inline void SharedDtor();
3771  void SetCachedSize(int size) const final;
3772  void InternalSwap(ConstraintProto* other);
3773  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
3774  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
3775  return "operations_research.sat.ConstraintProto";
3776  }
3777  protected:
3778  explicit ConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3779  private:
3780  static void ArenaDtor(void* object);
3781  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
3782  public:
3783 
3784  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
3785  private:
3786  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
3788  }
3789 
3790  public:
3791 
3792  // nested types ----------------------------------------------------
3793 
3794  // accessors -------------------------------------------------------
3795 
3796  enum : int {
3797  kEnforcementLiteralFieldNumber = 2,
3798  kNameFieldNumber = 1,
3799  kBoolOrFieldNumber = 3,
3800  kBoolAndFieldNumber = 4,
3801  kAtMostOneFieldNumber = 26,
3802  kExactlyOneFieldNumber = 29,
3803  kBoolXorFieldNumber = 5,
3804  kIntDivFieldNumber = 7,
3805  kIntModFieldNumber = 8,
3806  kIntMaxFieldNumber = 9,
3807  kLinMaxFieldNumber = 27,
3808  kIntMinFieldNumber = 10,
3809  kLinMinFieldNumber = 28,
3810  kIntProdFieldNumber = 11,
3811  kLinearFieldNumber = 12,
3812  kAllDiffFieldNumber = 13,
3813  kElementFieldNumber = 14,
3814  kCircuitFieldNumber = 15,
3815  kRoutesFieldNumber = 23,
3816  kTableFieldNumber = 16,
3817  kAutomatonFieldNumber = 17,
3818  kInverseFieldNumber = 18,
3819  kReservoirFieldNumber = 24,
3820  kIntervalFieldNumber = 19,
3821  kNoOverlapFieldNumber = 20,
3822  kNoOverlap2DFieldNumber = 21,
3823  kCumulativeFieldNumber = 22,
3824  };
3825  // repeated int32 enforcement_literal = 2;
3827  private:
3828  int _internal_enforcement_literal_size() const;
3829  public:
3831  private:
3832  ::PROTOBUF_NAMESPACE_ID::int32 _internal_enforcement_literal(int index) const;
3833  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3834  _internal_enforcement_literal() const;
3835  void _internal_add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::int32 value);
3836  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3837  _internal_mutable_enforcement_literal();
3838  public:
3839  ::PROTOBUF_NAMESPACE_ID::int32 enforcement_literal(int index) const;
3840  void set_enforcement_literal(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
3841  void add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::int32 value);
3842  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
3844  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
3846 
3847  // string name = 1;
3848  void clear_name();
3849  const std::string& name() const;
3850  void set_name(const std::string& value);
3851  void set_name(std::string&& value);
3852  void set_name(const char* value);
3853  void set_name(const char* value, size_t size);
3854  std::string* mutable_name();
3855  std::string* release_name();
3856  void set_allocated_name(std::string* name);
3857  private:
3858  const std::string& _internal_name() const;
3859  void _internal_set_name(const std::string& value);
3860  std::string* _internal_mutable_name();
3861  public:
3862 
3863  // .operations_research.sat.BoolArgumentProto bool_or = 3;
3864  bool has_bool_or() const;
3865  private:
3866  bool _internal_has_bool_or() const;
3867  public:
3869  const ::operations_research::sat::BoolArgumentProto& bool_or() const;
3870  ::operations_research::sat::BoolArgumentProto* release_bool_or();
3871  ::operations_research::sat::BoolArgumentProto* mutable_bool_or();
3872  void set_allocated_bool_or(::operations_research::sat::BoolArgumentProto* bool_or);
3873  private:
3874  const ::operations_research::sat::BoolArgumentProto& _internal_bool_or() const;
3875  ::operations_research::sat::BoolArgumentProto* _internal_mutable_bool_or();
3876  public:
3878  ::operations_research::sat::BoolArgumentProto* bool_or);
3879  ::operations_research::sat::BoolArgumentProto* unsafe_arena_release_bool_or();
3880 
3881  // .operations_research.sat.BoolArgumentProto bool_and = 4;
3882  bool has_bool_and() const;
3883  private:
3884  bool _internal_has_bool_and() const;
3885  public:
3887  const ::operations_research::sat::BoolArgumentProto& bool_and() const;
3888  ::operations_research::sat::BoolArgumentProto* release_bool_and();
3889  ::operations_research::sat::BoolArgumentProto* mutable_bool_and();
3890  void set_allocated_bool_and(::operations_research::sat::BoolArgumentProto* bool_and);
3891  private:
3892  const ::operations_research::sat::BoolArgumentProto& _internal_bool_and() const;
3893  ::operations_research::sat::BoolArgumentProto* _internal_mutable_bool_and();
3894  public:
3896  ::operations_research::sat::BoolArgumentProto* bool_and);
3897  ::operations_research::sat::BoolArgumentProto* unsafe_arena_release_bool_and();
3898 
3899  // .operations_research.sat.BoolArgumentProto at_most_one = 26;
3900  bool has_at_most_one() const;
3901  private:
3902  bool _internal_has_at_most_one() const;
3903  public:
3905  const ::operations_research::sat::BoolArgumentProto& at_most_one() const;
3906  ::operations_research::sat::BoolArgumentProto* release_at_most_one();
3907  ::operations_research::sat::BoolArgumentProto* mutable_at_most_one();
3908  void set_allocated_at_most_one(::operations_research::sat::BoolArgumentProto* at_most_one);
3909  private:
3910  const ::operations_research::sat::BoolArgumentProto& _internal_at_most_one() const;
3911  ::operations_research::sat::BoolArgumentProto* _internal_mutable_at_most_one();
3912  public:
3914  ::operations_research::sat::BoolArgumentProto* at_most_one);
3915  ::operations_research::sat::BoolArgumentProto* unsafe_arena_release_at_most_one();
3916 
3917  // .operations_research.sat.BoolArgumentProto exactly_one = 29;
3918  bool has_exactly_one() const;
3919  private:
3920  bool _internal_has_exactly_one() const;
3921  public:
3923  const ::operations_research::sat::BoolArgumentProto& exactly_one() const;
3924  ::operations_research::sat::BoolArgumentProto* release_exactly_one();
3925  ::operations_research::sat::BoolArgumentProto* mutable_exactly_one();
3926  void set_allocated_exactly_one(::operations_research::sat::BoolArgumentProto* exactly_one);
3927  private:
3928  const ::operations_research::sat::BoolArgumentProto& _internal_exactly_one() const;
3929  ::operations_research::sat::BoolArgumentProto* _internal_mutable_exactly_one();
3930  public:
3932  ::operations_research::sat::BoolArgumentProto* exactly_one);
3933  ::operations_research::sat::BoolArgumentProto* unsafe_arena_release_exactly_one();
3934 
3935  // .operations_research.sat.BoolArgumentProto bool_xor = 5;
3936  bool has_bool_xor() const;
3937  private:
3938  bool _internal_has_bool_xor() const;
3939  public:
3941  const ::operations_research::sat::BoolArgumentProto& bool_xor() const;
3942  ::operations_research::sat::BoolArgumentProto* release_bool_xor();
3943  ::operations_research::sat::BoolArgumentProto* mutable_bool_xor();
3944  void set_allocated_bool_xor(::operations_research::sat::BoolArgumentProto* bool_xor);
3945  private:
3946  const ::operations_research::sat::BoolArgumentProto& _internal_bool_xor() const;
3947  ::operations_research::sat::BoolArgumentProto* _internal_mutable_bool_xor();
3948  public:
3950  ::operations_research::sat::BoolArgumentProto* bool_xor);
3951  ::operations_research::sat::BoolArgumentProto* unsafe_arena_release_bool_xor();
3952 
3953  // .operations_research.sat.IntegerArgumentProto int_div = 7;
3954  bool has_int_div() const;
3955  private:
3956  bool _internal_has_int_div() const;
3957  public:
3959  const ::operations_research::sat::IntegerArgumentProto& int_div() const;
3960  ::operations_research::sat::IntegerArgumentProto* release_int_div();
3961  ::operations_research::sat::IntegerArgumentProto* mutable_int_div();
3962  void set_allocated_int_div(::operations_research::sat::IntegerArgumentProto* int_div);
3963  private:
3964  const ::operations_research::sat::IntegerArgumentProto& _internal_int_div() const;
3965  ::operations_research::sat::IntegerArgumentProto* _internal_mutable_int_div();
3966  public:
3968  ::operations_research::sat::IntegerArgumentProto* int_div);
3969  ::operations_research::sat::IntegerArgumentProto* unsafe_arena_release_int_div();
3970 
3971  // .operations_research.sat.IntegerArgumentProto int_mod = 8;
3972  bool has_int_mod() const;
3973  private:
3974  bool _internal_has_int_mod() const;
3975  public:
3977  const ::operations_research::sat::IntegerArgumentProto& int_mod() const;
3978  ::operations_research::sat::IntegerArgumentProto* release_int_mod();
3979  ::operations_research::sat::IntegerArgumentProto* mutable_int_mod();
3980  void set_allocated_int_mod(::operations_research::sat::IntegerArgumentProto* int_mod);
3981  private:
3982  const ::operations_research::sat::IntegerArgumentProto& _internal_int_mod() const;
3983  ::operations_research::sat::IntegerArgumentProto* _internal_mutable_int_mod();
3984  public:
3986  ::operations_research::sat::IntegerArgumentProto* int_mod);
3987  ::operations_research::sat::IntegerArgumentProto* unsafe_arena_release_int_mod();
3988 
3989  // .operations_research.sat.IntegerArgumentProto int_max = 9;
3990  bool has_int_max() const;
3991  private:
3992  bool _internal_has_int_max() const;
3993  public:
3995  const ::operations_research::sat::IntegerArgumentProto& int_max() const;
3996  ::operations_research::sat::IntegerArgumentProto* release_int_max();
3997  ::operations_research::sat::IntegerArgumentProto* mutable_int_max();
3998  void set_allocated_int_max(::operations_research::sat::IntegerArgumentProto* int_max);
3999  private:
4000  const ::operations_research::sat::IntegerArgumentProto& _internal_int_max() const;
4001  ::operations_research::sat::IntegerArgumentProto* _internal_mutable_int_max();
4002  public:
4004  ::operations_research::sat::IntegerArgumentProto* int_max);
4005  ::operations_research::sat::IntegerArgumentProto* unsafe_arena_release_int_max();
4006 
4007  // .operations_research.sat.LinearArgumentProto lin_max = 27;
4008  bool has_lin_max() const;
4009  private:
4010  bool _internal_has_lin_max() const;
4011  public:
4013  const ::operations_research::sat::LinearArgumentProto& lin_max() const;
4014  ::operations_research::sat::LinearArgumentProto* release_lin_max();
4015  ::operations_research::sat::LinearArgumentProto* mutable_lin_max();
4016  void set_allocated_lin_max(::operations_research::sat::LinearArgumentProto* lin_max);
4017  private:
4018  const ::operations_research::sat::LinearArgumentProto& _internal_lin_max() const;
4019  ::operations_research::sat::LinearArgumentProto* _internal_mutable_lin_max();
4020  public:
4022  ::operations_research::sat::LinearArgumentProto* lin_max);
4023  ::operations_research::sat::LinearArgumentProto* unsafe_arena_release_lin_max();
4024 
4025  // .operations_research.sat.IntegerArgumentProto int_min = 10;
4026  bool has_int_min() const;
4027  private:
4028  bool _internal_has_int_min() const;
4029  public:
4031  const ::operations_research::sat::IntegerArgumentProto& int_min() const;
4032  ::operations_research::sat::IntegerArgumentProto* release_int_min();
4033  ::operations_research::sat::IntegerArgumentProto* mutable_int_min();
4034  void set_allocated_int_min(::operations_research::sat::IntegerArgumentProto* int_min);
4035  private:
4036  const ::operations_research::sat::IntegerArgumentProto& _internal_int_min() const;
4037  ::operations_research::sat::IntegerArgumentProto* _internal_mutable_int_min();
4038  public:
4040  ::operations_research::sat::IntegerArgumentProto* int_min);
4041  ::operations_research::sat::IntegerArgumentProto* unsafe_arena_release_int_min();
4042 
4043  // .operations_research.sat.LinearArgumentProto lin_min = 28;
4044  bool has_lin_min() const;
4045  private:
4046  bool _internal_has_lin_min() const;
4047  public:
4049  const ::operations_research::sat::LinearArgumentProto& lin_min() const;
4050  ::operations_research::sat::LinearArgumentProto* release_lin_min();
4051  ::operations_research::sat::LinearArgumentProto* mutable_lin_min();
4052  void set_allocated_lin_min(::operations_research::sat::LinearArgumentProto* lin_min);
4053  private:
4054  const ::operations_research::sat::LinearArgumentProto& _internal_lin_min() const;
4055  ::operations_research::sat::LinearArgumentProto* _internal_mutable_lin_min();
4056  public:
4058  ::operations_research::sat::LinearArgumentProto* lin_min);
4059  ::operations_research::sat::LinearArgumentProto* unsafe_arena_release_lin_min();
4060 
4061  // .operations_research.sat.IntegerArgumentProto int_prod = 11;
4062  bool has_int_prod() const;
4063  private:
4064  bool _internal_has_int_prod() const;
4065  public:
4067  const ::operations_research::sat::IntegerArgumentProto& int_prod() const;
4068  ::operations_research::sat::IntegerArgumentProto* release_int_prod();
4069  ::operations_research::sat::IntegerArgumentProto* mutable_int_prod();
4070  void set_allocated_int_prod(::operations_research::sat::IntegerArgumentProto* int_prod);
4071  private:
4072  const ::operations_research::sat::IntegerArgumentProto& _internal_int_prod() const;
4073  ::operations_research::sat::IntegerArgumentProto* _internal_mutable_int_prod();
4074  public:
4076  ::operations_research::sat::IntegerArgumentProto* int_prod);
4077  ::operations_research::sat::IntegerArgumentProto* unsafe_arena_release_int_prod();
4078 
4079  // .operations_research.sat.LinearConstraintProto linear = 12;
4080  bool has_linear() const;
4081  private:
4082  bool _internal_has_linear() const;
4083  public:
4085  const ::operations_research::sat::LinearConstraintProto& linear() const;
4086  ::operations_research::sat::LinearConstraintProto* release_linear();
4087  ::operations_research::sat::LinearConstraintProto* mutable_linear();
4088  void set_allocated_linear(::operations_research::sat::LinearConstraintProto* linear);
4089  private:
4090  const ::operations_research::sat::LinearConstraintProto& _internal_linear() const;
4091  ::operations_research::sat::LinearConstraintProto* _internal_mutable_linear();
4092  public:
4094  ::operations_research::sat::LinearConstraintProto* linear);
4095  ::operations_research::sat::LinearConstraintProto* unsafe_arena_release_linear();
4096 
4097  // .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
4098  bool has_all_diff() const;
4099  private:
4100  bool _internal_has_all_diff() const;
4101  public:
4103  const ::operations_research::sat::AllDifferentConstraintProto& all_diff() const;
4104  ::operations_research::sat::AllDifferentConstraintProto* release_all_diff();
4105  ::operations_research::sat::AllDifferentConstraintProto* mutable_all_diff();
4106  void set_allocated_all_diff(::operations_research::sat::AllDifferentConstraintProto* all_diff);
4107  private:
4108  const ::operations_research::sat::AllDifferentConstraintProto& _internal_all_diff() const;
4109  ::operations_research::sat::AllDifferentConstraintProto* _internal_mutable_all_diff();
4110  public:
4112  ::operations_research::sat::AllDifferentConstraintProto* all_diff);
4113  ::operations_research::sat::AllDifferentConstraintProto* unsafe_arena_release_all_diff();
4114 
4115  // .operations_research.sat.ElementConstraintProto element = 14;
4116  bool has_element() const;
4117  private:
4118  bool _internal_has_element() const;
4119  public:
4121  const ::operations_research::sat::ElementConstraintProto& element() const;
4122  ::operations_research::sat::ElementConstraintProto* release_element();
4123  ::operations_research::sat::ElementConstraintProto* mutable_element();
4124  void set_allocated_element(::operations_research::sat::ElementConstraintProto* element);
4125  private:
4126  const ::operations_research::sat::ElementConstraintProto& _internal_element() const;
4127  ::operations_research::sat::ElementConstraintProto* _internal_mutable_element();
4128  public:
4130  ::operations_research::sat::ElementConstraintProto* element);
4131  ::operations_research::sat::ElementConstraintProto* unsafe_arena_release_element();
4132 
4133  // .operations_research.sat.CircuitConstraintProto circuit = 15;
4134  bool has_circuit() const;
4135  private:
4136  bool _internal_has_circuit() const;
4137  public:
4139  const ::operations_research::sat::CircuitConstraintProto& circuit() const;
4140  ::operations_research::sat::CircuitConstraintProto* release_circuit();
4141  ::operations_research::sat::CircuitConstraintProto* mutable_circuit();
4142  void set_allocated_circuit(::operations_research::sat::CircuitConstraintProto* circuit);
4143  private:
4144  const ::operations_research::sat::CircuitConstraintProto& _internal_circuit() const;
4145  ::operations_research::sat::CircuitConstraintProto* _internal_mutable_circuit();
4146  public:
4148  ::operations_research::sat::CircuitConstraintProto* circuit);
4149  ::operations_research::sat::CircuitConstraintProto* unsafe_arena_release_circuit();
4150 
4151  // .operations_research.sat.RoutesConstraintProto routes = 23;
4152  bool has_routes() const;
4153  private:
4154  bool _internal_has_routes() const;
4155  public:
4157  const ::operations_research::sat::RoutesConstraintProto& routes() const;
4158  ::operations_research::sat::RoutesConstraintProto* release_routes();
4159  ::operations_research::sat::RoutesConstraintProto* mutable_routes();
4160  void set_allocated_routes(::operations_research::sat::RoutesConstraintProto* routes);
4161  private:
4162  const ::operations_research::sat::RoutesConstraintProto& _internal_routes() const;
4163  ::operations_research::sat::RoutesConstraintProto* _internal_mutable_routes();
4164  public:
4166  ::operations_research::sat::RoutesConstraintProto* routes);
4167  ::operations_research::sat::RoutesConstraintProto* unsafe_arena_release_routes();
4168 
4169  // .operations_research.sat.TableConstraintProto table = 16;
4170  bool has_table() const;
4171  private:
4172  bool _internal_has_table() const;
4173  public:
4174  void clear_table();
4175  const ::operations_research::sat::TableConstraintProto& table() const;
4176  ::operations_research::sat::TableConstraintProto* release_table();
4177  ::operations_research::sat::TableConstraintProto* mutable_table();
4178  void set_allocated_table(::operations_research::sat::TableConstraintProto* table);
4179  private:
4180  const ::operations_research::sat::TableConstraintProto& _internal_table() const;
4181  ::operations_research::sat::TableConstraintProto* _internal_mutable_table();
4182  public:
4184  ::operations_research::sat::TableConstraintProto* table);
4185  ::operations_research::sat::TableConstraintProto* unsafe_arena_release_table();
4186 
4187  // .operations_research.sat.AutomatonConstraintProto automaton = 17;
4188  bool has_automaton() const;
4189  private:
4190  bool _internal_has_automaton() const;
4191  public:
4193  const ::operations_research::sat::AutomatonConstraintProto& automaton() const;
4194  ::operations_research::sat::AutomatonConstraintProto* release_automaton();
4195  ::operations_research::sat::AutomatonConstraintProto* mutable_automaton();
4196  void set_allocated_automaton(::operations_research::sat::AutomatonConstraintProto* automaton);
4197  private:
4198  const ::operations_research::sat::AutomatonConstraintProto& _internal_automaton() const;
4199  ::operations_research::sat::AutomatonConstraintProto* _internal_mutable_automaton();
4200  public:
4202  ::operations_research::sat::AutomatonConstraintProto* automaton);
4203  ::operations_research::sat::AutomatonConstraintProto* unsafe_arena_release_automaton();
4204 
4205  // .operations_research.sat.InverseConstraintProto inverse = 18;
4206  bool has_inverse() const;
4207  private:
4208  bool _internal_has_inverse() const;
4209  public:
4211  const ::operations_research::sat::InverseConstraintProto& inverse() const;
4212  ::operations_research::sat::InverseConstraintProto* release_inverse();
4213  ::operations_research::sat::InverseConstraintProto* mutable_inverse();
4214  void set_allocated_inverse(::operations_research::sat::InverseConstraintProto* inverse);
4215  private:
4216  const ::operations_research::sat::InverseConstraintProto& _internal_inverse() const;
4217  ::operations_research::sat::InverseConstraintProto* _internal_mutable_inverse();
4218  public:
4220  ::operations_research::sat::InverseConstraintProto* inverse);
4221  ::operations_research::sat::InverseConstraintProto* unsafe_arena_release_inverse();
4222 
4223  // .operations_research.sat.ReservoirConstraintProto reservoir = 24;
4224  bool has_reservoir() const;
4225  private:
4226  bool _internal_has_reservoir() const;
4227  public:
4229  const ::operations_research::sat::ReservoirConstraintProto& reservoir() const;
4230  ::operations_research::sat::ReservoirConstraintProto* release_reservoir();
4231  ::operations_research::sat::ReservoirConstraintProto* mutable_reservoir();
4232  void set_allocated_reservoir(::operations_research::sat::ReservoirConstraintProto* reservoir);
4233  private:
4234  const ::operations_research::sat::ReservoirConstraintProto& _internal_reservoir() const;
4235  ::operations_research::sat::ReservoirConstraintProto* _internal_mutable_reservoir();
4236  public:
4238  ::operations_research::sat::ReservoirConstraintProto* reservoir);
4239  ::operations_research::sat::ReservoirConstraintProto* unsafe_arena_release_reservoir();
4240 
4241  // .operations_research.sat.IntervalConstraintProto interval = 19;
4242  bool has_interval() const;
4243  private:
4244  bool _internal_has_interval() const;
4245  public:
4247  const ::operations_research::sat::IntervalConstraintProto& interval() const;
4248  ::operations_research::sat::IntervalConstraintProto* release_interval();
4249  ::operations_research::sat::IntervalConstraintProto* mutable_interval();
4250  void set_allocated_interval(::operations_research::sat::IntervalConstraintProto* interval);
4251  private:
4252  const ::operations_research::sat::IntervalConstraintProto& _internal_interval() const;
4253  ::operations_research::sat::IntervalConstraintProto* _internal_mutable_interval();
4254  public:
4256  ::operations_research::sat::IntervalConstraintProto* interval);
4257  ::operations_research::sat::IntervalConstraintProto* unsafe_arena_release_interval();
4258 
4259  // .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
4260  bool has_no_overlap() const;
4261  private:
4262  bool _internal_has_no_overlap() const;
4263  public:
4265  const ::operations_research::sat::NoOverlapConstraintProto& no_overlap() const;
4266  ::operations_research::sat::NoOverlapConstraintProto* release_no_overlap();
4267  ::operations_research::sat::NoOverlapConstraintProto* mutable_no_overlap();
4268  void set_allocated_no_overlap(::operations_research::sat::NoOverlapConstraintProto* no_overlap);
4269  private:
4270  const ::operations_research::sat::NoOverlapConstraintProto& _internal_no_overlap() const;
4271  ::operations_research::sat::NoOverlapConstraintProto* _internal_mutable_no_overlap();
4272  public:
4274  ::operations_research::sat::NoOverlapConstraintProto* no_overlap);
4275  ::operations_research::sat::NoOverlapConstraintProto* unsafe_arena_release_no_overlap();
4276 
4277  // .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
4278  bool has_no_overlap_2d() const;
4279  private:
4280  bool _internal_has_no_overlap_2d() const;
4281  public:
4283  const ::operations_research::sat::NoOverlap2DConstraintProto& no_overlap_2d() const;
4284  ::operations_research::sat::NoOverlap2DConstraintProto* release_no_overlap_2d();
4285  ::operations_research::sat::NoOverlap2DConstraintProto* mutable_no_overlap_2d();
4286  void set_allocated_no_overlap_2d(::operations_research::sat::NoOverlap2DConstraintProto* no_overlap_2d);
4287  private:
4288  const ::operations_research::sat::NoOverlap2DConstraintProto& _internal_no_overlap_2d() const;
4289  ::operations_research::sat::NoOverlap2DConstraintProto* _internal_mutable_no_overlap_2d();
4290  public:
4292  ::operations_research::sat::NoOverlap2DConstraintProto* no_overlap_2d);
4293  ::operations_research::sat::NoOverlap2DConstraintProto* unsafe_arena_release_no_overlap_2d();
4294 
4295  // .operations_research.sat.CumulativeConstraintProto cumulative = 22;
4296  bool has_cumulative() const;
4297  private:
4298  bool _internal_has_cumulative() const;
4299  public:
4301  const ::operations_research::sat::CumulativeConstraintProto& cumulative() const;
4302  ::operations_research::sat::CumulativeConstraintProto* release_cumulative();
4303  ::operations_research::sat::CumulativeConstraintProto* mutable_cumulative();
4304  void set_allocated_cumulative(::operations_research::sat::CumulativeConstraintProto* cumulative);
4305  private:
4306  const ::operations_research::sat::CumulativeConstraintProto& _internal_cumulative() const;
4307  ::operations_research::sat::CumulativeConstraintProto* _internal_mutable_cumulative();
4308  public:
4310  ::operations_research::sat::CumulativeConstraintProto* cumulative);
4311  ::operations_research::sat::CumulativeConstraintProto* unsafe_arena_release_cumulative();
4312 
4315  // @@protoc_insertion_point(class_scope:operations_research.sat.ConstraintProto)
4316  private:
4317  class _Internal;
4318  void set_has_bool_or();
4319  void set_has_bool_and();
4320  void set_has_at_most_one();
4321  void set_has_exactly_one();
4322  void set_has_bool_xor();
4323  void set_has_int_div();
4324  void set_has_int_mod();
4325  void set_has_int_max();
4326  void set_has_lin_max();
4327  void set_has_int_min();
4328  void set_has_lin_min();
4329  void set_has_int_prod();
4330  void set_has_linear();
4331  void set_has_all_diff();
4332  void set_has_element();
4333  void set_has_circuit();
4334  void set_has_routes();
4335  void set_has_table();
4336  void set_has_automaton();
4337  void set_has_inverse();
4338  void set_has_reservoir();
4339  void set_has_interval();
4340  void set_has_no_overlap();
4341  void set_has_no_overlap_2d();
4342  void set_has_cumulative();
4343 
4344  inline bool has_constraint() const;
4345  inline void clear_has_constraint();
4346 
4347  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
4348  typedef void InternalArenaConstructable_;
4349  typedef void DestructorSkippable_;
4350  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > enforcement_literal_;
4351  mutable std::atomic<int> _enforcement_literal_cached_byte_size_;
4352  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
4353  union ConstraintUnion {
4354  constexpr ConstraintUnion() : _constinit_{} {}
4355  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
4356  ::operations_research::sat::BoolArgumentProto* bool_or_;
4357  ::operations_research::sat::BoolArgumentProto* bool_and_;
4358  ::operations_research::sat::BoolArgumentProto* at_most_one_;
4359  ::operations_research::sat::BoolArgumentProto* exactly_one_;
4360  ::operations_research::sat::BoolArgumentProto* bool_xor_;
4361  ::operations_research::sat::IntegerArgumentProto* int_div_;
4362  ::operations_research::sat::IntegerArgumentProto* int_mod_;
4363  ::operations_research::sat::IntegerArgumentProto* int_max_;
4364  ::operations_research::sat::LinearArgumentProto* lin_max_;
4365  ::operations_research::sat::IntegerArgumentProto* int_min_;
4366  ::operations_research::sat::LinearArgumentProto* lin_min_;
4367  ::operations_research::sat::IntegerArgumentProto* int_prod_;
4368  ::operations_research::sat::LinearConstraintProto* linear_;
4369  ::operations_research::sat::AllDifferentConstraintProto* all_diff_;
4370  ::operations_research::sat::ElementConstraintProto* element_;
4371  ::operations_research::sat::CircuitConstraintProto* circuit_;
4372  ::operations_research::sat::RoutesConstraintProto* routes_;
4373  ::operations_research::sat::TableConstraintProto* table_;
4374  ::operations_research::sat::AutomatonConstraintProto* automaton_;
4375  ::operations_research::sat::InverseConstraintProto* inverse_;
4376  ::operations_research::sat::ReservoirConstraintProto* reservoir_;
4377  ::operations_research::sat::IntervalConstraintProto* interval_;
4378  ::operations_research::sat::NoOverlapConstraintProto* no_overlap_;
4379  ::operations_research::sat::NoOverlap2DConstraintProto* no_overlap_2d_;
4380  ::operations_research::sat::CumulativeConstraintProto* cumulative_;
4381  } constraint_;
4382  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4383  ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1];
4384 
4385  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4386 };
4387 // -------------------------------------------------------------------
4388 
4389 class CpObjectiveProto PROTOBUF_FINAL :
4390  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CpObjectiveProto) */ {
4391  public:
4392  inline CpObjectiveProto() : CpObjectiveProto(nullptr) {}
4394  explicit constexpr CpObjectiveProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
4395 
4396  CpObjectiveProto(const CpObjectiveProto& from);
4397  CpObjectiveProto(CpObjectiveProto&& from) noexcept
4398  : CpObjectiveProto() {
4399  *this = ::std::move(from);
4400  }
4401 
4402  inline CpObjectiveProto& operator=(const CpObjectiveProto& from) {
4403  CopyFrom(from);
4404  return *this;
4405  }
4406  inline CpObjectiveProto& operator=(CpObjectiveProto&& from) noexcept {
4407  if (GetArena() == from.GetArena()) {
4408  if (this != &from) InternalSwap(&from);
4409  } else {
4410  CopyFrom(from);
4411  }
4412  return *this;
4413  }
4414 
4415  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
4416  return GetDescriptor();
4417  }
4418  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
4419  return GetMetadataStatic().descriptor;
4420  }
4421  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
4422  return GetMetadataStatic().reflection;
4423  }
4424  static const CpObjectiveProto& default_instance() {
4425  return *internal_default_instance();
4426  }
4427  static inline const CpObjectiveProto* internal_default_instance() {
4428  return reinterpret_cast<const CpObjectiveProto*>(
4430  }
4431  static constexpr int kIndexInFileMessages =
4432  19;
4433 
4434  friend void swap(CpObjectiveProto& a, CpObjectiveProto& b) {
4435  a.Swap(&b);
4436  }
4437  inline void Swap(CpObjectiveProto* other) {
4438  if (other == this) return;
4439  if (GetArena() == other->GetArena()) {
4440  InternalSwap(other);
4441  } else {
4442  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
4443  }
4444  }
4445  void UnsafeArenaSwap(CpObjectiveProto* other) {
4446  if (other == this) return;
4447  GOOGLE_DCHECK(GetArena() == other->GetArena());
4448  InternalSwap(other);
4449  }
4450 
4451  // implements Message ----------------------------------------------
4452 
4453  inline CpObjectiveProto* New() const final {
4454  return CreateMaybeMessage<CpObjectiveProto>(nullptr);
4455  }
4456 
4457  CpObjectiveProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
4458  return CreateMaybeMessage<CpObjectiveProto>(arena);
4459  }
4460  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4461  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4462  void CopyFrom(const CpObjectiveProto& from);
4463  void MergeFrom(const CpObjectiveProto& from);
4464  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
4465  bool IsInitialized() const final;
4466 
4467  size_t ByteSizeLong() const final;
4468  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
4469  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
4470  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
4471  int GetCachedSize() const final { return _cached_size_.Get(); }
4472 
4473  private:
4474  inline void SharedCtor();
4475  inline void SharedDtor();
4476  void SetCachedSize(int size) const final;
4477  void InternalSwap(CpObjectiveProto* other);
4478  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
4479  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
4480  return "operations_research.sat.CpObjectiveProto";
4481  }
4482  protected:
4483  explicit CpObjectiveProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4484  private:
4485  static void ArenaDtor(void* object);
4486  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4487  public:
4488 
4489  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
4490  private:
4491  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
4493  }
4494 
4495  public:
4496 
4497  // nested types ----------------------------------------------------
4498 
4499  // accessors -------------------------------------------------------
4500 
4501  enum : int {
4502  kVarsFieldNumber = 1,
4503  kCoeffsFieldNumber = 4,
4504  kDomainFieldNumber = 5,
4505  kOffsetFieldNumber = 2,
4506  kScalingFactorFieldNumber = 3,
4507  };
4508  // repeated int32 vars = 1;
4509  int vars_size() const;
4510  private:
4511  int _internal_vars_size() const;
4512  public:
4513  void clear_vars();
4514  private:
4515  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
4516  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
4517  _internal_vars() const;
4518  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
4519  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
4520  _internal_mutable_vars();
4521  public:
4522  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
4523  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
4524  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
4525  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
4526  vars() const;
4527  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
4529 
4530  // repeated int64 coeffs = 4;
4531  int coeffs_size() const;
4532  private:
4533  int _internal_coeffs_size() const;
4534  public:
4536  private:
4537  ::PROTOBUF_NAMESPACE_ID::int64 _internal_coeffs(int index) const;
4538  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
4539  _internal_coeffs() const;
4540  void _internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value);
4541  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
4542  _internal_mutable_coeffs();
4543  public:
4544  ::PROTOBUF_NAMESPACE_ID::int64 coeffs(int index) const;
4545  void set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
4546  void add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value);
4547  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
4548  coeffs() const;
4549  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
4551 
4552  // repeated int64 domain = 5;
4553  int domain_size() const;
4554  private:
4555  int _internal_domain_size() const;
4556  public:
4558  private:
4559  ::PROTOBUF_NAMESPACE_ID::int64 _internal_domain(int index) const;
4560  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
4561  _internal_domain() const;
4562  void _internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value);
4563  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
4564  _internal_mutable_domain();
4565  public:
4566  ::PROTOBUF_NAMESPACE_ID::int64 domain(int index) const;
4567  void set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
4568  void add_domain(::PROTOBUF_NAMESPACE_ID::int64 value);
4569  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
4570  domain() const;
4571  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
4573 
4574  // double offset = 2;
4576  double offset() const;
4577  void set_offset(double value);
4578  private:
4579  double _internal_offset() const;
4580  void _internal_set_offset(double value);
4581  public:
4582 
4583  // double scaling_factor = 3;
4585  double scaling_factor() const;
4587  private:
4588  double _internal_scaling_factor() const;
4589  void _internal_set_scaling_factor(double value);
4590  public:
4591 
4592  // @@protoc_insertion_point(class_scope:operations_research.sat.CpObjectiveProto)
4593  private:
4594  class _Internal;
4595 
4596  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
4597  typedef void InternalArenaConstructable_;
4598  typedef void DestructorSkippable_;
4599  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
4600  mutable std::atomic<int> _vars_cached_byte_size_;
4601  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > coeffs_;
4602  mutable std::atomic<int> _coeffs_cached_byte_size_;
4603  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > domain_;
4604  mutable std::atomic<int> _domain_cached_byte_size_;
4605  double offset_;
4606  double scaling_factor_;
4607  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4608  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4609 };
4610 // -------------------------------------------------------------------
4611 
4612 class DecisionStrategyProto_AffineTransformation PROTOBUF_FINAL :
4613  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.DecisionStrategyProto.AffineTransformation) */ {
4614  public:
4615  inline DecisionStrategyProto_AffineTransformation() : DecisionStrategyProto_AffineTransformation(nullptr) {}
4617  explicit constexpr DecisionStrategyProto_AffineTransformation(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
4618 
4619  DecisionStrategyProto_AffineTransformation(const DecisionStrategyProto_AffineTransformation& from);
4620  DecisionStrategyProto_AffineTransformation(DecisionStrategyProto_AffineTransformation&& from) noexcept
4621  : DecisionStrategyProto_AffineTransformation() {
4622  *this = ::std::move(from);
4623  }
4624 
4625  inline DecisionStrategyProto_AffineTransformation& operator=(const DecisionStrategyProto_AffineTransformation& from) {
4626  CopyFrom(from);
4627  return *this;
4628  }
4629  inline DecisionStrategyProto_AffineTransformation& operator=(DecisionStrategyProto_AffineTransformation&& from) noexcept {
4630  if (GetArena() == from.GetArena()) {
4631  if (this != &from) InternalSwap(&from);
4632  } else {
4633  CopyFrom(from);
4634  }
4635  return *this;
4636  }
4637 
4638  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
4639  return GetDescriptor();
4640  }
4641  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
4642  return GetMetadataStatic().descriptor;
4643  }
4644  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
4645  return GetMetadataStatic().reflection;
4646  }
4647  static const DecisionStrategyProto_AffineTransformation& default_instance() {
4648  return *internal_default_instance();
4649  }
4650  static inline const DecisionStrategyProto_AffineTransformation* internal_default_instance() {
4651  return reinterpret_cast<const DecisionStrategyProto_AffineTransformation*>(
4653  }
4654  static constexpr int kIndexInFileMessages =
4655  20;
4656 
4657  friend void swap(DecisionStrategyProto_AffineTransformation& a, DecisionStrategyProto_AffineTransformation& b) {
4658  a.Swap(&b);
4659  }
4660  inline void Swap(DecisionStrategyProto_AffineTransformation* other) {
4661  if (other == this) return;
4662  if (GetArena() == other->GetArena()) {
4663  InternalSwap(other);
4664  } else {
4665  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
4666  }
4667  }
4668  void UnsafeArenaSwap(DecisionStrategyProto_AffineTransformation* other) {
4669  if (other == this) return;
4670  GOOGLE_DCHECK(GetArena() == other->GetArena());
4671  InternalSwap(other);
4672  }
4673 
4674  // implements Message ----------------------------------------------
4675 
4676  inline DecisionStrategyProto_AffineTransformation* New() const final {
4677  return CreateMaybeMessage<DecisionStrategyProto_AffineTransformation>(nullptr);
4678  }
4679 
4680  DecisionStrategyProto_AffineTransformation* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
4681  return CreateMaybeMessage<DecisionStrategyProto_AffineTransformation>(arena);
4682  }
4683  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4684  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4685  void CopyFrom(const DecisionStrategyProto_AffineTransformation& from);
4686  void MergeFrom(const DecisionStrategyProto_AffineTransformation& from);
4687  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
4688  bool IsInitialized() const final;
4689 
4690  size_t ByteSizeLong() const final;
4691  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
4692  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
4693  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
4694  int GetCachedSize() const final { return _cached_size_.Get(); }
4695 
4696  private:
4697  inline void SharedCtor();
4698  inline void SharedDtor();
4699  void SetCachedSize(int size) const final;
4700  void InternalSwap(DecisionStrategyProto_AffineTransformation* other);
4701  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
4702  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
4703  return "operations_research.sat.DecisionStrategyProto.AffineTransformation";
4704  }
4705  protected:
4706  explicit DecisionStrategyProto_AffineTransformation(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4707  private:
4708  static void ArenaDtor(void* object);
4709  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4710  public:
4711 
4712  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
4713  private:
4714  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
4716  }
4717 
4718  public:
4719 
4720  // nested types ----------------------------------------------------
4721 
4722  // accessors -------------------------------------------------------
4723 
4724  enum : int {
4725  kOffsetFieldNumber = 2,
4726  kPositiveCoeffFieldNumber = 3,
4727  kIndexFieldNumber = 1,
4728  };
4729  // int64 offset = 2;
4731  ::PROTOBUF_NAMESPACE_ID::int64 offset() const;
4732  void set_offset(::PROTOBUF_NAMESPACE_ID::int64 value);
4733  private:
4734  ::PROTOBUF_NAMESPACE_ID::int64 _internal_offset() const;
4735  void _internal_set_offset(::PROTOBUF_NAMESPACE_ID::int64 value);
4736  public:
4737 
4738  // int64 positive_coeff = 3;
4740  ::PROTOBUF_NAMESPACE_ID::int64 positive_coeff() const;
4741  void set_positive_coeff(::PROTOBUF_NAMESPACE_ID::int64 value);
4742  private:
4743  ::PROTOBUF_NAMESPACE_ID::int64 _internal_positive_coeff() const;
4744  void _internal_set_positive_coeff(::PROTOBUF_NAMESPACE_ID::int64 value);
4745  public:
4746 
4747  // int32 index = 1;
4748  void clear_index();
4749  ::PROTOBUF_NAMESPACE_ID::int32 index() const;
4750  void set_index(::PROTOBUF_NAMESPACE_ID::int32 value);
4751  private:
4752  ::PROTOBUF_NAMESPACE_ID::int32 _internal_index() const;
4753  void _internal_set_index(::PROTOBUF_NAMESPACE_ID::int32 value);
4754  public:
4755 
4756  // @@protoc_insertion_point(class_scope:operations_research.sat.DecisionStrategyProto.AffineTransformation)
4757  private:
4758  class _Internal;
4759 
4760  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
4761  typedef void InternalArenaConstructable_;
4762  typedef void DestructorSkippable_;
4763  ::PROTOBUF_NAMESPACE_ID::int64 offset_;
4764  ::PROTOBUF_NAMESPACE_ID::int64 positive_coeff_;
4765  ::PROTOBUF_NAMESPACE_ID::int32 index_;
4766  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
4767  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
4768 };
4769 // -------------------------------------------------------------------
4770 
4771 class DecisionStrategyProto PROTOBUF_FINAL :
4772  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.DecisionStrategyProto) */ {
4773  public:
4774  inline DecisionStrategyProto() : DecisionStrategyProto(nullptr) {}
4776  explicit constexpr DecisionStrategyProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
4777 
4778  DecisionStrategyProto(const DecisionStrategyProto& from);
4779  DecisionStrategyProto(DecisionStrategyProto&& from) noexcept
4780  : DecisionStrategyProto() {
4781  *this = ::std::move(from);
4782  }
4783 
4784  inline DecisionStrategyProto& operator=(const DecisionStrategyProto& from) {
4785  CopyFrom(from);
4786  return *this;
4787  }
4788  inline DecisionStrategyProto& operator=(DecisionStrategyProto&& from) noexcept {
4789  if (GetArena() == from.GetArena()) {
4790  if (this != &from) InternalSwap(&from);
4791  } else {
4792  CopyFrom(from);
4793  }
4794  return *this;
4795  }
4796 
4797  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
4798  return GetDescriptor();
4799  }
4800  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
4801  return GetMetadataStatic().descriptor;
4802  }
4803  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
4804  return GetMetadataStatic().reflection;
4805  }
4806  static const DecisionStrategyProto& default_instance() {
4807  return *internal_default_instance();
4808  }
4809  static inline const DecisionStrategyProto* internal_default_instance() {
4810  return reinterpret_cast<const DecisionStrategyProto*>(
4812  }
4813  static constexpr int kIndexInFileMessages =
4814  21;
4815 
4816  friend void swap(DecisionStrategyProto& a, DecisionStrategyProto& b) {
4817  a.Swap(&b);
4818  }
4819  inline void Swap(DecisionStrategyProto* other) {
4820  if (other == this) return;
4821  if (GetArena() == other->GetArena()) {
4822  InternalSwap(other);
4823  } else {
4824  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
4825  }
4826  }
4827  void UnsafeArenaSwap(DecisionStrategyProto* other) {
4828  if (other == this) return;
4829  GOOGLE_DCHECK(GetArena() == other->GetArena());
4830  InternalSwap(other);
4831  }
4832 
4833  // implements Message ----------------------------------------------
4834 
4835  inline DecisionStrategyProto* New() const final {
4836  return CreateMaybeMessage<DecisionStrategyProto>(nullptr);
4837  }
4838 
4839  DecisionStrategyProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
4840  return CreateMaybeMessage<DecisionStrategyProto>(arena);
4841  }
4842  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4843  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
4844  void CopyFrom(const DecisionStrategyProto& from);
4845  void MergeFrom(const DecisionStrategyProto& from);
4846  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
4847  bool IsInitialized() const final;
4848 
4849  size_t ByteSizeLong() const final;
4850  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
4851  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
4852  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
4853  int GetCachedSize() const final { return _cached_size_.Get(); }
4854 
4855  private:
4856  inline void SharedCtor();
4857  inline void SharedDtor();
4858  void SetCachedSize(int size) const final;
4859  void InternalSwap(DecisionStrategyProto* other);
4860  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
4861  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
4862  return "operations_research.sat.DecisionStrategyProto";
4863  }
4864  protected:
4865  explicit DecisionStrategyProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4866  private:
4867  static void ArenaDtor(void* object);
4868  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
4869  public:
4870 
4871  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
4872  private:
4873  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
4875  }
4876 
4877  public:
4878 
4879  // nested types ----------------------------------------------------
4880 
4881  typedef DecisionStrategyProto_AffineTransformation AffineTransformation;
4882 
4884  static constexpr VariableSelectionStrategy CHOOSE_FIRST =
4886  static constexpr VariableSelectionStrategy CHOOSE_LOWEST_MIN =
4888  static constexpr VariableSelectionStrategy CHOOSE_HIGHEST_MAX =
4890  static constexpr VariableSelectionStrategy CHOOSE_MIN_DOMAIN_SIZE =
4892  static constexpr VariableSelectionStrategy CHOOSE_MAX_DOMAIN_SIZE =
4894  static inline bool VariableSelectionStrategy_IsValid(int value) {
4896  }
4897  static constexpr VariableSelectionStrategy VariableSelectionStrategy_MIN =
4899  static constexpr VariableSelectionStrategy VariableSelectionStrategy_MAX =
4901  static constexpr int VariableSelectionStrategy_ARRAYSIZE =
4903  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
4906  }
4907  template<typename T>
4908  static inline const std::string& VariableSelectionStrategy_Name(T enum_t_value) {
4911  "Incorrect type passed to function VariableSelectionStrategy_Name.");
4913  }
4914  static inline bool VariableSelectionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
4917  }
4918 
4920  static constexpr DomainReductionStrategy SELECT_MIN_VALUE =
4922  static constexpr DomainReductionStrategy SELECT_MAX_VALUE =
4924  static constexpr DomainReductionStrategy SELECT_LOWER_HALF =
4926  static constexpr DomainReductionStrategy SELECT_UPPER_HALF =
4928  static constexpr DomainReductionStrategy SELECT_MEDIAN_VALUE =
4930  static inline bool DomainReductionStrategy_IsValid(int value) {
4932  }
4933  static constexpr DomainReductionStrategy DomainReductionStrategy_MIN =
4935  static constexpr DomainReductionStrategy DomainReductionStrategy_MAX =
4937  static constexpr int DomainReductionStrategy_ARRAYSIZE =
4939  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
4942  }
4943  template<typename T>
4944  static inline const std::string& DomainReductionStrategy_Name(T enum_t_value) {
4947  "Incorrect type passed to function DomainReductionStrategy_Name.");
4949  }
4950  static inline bool DomainReductionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
4953  }
4954 
4955  // accessors -------------------------------------------------------
4956 
4957  enum : int {
4958  kVariablesFieldNumber = 1,
4959  kTransformationsFieldNumber = 4,
4960  kVariableSelectionStrategyFieldNumber = 2,
4961  kDomainReductionStrategyFieldNumber = 3,
4962  };
4963  // repeated int32 variables = 1;
4964  int variables_size() const;
4965  private:
4966  int _internal_variables_size() const;
4967  public:
4969  private:
4970  ::PROTOBUF_NAMESPACE_ID::int32 _internal_variables(int index) const;
4971  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
4972  _internal_variables() const;
4973  void _internal_add_variables(::PROTOBUF_NAMESPACE_ID::int32 value);
4974  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
4975  _internal_mutable_variables();
4976  public:
4977  ::PROTOBUF_NAMESPACE_ID::int32 variables(int index) const;
4978  void set_variables(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
4979  void add_variables(::PROTOBUF_NAMESPACE_ID::int32 value);
4980  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
4981  variables() const;
4982  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
4984 
4985  // repeated .operations_research.sat.DecisionStrategyProto.AffineTransformation transformations = 4;
4987  private:
4988  int _internal_transformations_size() const;
4989  public:
4991  ::operations_research::sat::DecisionStrategyProto_AffineTransformation* mutable_transformations(int index);
4992  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >*
4994  private:
4995  const ::operations_research::sat::DecisionStrategyProto_AffineTransformation& _internal_transformations(int index) const;
4996  ::operations_research::sat::DecisionStrategyProto_AffineTransformation* _internal_add_transformations();
4997  public:
4998  const ::operations_research::sat::DecisionStrategyProto_AffineTransformation& transformations(int index) const;
4999  ::operations_research::sat::DecisionStrategyProto_AffineTransformation* add_transformations();
5000  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >&
5002 
5003  // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
5007  private:
5008  ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy _internal_variable_selection_strategy() const;
5009  void _internal_set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value);
5010  public:
5011 
5012  // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
5016  private:
5017  ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy _internal_domain_reduction_strategy() const;
5018  void _internal_set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value);
5019  public:
5020 
5021  // @@protoc_insertion_point(class_scope:operations_research.sat.DecisionStrategyProto)
5022  private:
5023  class _Internal;
5024 
5025  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5026  typedef void InternalArenaConstructable_;
5027  typedef void DestructorSkippable_;
5028  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > variables_;
5029  mutable std::atomic<int> _variables_cached_byte_size_;
5030  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation > transformations_;
5031  int variable_selection_strategy_;
5032  int domain_reduction_strategy_;
5033  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5034  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5035 };
5036 // -------------------------------------------------------------------
5037 
5038 class PartialVariableAssignment PROTOBUF_FINAL :
5039  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.PartialVariableAssignment) */ {
5040  public:
5041  inline PartialVariableAssignment() : PartialVariableAssignment(nullptr) {}
5043  explicit constexpr PartialVariableAssignment(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
5044 
5045  PartialVariableAssignment(const PartialVariableAssignment& from);
5046  PartialVariableAssignment(PartialVariableAssignment&& from) noexcept
5047  : PartialVariableAssignment() {
5048  *this = ::std::move(from);
5049  }
5050 
5051  inline PartialVariableAssignment& operator=(const PartialVariableAssignment& from) {
5052  CopyFrom(from);
5053  return *this;
5054  }
5055  inline PartialVariableAssignment& operator=(PartialVariableAssignment&& from) noexcept {
5056  if (GetArena() == from.GetArena()) {
5057  if (this != &from) InternalSwap(&from);
5058  } else {
5059  CopyFrom(from);
5060  }
5061  return *this;
5062  }
5063 
5064  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
5065  return GetDescriptor();
5066  }
5067  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
5068  return GetMetadataStatic().descriptor;
5069  }
5070  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
5071  return GetMetadataStatic().reflection;
5072  }
5073  static const PartialVariableAssignment& default_instance() {
5074  return *internal_default_instance();
5075  }
5076  static inline const PartialVariableAssignment* internal_default_instance() {
5077  return reinterpret_cast<const PartialVariableAssignment*>(
5079  }
5080  static constexpr int kIndexInFileMessages =
5081  22;
5082 
5083  friend void swap(PartialVariableAssignment& a, PartialVariableAssignment& b) {
5084  a.Swap(&b);
5085  }
5086  inline void Swap(PartialVariableAssignment* other) {
5087  if (other == this) return;
5088  if (GetArena() == other->GetArena()) {
5089  InternalSwap(other);
5090  } else {
5091  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
5092  }
5093  }
5094  void UnsafeArenaSwap(PartialVariableAssignment* other) {
5095  if (other == this) return;
5096  GOOGLE_DCHECK(GetArena() == other->GetArena());
5097  InternalSwap(other);
5098  }
5099 
5100  // implements Message ----------------------------------------------
5101 
5102  inline PartialVariableAssignment* New() const final {
5103  return CreateMaybeMessage<PartialVariableAssignment>(nullptr);
5104  }
5105 
5106  PartialVariableAssignment* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
5107  return CreateMaybeMessage<PartialVariableAssignment>(arena);
5108  }
5109  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5110  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5111  void CopyFrom(const PartialVariableAssignment& from);
5112  void MergeFrom(const PartialVariableAssignment& from);
5113  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
5114  bool IsInitialized() const final;
5115 
5116  size_t ByteSizeLong() const final;
5117  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
5118  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
5119  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
5120  int GetCachedSize() const final { return _cached_size_.Get(); }
5121 
5122  private:
5123  inline void SharedCtor();
5124  inline void SharedDtor();
5125  void SetCachedSize(int size) const final;
5126  void InternalSwap(PartialVariableAssignment* other);
5127  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
5128  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
5129  return "operations_research.sat.PartialVariableAssignment";
5130  }
5131  protected:
5132  explicit PartialVariableAssignment(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5133  private:
5134  static void ArenaDtor(void* object);
5135  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5136  public:
5137 
5138  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
5139  private:
5140  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
5142  }
5143 
5144  public:
5145 
5146  // nested types ----------------------------------------------------
5147 
5148  // accessors -------------------------------------------------------
5149 
5150  enum : int {
5151  kVarsFieldNumber = 1,
5152  kValuesFieldNumber = 2,
5153  };
5154  // repeated int32 vars = 1;
5155  int vars_size() const;
5156  private:
5157  int _internal_vars_size() const;
5158  public:
5159  void clear_vars();
5160  private:
5161  ::PROTOBUF_NAMESPACE_ID::int32 _internal_vars(int index) const;
5162  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5163  _internal_vars() const;
5164  void _internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
5165  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5166  _internal_mutable_vars();
5167  public:
5168  ::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const;
5169  void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
5170  void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value);
5171  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5172  vars() const;
5173  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5175 
5176  // repeated int64 values = 2;
5177  int values_size() const;
5178  private:
5179  int _internal_values_size() const;
5180  public:
5182  private:
5183  ::PROTOBUF_NAMESPACE_ID::int64 _internal_values(int index) const;
5184  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5185  _internal_values() const;
5186  void _internal_add_values(::PROTOBUF_NAMESPACE_ID::int64 value);
5187  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5188  _internal_mutable_values();
5189  public:
5190  ::PROTOBUF_NAMESPACE_ID::int64 values(int index) const;
5191  void set_values(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
5192  void add_values(::PROTOBUF_NAMESPACE_ID::int64 value);
5193  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
5194  values() const;
5195  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
5197 
5198  // @@protoc_insertion_point(class_scope:operations_research.sat.PartialVariableAssignment)
5199  private:
5200  class _Internal;
5201 
5202  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5203  typedef void InternalArenaConstructable_;
5204  typedef void DestructorSkippable_;
5205  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > vars_;
5206  mutable std::atomic<int> _vars_cached_byte_size_;
5207  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > values_;
5208  mutable std::atomic<int> _values_cached_byte_size_;
5209  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5210  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5211 };
5212 // -------------------------------------------------------------------
5213 
5214 class SparsePermutationProto PROTOBUF_FINAL :
5215  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.SparsePermutationProto) */ {
5216  public:
5217  inline SparsePermutationProto() : SparsePermutationProto(nullptr) {}
5219  explicit constexpr SparsePermutationProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
5220 
5221  SparsePermutationProto(const SparsePermutationProto& from);
5222  SparsePermutationProto(SparsePermutationProto&& from) noexcept
5223  : SparsePermutationProto() {
5224  *this = ::std::move(from);
5225  }
5226 
5227  inline SparsePermutationProto& operator=(const SparsePermutationProto& from) {
5228  CopyFrom(from);
5229  return *this;
5230  }
5231  inline SparsePermutationProto& operator=(SparsePermutationProto&& from) noexcept {
5232  if (GetArena() == from.GetArena()) {
5233  if (this != &from) InternalSwap(&from);
5234  } else {
5235  CopyFrom(from);
5236  }
5237  return *this;
5238  }
5239 
5240  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
5241  return GetDescriptor();
5242  }
5243  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
5244  return GetMetadataStatic().descriptor;
5245  }
5246  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
5247  return GetMetadataStatic().reflection;
5248  }
5249  static const SparsePermutationProto& default_instance() {
5250  return *internal_default_instance();
5251  }
5252  static inline const SparsePermutationProto* internal_default_instance() {
5253  return reinterpret_cast<const SparsePermutationProto*>(
5255  }
5256  static constexpr int kIndexInFileMessages =
5257  23;
5258 
5259  friend void swap(SparsePermutationProto& a, SparsePermutationProto& b) {
5260  a.Swap(&b);
5261  }
5262  inline void Swap(SparsePermutationProto* other) {
5263  if (other == this) return;
5264  if (GetArena() == other->GetArena()) {
5265  InternalSwap(other);
5266  } else {
5267  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
5268  }
5269  }
5270  void UnsafeArenaSwap(SparsePermutationProto* other) {
5271  if (other == this) return;
5272  GOOGLE_DCHECK(GetArena() == other->GetArena());
5273  InternalSwap(other);
5274  }
5275 
5276  // implements Message ----------------------------------------------
5277 
5278  inline SparsePermutationProto* New() const final {
5279  return CreateMaybeMessage<SparsePermutationProto>(nullptr);
5280  }
5281 
5282  SparsePermutationProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
5283  return CreateMaybeMessage<SparsePermutationProto>(arena);
5284  }
5285  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5286  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5287  void CopyFrom(const SparsePermutationProto& from);
5288  void MergeFrom(const SparsePermutationProto& from);
5289  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
5290  bool IsInitialized() const final;
5291 
5292  size_t ByteSizeLong() const final;
5293  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
5294  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
5295  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
5296  int GetCachedSize() const final { return _cached_size_.Get(); }
5297 
5298  private:
5299  inline void SharedCtor();
5300  inline void SharedDtor();
5301  void SetCachedSize(int size) const final;
5302  void InternalSwap(SparsePermutationProto* other);
5303  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
5304  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
5305  return "operations_research.sat.SparsePermutationProto";
5306  }
5307  protected:
5308  explicit SparsePermutationProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5309  private:
5310  static void ArenaDtor(void* object);
5311  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5312  public:
5313 
5314  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
5315  private:
5316  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
5318  }
5319 
5320  public:
5321 
5322  // nested types ----------------------------------------------------
5323 
5324  // accessors -------------------------------------------------------
5325 
5326  enum : int {
5327  kSupportFieldNumber = 1,
5328  kCycleSizesFieldNumber = 2,
5329  };
5330  // repeated int32 support = 1;
5331  int support_size() const;
5332  private:
5333  int _internal_support_size() const;
5334  public:
5336  private:
5337  ::PROTOBUF_NAMESPACE_ID::int32 _internal_support(int index) const;
5338  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5339  _internal_support() const;
5340  void _internal_add_support(::PROTOBUF_NAMESPACE_ID::int32 value);
5341  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5342  _internal_mutable_support();
5343  public:
5344  ::PROTOBUF_NAMESPACE_ID::int32 support(int index) const;
5345  void set_support(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
5346  void add_support(::PROTOBUF_NAMESPACE_ID::int32 value);
5347  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5348  support() const;
5349  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5351 
5352  // repeated int32 cycle_sizes = 2;
5353  int cycle_sizes_size() const;
5354  private:
5355  int _internal_cycle_sizes_size() const;
5356  public:
5358  private:
5359  ::PROTOBUF_NAMESPACE_ID::int32 _internal_cycle_sizes(int index) const;
5360  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5361  _internal_cycle_sizes() const;
5362  void _internal_add_cycle_sizes(::PROTOBUF_NAMESPACE_ID::int32 value);
5363  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5364  _internal_mutable_cycle_sizes();
5365  public:
5366  ::PROTOBUF_NAMESPACE_ID::int32 cycle_sizes(int index) const;
5367  void set_cycle_sizes(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
5368  void add_cycle_sizes(::PROTOBUF_NAMESPACE_ID::int32 value);
5369  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5370  cycle_sizes() const;
5371  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5373 
5374  // @@protoc_insertion_point(class_scope:operations_research.sat.SparsePermutationProto)
5375  private:
5376  class _Internal;
5377 
5378  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5379  typedef void InternalArenaConstructable_;
5380  typedef void DestructorSkippable_;
5381  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > support_;
5382  mutable std::atomic<int> _support_cached_byte_size_;
5383  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > cycle_sizes_;
5384  mutable std::atomic<int> _cycle_sizes_cached_byte_size_;
5385  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5386  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5387 };
5388 // -------------------------------------------------------------------
5389 
5390 class DenseMatrixProto PROTOBUF_FINAL :
5391  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.DenseMatrixProto) */ {
5392  public:
5393  inline DenseMatrixProto() : DenseMatrixProto(nullptr) {}
5395  explicit constexpr DenseMatrixProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
5396 
5397  DenseMatrixProto(const DenseMatrixProto& from);
5398  DenseMatrixProto(DenseMatrixProto&& from) noexcept
5399  : DenseMatrixProto() {
5400  *this = ::std::move(from);
5401  }
5402 
5403  inline DenseMatrixProto& operator=(const DenseMatrixProto& from) {
5404  CopyFrom(from);
5405  return *this;
5406  }
5407  inline DenseMatrixProto& operator=(DenseMatrixProto&& from) noexcept {
5408  if (GetArena() == from.GetArena()) {
5409  if (this != &from) InternalSwap(&from);
5410  } else {
5411  CopyFrom(from);
5412  }
5413  return *this;
5414  }
5415 
5416  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
5417  return GetDescriptor();
5418  }
5419  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
5420  return GetMetadataStatic().descriptor;
5421  }
5422  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
5423  return GetMetadataStatic().reflection;
5424  }
5425  static const DenseMatrixProto& default_instance() {
5426  return *internal_default_instance();
5427  }
5428  static inline const DenseMatrixProto* internal_default_instance() {
5429  return reinterpret_cast<const DenseMatrixProto*>(
5431  }
5432  static constexpr int kIndexInFileMessages =
5433  24;
5434 
5435  friend void swap(DenseMatrixProto& a, DenseMatrixProto& b) {
5436  a.Swap(&b);
5437  }
5438  inline void Swap(DenseMatrixProto* other) {
5439  if (other == this) return;
5440  if (GetArena() == other->GetArena()) {
5441  InternalSwap(other);
5442  } else {
5443  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
5444  }
5445  }
5446  void UnsafeArenaSwap(DenseMatrixProto* other) {
5447  if (other == this) return;
5448  GOOGLE_DCHECK(GetArena() == other->GetArena());
5449  InternalSwap(other);
5450  }
5451 
5452  // implements Message ----------------------------------------------
5453 
5454  inline DenseMatrixProto* New() const final {
5455  return CreateMaybeMessage<DenseMatrixProto>(nullptr);
5456  }
5457 
5458  DenseMatrixProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
5459  return CreateMaybeMessage<DenseMatrixProto>(arena);
5460  }
5461  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5462  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5463  void CopyFrom(const DenseMatrixProto& from);
5464  void MergeFrom(const DenseMatrixProto& from);
5465  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
5466  bool IsInitialized() const final;
5467 
5468  size_t ByteSizeLong() const final;
5469  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
5470  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
5471  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
5472  int GetCachedSize() const final { return _cached_size_.Get(); }
5473 
5474  private:
5475  inline void SharedCtor();
5476  inline void SharedDtor();
5477  void SetCachedSize(int size) const final;
5478  void InternalSwap(DenseMatrixProto* other);
5479  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
5480  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
5481  return "operations_research.sat.DenseMatrixProto";
5482  }
5483  protected:
5484  explicit DenseMatrixProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5485  private:
5486  static void ArenaDtor(void* object);
5487  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5488  public:
5489 
5490  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
5491  private:
5492  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
5494  }
5495 
5496  public:
5497 
5498  // nested types ----------------------------------------------------
5499 
5500  // accessors -------------------------------------------------------
5501 
5502  enum : int {
5503  kEntriesFieldNumber = 3,
5504  kNumRowsFieldNumber = 1,
5505  kNumColsFieldNumber = 2,
5506  };
5507  // repeated int32 entries = 3;
5508  int entries_size() const;
5509  private:
5510  int _internal_entries_size() const;
5511  public:
5513  private:
5514  ::PROTOBUF_NAMESPACE_ID::int32 _internal_entries(int index) const;
5515  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5516  _internal_entries() const;
5517  void _internal_add_entries(::PROTOBUF_NAMESPACE_ID::int32 value);
5518  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5519  _internal_mutable_entries();
5520  public:
5521  ::PROTOBUF_NAMESPACE_ID::int32 entries(int index) const;
5522  void set_entries(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
5523  void add_entries(::PROTOBUF_NAMESPACE_ID::int32 value);
5524  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5525  entries() const;
5526  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5528 
5529  // int32 num_rows = 1;
5531  ::PROTOBUF_NAMESPACE_ID::int32 num_rows() const;
5532  void set_num_rows(::PROTOBUF_NAMESPACE_ID::int32 value);
5533  private:
5534  ::PROTOBUF_NAMESPACE_ID::int32 _internal_num_rows() const;
5535  void _internal_set_num_rows(::PROTOBUF_NAMESPACE_ID::int32 value);
5536  public:
5537 
5538  // int32 num_cols = 2;
5540  ::PROTOBUF_NAMESPACE_ID::int32 num_cols() const;
5541  void set_num_cols(::PROTOBUF_NAMESPACE_ID::int32 value);
5542  private:
5543  ::PROTOBUF_NAMESPACE_ID::int32 _internal_num_cols() const;
5544  void _internal_set_num_cols(::PROTOBUF_NAMESPACE_ID::int32 value);
5545  public:
5546 
5547  // @@protoc_insertion_point(class_scope:operations_research.sat.DenseMatrixProto)
5548  private:
5549  class _Internal;
5550 
5551  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5552  typedef void InternalArenaConstructable_;
5553  typedef void DestructorSkippable_;
5554  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > entries_;
5555  mutable std::atomic<int> _entries_cached_byte_size_;
5556  ::PROTOBUF_NAMESPACE_ID::int32 num_rows_;
5557  ::PROTOBUF_NAMESPACE_ID::int32 num_cols_;
5558  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5559  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5560 };
5561 // -------------------------------------------------------------------
5562 
5563 class SymmetryProto PROTOBUF_FINAL :
5564  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.SymmetryProto) */ {
5565  public:
5566  inline SymmetryProto() : SymmetryProto(nullptr) {}
5567  virtual ~SymmetryProto();
5568  explicit constexpr SymmetryProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
5569 
5570  SymmetryProto(const SymmetryProto& from);
5571  SymmetryProto(SymmetryProto&& from) noexcept
5572  : SymmetryProto() {
5573  *this = ::std::move(from);
5574  }
5575 
5576  inline SymmetryProto& operator=(const SymmetryProto& from) {
5577  CopyFrom(from);
5578  return *this;
5579  }
5580  inline SymmetryProto& operator=(SymmetryProto&& from) noexcept {
5581  if (GetArena() == from.GetArena()) {
5582  if (this != &from) InternalSwap(&from);
5583  } else {
5584  CopyFrom(from);
5585  }
5586  return *this;
5587  }
5588 
5589  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
5590  return GetDescriptor();
5591  }
5592  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
5593  return GetMetadataStatic().descriptor;
5594  }
5595  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
5596  return GetMetadataStatic().reflection;
5597  }
5598  static const SymmetryProto& default_instance() {
5599  return *internal_default_instance();
5600  }
5601  static inline const SymmetryProto* internal_default_instance() {
5602  return reinterpret_cast<const SymmetryProto*>(
5604  }
5605  static constexpr int kIndexInFileMessages =
5606  25;
5607 
5608  friend void swap(SymmetryProto& a, SymmetryProto& b) {
5609  a.Swap(&b);
5610  }
5611  inline void Swap(SymmetryProto* other) {
5612  if (other == this) return;
5613  if (GetArena() == other->GetArena()) {
5614  InternalSwap(other);
5615  } else {
5616  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
5617  }
5618  }
5619  void UnsafeArenaSwap(SymmetryProto* other) {
5620  if (other == this) return;
5621  GOOGLE_DCHECK(GetArena() == other->GetArena());
5622  InternalSwap(other);
5623  }
5624 
5625  // implements Message ----------------------------------------------
5626 
5627  inline SymmetryProto* New() const final {
5628  return CreateMaybeMessage<SymmetryProto>(nullptr);
5629  }
5630 
5631  SymmetryProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
5632  return CreateMaybeMessage<SymmetryProto>(arena);
5633  }
5634  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5635  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5636  void CopyFrom(const SymmetryProto& from);
5637  void MergeFrom(const SymmetryProto& from);
5638  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
5639  bool IsInitialized() const final;
5640 
5641  size_t ByteSizeLong() const final;
5642  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
5643  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
5644  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
5645  int GetCachedSize() const final { return _cached_size_.Get(); }
5646 
5647  private:
5648  inline void SharedCtor();
5649  inline void SharedDtor();
5650  void SetCachedSize(int size) const final;
5651  void InternalSwap(SymmetryProto* other);
5652  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
5653  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
5654  return "operations_research.sat.SymmetryProto";
5655  }
5656  protected:
5657  explicit SymmetryProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5658  private:
5659  static void ArenaDtor(void* object);
5660  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5661  public:
5662 
5663  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
5664  private:
5665  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
5667  }
5668 
5669  public:
5670 
5671  // nested types ----------------------------------------------------
5672 
5673  // accessors -------------------------------------------------------
5674 
5675  enum : int {
5676  kPermutationsFieldNumber = 1,
5677  kOrbitopesFieldNumber = 2,
5678  };
5679  // repeated .operations_research.sat.SparsePermutationProto permutations = 1;
5680  int permutations_size() const;
5681  private:
5682  int _internal_permutations_size() const;
5683  public:
5685  ::operations_research::sat::SparsePermutationProto* mutable_permutations(int index);
5686  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::SparsePermutationProto >*
5688  private:
5689  const ::operations_research::sat::SparsePermutationProto& _internal_permutations(int index) const;
5690  ::operations_research::sat::SparsePermutationProto* _internal_add_permutations();
5691  public:
5692  const ::operations_research::sat::SparsePermutationProto& permutations(int index) const;
5693  ::operations_research::sat::SparsePermutationProto* add_permutations();
5694  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::SparsePermutationProto >&
5695  permutations() const;
5696 
5697  // repeated .operations_research.sat.DenseMatrixProto orbitopes = 2;
5698  int orbitopes_size() const;
5699  private:
5700  int _internal_orbitopes_size() const;
5701  public:
5703  ::operations_research::sat::DenseMatrixProto* mutable_orbitopes(int index);
5704  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DenseMatrixProto >*
5706  private:
5707  const ::operations_research::sat::DenseMatrixProto& _internal_orbitopes(int index) const;
5708  ::operations_research::sat::DenseMatrixProto* _internal_add_orbitopes();
5709  public:
5710  const ::operations_research::sat::DenseMatrixProto& orbitopes(int index) const;
5711  ::operations_research::sat::DenseMatrixProto* add_orbitopes();
5712  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DenseMatrixProto >&
5713  orbitopes() const;
5714 
5715  // @@protoc_insertion_point(class_scope:operations_research.sat.SymmetryProto)
5716  private:
5717  class _Internal;
5718 
5719  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
5720  typedef void InternalArenaConstructable_;
5721  typedef void DestructorSkippable_;
5722  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::SparsePermutationProto > permutations_;
5723  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DenseMatrixProto > orbitopes_;
5724  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
5725  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
5726 };
5727 // -------------------------------------------------------------------
5728 
5729 class CpModelProto PROTOBUF_FINAL :
5730  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CpModelProto) */ {
5731  public:
5732  inline CpModelProto() : CpModelProto(nullptr) {}
5733  virtual ~CpModelProto();
5734  explicit constexpr CpModelProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
5735 
5736  CpModelProto(const CpModelProto& from);
5737  CpModelProto(CpModelProto&& from) noexcept
5738  : CpModelProto() {
5739  *this = ::std::move(from);
5740  }
5741 
5742  inline CpModelProto& operator=(const CpModelProto& from) {
5743  CopyFrom(from);
5744  return *this;
5745  }
5746  inline CpModelProto& operator=(CpModelProto&& from) noexcept {
5747  if (GetArena() == from.GetArena()) {
5748  if (this != &from) InternalSwap(&from);
5749  } else {
5750  CopyFrom(from);
5751  }
5752  return *this;
5753  }
5754 
5755  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
5756  return GetDescriptor();
5757  }
5758  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
5759  return GetMetadataStatic().descriptor;
5760  }
5761  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
5762  return GetMetadataStatic().reflection;
5763  }
5764  static const CpModelProto& default_instance() {
5765  return *internal_default_instance();
5766  }
5767  static inline const CpModelProto* internal_default_instance() {
5768  return reinterpret_cast<const CpModelProto*>(
5770  }
5771  static constexpr int kIndexInFileMessages =
5772  26;
5773 
5774  friend void swap(CpModelProto& a, CpModelProto& b) {
5775  a.Swap(&b);
5776  }
5777  inline void Swap(CpModelProto* other) {
5778  if (other == this) return;
5779  if (GetArena() == other->GetArena()) {
5780  InternalSwap(other);
5781  } else {
5782  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
5783  }
5784  }
5785  void UnsafeArenaSwap(CpModelProto* other) {
5786  if (other == this) return;
5787  GOOGLE_DCHECK(GetArena() == other->GetArena());
5788  InternalSwap(other);
5789  }
5790 
5791  // implements Message ----------------------------------------------
5792 
5793  inline CpModelProto* New() const final {
5794  return CreateMaybeMessage<CpModelProto>(nullptr);
5795  }
5796 
5797  CpModelProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
5798  return CreateMaybeMessage<CpModelProto>(arena);
5799  }
5800  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5801  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
5802  void CopyFrom(const CpModelProto& from);
5803  void MergeFrom(const CpModelProto& from);
5804  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
5805  bool IsInitialized() const final;
5806 
5807  size_t ByteSizeLong() const final;
5808  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
5809  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
5810  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
5811  int GetCachedSize() const final { return _cached_size_.Get(); }
5812 
5813  private:
5814  inline void SharedCtor();
5815  inline void SharedDtor();
5816  void SetCachedSize(int size) const final;
5817  void InternalSwap(CpModelProto* other);
5818  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
5819  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
5820  return "operations_research.sat.CpModelProto";
5821  }
5822  protected:
5823  explicit CpModelProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5824  private:
5825  static void ArenaDtor(void* object);
5826  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
5827  public:
5828 
5829  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
5830  private:
5831  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
5833  }
5834 
5835  public:
5836 
5837  // nested types ----------------------------------------------------
5838 
5839  // accessors -------------------------------------------------------
5840 
5841  enum : int {
5842  kVariablesFieldNumber = 2,
5843  kConstraintsFieldNumber = 3,
5844  kSearchStrategyFieldNumber = 5,
5845  kAssumptionsFieldNumber = 7,
5846  kNameFieldNumber = 1,
5847  kObjectiveFieldNumber = 4,
5848  kSolutionHintFieldNumber = 6,
5849  kSymmetryFieldNumber = 8,
5850  };
5851  // repeated .operations_research.sat.IntegerVariableProto variables = 2;
5852  int variables_size() const;
5853  private:
5854  int _internal_variables_size() const;
5855  public:
5857  ::operations_research::sat::IntegerVariableProto* mutable_variables(int index);
5858  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
5860  private:
5861  const ::operations_research::sat::IntegerVariableProto& _internal_variables(int index) const;
5862  ::operations_research::sat::IntegerVariableProto* _internal_add_variables();
5863  public:
5864  const ::operations_research::sat::IntegerVariableProto& variables(int index) const;
5865  ::operations_research::sat::IntegerVariableProto* add_variables();
5866  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
5867  variables() const;
5868 
5869  // repeated .operations_research.sat.ConstraintProto constraints = 3;
5870  int constraints_size() const;
5871  private:
5872  int _internal_constraints_size() const;
5873  public:
5875  ::operations_research::sat::ConstraintProto* mutable_constraints(int index);
5876  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >*
5878  private:
5879  const ::operations_research::sat::ConstraintProto& _internal_constraints(int index) const;
5880  ::operations_research::sat::ConstraintProto* _internal_add_constraints();
5881  public:
5882  const ::operations_research::sat::ConstraintProto& constraints(int index) const;
5883  ::operations_research::sat::ConstraintProto* add_constraints();
5884  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >&
5885  constraints() const;
5886 
5887  // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
5889  private:
5890  int _internal_search_strategy_size() const;
5891  public:
5893  ::operations_research::sat::DecisionStrategyProto* mutable_search_strategy(int index);
5894  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >*
5896  private:
5897  const ::operations_research::sat::DecisionStrategyProto& _internal_search_strategy(int index) const;
5898  ::operations_research::sat::DecisionStrategyProto* _internal_add_search_strategy();
5899  public:
5900  const ::operations_research::sat::DecisionStrategyProto& search_strategy(int index) const;
5901  ::operations_research::sat::DecisionStrategyProto* add_search_strategy();
5902  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >&
5904 
5905  // repeated int32 assumptions = 7;
5906  int assumptions_size() const;
5907  private:
5908  int _internal_assumptions_size() const;
5909  public:
5911  private:
5912  ::PROTOBUF_NAMESPACE_ID::int32 _internal_assumptions(int index) const;
5913  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5914  _internal_assumptions() const;
5915  void _internal_add_assumptions(::PROTOBUF_NAMESPACE_ID::int32 value);
5916  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5917  _internal_mutable_assumptions();
5918  public:
5919  ::PROTOBUF_NAMESPACE_ID::int32 assumptions(int index) const;
5920  void set_assumptions(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
5921  void add_assumptions(::PROTOBUF_NAMESPACE_ID::int32 value);
5922  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
5923  assumptions() const;
5924  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
5926 
5927  // string name = 1;
5928  void clear_name();
5929  const std::string& name() const;
5930  void set_name(const std::string& value);
5931  void set_name(std::string&& value);
5932  void set_name(const char* value);
5933  void set_name(const char* value, size_t size);
5934  std::string* mutable_name();
5935  std::string* release_name();
5936  void set_allocated_name(std::string* name);
5937  private:
5938  const std::string& _internal_name() const;
5939  void _internal_set_name(const std::string& value);
5940  std::string* _internal_mutable_name();
5941  public:
5942 
5943  // .operations_research.sat.CpObjectiveProto objective = 4;
5944  bool has_objective() const;
5945  private:
5946  bool _internal_has_objective() const;
5947  public:
5949  const ::operations_research::sat::CpObjectiveProto& objective() const;
5950  ::operations_research::sat::CpObjectiveProto* release_objective();
5951  ::operations_research::sat::CpObjectiveProto* mutable_objective();
5952  void set_allocated_objective(::operations_research::sat::CpObjectiveProto* objective);
5953  private:
5954  const ::operations_research::sat::CpObjectiveProto& _internal_objective() const;
5955  ::operations_research::sat::CpObjectiveProto* _internal_mutable_objective();
5956  public:
5958  ::operations_research::sat::CpObjectiveProto* objective);
5959  ::operations_research::sat::CpObjectiveProto* unsafe_arena_release_objective();
5960 
5961  // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
5962  bool has_solution_hint() const;
5963  private:
5964  bool _internal_has_solution_hint() const;
5965  public:
5967  const ::operations_research::sat::PartialVariableAssignment& solution_hint() const;
5968  ::operations_research::sat::PartialVariableAssignment* release_solution_hint();
5969  ::operations_research::sat::PartialVariableAssignment* mutable_solution_hint();
5970  void set_allocated_solution_hint(::operations_research::sat::PartialVariableAssignment* solution_hint);
5971  private:
5972  const ::operations_research::sat::PartialVariableAssignment& _internal_solution_hint() const;
5973  ::operations_research::sat::PartialVariableAssignment* _internal_mutable_solution_hint();
5974  public:
5976  ::operations_research::sat::PartialVariableAssignment* solution_hint);
5977  ::operations_research::sat::PartialVariableAssignment* unsafe_arena_release_solution_hint();
5978 
5979  // .operations_research.sat.SymmetryProto symmetry = 8;
5980  bool has_symmetry() const;
5981  private:
5982  bool _internal_has_symmetry() const;
5983  public:
5985  const ::operations_research::sat::SymmetryProto& symmetry() const;
5986  ::operations_research::sat::SymmetryProto* release_symmetry();
5987  ::operations_research::sat::SymmetryProto* mutable_symmetry();
5988  void set_allocated_symmetry(::operations_research::sat::SymmetryProto* symmetry);
5989  private:
5990  const ::operations_research::sat::SymmetryProto& _internal_symmetry() const;
5991  ::operations_research::sat::SymmetryProto* _internal_mutable_symmetry();
5992  public:
5994  ::operations_research::sat::SymmetryProto* symmetry);
5995  ::operations_research::sat::SymmetryProto* unsafe_arena_release_symmetry();
5996 
5997  // @@protoc_insertion_point(class_scope:operations_research.sat.CpModelProto)
5998  private:
5999  class _Internal;
6000 
6001  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
6002  typedef void InternalArenaConstructable_;
6003  typedef void DestructorSkippable_;
6004  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > variables_;
6005  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto > constraints_;
6006  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto > search_strategy_;
6007  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > assumptions_;
6008  mutable std::atomic<int> _assumptions_cached_byte_size_;
6009  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
6010  ::operations_research::sat::CpObjectiveProto* objective_;
6011  ::operations_research::sat::PartialVariableAssignment* solution_hint_;
6012  ::operations_research::sat::SymmetryProto* symmetry_;
6013  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
6014  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
6015 };
6016 // -------------------------------------------------------------------
6017 
6018 class CpSolverResponse PROTOBUF_FINAL :
6019  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.sat.CpSolverResponse) */ {
6020  public:
6021  inline CpSolverResponse() : CpSolverResponse(nullptr) {}
6023  explicit constexpr CpSolverResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
6024 
6025  CpSolverResponse(const CpSolverResponse& from);
6026  CpSolverResponse(CpSolverResponse&& from) noexcept
6027  : CpSolverResponse() {
6028  *this = ::std::move(from);
6029  }
6030 
6031  inline CpSolverResponse& operator=(const CpSolverResponse& from) {
6032  CopyFrom(from);
6033  return *this;
6034  }
6035  inline CpSolverResponse& operator=(CpSolverResponse&& from) noexcept {
6036  if (GetArena() == from.GetArena()) {
6037  if (this != &from) InternalSwap(&from);
6038  } else {
6039  CopyFrom(from);
6040  }
6041  return *this;
6042  }
6043 
6044  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
6045  return GetDescriptor();
6046  }
6047  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
6048  return GetMetadataStatic().descriptor;
6049  }
6050  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
6051  return GetMetadataStatic().reflection;
6052  }
6053  static const CpSolverResponse& default_instance() {
6054  return *internal_default_instance();
6055  }
6056  static inline const CpSolverResponse* internal_default_instance() {
6057  return reinterpret_cast<const CpSolverResponse*>(
6059  }
6060  static constexpr int kIndexInFileMessages =
6061  27;
6062 
6063  friend void swap(CpSolverResponse& a, CpSolverResponse& b) {
6064  a.Swap(&b);
6065  }
6066  inline void Swap(CpSolverResponse* other) {
6067  if (other == this) return;
6068  if (GetArena() == other->GetArena()) {
6069  InternalSwap(other);
6070  } else {
6071  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
6072  }
6073  }
6074  void UnsafeArenaSwap(CpSolverResponse* other) {
6075  if (other == this) return;
6076  GOOGLE_DCHECK(GetArena() == other->GetArena());
6077  InternalSwap(other);
6078  }
6079 
6080  // implements Message ----------------------------------------------
6081 
6082  inline CpSolverResponse* New() const final {
6083  return CreateMaybeMessage<CpSolverResponse>(nullptr);
6084  }
6085 
6086  CpSolverResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
6087  return CreateMaybeMessage<CpSolverResponse>(arena);
6088  }
6089  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
6090  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
6091  void CopyFrom(const CpSolverResponse& from);
6092  void MergeFrom(const CpSolverResponse& from);
6093  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
6094  bool IsInitialized() const final;
6095 
6096  size_t ByteSizeLong() const final;
6097  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
6098  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
6099  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
6100  int GetCachedSize() const final { return _cached_size_.Get(); }
6101 
6102  private:
6103  inline void SharedCtor();
6104  inline void SharedDtor();
6105  void SetCachedSize(int size) const final;
6106  void InternalSwap(CpSolverResponse* other);
6107  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
6108  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
6109  return "operations_research.sat.CpSolverResponse";
6110  }
6111  protected:
6112  explicit CpSolverResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
6113  private:
6114  static void ArenaDtor(void* object);
6115  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
6116  public:
6117 
6118  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
6119  private:
6120  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
6122  }
6123 
6124  public:
6125 
6126  // nested types ----------------------------------------------------
6127 
6128  // accessors -------------------------------------------------------
6129 
6130  enum : int {
6131  kSolutionFieldNumber = 2,
6132  kSolutionLowerBoundsFieldNumber = 18,
6133  kSolutionUpperBoundsFieldNumber = 19,
6134  kTightenedVariablesFieldNumber = 21,
6135  kSufficientAssumptionsForInfeasibilityFieldNumber = 23,
6136  kSolutionInfoFieldNumber = 20,
6137  kSolveLogFieldNumber = 26,
6138  kObjectiveValueFieldNumber = 3,
6139  kStatusFieldNumber = 1,
6140  kAllSolutionsWereFoundFieldNumber = 5,
6141  kBestObjectiveBoundFieldNumber = 4,
6142  kNumBooleansFieldNumber = 10,
6143  kNumConflictsFieldNumber = 11,
6144  kNumBranchesFieldNumber = 12,
6145  kNumBinaryPropagationsFieldNumber = 13,
6146  kNumIntegerPropagationsFieldNumber = 14,
6147  kWallTimeFieldNumber = 15,
6148  kUserTimeFieldNumber = 16,
6149  kDeterministicTimeFieldNumber = 17,
6150  kPrimalIntegralFieldNumber = 22,
6151  kNumRestartsFieldNumber = 24,
6152  kNumLpIterationsFieldNumber = 25,
6153  };
6154  // repeated int64 solution = 2;
6155  int solution_size() const;
6156  private:
6157  int _internal_solution_size() const;
6158  public:
6160  private:
6161  ::PROTOBUF_NAMESPACE_ID::int64 _internal_solution(int index) const;
6162  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6163  _internal_solution() const;
6164  void _internal_add_solution(::PROTOBUF_NAMESPACE_ID::int64 value);
6165  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6166  _internal_mutable_solution();
6167  public:
6168  ::PROTOBUF_NAMESPACE_ID::int64 solution(int index) const;
6169  void set_solution(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
6170  void add_solution(::PROTOBUF_NAMESPACE_ID::int64 value);
6171  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6172  solution() const;
6173  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6175 
6176  // repeated int64 solution_lower_bounds = 18;
6178  private:
6179  int _internal_solution_lower_bounds_size() const;
6180  public:
6182  private:
6183  ::PROTOBUF_NAMESPACE_ID::int64 _internal_solution_lower_bounds(int index) const;
6184  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6185  _internal_solution_lower_bounds() const;
6186  void _internal_add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::int64 value);
6187  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6188  _internal_mutable_solution_lower_bounds();
6189  public:
6190  ::PROTOBUF_NAMESPACE_ID::int64 solution_lower_bounds(int index) const;
6191  void set_solution_lower_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
6192  void add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::int64 value);
6193  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6195  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6197 
6198  // repeated int64 solution_upper_bounds = 19;
6200  private:
6201  int _internal_solution_upper_bounds_size() const;
6202  public:
6204  private:
6205  ::PROTOBUF_NAMESPACE_ID::int64 _internal_solution_upper_bounds(int index) const;
6206  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6207  _internal_solution_upper_bounds() const;
6208  void _internal_add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::int64 value);
6209  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6210  _internal_mutable_solution_upper_bounds();
6211  public:
6212  ::PROTOBUF_NAMESPACE_ID::int64 solution_upper_bounds(int index) const;
6213  void set_solution_upper_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value);
6214  void add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::int64 value);
6215  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6217  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6219 
6220  // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
6222  private:
6223  int _internal_tightened_variables_size() const;
6224  public:
6226  ::operations_research::sat::IntegerVariableProto* mutable_tightened_variables(int index);
6227  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
6229  private:
6230  const ::operations_research::sat::IntegerVariableProto& _internal_tightened_variables(int index) const;
6231  ::operations_research::sat::IntegerVariableProto* _internal_add_tightened_variables();
6232  public:
6233  const ::operations_research::sat::IntegerVariableProto& tightened_variables(int index) const;
6234  ::operations_research::sat::IntegerVariableProto* add_tightened_variables();
6235  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
6237 
6238  // repeated int32 sufficient_assumptions_for_infeasibility = 23;
6240  private:
6241  int _internal_sufficient_assumptions_for_infeasibility_size() const;
6242  public:
6244  private:
6245  ::PROTOBUF_NAMESPACE_ID::int32 _internal_sufficient_assumptions_for_infeasibility(int index) const;
6246  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6247  _internal_sufficient_assumptions_for_infeasibility() const;
6248  void _internal_add_sufficient_assumptions_for_infeasibility(::PROTOBUF_NAMESPACE_ID::int32 value);
6249  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6250  _internal_mutable_sufficient_assumptions_for_infeasibility();
6251  public:
6252  ::PROTOBUF_NAMESPACE_ID::int32 sufficient_assumptions_for_infeasibility(int index) const;
6253  void set_sufficient_assumptions_for_infeasibility(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
6254  void add_sufficient_assumptions_for_infeasibility(::PROTOBUF_NAMESPACE_ID::int32 value);
6255  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6257  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6259 
6260  // string solution_info = 20;
6262  const std::string& solution_info() const;
6263  void set_solution_info(const std::string& value);
6264  void set_solution_info(std::string&& value);
6265  void set_solution_info(const char* value);
6266  void set_solution_info(const char* value, size_t size);
6267  std::string* mutable_solution_info();
6268  std::string* release_solution_info();
6269  void set_allocated_solution_info(std::string* solution_info);
6270  private:
6271  const std::string& _internal_solution_info() const;
6272  void _internal_set_solution_info(const std::string& value);
6273  std::string* _internal_mutable_solution_info();
6274  public:
6275 
6276  // string solve_log = 26;
6278  const std::string& solve_log() const;
6279  void set_solve_log(const std::string& value);
6280  void set_solve_log(std::string&& value);
6281  void set_solve_log(const char* value);
6282  void set_solve_log(const char* value, size_t size);
6283  std::string* mutable_solve_log();
6284  std::string* release_solve_log();
6285  void set_allocated_solve_log(std::string* solve_log);
6286  private:
6287  const std::string& _internal_solve_log() const;
6288  void _internal_set_solve_log(const std::string& value);
6289  std::string* _internal_mutable_solve_log();
6290  public:
6291 
6292  // double objective_value = 3;
6294  double objective_value() const;
6296  private:
6297  double _internal_objective_value() const;
6298  void _internal_set_objective_value(double value);
6299  public:
6300 
6301  // .operations_research.sat.CpSolverStatus status = 1;
6305  private:
6306  ::operations_research::sat::CpSolverStatus _internal_status() const;
6307  void _internal_set_status(::operations_research::sat::CpSolverStatus value);
6308  public:
6309 
6310  // bool all_solutions_were_found = 5;
6314  private:
6315  bool _internal_all_solutions_were_found() const;
6316  void _internal_set_all_solutions_were_found(bool value);
6317  public:
6318 
6319  // double best_objective_bound = 4;
6321  double best_objective_bound() const;
6323  private:
6324  double _internal_best_objective_bound() const;
6325  void _internal_set_best_objective_bound(double value);
6326  public:
6327 
6328  // int64 num_booleans = 10;
6330  ::PROTOBUF_NAMESPACE_ID::int64 num_booleans() const;
6331  void set_num_booleans(::PROTOBUF_NAMESPACE_ID::int64 value);
6332  private:
6333  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_booleans() const;
6334  void _internal_set_num_booleans(::PROTOBUF_NAMESPACE_ID::int64 value);
6335  public:
6336 
6337  // int64 num_conflicts = 11;
6339  ::PROTOBUF_NAMESPACE_ID::int64 num_conflicts() const;
6340  void set_num_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value);
6341  private:
6342  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_conflicts() const;
6343  void _internal_set_num_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value);
6344  public:
6345 
6346  // int64 num_branches = 12;
6348  ::PROTOBUF_NAMESPACE_ID::int64 num_branches() const;
6349  void set_num_branches(::PROTOBUF_NAMESPACE_ID::int64 value);
6350  private:
6351  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_branches() const;
6352  void _internal_set_num_branches(::PROTOBUF_NAMESPACE_ID::int64 value);
6353  public:
6354 
6355  // int64 num_binary_propagations = 13;
6357  ::PROTOBUF_NAMESPACE_ID::int64 num_binary_propagations() const;
6358  void set_num_binary_propagations(::PROTOBUF_NAMESPACE_ID::int64 value);
6359  private:
6360  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_binary_propagations() const;
6361  void _internal_set_num_binary_propagations(::PROTOBUF_NAMESPACE_ID::int64 value);
6362  public:
6363 
6364  // int64 num_integer_propagations = 14;
6366  ::PROTOBUF_NAMESPACE_ID::int64 num_integer_propagations() const;
6367  void set_num_integer_propagations(::PROTOBUF_NAMESPACE_ID::int64 value);
6368  private:
6369  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_integer_propagations() const;
6370  void _internal_set_num_integer_propagations(::PROTOBUF_NAMESPACE_ID::int64 value);
6371  public:
6372 
6373  // double wall_time = 15;
6375  double wall_time() const;
6376  void set_wall_time(double value);
6377  private:
6378  double _internal_wall_time() const;
6379  void _internal_set_wall_time(double value);
6380  public:
6381 
6382  // double user_time = 16;
6384  double user_time() const;
6385  void set_user_time(double value);
6386  private:
6387  double _internal_user_time() const;
6388  void _internal_set_user_time(double value);
6389  public:
6390 
6391  // double deterministic_time = 17;
6393  double deterministic_time() const;
6395  private:
6396  double _internal_deterministic_time() const;
6397  void _internal_set_deterministic_time(double value);
6398  public:
6399 
6400  // double primal_integral = 22;
6402  double primal_integral() const;
6404  private:
6405  double _internal_primal_integral() const;
6406  void _internal_set_primal_integral(double value);
6407  public:
6408 
6409  // int64 num_restarts = 24;
6411  ::PROTOBUF_NAMESPACE_ID::int64 num_restarts() const;
6412  void set_num_restarts(::PROTOBUF_NAMESPACE_ID::int64 value);
6413  private:
6414  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_restarts() const;
6415  void _internal_set_num_restarts(::PROTOBUF_NAMESPACE_ID::int64 value);
6416  public:
6417 
6418  // int64 num_lp_iterations = 25;
6420  ::PROTOBUF_NAMESPACE_ID::int64 num_lp_iterations() const;
6421  void set_num_lp_iterations(::PROTOBUF_NAMESPACE_ID::int64 value);
6422  private:
6423  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_lp_iterations() const;
6424  void _internal_set_num_lp_iterations(::PROTOBUF_NAMESPACE_ID::int64 value);
6425  public:
6426 
6427  // @@protoc_insertion_point(class_scope:operations_research.sat.CpSolverResponse)
6428  private:
6429  class _Internal;
6430 
6431  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
6432  typedef void InternalArenaConstructable_;
6433  typedef void DestructorSkippable_;
6434  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > solution_;
6435  mutable std::atomic<int> _solution_cached_byte_size_;
6436  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > solution_lower_bounds_;
6437  mutable std::atomic<int> _solution_lower_bounds_cached_byte_size_;
6438  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > solution_upper_bounds_;
6439  mutable std::atomic<int> _solution_upper_bounds_cached_byte_size_;
6440  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > tightened_variables_;
6441  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > sufficient_assumptions_for_infeasibility_;
6442  mutable std::atomic<int> _sufficient_assumptions_for_infeasibility_cached_byte_size_;
6443  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr solution_info_;
6444  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr solve_log_;
6445  double objective_value_;
6446  int status_;
6447  bool all_solutions_were_found_;
6448  double best_objective_bound_;
6449  ::PROTOBUF_NAMESPACE_ID::int64 num_booleans_;
6450  ::PROTOBUF_NAMESPACE_ID::int64 num_conflicts_;
6451  ::PROTOBUF_NAMESPACE_ID::int64 num_branches_;
6452  ::PROTOBUF_NAMESPACE_ID::int64 num_binary_propagations_;
6453  ::PROTOBUF_NAMESPACE_ID::int64 num_integer_propagations_;
6454  double wall_time_;
6455  double user_time_;
6456  double deterministic_time_;
6457  double primal_integral_;
6458  ::PROTOBUF_NAMESPACE_ID::int64 num_restarts_;
6459  ::PROTOBUF_NAMESPACE_ID::int64 num_lp_iterations_;
6460  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
6461  friend struct ::TableStruct_ortools_2fsat_2fcp_5fmodel_2eproto;
6462 };
6463 // ===================================================================
6464 
6465 
6466 // ===================================================================
6467 
6468 #ifdef __GNUC__
6469  #pragma GCC diagnostic push
6470  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
6471 #endif // __GNUC__
6472 // IntegerVariableProto
6473 
6474 // string name = 1;
6475 inline void IntegerVariableProto::clear_name() {
6476  name_.ClearToEmpty();
6477 }
6478 inline const std::string& IntegerVariableProto::name() const {
6479  // @@protoc_insertion_point(field_get:operations_research.sat.IntegerVariableProto.name)
6480  return _internal_name();
6481 }
6482 inline void IntegerVariableProto::set_name(const std::string& value) {
6483  _internal_set_name(value);
6484  // @@protoc_insertion_point(field_set:operations_research.sat.IntegerVariableProto.name)
6485 }
6486 inline std::string* IntegerVariableProto::mutable_name() {
6487  // @@protoc_insertion_point(field_mutable:operations_research.sat.IntegerVariableProto.name)
6488  return _internal_mutable_name();
6489 }
6490 inline const std::string& IntegerVariableProto::_internal_name() const {
6491  return name_.Get();
6492 }
6493 inline void IntegerVariableProto::_internal_set_name(const std::string& value) {
6494 
6495  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
6496 }
6497 inline void IntegerVariableProto::set_name(std::string&& value) {
6498 
6499  name_.Set(
6500  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
6501  // @@protoc_insertion_point(field_set_rvalue:operations_research.sat.IntegerVariableProto.name)
6502 }
6503 inline void IntegerVariableProto::set_name(const char* value) {
6504  GOOGLE_DCHECK(value != nullptr);
6505 
6506  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
6507  // @@protoc_insertion_point(field_set_char:operations_research.sat.IntegerVariableProto.name)
6508 }
6509 inline void IntegerVariableProto::set_name(const char* value,
6510  size_t size) {
6511 
6512  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
6513  reinterpret_cast<const char*>(value), size), GetArena());
6514  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.IntegerVariableProto.name)
6515 }
6516 inline std::string* IntegerVariableProto::_internal_mutable_name() {
6517 
6518  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
6519 }
6520 inline std::string* IntegerVariableProto::release_name() {
6521  // @@protoc_insertion_point(field_release:operations_research.sat.IntegerVariableProto.name)
6522  return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
6523 }
6524 inline void IntegerVariableProto::set_allocated_name(std::string* name) {
6525  if (name != nullptr) {
6526 
6527  } else {
6528 
6529  }
6530  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
6531  GetArena());
6532  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntegerVariableProto.name)
6533 }
6534 
6535 // repeated int64 domain = 2;
6536 inline int IntegerVariableProto::_internal_domain_size() const {
6537  return domain_.size();
6538 }
6539 inline int IntegerVariableProto::domain_size() const {
6540  return _internal_domain_size();
6541 }
6542 inline void IntegerVariableProto::clear_domain() {
6543  domain_.Clear();
6544 }
6545 inline ::PROTOBUF_NAMESPACE_ID::int64 IntegerVariableProto::_internal_domain(int index) const {
6546  return domain_.Get(index);
6547 }
6548 inline ::PROTOBUF_NAMESPACE_ID::int64 IntegerVariableProto::domain(int index) const {
6549  // @@protoc_insertion_point(field_get:operations_research.sat.IntegerVariableProto.domain)
6550  return _internal_domain(index);
6551 }
6552 inline void IntegerVariableProto::set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
6553  domain_.Set(index, value);
6554  // @@protoc_insertion_point(field_set:operations_research.sat.IntegerVariableProto.domain)
6555 }
6556 inline void IntegerVariableProto::_internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
6557  domain_.Add(value);
6558 }
6559 inline void IntegerVariableProto::add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
6560  _internal_add_domain(value);
6561  // @@protoc_insertion_point(field_add:operations_research.sat.IntegerVariableProto.domain)
6562 }
6563 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6564 IntegerVariableProto::_internal_domain() const {
6565  return domain_;
6566 }
6567 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6568 IntegerVariableProto::domain() const {
6569  // @@protoc_insertion_point(field_list:operations_research.sat.IntegerVariableProto.domain)
6570  return _internal_domain();
6571 }
6572 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6573 IntegerVariableProto::_internal_mutable_domain() {
6574  return &domain_;
6575 }
6576 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6577 IntegerVariableProto::mutable_domain() {
6578  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.IntegerVariableProto.domain)
6579  return _internal_mutable_domain();
6580 }
6581 
6582 // -------------------------------------------------------------------
6583 
6584 // BoolArgumentProto
6585 
6586 // repeated int32 literals = 1;
6587 inline int BoolArgumentProto::_internal_literals_size() const {
6588  return literals_.size();
6589 }
6590 inline int BoolArgumentProto::literals_size() const {
6591  return _internal_literals_size();
6592 }
6593 inline void BoolArgumentProto::clear_literals() {
6594  literals_.Clear();
6595 }
6596 inline ::PROTOBUF_NAMESPACE_ID::int32 BoolArgumentProto::_internal_literals(int index) const {
6597  return literals_.Get(index);
6598 }
6599 inline ::PROTOBUF_NAMESPACE_ID::int32 BoolArgumentProto::literals(int index) const {
6600  // @@protoc_insertion_point(field_get:operations_research.sat.BoolArgumentProto.literals)
6601  return _internal_literals(index);
6602 }
6603 inline void BoolArgumentProto::set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6604  literals_.Set(index, value);
6605  // @@protoc_insertion_point(field_set:operations_research.sat.BoolArgumentProto.literals)
6606 }
6607 inline void BoolArgumentProto::_internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
6608  literals_.Add(value);
6609 }
6610 inline void BoolArgumentProto::add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
6611  _internal_add_literals(value);
6612  // @@protoc_insertion_point(field_add:operations_research.sat.BoolArgumentProto.literals)
6613 }
6614 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6615 BoolArgumentProto::_internal_literals() const {
6616  return literals_;
6617 }
6618 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6619 BoolArgumentProto::literals() const {
6620  // @@protoc_insertion_point(field_list:operations_research.sat.BoolArgumentProto.literals)
6621  return _internal_literals();
6622 }
6623 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6624 BoolArgumentProto::_internal_mutable_literals() {
6625  return &literals_;
6626 }
6627 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6628 BoolArgumentProto::mutable_literals() {
6629  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.BoolArgumentProto.literals)
6630  return _internal_mutable_literals();
6631 }
6632 
6633 // -------------------------------------------------------------------
6634 
6635 // IntegerArgumentProto
6636 
6637 // int32 target = 1;
6638 inline void IntegerArgumentProto::clear_target() {
6639  target_ = 0;
6640 }
6641 inline ::PROTOBUF_NAMESPACE_ID::int32 IntegerArgumentProto::_internal_target() const {
6642  return target_;
6643 }
6644 inline ::PROTOBUF_NAMESPACE_ID::int32 IntegerArgumentProto::target() const {
6645  // @@protoc_insertion_point(field_get:operations_research.sat.IntegerArgumentProto.target)
6646  return _internal_target();
6647 }
6648 inline void IntegerArgumentProto::_internal_set_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
6649 
6650  target_ = value;
6651 }
6652 inline void IntegerArgumentProto::set_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
6653  _internal_set_target(value);
6654  // @@protoc_insertion_point(field_set:operations_research.sat.IntegerArgumentProto.target)
6655 }
6656 
6657 // repeated int32 vars = 2;
6658 inline int IntegerArgumentProto::_internal_vars_size() const {
6659  return vars_.size();
6660 }
6661 inline int IntegerArgumentProto::vars_size() const {
6662  return _internal_vars_size();
6663 }
6664 inline void IntegerArgumentProto::clear_vars() {
6665  vars_.Clear();
6666 }
6667 inline ::PROTOBUF_NAMESPACE_ID::int32 IntegerArgumentProto::_internal_vars(int index) const {
6668  return vars_.Get(index);
6669 }
6670 inline ::PROTOBUF_NAMESPACE_ID::int32 IntegerArgumentProto::vars(int index) const {
6671  // @@protoc_insertion_point(field_get:operations_research.sat.IntegerArgumentProto.vars)
6672  return _internal_vars(index);
6673 }
6674 inline void IntegerArgumentProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6675  vars_.Set(index, value);
6676  // @@protoc_insertion_point(field_set:operations_research.sat.IntegerArgumentProto.vars)
6677 }
6678 inline void IntegerArgumentProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6679  vars_.Add(value);
6680 }
6681 inline void IntegerArgumentProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6682  _internal_add_vars(value);
6683  // @@protoc_insertion_point(field_add:operations_research.sat.IntegerArgumentProto.vars)
6684 }
6685 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6686 IntegerArgumentProto::_internal_vars() const {
6687  return vars_;
6688 }
6689 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6690 IntegerArgumentProto::vars() const {
6691  // @@protoc_insertion_point(field_list:operations_research.sat.IntegerArgumentProto.vars)
6692  return _internal_vars();
6693 }
6694 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6695 IntegerArgumentProto::_internal_mutable_vars() {
6696  return &vars_;
6697 }
6698 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6699 IntegerArgumentProto::mutable_vars() {
6700  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.IntegerArgumentProto.vars)
6701  return _internal_mutable_vars();
6702 }
6703 
6704 // -------------------------------------------------------------------
6705 
6706 // LinearExpressionProto
6707 
6708 // repeated int32 vars = 1;
6709 inline int LinearExpressionProto::_internal_vars_size() const {
6710  return vars_.size();
6711 }
6712 inline int LinearExpressionProto::vars_size() const {
6713  return _internal_vars_size();
6714 }
6715 inline void LinearExpressionProto::clear_vars() {
6716  vars_.Clear();
6717 }
6718 inline ::PROTOBUF_NAMESPACE_ID::int32 LinearExpressionProto::_internal_vars(int index) const {
6719  return vars_.Get(index);
6720 }
6721 inline ::PROTOBUF_NAMESPACE_ID::int32 LinearExpressionProto::vars(int index) const {
6722  // @@protoc_insertion_point(field_get:operations_research.sat.LinearExpressionProto.vars)
6723  return _internal_vars(index);
6724 }
6725 inline void LinearExpressionProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6726  vars_.Set(index, value);
6727  // @@protoc_insertion_point(field_set:operations_research.sat.LinearExpressionProto.vars)
6728 }
6729 inline void LinearExpressionProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6730  vars_.Add(value);
6731 }
6732 inline void LinearExpressionProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6733  _internal_add_vars(value);
6734  // @@protoc_insertion_point(field_add:operations_research.sat.LinearExpressionProto.vars)
6735 }
6736 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6737 LinearExpressionProto::_internal_vars() const {
6738  return vars_;
6739 }
6740 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6741 LinearExpressionProto::vars() const {
6742  // @@protoc_insertion_point(field_list:operations_research.sat.LinearExpressionProto.vars)
6743  return _internal_vars();
6744 }
6745 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6746 LinearExpressionProto::_internal_mutable_vars() {
6747  return &vars_;
6748 }
6749 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6750 LinearExpressionProto::mutable_vars() {
6751  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearExpressionProto.vars)
6752  return _internal_mutable_vars();
6753 }
6754 
6755 // repeated int64 coeffs = 2;
6756 inline int LinearExpressionProto::_internal_coeffs_size() const {
6757  return coeffs_.size();
6758 }
6759 inline int LinearExpressionProto::coeffs_size() const {
6760  return _internal_coeffs_size();
6761 }
6762 inline void LinearExpressionProto::clear_coeffs() {
6763  coeffs_.Clear();
6764 }
6765 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearExpressionProto::_internal_coeffs(int index) const {
6766  return coeffs_.Get(index);
6767 }
6768 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearExpressionProto::coeffs(int index) const {
6769  // @@protoc_insertion_point(field_get:operations_research.sat.LinearExpressionProto.coeffs)
6770  return _internal_coeffs(index);
6771 }
6772 inline void LinearExpressionProto::set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
6773  coeffs_.Set(index, value);
6774  // @@protoc_insertion_point(field_set:operations_research.sat.LinearExpressionProto.coeffs)
6775 }
6776 inline void LinearExpressionProto::_internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
6777  coeffs_.Add(value);
6778 }
6779 inline void LinearExpressionProto::add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
6780  _internal_add_coeffs(value);
6781  // @@protoc_insertion_point(field_add:operations_research.sat.LinearExpressionProto.coeffs)
6782 }
6783 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6784 LinearExpressionProto::_internal_coeffs() const {
6785  return coeffs_;
6786 }
6787 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
6788 LinearExpressionProto::coeffs() const {
6789  // @@protoc_insertion_point(field_list:operations_research.sat.LinearExpressionProto.coeffs)
6790  return _internal_coeffs();
6791 }
6792 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6793 LinearExpressionProto::_internal_mutable_coeffs() {
6794  return &coeffs_;
6795 }
6796 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
6797 LinearExpressionProto::mutable_coeffs() {
6798  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearExpressionProto.coeffs)
6799  return _internal_mutable_coeffs();
6800 }
6801 
6802 // int64 offset = 3;
6803 inline void LinearExpressionProto::clear_offset() {
6804  offset_ = PROTOBUF_LONGLONG(0);
6805 }
6806 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearExpressionProto::_internal_offset() const {
6807  return offset_;
6808 }
6809 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearExpressionProto::offset() const {
6810  // @@protoc_insertion_point(field_get:operations_research.sat.LinearExpressionProto.offset)
6811  return _internal_offset();
6812 }
6813 inline void LinearExpressionProto::_internal_set_offset(::PROTOBUF_NAMESPACE_ID::int64 value) {
6814 
6815  offset_ = value;
6816 }
6817 inline void LinearExpressionProto::set_offset(::PROTOBUF_NAMESPACE_ID::int64 value) {
6818  _internal_set_offset(value);
6819  // @@protoc_insertion_point(field_set:operations_research.sat.LinearExpressionProto.offset)
6820 }
6821 
6822 // -------------------------------------------------------------------
6823 
6824 // LinearArgumentProto
6825 
6826 // .operations_research.sat.LinearExpressionProto target = 1;
6827 inline bool LinearArgumentProto::_internal_has_target() const {
6828  return this != internal_default_instance() && target_ != nullptr;
6829 }
6830 inline bool LinearArgumentProto::has_target() const {
6831  return _internal_has_target();
6832 }
6833 inline void LinearArgumentProto::clear_target() {
6834  if (GetArena() == nullptr && target_ != nullptr) {
6835  delete target_;
6836  }
6837  target_ = nullptr;
6838 }
6839 inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::_internal_target() const {
6840  const ::operations_research::sat::LinearExpressionProto* p = target_;
6841  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::LinearExpressionProto&>(
6843 }
6844 inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::target() const {
6845  // @@protoc_insertion_point(field_get:operations_research.sat.LinearArgumentProto.target)
6846  return _internal_target();
6847 }
6848 inline void LinearArgumentProto::unsafe_arena_set_allocated_target(
6849  ::operations_research::sat::LinearExpressionProto* target) {
6850  if (GetArena() == nullptr) {
6851  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(target_);
6852  }
6853  target_ = target;
6854  if (target) {
6855 
6856  } else {
6857 
6858  }
6859  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.LinearArgumentProto.target)
6860 }
6861 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::release_target() {
6862 
6863  ::operations_research::sat::LinearExpressionProto* temp = target_;
6864  target_ = nullptr;
6865  if (GetArena() != nullptr) {
6866  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
6867  }
6868  return temp;
6869 }
6870 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::unsafe_arena_release_target() {
6871  // @@protoc_insertion_point(field_release:operations_research.sat.LinearArgumentProto.target)
6872 
6873  ::operations_research::sat::LinearExpressionProto* temp = target_;
6874  target_ = nullptr;
6875  return temp;
6876 }
6877 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::_internal_mutable_target() {
6878 
6879  if (target_ == nullptr) {
6880  auto* p = CreateMaybeMessage<::operations_research::sat::LinearExpressionProto>(GetArena());
6881  target_ = p;
6882  }
6883  return target_;
6884 }
6885 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::mutable_target() {
6886  // @@protoc_insertion_point(field_mutable:operations_research.sat.LinearArgumentProto.target)
6887  return _internal_mutable_target();
6888 }
6889 inline void LinearArgumentProto::set_allocated_target(::operations_research::sat::LinearExpressionProto* target) {
6890  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
6891  if (message_arena == nullptr) {
6892  delete target_;
6893  }
6894  if (target) {
6895  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
6896  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(target);
6897  if (message_arena != submessage_arena) {
6898  target = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
6899  message_arena, target, submessage_arena);
6900  }
6901 
6902  } else {
6903 
6904  }
6905  target_ = target;
6906  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.LinearArgumentProto.target)
6907 }
6908 
6909 // repeated .operations_research.sat.LinearExpressionProto exprs = 2;
6910 inline int LinearArgumentProto::_internal_exprs_size() const {
6911  return exprs_.size();
6912 }
6913 inline int LinearArgumentProto::exprs_size() const {
6914  return _internal_exprs_size();
6915 }
6916 inline void LinearArgumentProto::clear_exprs() {
6917  exprs_.Clear();
6918 }
6919 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::mutable_exprs(int index) {
6920  // @@protoc_insertion_point(field_mutable:operations_research.sat.LinearArgumentProto.exprs)
6921  return exprs_.Mutable(index);
6922 }
6923 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >*
6924 LinearArgumentProto::mutable_exprs() {
6925  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearArgumentProto.exprs)
6926  return &exprs_;
6927 }
6928 inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::_internal_exprs(int index) const {
6929  return exprs_.Get(index);
6930 }
6931 inline const ::operations_research::sat::LinearExpressionProto& LinearArgumentProto::exprs(int index) const {
6932  // @@protoc_insertion_point(field_get:operations_research.sat.LinearArgumentProto.exprs)
6933  return _internal_exprs(index);
6934 }
6935 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::_internal_add_exprs() {
6936  return exprs_.Add();
6937 }
6938 inline ::operations_research::sat::LinearExpressionProto* LinearArgumentProto::add_exprs() {
6939  // @@protoc_insertion_point(field_add:operations_research.sat.LinearArgumentProto.exprs)
6940  return _internal_add_exprs();
6941 }
6942 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto >&
6943 LinearArgumentProto::exprs() const {
6944  // @@protoc_insertion_point(field_list:operations_research.sat.LinearArgumentProto.exprs)
6945  return exprs_;
6946 }
6947 
6948 // -------------------------------------------------------------------
6949 
6950 // AllDifferentConstraintProto
6951 
6952 // repeated int32 vars = 1;
6953 inline int AllDifferentConstraintProto::_internal_vars_size() const {
6954  return vars_.size();
6955 }
6956 inline int AllDifferentConstraintProto::vars_size() const {
6957  return _internal_vars_size();
6958 }
6959 inline void AllDifferentConstraintProto::clear_vars() {
6960  vars_.Clear();
6961 }
6962 inline ::PROTOBUF_NAMESPACE_ID::int32 AllDifferentConstraintProto::_internal_vars(int index) const {
6963  return vars_.Get(index);
6964 }
6965 inline ::PROTOBUF_NAMESPACE_ID::int32 AllDifferentConstraintProto::vars(int index) const {
6966  // @@protoc_insertion_point(field_get:operations_research.sat.AllDifferentConstraintProto.vars)
6967  return _internal_vars(index);
6968 }
6969 inline void AllDifferentConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
6970  vars_.Set(index, value);
6971  // @@protoc_insertion_point(field_set:operations_research.sat.AllDifferentConstraintProto.vars)
6972 }
6973 inline void AllDifferentConstraintProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6974  vars_.Add(value);
6975 }
6976 inline void AllDifferentConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
6977  _internal_add_vars(value);
6978  // @@protoc_insertion_point(field_add:operations_research.sat.AllDifferentConstraintProto.vars)
6979 }
6980 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6981 AllDifferentConstraintProto::_internal_vars() const {
6982  return vars_;
6983 }
6984 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
6985 AllDifferentConstraintProto::vars() const {
6986  // @@protoc_insertion_point(field_list:operations_research.sat.AllDifferentConstraintProto.vars)
6987  return _internal_vars();
6988 }
6989 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6990 AllDifferentConstraintProto::_internal_mutable_vars() {
6991  return &vars_;
6992 }
6993 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
6994 AllDifferentConstraintProto::mutable_vars() {
6995  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AllDifferentConstraintProto.vars)
6996  return _internal_mutable_vars();
6997 }
6998 
6999 // -------------------------------------------------------------------
7000 
7001 // LinearConstraintProto
7002 
7003 // repeated int32 vars = 1;
7004 inline int LinearConstraintProto::_internal_vars_size() const {
7005  return vars_.size();
7006 }
7007 inline int LinearConstraintProto::vars_size() const {
7008  return _internal_vars_size();
7009 }
7010 inline void LinearConstraintProto::clear_vars() {
7011  vars_.Clear();
7012 }
7013 inline ::PROTOBUF_NAMESPACE_ID::int32 LinearConstraintProto::_internal_vars(int index) const {
7014  return vars_.Get(index);
7015 }
7016 inline ::PROTOBUF_NAMESPACE_ID::int32 LinearConstraintProto::vars(int index) const {
7017  // @@protoc_insertion_point(field_get:operations_research.sat.LinearConstraintProto.vars)
7018  return _internal_vars(index);
7019 }
7020 inline void LinearConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7021  vars_.Set(index, value);
7022  // @@protoc_insertion_point(field_set:operations_research.sat.LinearConstraintProto.vars)
7023 }
7024 inline void LinearConstraintProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
7025  vars_.Add(value);
7026 }
7027 inline void LinearConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
7028  _internal_add_vars(value);
7029  // @@protoc_insertion_point(field_add:operations_research.sat.LinearConstraintProto.vars)
7030 }
7031 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7032 LinearConstraintProto::_internal_vars() const {
7033  return vars_;
7034 }
7035 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7036 LinearConstraintProto::vars() const {
7037  // @@protoc_insertion_point(field_list:operations_research.sat.LinearConstraintProto.vars)
7038  return _internal_vars();
7039 }
7040 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7041 LinearConstraintProto::_internal_mutable_vars() {
7042  return &vars_;
7043 }
7044 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7045 LinearConstraintProto::mutable_vars() {
7046  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearConstraintProto.vars)
7047  return _internal_mutable_vars();
7048 }
7049 
7050 // repeated int64 coeffs = 2;
7051 inline int LinearConstraintProto::_internal_coeffs_size() const {
7052  return coeffs_.size();
7053 }
7054 inline int LinearConstraintProto::coeffs_size() const {
7055  return _internal_coeffs_size();
7056 }
7057 inline void LinearConstraintProto::clear_coeffs() {
7058  coeffs_.Clear();
7059 }
7060 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearConstraintProto::_internal_coeffs(int index) const {
7061  return coeffs_.Get(index);
7062 }
7063 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearConstraintProto::coeffs(int index) const {
7064  // @@protoc_insertion_point(field_get:operations_research.sat.LinearConstraintProto.coeffs)
7065  return _internal_coeffs(index);
7066 }
7067 inline void LinearConstraintProto::set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
7068  coeffs_.Set(index, value);
7069  // @@protoc_insertion_point(field_set:operations_research.sat.LinearConstraintProto.coeffs)
7070 }
7071 inline void LinearConstraintProto::_internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
7072  coeffs_.Add(value);
7073 }
7074 inline void LinearConstraintProto::add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
7075  _internal_add_coeffs(value);
7076  // @@protoc_insertion_point(field_add:operations_research.sat.LinearConstraintProto.coeffs)
7077 }
7078 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7079 LinearConstraintProto::_internal_coeffs() const {
7080  return coeffs_;
7081 }
7082 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7083 LinearConstraintProto::coeffs() const {
7084  // @@protoc_insertion_point(field_list:operations_research.sat.LinearConstraintProto.coeffs)
7085  return _internal_coeffs();
7086 }
7087 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7088 LinearConstraintProto::_internal_mutable_coeffs() {
7089  return &coeffs_;
7090 }
7091 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7092 LinearConstraintProto::mutable_coeffs() {
7093  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearConstraintProto.coeffs)
7094  return _internal_mutable_coeffs();
7095 }
7096 
7097 // repeated int64 domain = 3;
7098 inline int LinearConstraintProto::_internal_domain_size() const {
7099  return domain_.size();
7100 }
7101 inline int LinearConstraintProto::domain_size() const {
7102  return _internal_domain_size();
7103 }
7104 inline void LinearConstraintProto::clear_domain() {
7105  domain_.Clear();
7106 }
7107 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearConstraintProto::_internal_domain(int index) const {
7108  return domain_.Get(index);
7109 }
7110 inline ::PROTOBUF_NAMESPACE_ID::int64 LinearConstraintProto::domain(int index) const {
7111  // @@protoc_insertion_point(field_get:operations_research.sat.LinearConstraintProto.domain)
7112  return _internal_domain(index);
7113 }
7114 inline void LinearConstraintProto::set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
7115  domain_.Set(index, value);
7116  // @@protoc_insertion_point(field_set:operations_research.sat.LinearConstraintProto.domain)
7117 }
7118 inline void LinearConstraintProto::_internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
7119  domain_.Add(value);
7120 }
7121 inline void LinearConstraintProto::add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
7122  _internal_add_domain(value);
7123  // @@protoc_insertion_point(field_add:operations_research.sat.LinearConstraintProto.domain)
7124 }
7125 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7126 LinearConstraintProto::_internal_domain() const {
7127  return domain_;
7128 }
7129 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7130 LinearConstraintProto::domain() const {
7131  // @@protoc_insertion_point(field_list:operations_research.sat.LinearConstraintProto.domain)
7132  return _internal_domain();
7133 }
7134 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7135 LinearConstraintProto::_internal_mutable_domain() {
7136  return &domain_;
7137 }
7138 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7139 LinearConstraintProto::mutable_domain() {
7140  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.LinearConstraintProto.domain)
7141  return _internal_mutable_domain();
7142 }
7143 
7144 // -------------------------------------------------------------------
7145 
7146 // ElementConstraintProto
7147 
7148 // int32 index = 1;
7149 inline void ElementConstraintProto::clear_index() {
7150  index_ = 0;
7151 }
7152 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::_internal_index() const {
7153  return index_;
7154 }
7155 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::index() const {
7156  // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.index)
7157  return _internal_index();
7158 }
7159 inline void ElementConstraintProto::_internal_set_index(::PROTOBUF_NAMESPACE_ID::int32 value) {
7160 
7161  index_ = value;
7162 }
7163 inline void ElementConstraintProto::set_index(::PROTOBUF_NAMESPACE_ID::int32 value) {
7164  _internal_set_index(value);
7165  // @@protoc_insertion_point(field_set:operations_research.sat.ElementConstraintProto.index)
7166 }
7167 
7168 // int32 target = 2;
7169 inline void ElementConstraintProto::clear_target() {
7170  target_ = 0;
7171 }
7172 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::_internal_target() const {
7173  return target_;
7174 }
7175 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::target() const {
7176  // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.target)
7177  return _internal_target();
7178 }
7179 inline void ElementConstraintProto::_internal_set_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
7180 
7181  target_ = value;
7182 }
7183 inline void ElementConstraintProto::set_target(::PROTOBUF_NAMESPACE_ID::int32 value) {
7184  _internal_set_target(value);
7185  // @@protoc_insertion_point(field_set:operations_research.sat.ElementConstraintProto.target)
7186 }
7187 
7188 // repeated int32 vars = 3;
7189 inline int ElementConstraintProto::_internal_vars_size() const {
7190  return vars_.size();
7191 }
7192 inline int ElementConstraintProto::vars_size() const {
7193  return _internal_vars_size();
7194 }
7195 inline void ElementConstraintProto::clear_vars() {
7196  vars_.Clear();
7197 }
7198 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::_internal_vars(int index) const {
7199  return vars_.Get(index);
7200 }
7201 inline ::PROTOBUF_NAMESPACE_ID::int32 ElementConstraintProto::vars(int index) const {
7202  // @@protoc_insertion_point(field_get:operations_research.sat.ElementConstraintProto.vars)
7203  return _internal_vars(index);
7204 }
7205 inline void ElementConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7206  vars_.Set(index, value);
7207  // @@protoc_insertion_point(field_set:operations_research.sat.ElementConstraintProto.vars)
7208 }
7209 inline void ElementConstraintProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
7210  vars_.Add(value);
7211 }
7212 inline void ElementConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
7213  _internal_add_vars(value);
7214  // @@protoc_insertion_point(field_add:operations_research.sat.ElementConstraintProto.vars)
7215 }
7216 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7217 ElementConstraintProto::_internal_vars() const {
7218  return vars_;
7219 }
7220 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7221 ElementConstraintProto::vars() const {
7222  // @@protoc_insertion_point(field_list:operations_research.sat.ElementConstraintProto.vars)
7223  return _internal_vars();
7224 }
7225 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7226 ElementConstraintProto::_internal_mutable_vars() {
7227  return &vars_;
7228 }
7229 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7230 ElementConstraintProto::mutable_vars() {
7231  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ElementConstraintProto.vars)
7232  return _internal_mutable_vars();
7233 }
7234 
7235 // -------------------------------------------------------------------
7236 
7237 // IntervalConstraintProto
7238 
7239 // int32 start = 1;
7240 inline void IntervalConstraintProto::clear_start() {
7241  start_ = 0;
7242 }
7243 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::_internal_start() const {
7244  return start_;
7245 }
7246 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::start() const {
7247  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.start)
7248  return _internal_start();
7249 }
7250 inline void IntervalConstraintProto::_internal_set_start(::PROTOBUF_NAMESPACE_ID::int32 value) {
7251 
7252  start_ = value;
7253 }
7254 inline void IntervalConstraintProto::set_start(::PROTOBUF_NAMESPACE_ID::int32 value) {
7255  _internal_set_start(value);
7256  // @@protoc_insertion_point(field_set:operations_research.sat.IntervalConstraintProto.start)
7257 }
7258 
7259 // int32 end = 2;
7260 inline void IntervalConstraintProto::clear_end() {
7261  end_ = 0;
7262 }
7263 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::_internal_end() const {
7264  return end_;
7265 }
7266 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::end() const {
7267  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.end)
7268  return _internal_end();
7269 }
7270 inline void IntervalConstraintProto::_internal_set_end(::PROTOBUF_NAMESPACE_ID::int32 value) {
7271 
7272  end_ = value;
7273 }
7274 inline void IntervalConstraintProto::set_end(::PROTOBUF_NAMESPACE_ID::int32 value) {
7275  _internal_set_end(value);
7276  // @@protoc_insertion_point(field_set:operations_research.sat.IntervalConstraintProto.end)
7277 }
7278 
7279 // int32 size = 3;
7280 inline void IntervalConstraintProto::clear_size() {
7281  size_ = 0;
7282 }
7283 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::_internal_size() const {
7284  return size_;
7285 }
7286 inline ::PROTOBUF_NAMESPACE_ID::int32 IntervalConstraintProto::size() const {
7287  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.size)
7288  return _internal_size();
7289 }
7290 inline void IntervalConstraintProto::_internal_set_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
7291 
7292  size_ = value;
7293 }
7294 inline void IntervalConstraintProto::set_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
7295  _internal_set_size(value);
7296  // @@protoc_insertion_point(field_set:operations_research.sat.IntervalConstraintProto.size)
7297 }
7298 
7299 // .operations_research.sat.LinearExpressionProto start_view = 4;
7300 inline bool IntervalConstraintProto::_internal_has_start_view() const {
7301  return this != internal_default_instance() && start_view_ != nullptr;
7302 }
7303 inline bool IntervalConstraintProto::has_start_view() const {
7304  return _internal_has_start_view();
7305 }
7306 inline void IntervalConstraintProto::clear_start_view() {
7307  if (GetArena() == nullptr && start_view_ != nullptr) {
7308  delete start_view_;
7309  }
7310  start_view_ = nullptr;
7311 }
7312 inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::_internal_start_view() const {
7313  const ::operations_research::sat::LinearExpressionProto* p = start_view_;
7314  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::LinearExpressionProto&>(
7316 }
7317 inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::start_view() const {
7318  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.start_view)
7319  return _internal_start_view();
7320 }
7321 inline void IntervalConstraintProto::unsafe_arena_set_allocated_start_view(
7322  ::operations_research::sat::LinearExpressionProto* start_view) {
7323  if (GetArena() == nullptr) {
7324  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(start_view_);
7325  }
7326  start_view_ = start_view;
7327  if (start_view) {
7328 
7329  } else {
7330 
7331  }
7332  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.IntervalConstraintProto.start_view)
7333 }
7334 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::release_start_view() {
7335 
7336  ::operations_research::sat::LinearExpressionProto* temp = start_view_;
7337  start_view_ = nullptr;
7338  if (GetArena() != nullptr) {
7339  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7340  }
7341  return temp;
7342 }
7343 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::unsafe_arena_release_start_view() {
7344  // @@protoc_insertion_point(field_release:operations_research.sat.IntervalConstraintProto.start_view)
7345 
7346  ::operations_research::sat::LinearExpressionProto* temp = start_view_;
7347  start_view_ = nullptr;
7348  return temp;
7349 }
7350 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::_internal_mutable_start_view() {
7351 
7352  if (start_view_ == nullptr) {
7353  auto* p = CreateMaybeMessage<::operations_research::sat::LinearExpressionProto>(GetArena());
7354  start_view_ = p;
7355  }
7356  return start_view_;
7357 }
7358 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::mutable_start_view() {
7359  // @@protoc_insertion_point(field_mutable:operations_research.sat.IntervalConstraintProto.start_view)
7360  return _internal_mutable_start_view();
7361 }
7362 inline void IntervalConstraintProto::set_allocated_start_view(::operations_research::sat::LinearExpressionProto* start_view) {
7363  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
7364  if (message_arena == nullptr) {
7365  delete start_view_;
7366  }
7367  if (start_view) {
7368  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
7369  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(start_view);
7370  if (message_arena != submessage_arena) {
7371  start_view = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
7372  message_arena, start_view, submessage_arena);
7373  }
7374 
7375  } else {
7376 
7377  }
7378  start_view_ = start_view;
7379  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntervalConstraintProto.start_view)
7380 }
7381 
7382 // .operations_research.sat.LinearExpressionProto end_view = 5;
7383 inline bool IntervalConstraintProto::_internal_has_end_view() const {
7384  return this != internal_default_instance() && end_view_ != nullptr;
7385 }
7386 inline bool IntervalConstraintProto::has_end_view() const {
7387  return _internal_has_end_view();
7388 }
7389 inline void IntervalConstraintProto::clear_end_view() {
7390  if (GetArena() == nullptr && end_view_ != nullptr) {
7391  delete end_view_;
7392  }
7393  end_view_ = nullptr;
7394 }
7395 inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::_internal_end_view() const {
7396  const ::operations_research::sat::LinearExpressionProto* p = end_view_;
7397  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::LinearExpressionProto&>(
7399 }
7400 inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::end_view() const {
7401  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.end_view)
7402  return _internal_end_view();
7403 }
7404 inline void IntervalConstraintProto::unsafe_arena_set_allocated_end_view(
7405  ::operations_research::sat::LinearExpressionProto* end_view) {
7406  if (GetArena() == nullptr) {
7407  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(end_view_);
7408  }
7409  end_view_ = end_view;
7410  if (end_view) {
7411 
7412  } else {
7413 
7414  }
7415  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.IntervalConstraintProto.end_view)
7416 }
7417 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::release_end_view() {
7418 
7419  ::operations_research::sat::LinearExpressionProto* temp = end_view_;
7420  end_view_ = nullptr;
7421  if (GetArena() != nullptr) {
7422  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7423  }
7424  return temp;
7425 }
7426 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::unsafe_arena_release_end_view() {
7427  // @@protoc_insertion_point(field_release:operations_research.sat.IntervalConstraintProto.end_view)
7428 
7429  ::operations_research::sat::LinearExpressionProto* temp = end_view_;
7430  end_view_ = nullptr;
7431  return temp;
7432 }
7433 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::_internal_mutable_end_view() {
7434 
7435  if (end_view_ == nullptr) {
7436  auto* p = CreateMaybeMessage<::operations_research::sat::LinearExpressionProto>(GetArena());
7437  end_view_ = p;
7438  }
7439  return end_view_;
7440 }
7441 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::mutable_end_view() {
7442  // @@protoc_insertion_point(field_mutable:operations_research.sat.IntervalConstraintProto.end_view)
7443  return _internal_mutable_end_view();
7444 }
7445 inline void IntervalConstraintProto::set_allocated_end_view(::operations_research::sat::LinearExpressionProto* end_view) {
7446  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
7447  if (message_arena == nullptr) {
7448  delete end_view_;
7449  }
7450  if (end_view) {
7451  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
7452  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(end_view);
7453  if (message_arena != submessage_arena) {
7454  end_view = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
7455  message_arena, end_view, submessage_arena);
7456  }
7457 
7458  } else {
7459 
7460  }
7461  end_view_ = end_view;
7462  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntervalConstraintProto.end_view)
7463 }
7464 
7465 // .operations_research.sat.LinearExpressionProto size_view = 6;
7466 inline bool IntervalConstraintProto::_internal_has_size_view() const {
7467  return this != internal_default_instance() && size_view_ != nullptr;
7468 }
7469 inline bool IntervalConstraintProto::has_size_view() const {
7470  return _internal_has_size_view();
7471 }
7472 inline void IntervalConstraintProto::clear_size_view() {
7473  if (GetArena() == nullptr && size_view_ != nullptr) {
7474  delete size_view_;
7475  }
7476  size_view_ = nullptr;
7477 }
7478 inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::_internal_size_view() const {
7479  const ::operations_research::sat::LinearExpressionProto* p = size_view_;
7480  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::LinearExpressionProto&>(
7482 }
7483 inline const ::operations_research::sat::LinearExpressionProto& IntervalConstraintProto::size_view() const {
7484  // @@protoc_insertion_point(field_get:operations_research.sat.IntervalConstraintProto.size_view)
7485  return _internal_size_view();
7486 }
7487 inline void IntervalConstraintProto::unsafe_arena_set_allocated_size_view(
7488  ::operations_research::sat::LinearExpressionProto* size_view) {
7489  if (GetArena() == nullptr) {
7490  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(size_view_);
7491  }
7492  size_view_ = size_view;
7493  if (size_view) {
7494 
7495  } else {
7496 
7497  }
7498  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.IntervalConstraintProto.size_view)
7499 }
7500 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::release_size_view() {
7501 
7502  ::operations_research::sat::LinearExpressionProto* temp = size_view_;
7503  size_view_ = nullptr;
7504  if (GetArena() != nullptr) {
7505  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
7506  }
7507  return temp;
7508 }
7509 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::unsafe_arena_release_size_view() {
7510  // @@protoc_insertion_point(field_release:operations_research.sat.IntervalConstraintProto.size_view)
7511 
7512  ::operations_research::sat::LinearExpressionProto* temp = size_view_;
7513  size_view_ = nullptr;
7514  return temp;
7515 }
7516 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::_internal_mutable_size_view() {
7517 
7518  if (size_view_ == nullptr) {
7519  auto* p = CreateMaybeMessage<::operations_research::sat::LinearExpressionProto>(GetArena());
7520  size_view_ = p;
7521  }
7522  return size_view_;
7523 }
7524 inline ::operations_research::sat::LinearExpressionProto* IntervalConstraintProto::mutable_size_view() {
7525  // @@protoc_insertion_point(field_mutable:operations_research.sat.IntervalConstraintProto.size_view)
7526  return _internal_mutable_size_view();
7527 }
7528 inline void IntervalConstraintProto::set_allocated_size_view(::operations_research::sat::LinearExpressionProto* size_view) {
7529  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
7530  if (message_arena == nullptr) {
7531  delete size_view_;
7532  }
7533  if (size_view) {
7534  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
7535  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(size_view);
7536  if (message_arena != submessage_arena) {
7537  size_view = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
7538  message_arena, size_view, submessage_arena);
7539  }
7540 
7541  } else {
7542 
7543  }
7544  size_view_ = size_view;
7545  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.IntervalConstraintProto.size_view)
7546 }
7547 
7548 // -------------------------------------------------------------------
7549 
7550 // NoOverlapConstraintProto
7551 
7552 // repeated int32 intervals = 1;
7553 inline int NoOverlapConstraintProto::_internal_intervals_size() const {
7554  return intervals_.size();
7555 }
7556 inline int NoOverlapConstraintProto::intervals_size() const {
7557  return _internal_intervals_size();
7558 }
7559 inline void NoOverlapConstraintProto::clear_intervals() {
7560  intervals_.Clear();
7561 }
7562 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlapConstraintProto::_internal_intervals(int index) const {
7563  return intervals_.Get(index);
7564 }
7565 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlapConstraintProto::intervals(int index) const {
7566  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlapConstraintProto.intervals)
7567  return _internal_intervals(index);
7568 }
7569 inline void NoOverlapConstraintProto::set_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7570  intervals_.Set(index, value);
7571  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlapConstraintProto.intervals)
7572 }
7573 inline void NoOverlapConstraintProto::_internal_add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7574  intervals_.Add(value);
7575 }
7576 inline void NoOverlapConstraintProto::add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7577  _internal_add_intervals(value);
7578  // @@protoc_insertion_point(field_add:operations_research.sat.NoOverlapConstraintProto.intervals)
7579 }
7580 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7581 NoOverlapConstraintProto::_internal_intervals() const {
7582  return intervals_;
7583 }
7584 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7585 NoOverlapConstraintProto::intervals() const {
7586  // @@protoc_insertion_point(field_list:operations_research.sat.NoOverlapConstraintProto.intervals)
7587  return _internal_intervals();
7588 }
7589 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7590 NoOverlapConstraintProto::_internal_mutable_intervals() {
7591  return &intervals_;
7592 }
7593 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7594 NoOverlapConstraintProto::mutable_intervals() {
7595  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.NoOverlapConstraintProto.intervals)
7596  return _internal_mutable_intervals();
7597 }
7598 
7599 // -------------------------------------------------------------------
7600 
7601 // NoOverlap2DConstraintProto
7602 
7603 // repeated int32 x_intervals = 1;
7604 inline int NoOverlap2DConstraintProto::_internal_x_intervals_size() const {
7605  return x_intervals_.size();
7606 }
7607 inline int NoOverlap2DConstraintProto::x_intervals_size() const {
7608  return _internal_x_intervals_size();
7609 }
7610 inline void NoOverlap2DConstraintProto::clear_x_intervals() {
7611  x_intervals_.Clear();
7612 }
7613 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlap2DConstraintProto::_internal_x_intervals(int index) const {
7614  return x_intervals_.Get(index);
7615 }
7616 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlap2DConstraintProto::x_intervals(int index) const {
7617  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
7618  return _internal_x_intervals(index);
7619 }
7620 inline void NoOverlap2DConstraintProto::set_x_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7621  x_intervals_.Set(index, value);
7622  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
7623 }
7624 inline void NoOverlap2DConstraintProto::_internal_add_x_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7625  x_intervals_.Add(value);
7626 }
7627 inline void NoOverlap2DConstraintProto::add_x_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7628  _internal_add_x_intervals(value);
7629  // @@protoc_insertion_point(field_add:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
7630 }
7631 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7632 NoOverlap2DConstraintProto::_internal_x_intervals() const {
7633  return x_intervals_;
7634 }
7635 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7636 NoOverlap2DConstraintProto::x_intervals() const {
7637  // @@protoc_insertion_point(field_list:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
7638  return _internal_x_intervals();
7639 }
7640 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7641 NoOverlap2DConstraintProto::_internal_mutable_x_intervals() {
7642  return &x_intervals_;
7643 }
7644 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7645 NoOverlap2DConstraintProto::mutable_x_intervals() {
7646  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.NoOverlap2DConstraintProto.x_intervals)
7647  return _internal_mutable_x_intervals();
7648 }
7649 
7650 // repeated int32 y_intervals = 2;
7651 inline int NoOverlap2DConstraintProto::_internal_y_intervals_size() const {
7652  return y_intervals_.size();
7653 }
7654 inline int NoOverlap2DConstraintProto::y_intervals_size() const {
7655  return _internal_y_intervals_size();
7656 }
7657 inline void NoOverlap2DConstraintProto::clear_y_intervals() {
7658  y_intervals_.Clear();
7659 }
7660 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlap2DConstraintProto::_internal_y_intervals(int index) const {
7661  return y_intervals_.Get(index);
7662 }
7663 inline ::PROTOBUF_NAMESPACE_ID::int32 NoOverlap2DConstraintProto::y_intervals(int index) const {
7664  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
7665  return _internal_y_intervals(index);
7666 }
7667 inline void NoOverlap2DConstraintProto::set_y_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7668  y_intervals_.Set(index, value);
7669  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
7670 }
7671 inline void NoOverlap2DConstraintProto::_internal_add_y_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7672  y_intervals_.Add(value);
7673 }
7674 inline void NoOverlap2DConstraintProto::add_y_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7675  _internal_add_y_intervals(value);
7676  // @@protoc_insertion_point(field_add:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
7677 }
7678 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7679 NoOverlap2DConstraintProto::_internal_y_intervals() const {
7680  return y_intervals_;
7681 }
7682 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7683 NoOverlap2DConstraintProto::y_intervals() const {
7684  // @@protoc_insertion_point(field_list:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
7685  return _internal_y_intervals();
7686 }
7687 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7688 NoOverlap2DConstraintProto::_internal_mutable_y_intervals() {
7689  return &y_intervals_;
7690 }
7691 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7692 NoOverlap2DConstraintProto::mutable_y_intervals() {
7693  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.NoOverlap2DConstraintProto.y_intervals)
7694  return _internal_mutable_y_intervals();
7695 }
7696 
7697 // bool boxes_with_null_area_can_overlap = 3;
7698 inline void NoOverlap2DConstraintProto::clear_boxes_with_null_area_can_overlap() {
7699  boxes_with_null_area_can_overlap_ = false;
7700 }
7701 inline bool NoOverlap2DConstraintProto::_internal_boxes_with_null_area_can_overlap() const {
7702  return boxes_with_null_area_can_overlap_;
7703 }
7704 inline bool NoOverlap2DConstraintProto::boxes_with_null_area_can_overlap() const {
7705  // @@protoc_insertion_point(field_get:operations_research.sat.NoOverlap2DConstraintProto.boxes_with_null_area_can_overlap)
7706  return _internal_boxes_with_null_area_can_overlap();
7707 }
7708 inline void NoOverlap2DConstraintProto::_internal_set_boxes_with_null_area_can_overlap(bool value) {
7709 
7710  boxes_with_null_area_can_overlap_ = value;
7711 }
7712 inline void NoOverlap2DConstraintProto::set_boxes_with_null_area_can_overlap(bool value) {
7713  _internal_set_boxes_with_null_area_can_overlap(value);
7714  // @@protoc_insertion_point(field_set:operations_research.sat.NoOverlap2DConstraintProto.boxes_with_null_area_can_overlap)
7715 }
7716 
7717 // -------------------------------------------------------------------
7718 
7719 // CumulativeConstraintProto
7720 
7721 // int32 capacity = 1;
7722 inline void CumulativeConstraintProto::clear_capacity() {
7723  capacity_ = 0;
7724 }
7725 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::_internal_capacity() const {
7726  return capacity_;
7727 }
7728 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::capacity() const {
7729  // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.capacity)
7730  return _internal_capacity();
7731 }
7732 inline void CumulativeConstraintProto::_internal_set_capacity(::PROTOBUF_NAMESPACE_ID::int32 value) {
7733 
7734  capacity_ = value;
7735 }
7736 inline void CumulativeConstraintProto::set_capacity(::PROTOBUF_NAMESPACE_ID::int32 value) {
7737  _internal_set_capacity(value);
7738  // @@protoc_insertion_point(field_set:operations_research.sat.CumulativeConstraintProto.capacity)
7739 }
7740 
7741 // repeated int32 intervals = 2;
7742 inline int CumulativeConstraintProto::_internal_intervals_size() const {
7743  return intervals_.size();
7744 }
7745 inline int CumulativeConstraintProto::intervals_size() const {
7746  return _internal_intervals_size();
7747 }
7748 inline void CumulativeConstraintProto::clear_intervals() {
7749  intervals_.Clear();
7750 }
7751 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::_internal_intervals(int index) const {
7752  return intervals_.Get(index);
7753 }
7754 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::intervals(int index) const {
7755  // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.intervals)
7756  return _internal_intervals(index);
7757 }
7758 inline void CumulativeConstraintProto::set_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7759  intervals_.Set(index, value);
7760  // @@protoc_insertion_point(field_set:operations_research.sat.CumulativeConstraintProto.intervals)
7761 }
7762 inline void CumulativeConstraintProto::_internal_add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7763  intervals_.Add(value);
7764 }
7765 inline void CumulativeConstraintProto::add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value) {
7766  _internal_add_intervals(value);
7767  // @@protoc_insertion_point(field_add:operations_research.sat.CumulativeConstraintProto.intervals)
7768 }
7769 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7770 CumulativeConstraintProto::_internal_intervals() const {
7771  return intervals_;
7772 }
7773 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7774 CumulativeConstraintProto::intervals() const {
7775  // @@protoc_insertion_point(field_list:operations_research.sat.CumulativeConstraintProto.intervals)
7776  return _internal_intervals();
7777 }
7778 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7779 CumulativeConstraintProto::_internal_mutable_intervals() {
7780  return &intervals_;
7781 }
7782 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7783 CumulativeConstraintProto::mutable_intervals() {
7784  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CumulativeConstraintProto.intervals)
7785  return _internal_mutable_intervals();
7786 }
7787 
7788 // repeated int32 demands = 3;
7789 inline int CumulativeConstraintProto::_internal_demands_size() const {
7790  return demands_.size();
7791 }
7792 inline int CumulativeConstraintProto::demands_size() const {
7793  return _internal_demands_size();
7794 }
7795 inline void CumulativeConstraintProto::clear_demands() {
7796  demands_.Clear();
7797 }
7798 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::_internal_demands(int index) const {
7799  return demands_.Get(index);
7800 }
7801 inline ::PROTOBUF_NAMESPACE_ID::int32 CumulativeConstraintProto::demands(int index) const {
7802  // @@protoc_insertion_point(field_get:operations_research.sat.CumulativeConstraintProto.demands)
7803  return _internal_demands(index);
7804 }
7805 inline void CumulativeConstraintProto::set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7806  demands_.Set(index, value);
7807  // @@protoc_insertion_point(field_set:operations_research.sat.CumulativeConstraintProto.demands)
7808 }
7809 inline void CumulativeConstraintProto::_internal_add_demands(::PROTOBUF_NAMESPACE_ID::int32 value) {
7810  demands_.Add(value);
7811 }
7812 inline void CumulativeConstraintProto::add_demands(::PROTOBUF_NAMESPACE_ID::int32 value) {
7813  _internal_add_demands(value);
7814  // @@protoc_insertion_point(field_add:operations_research.sat.CumulativeConstraintProto.demands)
7815 }
7816 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7817 CumulativeConstraintProto::_internal_demands() const {
7818  return demands_;
7819 }
7820 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7821 CumulativeConstraintProto::demands() const {
7822  // @@protoc_insertion_point(field_list:operations_research.sat.CumulativeConstraintProto.demands)
7823  return _internal_demands();
7824 }
7825 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7826 CumulativeConstraintProto::_internal_mutable_demands() {
7827  return &demands_;
7828 }
7829 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7830 CumulativeConstraintProto::mutable_demands() {
7831  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CumulativeConstraintProto.demands)
7832  return _internal_mutable_demands();
7833 }
7834 
7835 // -------------------------------------------------------------------
7836 
7837 // ReservoirConstraintProto
7838 
7839 // int64 min_level = 1;
7840 inline void ReservoirConstraintProto::clear_min_level() {
7841  min_level_ = PROTOBUF_LONGLONG(0);
7842 }
7843 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::_internal_min_level() const {
7844  return min_level_;
7845 }
7846 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::min_level() const {
7847  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.min_level)
7848  return _internal_min_level();
7849 }
7850 inline void ReservoirConstraintProto::_internal_set_min_level(::PROTOBUF_NAMESPACE_ID::int64 value) {
7851 
7852  min_level_ = value;
7853 }
7854 inline void ReservoirConstraintProto::set_min_level(::PROTOBUF_NAMESPACE_ID::int64 value) {
7855  _internal_set_min_level(value);
7856  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.min_level)
7857 }
7858 
7859 // int64 max_level = 2;
7860 inline void ReservoirConstraintProto::clear_max_level() {
7861  max_level_ = PROTOBUF_LONGLONG(0);
7862 }
7863 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::_internal_max_level() const {
7864  return max_level_;
7865 }
7866 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::max_level() const {
7867  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.max_level)
7868  return _internal_max_level();
7869 }
7870 inline void ReservoirConstraintProto::_internal_set_max_level(::PROTOBUF_NAMESPACE_ID::int64 value) {
7871 
7872  max_level_ = value;
7873 }
7874 inline void ReservoirConstraintProto::set_max_level(::PROTOBUF_NAMESPACE_ID::int64 value) {
7875  _internal_set_max_level(value);
7876  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.max_level)
7877 }
7878 
7879 // repeated int32 times = 3;
7880 inline int ReservoirConstraintProto::_internal_times_size() const {
7881  return times_.size();
7882 }
7883 inline int ReservoirConstraintProto::times_size() const {
7884  return _internal_times_size();
7885 }
7886 inline void ReservoirConstraintProto::clear_times() {
7887  times_.Clear();
7888 }
7889 inline ::PROTOBUF_NAMESPACE_ID::int32 ReservoirConstraintProto::_internal_times(int index) const {
7890  return times_.Get(index);
7891 }
7892 inline ::PROTOBUF_NAMESPACE_ID::int32 ReservoirConstraintProto::times(int index) const {
7893  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.times)
7894  return _internal_times(index);
7895 }
7896 inline void ReservoirConstraintProto::set_times(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7897  times_.Set(index, value);
7898  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.times)
7899 }
7900 inline void ReservoirConstraintProto::_internal_add_times(::PROTOBUF_NAMESPACE_ID::int32 value) {
7901  times_.Add(value);
7902 }
7903 inline void ReservoirConstraintProto::add_times(::PROTOBUF_NAMESPACE_ID::int32 value) {
7904  _internal_add_times(value);
7905  // @@protoc_insertion_point(field_add:operations_research.sat.ReservoirConstraintProto.times)
7906 }
7907 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7908 ReservoirConstraintProto::_internal_times() const {
7909  return times_;
7910 }
7911 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
7912 ReservoirConstraintProto::times() const {
7913  // @@protoc_insertion_point(field_list:operations_research.sat.ReservoirConstraintProto.times)
7914  return _internal_times();
7915 }
7916 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7917 ReservoirConstraintProto::_internal_mutable_times() {
7918  return &times_;
7919 }
7920 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
7921 ReservoirConstraintProto::mutable_times() {
7922  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ReservoirConstraintProto.times)
7923  return _internal_mutable_times();
7924 }
7925 
7926 // repeated int64 demands = 4;
7927 inline int ReservoirConstraintProto::_internal_demands_size() const {
7928  return demands_.size();
7929 }
7930 inline int ReservoirConstraintProto::demands_size() const {
7931  return _internal_demands_size();
7932 }
7933 inline void ReservoirConstraintProto::clear_demands() {
7934  demands_.Clear();
7935 }
7936 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::_internal_demands(int index) const {
7937  return demands_.Get(index);
7938 }
7939 inline ::PROTOBUF_NAMESPACE_ID::int64 ReservoirConstraintProto::demands(int index) const {
7940  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.demands)
7941  return _internal_demands(index);
7942 }
7943 inline void ReservoirConstraintProto::set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
7944  demands_.Set(index, value);
7945  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.demands)
7946 }
7947 inline void ReservoirConstraintProto::_internal_add_demands(::PROTOBUF_NAMESPACE_ID::int64 value) {
7948  demands_.Add(value);
7949 }
7950 inline void ReservoirConstraintProto::add_demands(::PROTOBUF_NAMESPACE_ID::int64 value) {
7951  _internal_add_demands(value);
7952  // @@protoc_insertion_point(field_add:operations_research.sat.ReservoirConstraintProto.demands)
7953 }
7954 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7955 ReservoirConstraintProto::_internal_demands() const {
7956  return demands_;
7957 }
7958 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
7959 ReservoirConstraintProto::demands() const {
7960  // @@protoc_insertion_point(field_list:operations_research.sat.ReservoirConstraintProto.demands)
7961  return _internal_demands();
7962 }
7963 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7964 ReservoirConstraintProto::_internal_mutable_demands() {
7965  return &demands_;
7966 }
7967 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
7968 ReservoirConstraintProto::mutable_demands() {
7969  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ReservoirConstraintProto.demands)
7970  return _internal_mutable_demands();
7971 }
7972 
7973 // repeated int32 actives = 5;
7974 inline int ReservoirConstraintProto::_internal_actives_size() const {
7975  return actives_.size();
7976 }
7977 inline int ReservoirConstraintProto::actives_size() const {
7978  return _internal_actives_size();
7979 }
7980 inline void ReservoirConstraintProto::clear_actives() {
7981  actives_.Clear();
7982 }
7983 inline ::PROTOBUF_NAMESPACE_ID::int32 ReservoirConstraintProto::_internal_actives(int index) const {
7984  return actives_.Get(index);
7985 }
7986 inline ::PROTOBUF_NAMESPACE_ID::int32 ReservoirConstraintProto::actives(int index) const {
7987  // @@protoc_insertion_point(field_get:operations_research.sat.ReservoirConstraintProto.actives)
7988  return _internal_actives(index);
7989 }
7990 inline void ReservoirConstraintProto::set_actives(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
7991  actives_.Set(index, value);
7992  // @@protoc_insertion_point(field_set:operations_research.sat.ReservoirConstraintProto.actives)
7993 }
7994 inline void ReservoirConstraintProto::_internal_add_actives(::PROTOBUF_NAMESPACE_ID::int32 value) {
7995  actives_.Add(value);
7996 }
7997 inline void ReservoirConstraintProto::add_actives(::PROTOBUF_NAMESPACE_ID::int32 value) {
7998  _internal_add_actives(value);
7999  // @@protoc_insertion_point(field_add:operations_research.sat.ReservoirConstraintProto.actives)
8000 }
8001 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8002 ReservoirConstraintProto::_internal_actives() const {
8003  return actives_;
8004 }
8005 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8006 ReservoirConstraintProto::actives() const {
8007  // @@protoc_insertion_point(field_list:operations_research.sat.ReservoirConstraintProto.actives)
8008  return _internal_actives();
8009 }
8010 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8011 ReservoirConstraintProto::_internal_mutable_actives() {
8012  return &actives_;
8013 }
8014 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8015 ReservoirConstraintProto::mutable_actives() {
8016  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ReservoirConstraintProto.actives)
8017  return _internal_mutable_actives();
8018 }
8019 
8020 // -------------------------------------------------------------------
8021 
8022 // CircuitConstraintProto
8023 
8024 // repeated int32 tails = 3;
8025 inline int CircuitConstraintProto::_internal_tails_size() const {
8026  return tails_.size();
8027 }
8028 inline int CircuitConstraintProto::tails_size() const {
8029  return _internal_tails_size();
8030 }
8031 inline void CircuitConstraintProto::clear_tails() {
8032  tails_.Clear();
8033 }
8034 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::_internal_tails(int index) const {
8035  return tails_.Get(index);
8036 }
8037 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::tails(int index) const {
8038  // @@protoc_insertion_point(field_get:operations_research.sat.CircuitConstraintProto.tails)
8039  return _internal_tails(index);
8040 }
8041 inline void CircuitConstraintProto::set_tails(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8042  tails_.Set(index, value);
8043  // @@protoc_insertion_point(field_set:operations_research.sat.CircuitConstraintProto.tails)
8044 }
8045 inline void CircuitConstraintProto::_internal_add_tails(::PROTOBUF_NAMESPACE_ID::int32 value) {
8046  tails_.Add(value);
8047 }
8048 inline void CircuitConstraintProto::add_tails(::PROTOBUF_NAMESPACE_ID::int32 value) {
8049  _internal_add_tails(value);
8050  // @@protoc_insertion_point(field_add:operations_research.sat.CircuitConstraintProto.tails)
8051 }
8052 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8053 CircuitConstraintProto::_internal_tails() const {
8054  return tails_;
8055 }
8056 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8057 CircuitConstraintProto::tails() const {
8058  // @@protoc_insertion_point(field_list:operations_research.sat.CircuitConstraintProto.tails)
8059  return _internal_tails();
8060 }
8061 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8062 CircuitConstraintProto::_internal_mutable_tails() {
8063  return &tails_;
8064 }
8065 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8066 CircuitConstraintProto::mutable_tails() {
8067  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitConstraintProto.tails)
8068  return _internal_mutable_tails();
8069 }
8070 
8071 // repeated int32 heads = 4;
8072 inline int CircuitConstraintProto::_internal_heads_size() const {
8073  return heads_.size();
8074 }
8075 inline int CircuitConstraintProto::heads_size() const {
8076  return _internal_heads_size();
8077 }
8078 inline void CircuitConstraintProto::clear_heads() {
8079  heads_.Clear();
8080 }
8081 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::_internal_heads(int index) const {
8082  return heads_.Get(index);
8083 }
8084 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::heads(int index) const {
8085  // @@protoc_insertion_point(field_get:operations_research.sat.CircuitConstraintProto.heads)
8086  return _internal_heads(index);
8087 }
8088 inline void CircuitConstraintProto::set_heads(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8089  heads_.Set(index, value);
8090  // @@protoc_insertion_point(field_set:operations_research.sat.CircuitConstraintProto.heads)
8091 }
8092 inline void CircuitConstraintProto::_internal_add_heads(::PROTOBUF_NAMESPACE_ID::int32 value) {
8093  heads_.Add(value);
8094 }
8095 inline void CircuitConstraintProto::add_heads(::PROTOBUF_NAMESPACE_ID::int32 value) {
8096  _internal_add_heads(value);
8097  // @@protoc_insertion_point(field_add:operations_research.sat.CircuitConstraintProto.heads)
8098 }
8099 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8100 CircuitConstraintProto::_internal_heads() const {
8101  return heads_;
8102 }
8103 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8104 CircuitConstraintProto::heads() const {
8105  // @@protoc_insertion_point(field_list:operations_research.sat.CircuitConstraintProto.heads)
8106  return _internal_heads();
8107 }
8108 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8109 CircuitConstraintProto::_internal_mutable_heads() {
8110  return &heads_;
8111 }
8112 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8113 CircuitConstraintProto::mutable_heads() {
8114  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitConstraintProto.heads)
8115  return _internal_mutable_heads();
8116 }
8117 
8118 // repeated int32 literals = 5;
8119 inline int CircuitConstraintProto::_internal_literals_size() const {
8120  return literals_.size();
8121 }
8122 inline int CircuitConstraintProto::literals_size() const {
8123  return _internal_literals_size();
8124 }
8125 inline void CircuitConstraintProto::clear_literals() {
8126  literals_.Clear();
8127 }
8128 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::_internal_literals(int index) const {
8129  return literals_.Get(index);
8130 }
8131 inline ::PROTOBUF_NAMESPACE_ID::int32 CircuitConstraintProto::literals(int index) const {
8132  // @@protoc_insertion_point(field_get:operations_research.sat.CircuitConstraintProto.literals)
8133  return _internal_literals(index);
8134 }
8135 inline void CircuitConstraintProto::set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8136  literals_.Set(index, value);
8137  // @@protoc_insertion_point(field_set:operations_research.sat.CircuitConstraintProto.literals)
8138 }
8139 inline void CircuitConstraintProto::_internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
8140  literals_.Add(value);
8141 }
8142 inline void CircuitConstraintProto::add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
8143  _internal_add_literals(value);
8144  // @@protoc_insertion_point(field_add:operations_research.sat.CircuitConstraintProto.literals)
8145 }
8146 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8147 CircuitConstraintProto::_internal_literals() const {
8148  return literals_;
8149 }
8150 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8151 CircuitConstraintProto::literals() const {
8152  // @@protoc_insertion_point(field_list:operations_research.sat.CircuitConstraintProto.literals)
8153  return _internal_literals();
8154 }
8155 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8156 CircuitConstraintProto::_internal_mutable_literals() {
8157  return &literals_;
8158 }
8159 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8160 CircuitConstraintProto::mutable_literals() {
8161  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CircuitConstraintProto.literals)
8162  return _internal_mutable_literals();
8163 }
8164 
8165 // -------------------------------------------------------------------
8166 
8167 // RoutesConstraintProto
8168 
8169 // repeated int32 tails = 1;
8170 inline int RoutesConstraintProto::_internal_tails_size() const {
8171  return tails_.size();
8172 }
8173 inline int RoutesConstraintProto::tails_size() const {
8174  return _internal_tails_size();
8175 }
8176 inline void RoutesConstraintProto::clear_tails() {
8177  tails_.Clear();
8178 }
8179 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::_internal_tails(int index) const {
8180  return tails_.Get(index);
8181 }
8182 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::tails(int index) const {
8183  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.tails)
8184  return _internal_tails(index);
8185 }
8186 inline void RoutesConstraintProto::set_tails(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8187  tails_.Set(index, value);
8188  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.tails)
8189 }
8190 inline void RoutesConstraintProto::_internal_add_tails(::PROTOBUF_NAMESPACE_ID::int32 value) {
8191  tails_.Add(value);
8192 }
8193 inline void RoutesConstraintProto::add_tails(::PROTOBUF_NAMESPACE_ID::int32 value) {
8194  _internal_add_tails(value);
8195  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.tails)
8196 }
8197 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8198 RoutesConstraintProto::_internal_tails() const {
8199  return tails_;
8200 }
8201 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8202 RoutesConstraintProto::tails() const {
8203  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.tails)
8204  return _internal_tails();
8205 }
8206 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8207 RoutesConstraintProto::_internal_mutable_tails() {
8208  return &tails_;
8209 }
8210 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8211 RoutesConstraintProto::mutable_tails() {
8212  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.tails)
8213  return _internal_mutable_tails();
8214 }
8215 
8216 // repeated int32 heads = 2;
8217 inline int RoutesConstraintProto::_internal_heads_size() const {
8218  return heads_.size();
8219 }
8220 inline int RoutesConstraintProto::heads_size() const {
8221  return _internal_heads_size();
8222 }
8223 inline void RoutesConstraintProto::clear_heads() {
8224  heads_.Clear();
8225 }
8226 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::_internal_heads(int index) const {
8227  return heads_.Get(index);
8228 }
8229 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::heads(int index) const {
8230  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.heads)
8231  return _internal_heads(index);
8232 }
8233 inline void RoutesConstraintProto::set_heads(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8234  heads_.Set(index, value);
8235  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.heads)
8236 }
8237 inline void RoutesConstraintProto::_internal_add_heads(::PROTOBUF_NAMESPACE_ID::int32 value) {
8238  heads_.Add(value);
8239 }
8240 inline void RoutesConstraintProto::add_heads(::PROTOBUF_NAMESPACE_ID::int32 value) {
8241  _internal_add_heads(value);
8242  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.heads)
8243 }
8244 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8245 RoutesConstraintProto::_internal_heads() const {
8246  return heads_;
8247 }
8248 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8249 RoutesConstraintProto::heads() const {
8250  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.heads)
8251  return _internal_heads();
8252 }
8253 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8254 RoutesConstraintProto::_internal_mutable_heads() {
8255  return &heads_;
8256 }
8257 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8258 RoutesConstraintProto::mutable_heads() {
8259  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.heads)
8260  return _internal_mutable_heads();
8261 }
8262 
8263 // repeated int32 literals = 3;
8264 inline int RoutesConstraintProto::_internal_literals_size() const {
8265  return literals_.size();
8266 }
8267 inline int RoutesConstraintProto::literals_size() const {
8268  return _internal_literals_size();
8269 }
8270 inline void RoutesConstraintProto::clear_literals() {
8271  literals_.Clear();
8272 }
8273 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::_internal_literals(int index) const {
8274  return literals_.Get(index);
8275 }
8276 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::literals(int index) const {
8277  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.literals)
8278  return _internal_literals(index);
8279 }
8280 inline void RoutesConstraintProto::set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8281  literals_.Set(index, value);
8282  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.literals)
8283 }
8284 inline void RoutesConstraintProto::_internal_add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
8285  literals_.Add(value);
8286 }
8287 inline void RoutesConstraintProto::add_literals(::PROTOBUF_NAMESPACE_ID::int32 value) {
8288  _internal_add_literals(value);
8289  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.literals)
8290 }
8291 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8292 RoutesConstraintProto::_internal_literals() const {
8293  return literals_;
8294 }
8295 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8296 RoutesConstraintProto::literals() const {
8297  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.literals)
8298  return _internal_literals();
8299 }
8300 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8301 RoutesConstraintProto::_internal_mutable_literals() {
8302  return &literals_;
8303 }
8304 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8305 RoutesConstraintProto::mutable_literals() {
8306  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.literals)
8307  return _internal_mutable_literals();
8308 }
8309 
8310 // repeated int32 demands = 4;
8311 inline int RoutesConstraintProto::_internal_demands_size() const {
8312  return demands_.size();
8313 }
8314 inline int RoutesConstraintProto::demands_size() const {
8315  return _internal_demands_size();
8316 }
8317 inline void RoutesConstraintProto::clear_demands() {
8318  demands_.Clear();
8319 }
8320 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::_internal_demands(int index) const {
8321  return demands_.Get(index);
8322 }
8323 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutesConstraintProto::demands(int index) const {
8324  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.demands)
8325  return _internal_demands(index);
8326 }
8327 inline void RoutesConstraintProto::set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8328  demands_.Set(index, value);
8329  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.demands)
8330 }
8331 inline void RoutesConstraintProto::_internal_add_demands(::PROTOBUF_NAMESPACE_ID::int32 value) {
8332  demands_.Add(value);
8333 }
8334 inline void RoutesConstraintProto::add_demands(::PROTOBUF_NAMESPACE_ID::int32 value) {
8335  _internal_add_demands(value);
8336  // @@protoc_insertion_point(field_add:operations_research.sat.RoutesConstraintProto.demands)
8337 }
8338 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8339 RoutesConstraintProto::_internal_demands() const {
8340  return demands_;
8341 }
8342 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8343 RoutesConstraintProto::demands() const {
8344  // @@protoc_insertion_point(field_list:operations_research.sat.RoutesConstraintProto.demands)
8345  return _internal_demands();
8346 }
8347 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8348 RoutesConstraintProto::_internal_mutable_demands() {
8349  return &demands_;
8350 }
8351 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8352 RoutesConstraintProto::mutable_demands() {
8353  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.RoutesConstraintProto.demands)
8354  return _internal_mutable_demands();
8355 }
8356 
8357 // int64 capacity = 5;
8358 inline void RoutesConstraintProto::clear_capacity() {
8359  capacity_ = PROTOBUF_LONGLONG(0);
8360 }
8361 inline ::PROTOBUF_NAMESPACE_ID::int64 RoutesConstraintProto::_internal_capacity() const {
8362  return capacity_;
8363 }
8364 inline ::PROTOBUF_NAMESPACE_ID::int64 RoutesConstraintProto::capacity() const {
8365  // @@protoc_insertion_point(field_get:operations_research.sat.RoutesConstraintProto.capacity)
8366  return _internal_capacity();
8367 }
8368 inline void RoutesConstraintProto::_internal_set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value) {
8369 
8370  capacity_ = value;
8371 }
8372 inline void RoutesConstraintProto::set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value) {
8373  _internal_set_capacity(value);
8374  // @@protoc_insertion_point(field_set:operations_research.sat.RoutesConstraintProto.capacity)
8375 }
8376 
8377 // -------------------------------------------------------------------
8378 
8379 // TableConstraintProto
8380 
8381 // repeated int32 vars = 1;
8382 inline int TableConstraintProto::_internal_vars_size() const {
8383  return vars_.size();
8384 }
8385 inline int TableConstraintProto::vars_size() const {
8386  return _internal_vars_size();
8387 }
8388 inline void TableConstraintProto::clear_vars() {
8389  vars_.Clear();
8390 }
8391 inline ::PROTOBUF_NAMESPACE_ID::int32 TableConstraintProto::_internal_vars(int index) const {
8392  return vars_.Get(index);
8393 }
8394 inline ::PROTOBUF_NAMESPACE_ID::int32 TableConstraintProto::vars(int index) const {
8395  // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.vars)
8396  return _internal_vars(index);
8397 }
8398 inline void TableConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8399  vars_.Set(index, value);
8400  // @@protoc_insertion_point(field_set:operations_research.sat.TableConstraintProto.vars)
8401 }
8402 inline void TableConstraintProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
8403  vars_.Add(value);
8404 }
8405 inline void TableConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
8406  _internal_add_vars(value);
8407  // @@protoc_insertion_point(field_add:operations_research.sat.TableConstraintProto.vars)
8408 }
8409 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8410 TableConstraintProto::_internal_vars() const {
8411  return vars_;
8412 }
8413 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8414 TableConstraintProto::vars() const {
8415  // @@protoc_insertion_point(field_list:operations_research.sat.TableConstraintProto.vars)
8416  return _internal_vars();
8417 }
8418 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8419 TableConstraintProto::_internal_mutable_vars() {
8420  return &vars_;
8421 }
8422 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8423 TableConstraintProto::mutable_vars() {
8424  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.TableConstraintProto.vars)
8425  return _internal_mutable_vars();
8426 }
8427 
8428 // repeated int64 values = 2;
8429 inline int TableConstraintProto::_internal_values_size() const {
8430  return values_.size();
8431 }
8432 inline int TableConstraintProto::values_size() const {
8433  return _internal_values_size();
8434 }
8435 inline void TableConstraintProto::clear_values() {
8436  values_.Clear();
8437 }
8438 inline ::PROTOBUF_NAMESPACE_ID::int64 TableConstraintProto::_internal_values(int index) const {
8439  return values_.Get(index);
8440 }
8441 inline ::PROTOBUF_NAMESPACE_ID::int64 TableConstraintProto::values(int index) const {
8442  // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.values)
8443  return _internal_values(index);
8444 }
8445 inline void TableConstraintProto::set_values(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
8446  values_.Set(index, value);
8447  // @@protoc_insertion_point(field_set:operations_research.sat.TableConstraintProto.values)
8448 }
8449 inline void TableConstraintProto::_internal_add_values(::PROTOBUF_NAMESPACE_ID::int64 value) {
8450  values_.Add(value);
8451 }
8452 inline void TableConstraintProto::add_values(::PROTOBUF_NAMESPACE_ID::int64 value) {
8453  _internal_add_values(value);
8454  // @@protoc_insertion_point(field_add:operations_research.sat.TableConstraintProto.values)
8455 }
8456 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8457 TableConstraintProto::_internal_values() const {
8458  return values_;
8459 }
8460 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8461 TableConstraintProto::values() const {
8462  // @@protoc_insertion_point(field_list:operations_research.sat.TableConstraintProto.values)
8463  return _internal_values();
8464 }
8465 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8466 TableConstraintProto::_internal_mutable_values() {
8467  return &values_;
8468 }
8469 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8470 TableConstraintProto::mutable_values() {
8471  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.TableConstraintProto.values)
8472  return _internal_mutable_values();
8473 }
8474 
8475 // bool negated = 3;
8476 inline void TableConstraintProto::clear_negated() {
8477  negated_ = false;
8478 }
8479 inline bool TableConstraintProto::_internal_negated() const {
8480  return negated_;
8481 }
8482 inline bool TableConstraintProto::negated() const {
8483  // @@protoc_insertion_point(field_get:operations_research.sat.TableConstraintProto.negated)
8484  return _internal_negated();
8485 }
8486 inline void TableConstraintProto::_internal_set_negated(bool value) {
8487 
8488  negated_ = value;
8489 }
8490 inline void TableConstraintProto::set_negated(bool value) {
8491  _internal_set_negated(value);
8492  // @@protoc_insertion_point(field_set:operations_research.sat.TableConstraintProto.negated)
8493 }
8494 
8495 // -------------------------------------------------------------------
8496 
8497 // InverseConstraintProto
8498 
8499 // repeated int32 f_direct = 1;
8500 inline int InverseConstraintProto::_internal_f_direct_size() const {
8501  return f_direct_.size();
8502 }
8503 inline int InverseConstraintProto::f_direct_size() const {
8504  return _internal_f_direct_size();
8505 }
8506 inline void InverseConstraintProto::clear_f_direct() {
8507  f_direct_.Clear();
8508 }
8509 inline ::PROTOBUF_NAMESPACE_ID::int32 InverseConstraintProto::_internal_f_direct(int index) const {
8510  return f_direct_.Get(index);
8511 }
8512 inline ::PROTOBUF_NAMESPACE_ID::int32 InverseConstraintProto::f_direct(int index) const {
8513  // @@protoc_insertion_point(field_get:operations_research.sat.InverseConstraintProto.f_direct)
8514  return _internal_f_direct(index);
8515 }
8516 inline void InverseConstraintProto::set_f_direct(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8517  f_direct_.Set(index, value);
8518  // @@protoc_insertion_point(field_set:operations_research.sat.InverseConstraintProto.f_direct)
8519 }
8520 inline void InverseConstraintProto::_internal_add_f_direct(::PROTOBUF_NAMESPACE_ID::int32 value) {
8521  f_direct_.Add(value);
8522 }
8523 inline void InverseConstraintProto::add_f_direct(::PROTOBUF_NAMESPACE_ID::int32 value) {
8524  _internal_add_f_direct(value);
8525  // @@protoc_insertion_point(field_add:operations_research.sat.InverseConstraintProto.f_direct)
8526 }
8527 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8528 InverseConstraintProto::_internal_f_direct() const {
8529  return f_direct_;
8530 }
8531 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8532 InverseConstraintProto::f_direct() const {
8533  // @@protoc_insertion_point(field_list:operations_research.sat.InverseConstraintProto.f_direct)
8534  return _internal_f_direct();
8535 }
8536 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8537 InverseConstraintProto::_internal_mutable_f_direct() {
8538  return &f_direct_;
8539 }
8540 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8541 InverseConstraintProto::mutable_f_direct() {
8542  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.InverseConstraintProto.f_direct)
8543  return _internal_mutable_f_direct();
8544 }
8545 
8546 // repeated int32 f_inverse = 2;
8547 inline int InverseConstraintProto::_internal_f_inverse_size() const {
8548  return f_inverse_.size();
8549 }
8550 inline int InverseConstraintProto::f_inverse_size() const {
8551  return _internal_f_inverse_size();
8552 }
8553 inline void InverseConstraintProto::clear_f_inverse() {
8554  f_inverse_.Clear();
8555 }
8556 inline ::PROTOBUF_NAMESPACE_ID::int32 InverseConstraintProto::_internal_f_inverse(int index) const {
8557  return f_inverse_.Get(index);
8558 }
8559 inline ::PROTOBUF_NAMESPACE_ID::int32 InverseConstraintProto::f_inverse(int index) const {
8560  // @@protoc_insertion_point(field_get:operations_research.sat.InverseConstraintProto.f_inverse)
8561  return _internal_f_inverse(index);
8562 }
8563 inline void InverseConstraintProto::set_f_inverse(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8564  f_inverse_.Set(index, value);
8565  // @@protoc_insertion_point(field_set:operations_research.sat.InverseConstraintProto.f_inverse)
8566 }
8567 inline void InverseConstraintProto::_internal_add_f_inverse(::PROTOBUF_NAMESPACE_ID::int32 value) {
8568  f_inverse_.Add(value);
8569 }
8570 inline void InverseConstraintProto::add_f_inverse(::PROTOBUF_NAMESPACE_ID::int32 value) {
8571  _internal_add_f_inverse(value);
8572  // @@protoc_insertion_point(field_add:operations_research.sat.InverseConstraintProto.f_inverse)
8573 }
8574 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8575 InverseConstraintProto::_internal_f_inverse() const {
8576  return f_inverse_;
8577 }
8578 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8579 InverseConstraintProto::f_inverse() const {
8580  // @@protoc_insertion_point(field_list:operations_research.sat.InverseConstraintProto.f_inverse)
8581  return _internal_f_inverse();
8582 }
8583 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8584 InverseConstraintProto::_internal_mutable_f_inverse() {
8585  return &f_inverse_;
8586 }
8587 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8588 InverseConstraintProto::mutable_f_inverse() {
8589  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.InverseConstraintProto.f_inverse)
8590  return _internal_mutable_f_inverse();
8591 }
8592 
8593 // -------------------------------------------------------------------
8594 
8595 // AutomatonConstraintProto
8596 
8597 // int64 starting_state = 2;
8598 inline void AutomatonConstraintProto::clear_starting_state() {
8599  starting_state_ = PROTOBUF_LONGLONG(0);
8600 }
8601 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::_internal_starting_state() const {
8602  return starting_state_;
8603 }
8604 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::starting_state() const {
8605  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.starting_state)
8606  return _internal_starting_state();
8607 }
8608 inline void AutomatonConstraintProto::_internal_set_starting_state(::PROTOBUF_NAMESPACE_ID::int64 value) {
8609 
8610  starting_state_ = value;
8611 }
8612 inline void AutomatonConstraintProto::set_starting_state(::PROTOBUF_NAMESPACE_ID::int64 value) {
8613  _internal_set_starting_state(value);
8614  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.starting_state)
8615 }
8616 
8617 // repeated int64 final_states = 3;
8618 inline int AutomatonConstraintProto::_internal_final_states_size() const {
8619  return final_states_.size();
8620 }
8621 inline int AutomatonConstraintProto::final_states_size() const {
8622  return _internal_final_states_size();
8623 }
8624 inline void AutomatonConstraintProto::clear_final_states() {
8625  final_states_.Clear();
8626 }
8627 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::_internal_final_states(int index) const {
8628  return final_states_.Get(index);
8629 }
8630 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::final_states(int index) const {
8631  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.final_states)
8632  return _internal_final_states(index);
8633 }
8634 inline void AutomatonConstraintProto::set_final_states(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
8635  final_states_.Set(index, value);
8636  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.final_states)
8637 }
8638 inline void AutomatonConstraintProto::_internal_add_final_states(::PROTOBUF_NAMESPACE_ID::int64 value) {
8639  final_states_.Add(value);
8640 }
8641 inline void AutomatonConstraintProto::add_final_states(::PROTOBUF_NAMESPACE_ID::int64 value) {
8642  _internal_add_final_states(value);
8643  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.final_states)
8644 }
8645 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8646 AutomatonConstraintProto::_internal_final_states() const {
8647  return final_states_;
8648 }
8649 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8650 AutomatonConstraintProto::final_states() const {
8651  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.final_states)
8652  return _internal_final_states();
8653 }
8654 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8655 AutomatonConstraintProto::_internal_mutable_final_states() {
8656  return &final_states_;
8657 }
8658 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8659 AutomatonConstraintProto::mutable_final_states() {
8660  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.final_states)
8661  return _internal_mutable_final_states();
8662 }
8663 
8664 // repeated int64 transition_tail = 4;
8665 inline int AutomatonConstraintProto::_internal_transition_tail_size() const {
8666  return transition_tail_.size();
8667 }
8668 inline int AutomatonConstraintProto::transition_tail_size() const {
8669  return _internal_transition_tail_size();
8670 }
8671 inline void AutomatonConstraintProto::clear_transition_tail() {
8672  transition_tail_.Clear();
8673 }
8674 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::_internal_transition_tail(int index) const {
8675  return transition_tail_.Get(index);
8676 }
8677 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::transition_tail(int index) const {
8678  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.transition_tail)
8679  return _internal_transition_tail(index);
8680 }
8681 inline void AutomatonConstraintProto::set_transition_tail(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
8682  transition_tail_.Set(index, value);
8683  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.transition_tail)
8684 }
8685 inline void AutomatonConstraintProto::_internal_add_transition_tail(::PROTOBUF_NAMESPACE_ID::int64 value) {
8686  transition_tail_.Add(value);
8687 }
8688 inline void AutomatonConstraintProto::add_transition_tail(::PROTOBUF_NAMESPACE_ID::int64 value) {
8689  _internal_add_transition_tail(value);
8690  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.transition_tail)
8691 }
8692 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8693 AutomatonConstraintProto::_internal_transition_tail() const {
8694  return transition_tail_;
8695 }
8696 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8697 AutomatonConstraintProto::transition_tail() const {
8698  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.transition_tail)
8699  return _internal_transition_tail();
8700 }
8701 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8702 AutomatonConstraintProto::_internal_mutable_transition_tail() {
8703  return &transition_tail_;
8704 }
8705 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8706 AutomatonConstraintProto::mutable_transition_tail() {
8707  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.transition_tail)
8708  return _internal_mutable_transition_tail();
8709 }
8710 
8711 // repeated int64 transition_head = 5;
8712 inline int AutomatonConstraintProto::_internal_transition_head_size() const {
8713  return transition_head_.size();
8714 }
8715 inline int AutomatonConstraintProto::transition_head_size() const {
8716  return _internal_transition_head_size();
8717 }
8718 inline void AutomatonConstraintProto::clear_transition_head() {
8719  transition_head_.Clear();
8720 }
8721 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::_internal_transition_head(int index) const {
8722  return transition_head_.Get(index);
8723 }
8724 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::transition_head(int index) const {
8725  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.transition_head)
8726  return _internal_transition_head(index);
8727 }
8728 inline void AutomatonConstraintProto::set_transition_head(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
8729  transition_head_.Set(index, value);
8730  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.transition_head)
8731 }
8732 inline void AutomatonConstraintProto::_internal_add_transition_head(::PROTOBUF_NAMESPACE_ID::int64 value) {
8733  transition_head_.Add(value);
8734 }
8735 inline void AutomatonConstraintProto::add_transition_head(::PROTOBUF_NAMESPACE_ID::int64 value) {
8736  _internal_add_transition_head(value);
8737  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.transition_head)
8738 }
8739 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8740 AutomatonConstraintProto::_internal_transition_head() const {
8741  return transition_head_;
8742 }
8743 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8744 AutomatonConstraintProto::transition_head() const {
8745  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.transition_head)
8746  return _internal_transition_head();
8747 }
8748 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8749 AutomatonConstraintProto::_internal_mutable_transition_head() {
8750  return &transition_head_;
8751 }
8752 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8753 AutomatonConstraintProto::mutable_transition_head() {
8754  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.transition_head)
8755  return _internal_mutable_transition_head();
8756 }
8757 
8758 // repeated int64 transition_label = 6;
8759 inline int AutomatonConstraintProto::_internal_transition_label_size() const {
8760  return transition_label_.size();
8761 }
8762 inline int AutomatonConstraintProto::transition_label_size() const {
8763  return _internal_transition_label_size();
8764 }
8765 inline void AutomatonConstraintProto::clear_transition_label() {
8766  transition_label_.Clear();
8767 }
8768 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::_internal_transition_label(int index) const {
8769  return transition_label_.Get(index);
8770 }
8771 inline ::PROTOBUF_NAMESPACE_ID::int64 AutomatonConstraintProto::transition_label(int index) const {
8772  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.transition_label)
8773  return _internal_transition_label(index);
8774 }
8775 inline void AutomatonConstraintProto::set_transition_label(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
8776  transition_label_.Set(index, value);
8777  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.transition_label)
8778 }
8779 inline void AutomatonConstraintProto::_internal_add_transition_label(::PROTOBUF_NAMESPACE_ID::int64 value) {
8780  transition_label_.Add(value);
8781 }
8782 inline void AutomatonConstraintProto::add_transition_label(::PROTOBUF_NAMESPACE_ID::int64 value) {
8783  _internal_add_transition_label(value);
8784  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.transition_label)
8785 }
8786 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8787 AutomatonConstraintProto::_internal_transition_label() const {
8788  return transition_label_;
8789 }
8790 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
8791 AutomatonConstraintProto::transition_label() const {
8792  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.transition_label)
8793  return _internal_transition_label();
8794 }
8795 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8796 AutomatonConstraintProto::_internal_mutable_transition_label() {
8797  return &transition_label_;
8798 }
8799 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
8800 AutomatonConstraintProto::mutable_transition_label() {
8801  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.transition_label)
8802  return _internal_mutable_transition_label();
8803 }
8804 
8805 // repeated int32 vars = 7;
8806 inline int AutomatonConstraintProto::_internal_vars_size() const {
8807  return vars_.size();
8808 }
8809 inline int AutomatonConstraintProto::vars_size() const {
8810  return _internal_vars_size();
8811 }
8812 inline void AutomatonConstraintProto::clear_vars() {
8813  vars_.Clear();
8814 }
8815 inline ::PROTOBUF_NAMESPACE_ID::int32 AutomatonConstraintProto::_internal_vars(int index) const {
8816  return vars_.Get(index);
8817 }
8818 inline ::PROTOBUF_NAMESPACE_ID::int32 AutomatonConstraintProto::vars(int index) const {
8819  // @@protoc_insertion_point(field_get:operations_research.sat.AutomatonConstraintProto.vars)
8820  return _internal_vars(index);
8821 }
8822 inline void AutomatonConstraintProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8823  vars_.Set(index, value);
8824  // @@protoc_insertion_point(field_set:operations_research.sat.AutomatonConstraintProto.vars)
8825 }
8826 inline void AutomatonConstraintProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
8827  vars_.Add(value);
8828 }
8829 inline void AutomatonConstraintProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
8830  _internal_add_vars(value);
8831  // @@protoc_insertion_point(field_add:operations_research.sat.AutomatonConstraintProto.vars)
8832 }
8833 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8834 AutomatonConstraintProto::_internal_vars() const {
8835  return vars_;
8836 }
8837 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8838 AutomatonConstraintProto::vars() const {
8839  // @@protoc_insertion_point(field_list:operations_research.sat.AutomatonConstraintProto.vars)
8840  return _internal_vars();
8841 }
8842 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8843 AutomatonConstraintProto::_internal_mutable_vars() {
8844  return &vars_;
8845 }
8846 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8847 AutomatonConstraintProto::mutable_vars() {
8848  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.AutomatonConstraintProto.vars)
8849  return _internal_mutable_vars();
8850 }
8851 
8852 // -------------------------------------------------------------------
8853 
8854 // ConstraintProto
8855 
8856 // string name = 1;
8857 inline void ConstraintProto::clear_name() {
8858  name_.ClearToEmpty();
8859 }
8860 inline const std::string& ConstraintProto::name() const {
8861  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.name)
8862  return _internal_name();
8863 }
8864 inline void ConstraintProto::set_name(const std::string& value) {
8865  _internal_set_name(value);
8866  // @@protoc_insertion_point(field_set:operations_research.sat.ConstraintProto.name)
8867 }
8868 inline std::string* ConstraintProto::mutable_name() {
8869  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.name)
8870  return _internal_mutable_name();
8871 }
8872 inline const std::string& ConstraintProto::_internal_name() const {
8873  return name_.Get();
8874 }
8875 inline void ConstraintProto::_internal_set_name(const std::string& value) {
8876 
8877  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
8878 }
8879 inline void ConstraintProto::set_name(std::string&& value) {
8880 
8881  name_.Set(
8882  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
8883  // @@protoc_insertion_point(field_set_rvalue:operations_research.sat.ConstraintProto.name)
8884 }
8885 inline void ConstraintProto::set_name(const char* value) {
8886  GOOGLE_DCHECK(value != nullptr);
8887 
8888  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
8889  // @@protoc_insertion_point(field_set_char:operations_research.sat.ConstraintProto.name)
8890 }
8891 inline void ConstraintProto::set_name(const char* value,
8892  size_t size) {
8893 
8894  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
8895  reinterpret_cast<const char*>(value), size), GetArena());
8896  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.ConstraintProto.name)
8897 }
8898 inline std::string* ConstraintProto::_internal_mutable_name() {
8899 
8900  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
8901 }
8902 inline std::string* ConstraintProto::release_name() {
8903  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.name)
8904  return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
8905 }
8906 inline void ConstraintProto::set_allocated_name(std::string* name) {
8907  if (name != nullptr) {
8908 
8909  } else {
8910 
8911  }
8912  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
8913  GetArena());
8914  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.ConstraintProto.name)
8915 }
8916 
8917 // repeated int32 enforcement_literal = 2;
8918 inline int ConstraintProto::_internal_enforcement_literal_size() const {
8919  return enforcement_literal_.size();
8920 }
8921 inline int ConstraintProto::enforcement_literal_size() const {
8922  return _internal_enforcement_literal_size();
8923 }
8924 inline void ConstraintProto::clear_enforcement_literal() {
8925  enforcement_literal_.Clear();
8926 }
8927 inline ::PROTOBUF_NAMESPACE_ID::int32 ConstraintProto::_internal_enforcement_literal(int index) const {
8928  return enforcement_literal_.Get(index);
8929 }
8930 inline ::PROTOBUF_NAMESPACE_ID::int32 ConstraintProto::enforcement_literal(int index) const {
8931  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.enforcement_literal)
8932  return _internal_enforcement_literal(index);
8933 }
8934 inline void ConstraintProto::set_enforcement_literal(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
8935  enforcement_literal_.Set(index, value);
8936  // @@protoc_insertion_point(field_set:operations_research.sat.ConstraintProto.enforcement_literal)
8937 }
8938 inline void ConstraintProto::_internal_add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::int32 value) {
8939  enforcement_literal_.Add(value);
8940 }
8941 inline void ConstraintProto::add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::int32 value) {
8942  _internal_add_enforcement_literal(value);
8943  // @@protoc_insertion_point(field_add:operations_research.sat.ConstraintProto.enforcement_literal)
8944 }
8945 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8946 ConstraintProto::_internal_enforcement_literal() const {
8947  return enforcement_literal_;
8948 }
8949 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
8950 ConstraintProto::enforcement_literal() const {
8951  // @@protoc_insertion_point(field_list:operations_research.sat.ConstraintProto.enforcement_literal)
8952  return _internal_enforcement_literal();
8953 }
8954 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8955 ConstraintProto::_internal_mutable_enforcement_literal() {
8956  return &enforcement_literal_;
8957 }
8958 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
8959 ConstraintProto::mutable_enforcement_literal() {
8960  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.ConstraintProto.enforcement_literal)
8961  return _internal_mutable_enforcement_literal();
8962 }
8963 
8964 // .operations_research.sat.BoolArgumentProto bool_or = 3;
8965 inline bool ConstraintProto::_internal_has_bool_or() const {
8966  return constraint_case() == kBoolOr;
8967 }
8968 inline bool ConstraintProto::has_bool_or() const {
8969  return _internal_has_bool_or();
8970 }
8971 inline void ConstraintProto::set_has_bool_or() {
8972  _oneof_case_[0] = kBoolOr;
8973 }
8974 inline void ConstraintProto::clear_bool_or() {
8975  if (_internal_has_bool_or()) {
8976  if (GetArena() == nullptr) {
8977  delete constraint_.bool_or_;
8978  }
8979  clear_has_constraint();
8980  }
8981 }
8982 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_bool_or() {
8983  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.bool_or)
8984  if (_internal_has_bool_or()) {
8985  clear_has_constraint();
8986  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_or_;
8987  if (GetArena() != nullptr) {
8988  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
8989  }
8990  constraint_.bool_or_ = nullptr;
8991  return temp;
8992  } else {
8993  return nullptr;
8994  }
8995 }
8996 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_bool_or() const {
8997  return _internal_has_bool_or()
8998  ? *constraint_.bool_or_
8999  : reinterpret_cast< ::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
9000 }
9001 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::bool_or() const {
9002  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.bool_or)
9003  return _internal_bool_or();
9004 }
9005 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_bool_or() {
9006  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.bool_or)
9007  if (_internal_has_bool_or()) {
9008  clear_has_constraint();
9009  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_or_;
9010  constraint_.bool_or_ = nullptr;
9011  return temp;
9012  } else {
9013  return nullptr;
9014  }
9015 }
9016 inline void ConstraintProto::unsafe_arena_set_allocated_bool_or(::operations_research::sat::BoolArgumentProto* bool_or) {
9017  clear_constraint();
9018  if (bool_or) {
9019  set_has_bool_or();
9020  constraint_.bool_or_ = bool_or;
9021  }
9022  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.bool_or)
9023 }
9024 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_bool_or() {
9025  if (!_internal_has_bool_or()) {
9026  clear_constraint();
9027  set_has_bool_or();
9028  constraint_.bool_or_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArena());
9029  }
9030  return constraint_.bool_or_;
9031 }
9032 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_bool_or() {
9033  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.bool_or)
9034  return _internal_mutable_bool_or();
9035 }
9036 
9037 // .operations_research.sat.BoolArgumentProto bool_and = 4;
9038 inline bool ConstraintProto::_internal_has_bool_and() const {
9039  return constraint_case() == kBoolAnd;
9040 }
9041 inline bool ConstraintProto::has_bool_and() const {
9042  return _internal_has_bool_and();
9043 }
9044 inline void ConstraintProto::set_has_bool_and() {
9045  _oneof_case_[0] = kBoolAnd;
9046 }
9047 inline void ConstraintProto::clear_bool_and() {
9048  if (_internal_has_bool_and()) {
9049  if (GetArena() == nullptr) {
9050  delete constraint_.bool_and_;
9051  }
9052  clear_has_constraint();
9053  }
9054 }
9055 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_bool_and() {
9056  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.bool_and)
9057  if (_internal_has_bool_and()) {
9058  clear_has_constraint();
9059  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_and_;
9060  if (GetArena() != nullptr) {
9061  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9062  }
9063  constraint_.bool_and_ = nullptr;
9064  return temp;
9065  } else {
9066  return nullptr;
9067  }
9068 }
9069 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_bool_and() const {
9070  return _internal_has_bool_and()
9071  ? *constraint_.bool_and_
9072  : reinterpret_cast< ::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
9073 }
9074 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::bool_and() const {
9075  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.bool_and)
9076  return _internal_bool_and();
9077 }
9078 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_bool_and() {
9079  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.bool_and)
9080  if (_internal_has_bool_and()) {
9081  clear_has_constraint();
9082  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_and_;
9083  constraint_.bool_and_ = nullptr;
9084  return temp;
9085  } else {
9086  return nullptr;
9087  }
9088 }
9089 inline void ConstraintProto::unsafe_arena_set_allocated_bool_and(::operations_research::sat::BoolArgumentProto* bool_and) {
9090  clear_constraint();
9091  if (bool_and) {
9092  set_has_bool_and();
9093  constraint_.bool_and_ = bool_and;
9094  }
9095  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.bool_and)
9096 }
9097 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_bool_and() {
9098  if (!_internal_has_bool_and()) {
9099  clear_constraint();
9100  set_has_bool_and();
9101  constraint_.bool_and_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArena());
9102  }
9103  return constraint_.bool_and_;
9104 }
9105 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_bool_and() {
9106  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.bool_and)
9107  return _internal_mutable_bool_and();
9108 }
9109 
9110 // .operations_research.sat.BoolArgumentProto at_most_one = 26;
9111 inline bool ConstraintProto::_internal_has_at_most_one() const {
9112  return constraint_case() == kAtMostOne;
9113 }
9114 inline bool ConstraintProto::has_at_most_one() const {
9115  return _internal_has_at_most_one();
9116 }
9117 inline void ConstraintProto::set_has_at_most_one() {
9118  _oneof_case_[0] = kAtMostOne;
9119 }
9120 inline void ConstraintProto::clear_at_most_one() {
9121  if (_internal_has_at_most_one()) {
9122  if (GetArena() == nullptr) {
9123  delete constraint_.at_most_one_;
9124  }
9125  clear_has_constraint();
9126  }
9127 }
9128 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_at_most_one() {
9129  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.at_most_one)
9130  if (_internal_has_at_most_one()) {
9131  clear_has_constraint();
9132  ::operations_research::sat::BoolArgumentProto* temp = constraint_.at_most_one_;
9133  if (GetArena() != nullptr) {
9134  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9135  }
9136  constraint_.at_most_one_ = nullptr;
9137  return temp;
9138  } else {
9139  return nullptr;
9140  }
9141 }
9142 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_at_most_one() const {
9143  return _internal_has_at_most_one()
9144  ? *constraint_.at_most_one_
9145  : reinterpret_cast< ::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
9146 }
9147 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::at_most_one() const {
9148  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.at_most_one)
9149  return _internal_at_most_one();
9150 }
9151 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_at_most_one() {
9152  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.at_most_one)
9153  if (_internal_has_at_most_one()) {
9154  clear_has_constraint();
9155  ::operations_research::sat::BoolArgumentProto* temp = constraint_.at_most_one_;
9156  constraint_.at_most_one_ = nullptr;
9157  return temp;
9158  } else {
9159  return nullptr;
9160  }
9161 }
9162 inline void ConstraintProto::unsafe_arena_set_allocated_at_most_one(::operations_research::sat::BoolArgumentProto* at_most_one) {
9163  clear_constraint();
9164  if (at_most_one) {
9165  set_has_at_most_one();
9166  constraint_.at_most_one_ = at_most_one;
9167  }
9168  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.at_most_one)
9169 }
9170 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_at_most_one() {
9171  if (!_internal_has_at_most_one()) {
9172  clear_constraint();
9173  set_has_at_most_one();
9174  constraint_.at_most_one_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArena());
9175  }
9176  return constraint_.at_most_one_;
9177 }
9178 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_at_most_one() {
9179  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.at_most_one)
9180  return _internal_mutable_at_most_one();
9181 }
9182 
9183 // .operations_research.sat.BoolArgumentProto exactly_one = 29;
9184 inline bool ConstraintProto::_internal_has_exactly_one() const {
9185  return constraint_case() == kExactlyOne;
9186 }
9187 inline bool ConstraintProto::has_exactly_one() const {
9188  return _internal_has_exactly_one();
9189 }
9190 inline void ConstraintProto::set_has_exactly_one() {
9191  _oneof_case_[0] = kExactlyOne;
9192 }
9193 inline void ConstraintProto::clear_exactly_one() {
9194  if (_internal_has_exactly_one()) {
9195  if (GetArena() == nullptr) {
9196  delete constraint_.exactly_one_;
9197  }
9198  clear_has_constraint();
9199  }
9200 }
9201 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_exactly_one() {
9202  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.exactly_one)
9203  if (_internal_has_exactly_one()) {
9204  clear_has_constraint();
9205  ::operations_research::sat::BoolArgumentProto* temp = constraint_.exactly_one_;
9206  if (GetArena() != nullptr) {
9207  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9208  }
9209  constraint_.exactly_one_ = nullptr;
9210  return temp;
9211  } else {
9212  return nullptr;
9213  }
9214 }
9215 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_exactly_one() const {
9216  return _internal_has_exactly_one()
9217  ? *constraint_.exactly_one_
9218  : reinterpret_cast< ::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
9219 }
9220 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::exactly_one() const {
9221  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.exactly_one)
9222  return _internal_exactly_one();
9223 }
9224 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_exactly_one() {
9225  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.exactly_one)
9226  if (_internal_has_exactly_one()) {
9227  clear_has_constraint();
9228  ::operations_research::sat::BoolArgumentProto* temp = constraint_.exactly_one_;
9229  constraint_.exactly_one_ = nullptr;
9230  return temp;
9231  } else {
9232  return nullptr;
9233  }
9234 }
9235 inline void ConstraintProto::unsafe_arena_set_allocated_exactly_one(::operations_research::sat::BoolArgumentProto* exactly_one) {
9236  clear_constraint();
9237  if (exactly_one) {
9238  set_has_exactly_one();
9239  constraint_.exactly_one_ = exactly_one;
9240  }
9241  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.exactly_one)
9242 }
9243 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_exactly_one() {
9244  if (!_internal_has_exactly_one()) {
9245  clear_constraint();
9246  set_has_exactly_one();
9247  constraint_.exactly_one_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArena());
9248  }
9249  return constraint_.exactly_one_;
9250 }
9251 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_exactly_one() {
9252  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.exactly_one)
9253  return _internal_mutable_exactly_one();
9254 }
9255 
9256 // .operations_research.sat.BoolArgumentProto bool_xor = 5;
9257 inline bool ConstraintProto::_internal_has_bool_xor() const {
9258  return constraint_case() == kBoolXor;
9259 }
9260 inline bool ConstraintProto::has_bool_xor() const {
9261  return _internal_has_bool_xor();
9262 }
9263 inline void ConstraintProto::set_has_bool_xor() {
9264  _oneof_case_[0] = kBoolXor;
9265 }
9266 inline void ConstraintProto::clear_bool_xor() {
9267  if (_internal_has_bool_xor()) {
9268  if (GetArena() == nullptr) {
9269  delete constraint_.bool_xor_;
9270  }
9271  clear_has_constraint();
9272  }
9273 }
9274 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::release_bool_xor() {
9275  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.bool_xor)
9276  if (_internal_has_bool_xor()) {
9277  clear_has_constraint();
9278  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_xor_;
9279  if (GetArena() != nullptr) {
9280  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9281  }
9282  constraint_.bool_xor_ = nullptr;
9283  return temp;
9284  } else {
9285  return nullptr;
9286  }
9287 }
9288 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::_internal_bool_xor() const {
9289  return _internal_has_bool_xor()
9290  ? *constraint_.bool_xor_
9291  : reinterpret_cast< ::operations_research::sat::BoolArgumentProto&>(::operations_research::sat::_BoolArgumentProto_default_instance_);
9292 }
9293 inline const ::operations_research::sat::BoolArgumentProto& ConstraintProto::bool_xor() const {
9294  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.bool_xor)
9295  return _internal_bool_xor();
9296 }
9297 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::unsafe_arena_release_bool_xor() {
9298  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.bool_xor)
9299  if (_internal_has_bool_xor()) {
9300  clear_has_constraint();
9301  ::operations_research::sat::BoolArgumentProto* temp = constraint_.bool_xor_;
9302  constraint_.bool_xor_ = nullptr;
9303  return temp;
9304  } else {
9305  return nullptr;
9306  }
9307 }
9308 inline void ConstraintProto::unsafe_arena_set_allocated_bool_xor(::operations_research::sat::BoolArgumentProto* bool_xor) {
9309  clear_constraint();
9310  if (bool_xor) {
9311  set_has_bool_xor();
9312  constraint_.bool_xor_ = bool_xor;
9313  }
9314  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.bool_xor)
9315 }
9316 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::_internal_mutable_bool_xor() {
9317  if (!_internal_has_bool_xor()) {
9318  clear_constraint();
9319  set_has_bool_xor();
9320  constraint_.bool_xor_ = CreateMaybeMessage< ::operations_research::sat::BoolArgumentProto >(GetArena());
9321  }
9322  return constraint_.bool_xor_;
9323 }
9324 inline ::operations_research::sat::BoolArgumentProto* ConstraintProto::mutable_bool_xor() {
9325  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.bool_xor)
9326  return _internal_mutable_bool_xor();
9327 }
9328 
9329 // .operations_research.sat.IntegerArgumentProto int_div = 7;
9330 inline bool ConstraintProto::_internal_has_int_div() const {
9331  return constraint_case() == kIntDiv;
9332 }
9333 inline bool ConstraintProto::has_int_div() const {
9334  return _internal_has_int_div();
9335 }
9336 inline void ConstraintProto::set_has_int_div() {
9337  _oneof_case_[0] = kIntDiv;
9338 }
9339 inline void ConstraintProto::clear_int_div() {
9340  if (_internal_has_int_div()) {
9341  if (GetArena() == nullptr) {
9342  delete constraint_.int_div_;
9343  }
9344  clear_has_constraint();
9345  }
9346 }
9347 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_div() {
9348  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_div)
9349  if (_internal_has_int_div()) {
9350  clear_has_constraint();
9351  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_div_;
9352  if (GetArena() != nullptr) {
9353  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9354  }
9355  constraint_.int_div_ = nullptr;
9356  return temp;
9357  } else {
9358  return nullptr;
9359  }
9360 }
9361 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::_internal_int_div() const {
9362  return _internal_has_int_div()
9363  ? *constraint_.int_div_
9364  : reinterpret_cast< ::operations_research::sat::IntegerArgumentProto&>(::operations_research::sat::_IntegerArgumentProto_default_instance_);
9365 }
9366 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_div() const {
9367  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_div)
9368  return _internal_int_div();
9369 }
9370 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::unsafe_arena_release_int_div() {
9371  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_div)
9372  if (_internal_has_int_div()) {
9373  clear_has_constraint();
9374  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_div_;
9375  constraint_.int_div_ = nullptr;
9376  return temp;
9377  } else {
9378  return nullptr;
9379  }
9380 }
9381 inline void ConstraintProto::unsafe_arena_set_allocated_int_div(::operations_research::sat::IntegerArgumentProto* int_div) {
9382  clear_constraint();
9383  if (int_div) {
9384  set_has_int_div();
9385  constraint_.int_div_ = int_div;
9386  }
9387  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_div)
9388 }
9389 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::_internal_mutable_int_div() {
9390  if (!_internal_has_int_div()) {
9391  clear_constraint();
9392  set_has_int_div();
9393  constraint_.int_div_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(GetArena());
9394  }
9395  return constraint_.int_div_;
9396 }
9397 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_div() {
9398  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_div)
9399  return _internal_mutable_int_div();
9400 }
9401 
9402 // .operations_research.sat.IntegerArgumentProto int_mod = 8;
9403 inline bool ConstraintProto::_internal_has_int_mod() const {
9404  return constraint_case() == kIntMod;
9405 }
9406 inline bool ConstraintProto::has_int_mod() const {
9407  return _internal_has_int_mod();
9408 }
9409 inline void ConstraintProto::set_has_int_mod() {
9410  _oneof_case_[0] = kIntMod;
9411 }
9412 inline void ConstraintProto::clear_int_mod() {
9413  if (_internal_has_int_mod()) {
9414  if (GetArena() == nullptr) {
9415  delete constraint_.int_mod_;
9416  }
9417  clear_has_constraint();
9418  }
9419 }
9420 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_mod() {
9421  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_mod)
9422  if (_internal_has_int_mod()) {
9423  clear_has_constraint();
9424  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_mod_;
9425  if (GetArena() != nullptr) {
9426  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9427  }
9428  constraint_.int_mod_ = nullptr;
9429  return temp;
9430  } else {
9431  return nullptr;
9432  }
9433 }
9434 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::_internal_int_mod() const {
9435  return _internal_has_int_mod()
9436  ? *constraint_.int_mod_
9437  : reinterpret_cast< ::operations_research::sat::IntegerArgumentProto&>(::operations_research::sat::_IntegerArgumentProto_default_instance_);
9438 }
9439 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_mod() const {
9440  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_mod)
9441  return _internal_int_mod();
9442 }
9443 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::unsafe_arena_release_int_mod() {
9444  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_mod)
9445  if (_internal_has_int_mod()) {
9446  clear_has_constraint();
9447  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_mod_;
9448  constraint_.int_mod_ = nullptr;
9449  return temp;
9450  } else {
9451  return nullptr;
9452  }
9453 }
9454 inline void ConstraintProto::unsafe_arena_set_allocated_int_mod(::operations_research::sat::IntegerArgumentProto* int_mod) {
9455  clear_constraint();
9456  if (int_mod) {
9457  set_has_int_mod();
9458  constraint_.int_mod_ = int_mod;
9459  }
9460  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_mod)
9461 }
9462 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::_internal_mutable_int_mod() {
9463  if (!_internal_has_int_mod()) {
9464  clear_constraint();
9465  set_has_int_mod();
9466  constraint_.int_mod_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(GetArena());
9467  }
9468  return constraint_.int_mod_;
9469 }
9470 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_mod() {
9471  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_mod)
9472  return _internal_mutable_int_mod();
9473 }
9474 
9475 // .operations_research.sat.IntegerArgumentProto int_max = 9;
9476 inline bool ConstraintProto::_internal_has_int_max() const {
9477  return constraint_case() == kIntMax;
9478 }
9479 inline bool ConstraintProto::has_int_max() const {
9480  return _internal_has_int_max();
9481 }
9482 inline void ConstraintProto::set_has_int_max() {
9483  _oneof_case_[0] = kIntMax;
9484 }
9485 inline void ConstraintProto::clear_int_max() {
9486  if (_internal_has_int_max()) {
9487  if (GetArena() == nullptr) {
9488  delete constraint_.int_max_;
9489  }
9490  clear_has_constraint();
9491  }
9492 }
9493 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_max() {
9494  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_max)
9495  if (_internal_has_int_max()) {
9496  clear_has_constraint();
9497  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_max_;
9498  if (GetArena() != nullptr) {
9499  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9500  }
9501  constraint_.int_max_ = nullptr;
9502  return temp;
9503  } else {
9504  return nullptr;
9505  }
9506 }
9507 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::_internal_int_max() const {
9508  return _internal_has_int_max()
9509  ? *constraint_.int_max_
9510  : reinterpret_cast< ::operations_research::sat::IntegerArgumentProto&>(::operations_research::sat::_IntegerArgumentProto_default_instance_);
9511 }
9512 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_max() const {
9513  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_max)
9514  return _internal_int_max();
9515 }
9516 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::unsafe_arena_release_int_max() {
9517  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_max)
9518  if (_internal_has_int_max()) {
9519  clear_has_constraint();
9520  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_max_;
9521  constraint_.int_max_ = nullptr;
9522  return temp;
9523  } else {
9524  return nullptr;
9525  }
9526 }
9527 inline void ConstraintProto::unsafe_arena_set_allocated_int_max(::operations_research::sat::IntegerArgumentProto* int_max) {
9528  clear_constraint();
9529  if (int_max) {
9530  set_has_int_max();
9531  constraint_.int_max_ = int_max;
9532  }
9533  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_max)
9534 }
9535 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::_internal_mutable_int_max() {
9536  if (!_internal_has_int_max()) {
9537  clear_constraint();
9538  set_has_int_max();
9539  constraint_.int_max_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(GetArena());
9540  }
9541  return constraint_.int_max_;
9542 }
9543 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_max() {
9544  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_max)
9545  return _internal_mutable_int_max();
9546 }
9547 
9548 // .operations_research.sat.LinearArgumentProto lin_max = 27;
9549 inline bool ConstraintProto::_internal_has_lin_max() const {
9550  return constraint_case() == kLinMax;
9551 }
9552 inline bool ConstraintProto::has_lin_max() const {
9553  return _internal_has_lin_max();
9554 }
9555 inline void ConstraintProto::set_has_lin_max() {
9556  _oneof_case_[0] = kLinMax;
9557 }
9558 inline void ConstraintProto::clear_lin_max() {
9559  if (_internal_has_lin_max()) {
9560  if (GetArena() == nullptr) {
9561  delete constraint_.lin_max_;
9562  }
9563  clear_has_constraint();
9564  }
9565 }
9566 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::release_lin_max() {
9567  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.lin_max)
9568  if (_internal_has_lin_max()) {
9569  clear_has_constraint();
9570  ::operations_research::sat::LinearArgumentProto* temp = constraint_.lin_max_;
9571  if (GetArena() != nullptr) {
9572  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9573  }
9574  constraint_.lin_max_ = nullptr;
9575  return temp;
9576  } else {
9577  return nullptr;
9578  }
9579 }
9580 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::_internal_lin_max() const {
9581  return _internal_has_lin_max()
9582  ? *constraint_.lin_max_
9583  : reinterpret_cast< ::operations_research::sat::LinearArgumentProto&>(::operations_research::sat::_LinearArgumentProto_default_instance_);
9584 }
9585 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::lin_max() const {
9586  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.lin_max)
9587  return _internal_lin_max();
9588 }
9589 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::unsafe_arena_release_lin_max() {
9590  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.lin_max)
9591  if (_internal_has_lin_max()) {
9592  clear_has_constraint();
9593  ::operations_research::sat::LinearArgumentProto* temp = constraint_.lin_max_;
9594  constraint_.lin_max_ = nullptr;
9595  return temp;
9596  } else {
9597  return nullptr;
9598  }
9599 }
9600 inline void ConstraintProto::unsafe_arena_set_allocated_lin_max(::operations_research::sat::LinearArgumentProto* lin_max) {
9601  clear_constraint();
9602  if (lin_max) {
9603  set_has_lin_max();
9604  constraint_.lin_max_ = lin_max;
9605  }
9606  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.lin_max)
9607 }
9608 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::_internal_mutable_lin_max() {
9609  if (!_internal_has_lin_max()) {
9610  clear_constraint();
9611  set_has_lin_max();
9612  constraint_.lin_max_ = CreateMaybeMessage< ::operations_research::sat::LinearArgumentProto >(GetArena());
9613  }
9614  return constraint_.lin_max_;
9615 }
9616 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::mutable_lin_max() {
9617  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.lin_max)
9618  return _internal_mutable_lin_max();
9619 }
9620 
9621 // .operations_research.sat.IntegerArgumentProto int_min = 10;
9622 inline bool ConstraintProto::_internal_has_int_min() const {
9623  return constraint_case() == kIntMin;
9624 }
9625 inline bool ConstraintProto::has_int_min() const {
9626  return _internal_has_int_min();
9627 }
9628 inline void ConstraintProto::set_has_int_min() {
9629  _oneof_case_[0] = kIntMin;
9630 }
9631 inline void ConstraintProto::clear_int_min() {
9632  if (_internal_has_int_min()) {
9633  if (GetArena() == nullptr) {
9634  delete constraint_.int_min_;
9635  }
9636  clear_has_constraint();
9637  }
9638 }
9639 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_min() {
9640  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_min)
9641  if (_internal_has_int_min()) {
9642  clear_has_constraint();
9643  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_min_;
9644  if (GetArena() != nullptr) {
9645  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9646  }
9647  constraint_.int_min_ = nullptr;
9648  return temp;
9649  } else {
9650  return nullptr;
9651  }
9652 }
9653 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::_internal_int_min() const {
9654  return _internal_has_int_min()
9655  ? *constraint_.int_min_
9656  : reinterpret_cast< ::operations_research::sat::IntegerArgumentProto&>(::operations_research::sat::_IntegerArgumentProto_default_instance_);
9657 }
9658 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_min() const {
9659  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_min)
9660  return _internal_int_min();
9661 }
9662 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::unsafe_arena_release_int_min() {
9663  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_min)
9664  if (_internal_has_int_min()) {
9665  clear_has_constraint();
9666  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_min_;
9667  constraint_.int_min_ = nullptr;
9668  return temp;
9669  } else {
9670  return nullptr;
9671  }
9672 }
9673 inline void ConstraintProto::unsafe_arena_set_allocated_int_min(::operations_research::sat::IntegerArgumentProto* int_min) {
9674  clear_constraint();
9675  if (int_min) {
9676  set_has_int_min();
9677  constraint_.int_min_ = int_min;
9678  }
9679  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_min)
9680 }
9681 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::_internal_mutable_int_min() {
9682  if (!_internal_has_int_min()) {
9683  clear_constraint();
9684  set_has_int_min();
9685  constraint_.int_min_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(GetArena());
9686  }
9687  return constraint_.int_min_;
9688 }
9689 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_min() {
9690  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_min)
9691  return _internal_mutable_int_min();
9692 }
9693 
9694 // .operations_research.sat.LinearArgumentProto lin_min = 28;
9695 inline bool ConstraintProto::_internal_has_lin_min() const {
9696  return constraint_case() == kLinMin;
9697 }
9698 inline bool ConstraintProto::has_lin_min() const {
9699  return _internal_has_lin_min();
9700 }
9701 inline void ConstraintProto::set_has_lin_min() {
9702  _oneof_case_[0] = kLinMin;
9703 }
9704 inline void ConstraintProto::clear_lin_min() {
9705  if (_internal_has_lin_min()) {
9706  if (GetArena() == nullptr) {
9707  delete constraint_.lin_min_;
9708  }
9709  clear_has_constraint();
9710  }
9711 }
9712 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::release_lin_min() {
9713  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.lin_min)
9714  if (_internal_has_lin_min()) {
9715  clear_has_constraint();
9716  ::operations_research::sat::LinearArgumentProto* temp = constraint_.lin_min_;
9717  if (GetArena() != nullptr) {
9718  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9719  }
9720  constraint_.lin_min_ = nullptr;
9721  return temp;
9722  } else {
9723  return nullptr;
9724  }
9725 }
9726 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::_internal_lin_min() const {
9727  return _internal_has_lin_min()
9728  ? *constraint_.lin_min_
9729  : reinterpret_cast< ::operations_research::sat::LinearArgumentProto&>(::operations_research::sat::_LinearArgumentProto_default_instance_);
9730 }
9731 inline const ::operations_research::sat::LinearArgumentProto& ConstraintProto::lin_min() const {
9732  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.lin_min)
9733  return _internal_lin_min();
9734 }
9735 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::unsafe_arena_release_lin_min() {
9736  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.lin_min)
9737  if (_internal_has_lin_min()) {
9738  clear_has_constraint();
9739  ::operations_research::sat::LinearArgumentProto* temp = constraint_.lin_min_;
9740  constraint_.lin_min_ = nullptr;
9741  return temp;
9742  } else {
9743  return nullptr;
9744  }
9745 }
9746 inline void ConstraintProto::unsafe_arena_set_allocated_lin_min(::operations_research::sat::LinearArgumentProto* lin_min) {
9747  clear_constraint();
9748  if (lin_min) {
9749  set_has_lin_min();
9750  constraint_.lin_min_ = lin_min;
9751  }
9752  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.lin_min)
9753 }
9754 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::_internal_mutable_lin_min() {
9755  if (!_internal_has_lin_min()) {
9756  clear_constraint();
9757  set_has_lin_min();
9758  constraint_.lin_min_ = CreateMaybeMessage< ::operations_research::sat::LinearArgumentProto >(GetArena());
9759  }
9760  return constraint_.lin_min_;
9761 }
9762 inline ::operations_research::sat::LinearArgumentProto* ConstraintProto::mutable_lin_min() {
9763  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.lin_min)
9764  return _internal_mutable_lin_min();
9765 }
9766 
9767 // .operations_research.sat.IntegerArgumentProto int_prod = 11;
9768 inline bool ConstraintProto::_internal_has_int_prod() const {
9769  return constraint_case() == kIntProd;
9770 }
9771 inline bool ConstraintProto::has_int_prod() const {
9772  return _internal_has_int_prod();
9773 }
9774 inline void ConstraintProto::set_has_int_prod() {
9775  _oneof_case_[0] = kIntProd;
9776 }
9777 inline void ConstraintProto::clear_int_prod() {
9778  if (_internal_has_int_prod()) {
9779  if (GetArena() == nullptr) {
9780  delete constraint_.int_prod_;
9781  }
9782  clear_has_constraint();
9783  }
9784 }
9785 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::release_int_prod() {
9786  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.int_prod)
9787  if (_internal_has_int_prod()) {
9788  clear_has_constraint();
9789  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_prod_;
9790  if (GetArena() != nullptr) {
9791  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9792  }
9793  constraint_.int_prod_ = nullptr;
9794  return temp;
9795  } else {
9796  return nullptr;
9797  }
9798 }
9799 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::_internal_int_prod() const {
9800  return _internal_has_int_prod()
9801  ? *constraint_.int_prod_
9802  : reinterpret_cast< ::operations_research::sat::IntegerArgumentProto&>(::operations_research::sat::_IntegerArgumentProto_default_instance_);
9803 }
9804 inline const ::operations_research::sat::IntegerArgumentProto& ConstraintProto::int_prod() const {
9805  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.int_prod)
9806  return _internal_int_prod();
9807 }
9808 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::unsafe_arena_release_int_prod() {
9809  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.int_prod)
9810  if (_internal_has_int_prod()) {
9811  clear_has_constraint();
9812  ::operations_research::sat::IntegerArgumentProto* temp = constraint_.int_prod_;
9813  constraint_.int_prod_ = nullptr;
9814  return temp;
9815  } else {
9816  return nullptr;
9817  }
9818 }
9819 inline void ConstraintProto::unsafe_arena_set_allocated_int_prod(::operations_research::sat::IntegerArgumentProto* int_prod) {
9820  clear_constraint();
9821  if (int_prod) {
9822  set_has_int_prod();
9823  constraint_.int_prod_ = int_prod;
9824  }
9825  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.int_prod)
9826 }
9827 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::_internal_mutable_int_prod() {
9828  if (!_internal_has_int_prod()) {
9829  clear_constraint();
9830  set_has_int_prod();
9831  constraint_.int_prod_ = CreateMaybeMessage< ::operations_research::sat::IntegerArgumentProto >(GetArena());
9832  }
9833  return constraint_.int_prod_;
9834 }
9835 inline ::operations_research::sat::IntegerArgumentProto* ConstraintProto::mutable_int_prod() {
9836  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.int_prod)
9837  return _internal_mutable_int_prod();
9838 }
9839 
9840 // .operations_research.sat.LinearConstraintProto linear = 12;
9841 inline bool ConstraintProto::_internal_has_linear() const {
9842  return constraint_case() == kLinear;
9843 }
9844 inline bool ConstraintProto::has_linear() const {
9845  return _internal_has_linear();
9846 }
9847 inline void ConstraintProto::set_has_linear() {
9848  _oneof_case_[0] = kLinear;
9849 }
9850 inline void ConstraintProto::clear_linear() {
9851  if (_internal_has_linear()) {
9852  if (GetArena() == nullptr) {
9853  delete constraint_.linear_;
9854  }
9855  clear_has_constraint();
9856  }
9857 }
9858 inline ::operations_research::sat::LinearConstraintProto* ConstraintProto::release_linear() {
9859  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.linear)
9860  if (_internal_has_linear()) {
9861  clear_has_constraint();
9862  ::operations_research::sat::LinearConstraintProto* temp = constraint_.linear_;
9863  if (GetArena() != nullptr) {
9864  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9865  }
9866  constraint_.linear_ = nullptr;
9867  return temp;
9868  } else {
9869  return nullptr;
9870  }
9871 }
9872 inline const ::operations_research::sat::LinearConstraintProto& ConstraintProto::_internal_linear() const {
9873  return _internal_has_linear()
9874  ? *constraint_.linear_
9875  : reinterpret_cast< ::operations_research::sat::LinearConstraintProto&>(::operations_research::sat::_LinearConstraintProto_default_instance_);
9876 }
9877 inline const ::operations_research::sat::LinearConstraintProto& ConstraintProto::linear() const {
9878  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.linear)
9879  return _internal_linear();
9880 }
9881 inline ::operations_research::sat::LinearConstraintProto* ConstraintProto::unsafe_arena_release_linear() {
9882  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.linear)
9883  if (_internal_has_linear()) {
9884  clear_has_constraint();
9885  ::operations_research::sat::LinearConstraintProto* temp = constraint_.linear_;
9886  constraint_.linear_ = nullptr;
9887  return temp;
9888  } else {
9889  return nullptr;
9890  }
9891 }
9892 inline void ConstraintProto::unsafe_arena_set_allocated_linear(::operations_research::sat::LinearConstraintProto* linear) {
9893  clear_constraint();
9894  if (linear) {
9895  set_has_linear();
9896  constraint_.linear_ = linear;
9897  }
9898  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.linear)
9899 }
9900 inline ::operations_research::sat::LinearConstraintProto* ConstraintProto::_internal_mutable_linear() {
9901  if (!_internal_has_linear()) {
9902  clear_constraint();
9903  set_has_linear();
9904  constraint_.linear_ = CreateMaybeMessage< ::operations_research::sat::LinearConstraintProto >(GetArena());
9905  }
9906  return constraint_.linear_;
9907 }
9908 inline ::operations_research::sat::LinearConstraintProto* ConstraintProto::mutable_linear() {
9909  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.linear)
9910  return _internal_mutable_linear();
9911 }
9912 
9913 // .operations_research.sat.AllDifferentConstraintProto all_diff = 13;
9914 inline bool ConstraintProto::_internal_has_all_diff() const {
9915  return constraint_case() == kAllDiff;
9916 }
9917 inline bool ConstraintProto::has_all_diff() const {
9918  return _internal_has_all_diff();
9919 }
9920 inline void ConstraintProto::set_has_all_diff() {
9921  _oneof_case_[0] = kAllDiff;
9922 }
9923 inline void ConstraintProto::clear_all_diff() {
9924  if (_internal_has_all_diff()) {
9925  if (GetArena() == nullptr) {
9926  delete constraint_.all_diff_;
9927  }
9928  clear_has_constraint();
9929  }
9930 }
9931 inline ::operations_research::sat::AllDifferentConstraintProto* ConstraintProto::release_all_diff() {
9932  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.all_diff)
9933  if (_internal_has_all_diff()) {
9934  clear_has_constraint();
9935  ::operations_research::sat::AllDifferentConstraintProto* temp = constraint_.all_diff_;
9936  if (GetArena() != nullptr) {
9937  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
9938  }
9939  constraint_.all_diff_ = nullptr;
9940  return temp;
9941  } else {
9942  return nullptr;
9943  }
9944 }
9945 inline const ::operations_research::sat::AllDifferentConstraintProto& ConstraintProto::_internal_all_diff() const {
9946  return _internal_has_all_diff()
9947  ? *constraint_.all_diff_
9948  : reinterpret_cast< ::operations_research::sat::AllDifferentConstraintProto&>(::operations_research::sat::_AllDifferentConstraintProto_default_instance_);
9949 }
9950 inline const ::operations_research::sat::AllDifferentConstraintProto& ConstraintProto::all_diff() const {
9951  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.all_diff)
9952  return _internal_all_diff();
9953 }
9954 inline ::operations_research::sat::AllDifferentConstraintProto* ConstraintProto::unsafe_arena_release_all_diff() {
9955  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.all_diff)
9956  if (_internal_has_all_diff()) {
9957  clear_has_constraint();
9958  ::operations_research::sat::AllDifferentConstraintProto* temp = constraint_.all_diff_;
9959  constraint_.all_diff_ = nullptr;
9960  return temp;
9961  } else {
9962  return nullptr;
9963  }
9964 }
9965 inline void ConstraintProto::unsafe_arena_set_allocated_all_diff(::operations_research::sat::AllDifferentConstraintProto* all_diff) {
9966  clear_constraint();
9967  if (all_diff) {
9968  set_has_all_diff();
9969  constraint_.all_diff_ = all_diff;
9970  }
9971  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.all_diff)
9972 }
9973 inline ::operations_research::sat::AllDifferentConstraintProto* ConstraintProto::_internal_mutable_all_diff() {
9974  if (!_internal_has_all_diff()) {
9975  clear_constraint();
9976  set_has_all_diff();
9977  constraint_.all_diff_ = CreateMaybeMessage< ::operations_research::sat::AllDifferentConstraintProto >(GetArena());
9978  }
9979  return constraint_.all_diff_;
9980 }
9981 inline ::operations_research::sat::AllDifferentConstraintProto* ConstraintProto::mutable_all_diff() {
9982  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.all_diff)
9983  return _internal_mutable_all_diff();
9984 }
9985 
9986 // .operations_research.sat.ElementConstraintProto element = 14;
9987 inline bool ConstraintProto::_internal_has_element() const {
9988  return constraint_case() == kElement;
9989 }
9990 inline bool ConstraintProto::has_element() const {
9991  return _internal_has_element();
9992 }
9993 inline void ConstraintProto::set_has_element() {
9994  _oneof_case_[0] = kElement;
9995 }
9996 inline void ConstraintProto::clear_element() {
9997  if (_internal_has_element()) {
9998  if (GetArena() == nullptr) {
9999  delete constraint_.element_;
10000  }
10001  clear_has_constraint();
10002  }
10003 }
10004 inline ::operations_research::sat::ElementConstraintProto* ConstraintProto::release_element() {
10005  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.element)
10006  if (_internal_has_element()) {
10007  clear_has_constraint();
10008  ::operations_research::sat::ElementConstraintProto* temp = constraint_.element_;
10009  if (GetArena() != nullptr) {
10010  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10011  }
10012  constraint_.element_ = nullptr;
10013  return temp;
10014  } else {
10015  return nullptr;
10016  }
10017 }
10018 inline const ::operations_research::sat::ElementConstraintProto& ConstraintProto::_internal_element() const {
10019  return _internal_has_element()
10020  ? *constraint_.element_
10021  : reinterpret_cast< ::operations_research::sat::ElementConstraintProto&>(::operations_research::sat::_ElementConstraintProto_default_instance_);
10022 }
10023 inline const ::operations_research::sat::ElementConstraintProto& ConstraintProto::element() const {
10024  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.element)
10025  return _internal_element();
10026 }
10027 inline ::operations_research::sat::ElementConstraintProto* ConstraintProto::unsafe_arena_release_element() {
10028  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.element)
10029  if (_internal_has_element()) {
10030  clear_has_constraint();
10031  ::operations_research::sat::ElementConstraintProto* temp = constraint_.element_;
10032  constraint_.element_ = nullptr;
10033  return temp;
10034  } else {
10035  return nullptr;
10036  }
10037 }
10038 inline void ConstraintProto::unsafe_arena_set_allocated_element(::operations_research::sat::ElementConstraintProto* element) {
10039  clear_constraint();
10040  if (element) {
10041  set_has_element();
10042  constraint_.element_ = element;
10043  }
10044  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.element)
10045 }
10046 inline ::operations_research::sat::ElementConstraintProto* ConstraintProto::_internal_mutable_element() {
10047  if (!_internal_has_element()) {
10048  clear_constraint();
10049  set_has_element();
10050  constraint_.element_ = CreateMaybeMessage< ::operations_research::sat::ElementConstraintProto >(GetArena());
10051  }
10052  return constraint_.element_;
10053 }
10054 inline ::operations_research::sat::ElementConstraintProto* ConstraintProto::mutable_element() {
10055  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.element)
10056  return _internal_mutable_element();
10057 }
10058 
10059 // .operations_research.sat.CircuitConstraintProto circuit = 15;
10060 inline bool ConstraintProto::_internal_has_circuit() const {
10061  return constraint_case() == kCircuit;
10062 }
10063 inline bool ConstraintProto::has_circuit() const {
10064  return _internal_has_circuit();
10065 }
10066 inline void ConstraintProto::set_has_circuit() {
10067  _oneof_case_[0] = kCircuit;
10068 }
10069 inline void ConstraintProto::clear_circuit() {
10070  if (_internal_has_circuit()) {
10071  if (GetArena() == nullptr) {
10072  delete constraint_.circuit_;
10073  }
10074  clear_has_constraint();
10075  }
10076 }
10077 inline ::operations_research::sat::CircuitConstraintProto* ConstraintProto::release_circuit() {
10078  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.circuit)
10079  if (_internal_has_circuit()) {
10080  clear_has_constraint();
10081  ::operations_research::sat::CircuitConstraintProto* temp = constraint_.circuit_;
10082  if (GetArena() != nullptr) {
10083  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10084  }
10085  constraint_.circuit_ = nullptr;
10086  return temp;
10087  } else {
10088  return nullptr;
10089  }
10090 }
10091 inline const ::operations_research::sat::CircuitConstraintProto& ConstraintProto::_internal_circuit() const {
10092  return _internal_has_circuit()
10093  ? *constraint_.circuit_
10094  : reinterpret_cast< ::operations_research::sat::CircuitConstraintProto&>(::operations_research::sat::_CircuitConstraintProto_default_instance_);
10095 }
10096 inline const ::operations_research::sat::CircuitConstraintProto& ConstraintProto::circuit() const {
10097  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.circuit)
10098  return _internal_circuit();
10099 }
10100 inline ::operations_research::sat::CircuitConstraintProto* ConstraintProto::unsafe_arena_release_circuit() {
10101  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.circuit)
10102  if (_internal_has_circuit()) {
10103  clear_has_constraint();
10104  ::operations_research::sat::CircuitConstraintProto* temp = constraint_.circuit_;
10105  constraint_.circuit_ = nullptr;
10106  return temp;
10107  } else {
10108  return nullptr;
10109  }
10110 }
10111 inline void ConstraintProto::unsafe_arena_set_allocated_circuit(::operations_research::sat::CircuitConstraintProto* circuit) {
10112  clear_constraint();
10113  if (circuit) {
10114  set_has_circuit();
10115  constraint_.circuit_ = circuit;
10116  }
10117  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.circuit)
10118 }
10119 inline ::operations_research::sat::CircuitConstraintProto* ConstraintProto::_internal_mutable_circuit() {
10120  if (!_internal_has_circuit()) {
10121  clear_constraint();
10122  set_has_circuit();
10123  constraint_.circuit_ = CreateMaybeMessage< ::operations_research::sat::CircuitConstraintProto >(GetArena());
10124  }
10125  return constraint_.circuit_;
10126 }
10127 inline ::operations_research::sat::CircuitConstraintProto* ConstraintProto::mutable_circuit() {
10128  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.circuit)
10129  return _internal_mutable_circuit();
10130 }
10131 
10132 // .operations_research.sat.RoutesConstraintProto routes = 23;
10133 inline bool ConstraintProto::_internal_has_routes() const {
10134  return constraint_case() == kRoutes;
10135 }
10136 inline bool ConstraintProto::has_routes() const {
10137  return _internal_has_routes();
10138 }
10139 inline void ConstraintProto::set_has_routes() {
10140  _oneof_case_[0] = kRoutes;
10141 }
10142 inline void ConstraintProto::clear_routes() {
10143  if (_internal_has_routes()) {
10144  if (GetArena() == nullptr) {
10145  delete constraint_.routes_;
10146  }
10147  clear_has_constraint();
10148  }
10149 }
10150 inline ::operations_research::sat::RoutesConstraintProto* ConstraintProto::release_routes() {
10151  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.routes)
10152  if (_internal_has_routes()) {
10153  clear_has_constraint();
10154  ::operations_research::sat::RoutesConstraintProto* temp = constraint_.routes_;
10155  if (GetArena() != nullptr) {
10156  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10157  }
10158  constraint_.routes_ = nullptr;
10159  return temp;
10160  } else {
10161  return nullptr;
10162  }
10163 }
10164 inline const ::operations_research::sat::RoutesConstraintProto& ConstraintProto::_internal_routes() const {
10165  return _internal_has_routes()
10166  ? *constraint_.routes_
10167  : reinterpret_cast< ::operations_research::sat::RoutesConstraintProto&>(::operations_research::sat::_RoutesConstraintProto_default_instance_);
10168 }
10169 inline const ::operations_research::sat::RoutesConstraintProto& ConstraintProto::routes() const {
10170  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.routes)
10171  return _internal_routes();
10172 }
10173 inline ::operations_research::sat::RoutesConstraintProto* ConstraintProto::unsafe_arena_release_routes() {
10174  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.routes)
10175  if (_internal_has_routes()) {
10176  clear_has_constraint();
10177  ::operations_research::sat::RoutesConstraintProto* temp = constraint_.routes_;
10178  constraint_.routes_ = nullptr;
10179  return temp;
10180  } else {
10181  return nullptr;
10182  }
10183 }
10184 inline void ConstraintProto::unsafe_arena_set_allocated_routes(::operations_research::sat::RoutesConstraintProto* routes) {
10185  clear_constraint();
10186  if (routes) {
10187  set_has_routes();
10188  constraint_.routes_ = routes;
10189  }
10190  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.routes)
10191 }
10192 inline ::operations_research::sat::RoutesConstraintProto* ConstraintProto::_internal_mutable_routes() {
10193  if (!_internal_has_routes()) {
10194  clear_constraint();
10195  set_has_routes();
10196  constraint_.routes_ = CreateMaybeMessage< ::operations_research::sat::RoutesConstraintProto >(GetArena());
10197  }
10198  return constraint_.routes_;
10199 }
10200 inline ::operations_research::sat::RoutesConstraintProto* ConstraintProto::mutable_routes() {
10201  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.routes)
10202  return _internal_mutable_routes();
10203 }
10204 
10205 // .operations_research.sat.TableConstraintProto table = 16;
10206 inline bool ConstraintProto::_internal_has_table() const {
10207  return constraint_case() == kTable;
10208 }
10209 inline bool ConstraintProto::has_table() const {
10210  return _internal_has_table();
10211 }
10212 inline void ConstraintProto::set_has_table() {
10213  _oneof_case_[0] = kTable;
10214 }
10215 inline void ConstraintProto::clear_table() {
10216  if (_internal_has_table()) {
10217  if (GetArena() == nullptr) {
10218  delete constraint_.table_;
10219  }
10220  clear_has_constraint();
10221  }
10222 }
10223 inline ::operations_research::sat::TableConstraintProto* ConstraintProto::release_table() {
10224  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.table)
10225  if (_internal_has_table()) {
10226  clear_has_constraint();
10227  ::operations_research::sat::TableConstraintProto* temp = constraint_.table_;
10228  if (GetArena() != nullptr) {
10229  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10230  }
10231  constraint_.table_ = nullptr;
10232  return temp;
10233  } else {
10234  return nullptr;
10235  }
10236 }
10237 inline const ::operations_research::sat::TableConstraintProto& ConstraintProto::_internal_table() const {
10238  return _internal_has_table()
10239  ? *constraint_.table_
10240  : reinterpret_cast< ::operations_research::sat::TableConstraintProto&>(::operations_research::sat::_TableConstraintProto_default_instance_);
10241 }
10242 inline const ::operations_research::sat::TableConstraintProto& ConstraintProto::table() const {
10243  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.table)
10244  return _internal_table();
10245 }
10246 inline ::operations_research::sat::TableConstraintProto* ConstraintProto::unsafe_arena_release_table() {
10247  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.table)
10248  if (_internal_has_table()) {
10249  clear_has_constraint();
10250  ::operations_research::sat::TableConstraintProto* temp = constraint_.table_;
10251  constraint_.table_ = nullptr;
10252  return temp;
10253  } else {
10254  return nullptr;
10255  }
10256 }
10257 inline void ConstraintProto::unsafe_arena_set_allocated_table(::operations_research::sat::TableConstraintProto* table) {
10258  clear_constraint();
10259  if (table) {
10260  set_has_table();
10261  constraint_.table_ = table;
10262  }
10263  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.table)
10264 }
10265 inline ::operations_research::sat::TableConstraintProto* ConstraintProto::_internal_mutable_table() {
10266  if (!_internal_has_table()) {
10267  clear_constraint();
10268  set_has_table();
10269  constraint_.table_ = CreateMaybeMessage< ::operations_research::sat::TableConstraintProto >(GetArena());
10270  }
10271  return constraint_.table_;
10272 }
10273 inline ::operations_research::sat::TableConstraintProto* ConstraintProto::mutable_table() {
10274  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.table)
10275  return _internal_mutable_table();
10276 }
10277 
10278 // .operations_research.sat.AutomatonConstraintProto automaton = 17;
10279 inline bool ConstraintProto::_internal_has_automaton() const {
10280  return constraint_case() == kAutomaton;
10281 }
10282 inline bool ConstraintProto::has_automaton() const {
10283  return _internal_has_automaton();
10284 }
10285 inline void ConstraintProto::set_has_automaton() {
10286  _oneof_case_[0] = kAutomaton;
10287 }
10288 inline void ConstraintProto::clear_automaton() {
10289  if (_internal_has_automaton()) {
10290  if (GetArena() == nullptr) {
10291  delete constraint_.automaton_;
10292  }
10293  clear_has_constraint();
10294  }
10295 }
10296 inline ::operations_research::sat::AutomatonConstraintProto* ConstraintProto::release_automaton() {
10297  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.automaton)
10298  if (_internal_has_automaton()) {
10299  clear_has_constraint();
10300  ::operations_research::sat::AutomatonConstraintProto* temp = constraint_.automaton_;
10301  if (GetArena() != nullptr) {
10302  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10303  }
10304  constraint_.automaton_ = nullptr;
10305  return temp;
10306  } else {
10307  return nullptr;
10308  }
10309 }
10310 inline const ::operations_research::sat::AutomatonConstraintProto& ConstraintProto::_internal_automaton() const {
10311  return _internal_has_automaton()
10312  ? *constraint_.automaton_
10313  : reinterpret_cast< ::operations_research::sat::AutomatonConstraintProto&>(::operations_research::sat::_AutomatonConstraintProto_default_instance_);
10314 }
10315 inline const ::operations_research::sat::AutomatonConstraintProto& ConstraintProto::automaton() const {
10316  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.automaton)
10317  return _internal_automaton();
10318 }
10319 inline ::operations_research::sat::AutomatonConstraintProto* ConstraintProto::unsafe_arena_release_automaton() {
10320  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.automaton)
10321  if (_internal_has_automaton()) {
10322  clear_has_constraint();
10323  ::operations_research::sat::AutomatonConstraintProto* temp = constraint_.automaton_;
10324  constraint_.automaton_ = nullptr;
10325  return temp;
10326  } else {
10327  return nullptr;
10328  }
10329 }
10330 inline void ConstraintProto::unsafe_arena_set_allocated_automaton(::operations_research::sat::AutomatonConstraintProto* automaton) {
10331  clear_constraint();
10332  if (automaton) {
10333  set_has_automaton();
10334  constraint_.automaton_ = automaton;
10335  }
10336  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.automaton)
10337 }
10338 inline ::operations_research::sat::AutomatonConstraintProto* ConstraintProto::_internal_mutable_automaton() {
10339  if (!_internal_has_automaton()) {
10340  clear_constraint();
10341  set_has_automaton();
10342  constraint_.automaton_ = CreateMaybeMessage< ::operations_research::sat::AutomatonConstraintProto >(GetArena());
10343  }
10344  return constraint_.automaton_;
10345 }
10346 inline ::operations_research::sat::AutomatonConstraintProto* ConstraintProto::mutable_automaton() {
10347  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.automaton)
10348  return _internal_mutable_automaton();
10349 }
10350 
10351 // .operations_research.sat.InverseConstraintProto inverse = 18;
10352 inline bool ConstraintProto::_internal_has_inverse() const {
10353  return constraint_case() == kInverse;
10354 }
10355 inline bool ConstraintProto::has_inverse() const {
10356  return _internal_has_inverse();
10357 }
10358 inline void ConstraintProto::set_has_inverse() {
10359  _oneof_case_[0] = kInverse;
10360 }
10361 inline void ConstraintProto::clear_inverse() {
10362  if (_internal_has_inverse()) {
10363  if (GetArena() == nullptr) {
10364  delete constraint_.inverse_;
10365  }
10366  clear_has_constraint();
10367  }
10368 }
10369 inline ::operations_research::sat::InverseConstraintProto* ConstraintProto::release_inverse() {
10370  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.inverse)
10371  if (_internal_has_inverse()) {
10372  clear_has_constraint();
10373  ::operations_research::sat::InverseConstraintProto* temp = constraint_.inverse_;
10374  if (GetArena() != nullptr) {
10375  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10376  }
10377  constraint_.inverse_ = nullptr;
10378  return temp;
10379  } else {
10380  return nullptr;
10381  }
10382 }
10383 inline const ::operations_research::sat::InverseConstraintProto& ConstraintProto::_internal_inverse() const {
10384  return _internal_has_inverse()
10385  ? *constraint_.inverse_
10386  : reinterpret_cast< ::operations_research::sat::InverseConstraintProto&>(::operations_research::sat::_InverseConstraintProto_default_instance_);
10387 }
10388 inline const ::operations_research::sat::InverseConstraintProto& ConstraintProto::inverse() const {
10389  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.inverse)
10390  return _internal_inverse();
10391 }
10392 inline ::operations_research::sat::InverseConstraintProto* ConstraintProto::unsafe_arena_release_inverse() {
10393  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.inverse)
10394  if (_internal_has_inverse()) {
10395  clear_has_constraint();
10396  ::operations_research::sat::InverseConstraintProto* temp = constraint_.inverse_;
10397  constraint_.inverse_ = nullptr;
10398  return temp;
10399  } else {
10400  return nullptr;
10401  }
10402 }
10403 inline void ConstraintProto::unsafe_arena_set_allocated_inverse(::operations_research::sat::InverseConstraintProto* inverse) {
10404  clear_constraint();
10405  if (inverse) {
10406  set_has_inverse();
10407  constraint_.inverse_ = inverse;
10408  }
10409  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.inverse)
10410 }
10411 inline ::operations_research::sat::InverseConstraintProto* ConstraintProto::_internal_mutable_inverse() {
10412  if (!_internal_has_inverse()) {
10413  clear_constraint();
10414  set_has_inverse();
10415  constraint_.inverse_ = CreateMaybeMessage< ::operations_research::sat::InverseConstraintProto >(GetArena());
10416  }
10417  return constraint_.inverse_;
10418 }
10419 inline ::operations_research::sat::InverseConstraintProto* ConstraintProto::mutable_inverse() {
10420  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.inverse)
10421  return _internal_mutable_inverse();
10422 }
10423 
10424 // .operations_research.sat.ReservoirConstraintProto reservoir = 24;
10425 inline bool ConstraintProto::_internal_has_reservoir() const {
10426  return constraint_case() == kReservoir;
10427 }
10428 inline bool ConstraintProto::has_reservoir() const {
10429  return _internal_has_reservoir();
10430 }
10431 inline void ConstraintProto::set_has_reservoir() {
10432  _oneof_case_[0] = kReservoir;
10433 }
10434 inline void ConstraintProto::clear_reservoir() {
10435  if (_internal_has_reservoir()) {
10436  if (GetArena() == nullptr) {
10437  delete constraint_.reservoir_;
10438  }
10439  clear_has_constraint();
10440  }
10441 }
10442 inline ::operations_research::sat::ReservoirConstraintProto* ConstraintProto::release_reservoir() {
10443  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.reservoir)
10444  if (_internal_has_reservoir()) {
10445  clear_has_constraint();
10446  ::operations_research::sat::ReservoirConstraintProto* temp = constraint_.reservoir_;
10447  if (GetArena() != nullptr) {
10448  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10449  }
10450  constraint_.reservoir_ = nullptr;
10451  return temp;
10452  } else {
10453  return nullptr;
10454  }
10455 }
10456 inline const ::operations_research::sat::ReservoirConstraintProto& ConstraintProto::_internal_reservoir() const {
10457  return _internal_has_reservoir()
10458  ? *constraint_.reservoir_
10459  : reinterpret_cast< ::operations_research::sat::ReservoirConstraintProto&>(::operations_research::sat::_ReservoirConstraintProto_default_instance_);
10460 }
10461 inline const ::operations_research::sat::ReservoirConstraintProto& ConstraintProto::reservoir() const {
10462  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.reservoir)
10463  return _internal_reservoir();
10464 }
10465 inline ::operations_research::sat::ReservoirConstraintProto* ConstraintProto::unsafe_arena_release_reservoir() {
10466  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.reservoir)
10467  if (_internal_has_reservoir()) {
10468  clear_has_constraint();
10469  ::operations_research::sat::ReservoirConstraintProto* temp = constraint_.reservoir_;
10470  constraint_.reservoir_ = nullptr;
10471  return temp;
10472  } else {
10473  return nullptr;
10474  }
10475 }
10476 inline void ConstraintProto::unsafe_arena_set_allocated_reservoir(::operations_research::sat::ReservoirConstraintProto* reservoir) {
10477  clear_constraint();
10478  if (reservoir) {
10479  set_has_reservoir();
10480  constraint_.reservoir_ = reservoir;
10481  }
10482  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.reservoir)
10483 }
10484 inline ::operations_research::sat::ReservoirConstraintProto* ConstraintProto::_internal_mutable_reservoir() {
10485  if (!_internal_has_reservoir()) {
10486  clear_constraint();
10487  set_has_reservoir();
10488  constraint_.reservoir_ = CreateMaybeMessage< ::operations_research::sat::ReservoirConstraintProto >(GetArena());
10489  }
10490  return constraint_.reservoir_;
10491 }
10492 inline ::operations_research::sat::ReservoirConstraintProto* ConstraintProto::mutable_reservoir() {
10493  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.reservoir)
10494  return _internal_mutable_reservoir();
10495 }
10496 
10497 // .operations_research.sat.IntervalConstraintProto interval = 19;
10498 inline bool ConstraintProto::_internal_has_interval() const {
10499  return constraint_case() == kInterval;
10500 }
10501 inline bool ConstraintProto::has_interval() const {
10502  return _internal_has_interval();
10503 }
10504 inline void ConstraintProto::set_has_interval() {
10505  _oneof_case_[0] = kInterval;
10506 }
10507 inline void ConstraintProto::clear_interval() {
10508  if (_internal_has_interval()) {
10509  if (GetArena() == nullptr) {
10510  delete constraint_.interval_;
10511  }
10512  clear_has_constraint();
10513  }
10514 }
10515 inline ::operations_research::sat::IntervalConstraintProto* ConstraintProto::release_interval() {
10516  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.interval)
10517  if (_internal_has_interval()) {
10518  clear_has_constraint();
10519  ::operations_research::sat::IntervalConstraintProto* temp = constraint_.interval_;
10520  if (GetArena() != nullptr) {
10521  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10522  }
10523  constraint_.interval_ = nullptr;
10524  return temp;
10525  } else {
10526  return nullptr;
10527  }
10528 }
10529 inline const ::operations_research::sat::IntervalConstraintProto& ConstraintProto::_internal_interval() const {
10530  return _internal_has_interval()
10531  ? *constraint_.interval_
10532  : reinterpret_cast< ::operations_research::sat::IntervalConstraintProto&>(::operations_research::sat::_IntervalConstraintProto_default_instance_);
10533 }
10534 inline const ::operations_research::sat::IntervalConstraintProto& ConstraintProto::interval() const {
10535  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.interval)
10536  return _internal_interval();
10537 }
10538 inline ::operations_research::sat::IntervalConstraintProto* ConstraintProto::unsafe_arena_release_interval() {
10539  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.interval)
10540  if (_internal_has_interval()) {
10541  clear_has_constraint();
10542  ::operations_research::sat::IntervalConstraintProto* temp = constraint_.interval_;
10543  constraint_.interval_ = nullptr;
10544  return temp;
10545  } else {
10546  return nullptr;
10547  }
10548 }
10549 inline void ConstraintProto::unsafe_arena_set_allocated_interval(::operations_research::sat::IntervalConstraintProto* interval) {
10550  clear_constraint();
10551  if (interval) {
10552  set_has_interval();
10553  constraint_.interval_ = interval;
10554  }
10555  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.interval)
10556 }
10557 inline ::operations_research::sat::IntervalConstraintProto* ConstraintProto::_internal_mutable_interval() {
10558  if (!_internal_has_interval()) {
10559  clear_constraint();
10560  set_has_interval();
10561  constraint_.interval_ = CreateMaybeMessage< ::operations_research::sat::IntervalConstraintProto >(GetArena());
10562  }
10563  return constraint_.interval_;
10564 }
10565 inline ::operations_research::sat::IntervalConstraintProto* ConstraintProto::mutable_interval() {
10566  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.interval)
10567  return _internal_mutable_interval();
10568 }
10569 
10570 // .operations_research.sat.NoOverlapConstraintProto no_overlap = 20;
10571 inline bool ConstraintProto::_internal_has_no_overlap() const {
10572  return constraint_case() == kNoOverlap;
10573 }
10574 inline bool ConstraintProto::has_no_overlap() const {
10575  return _internal_has_no_overlap();
10576 }
10577 inline void ConstraintProto::set_has_no_overlap() {
10578  _oneof_case_[0] = kNoOverlap;
10579 }
10580 inline void ConstraintProto::clear_no_overlap() {
10581  if (_internal_has_no_overlap()) {
10582  if (GetArena() == nullptr) {
10583  delete constraint_.no_overlap_;
10584  }
10585  clear_has_constraint();
10586  }
10587 }
10588 inline ::operations_research::sat::NoOverlapConstraintProto* ConstraintProto::release_no_overlap() {
10589  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.no_overlap)
10590  if (_internal_has_no_overlap()) {
10591  clear_has_constraint();
10592  ::operations_research::sat::NoOverlapConstraintProto* temp = constraint_.no_overlap_;
10593  if (GetArena() != nullptr) {
10594  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10595  }
10596  constraint_.no_overlap_ = nullptr;
10597  return temp;
10598  } else {
10599  return nullptr;
10600  }
10601 }
10602 inline const ::operations_research::sat::NoOverlapConstraintProto& ConstraintProto::_internal_no_overlap() const {
10603  return _internal_has_no_overlap()
10604  ? *constraint_.no_overlap_
10605  : reinterpret_cast< ::operations_research::sat::NoOverlapConstraintProto&>(::operations_research::sat::_NoOverlapConstraintProto_default_instance_);
10606 }
10607 inline const ::operations_research::sat::NoOverlapConstraintProto& ConstraintProto::no_overlap() const {
10608  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.no_overlap)
10609  return _internal_no_overlap();
10610 }
10611 inline ::operations_research::sat::NoOverlapConstraintProto* ConstraintProto::unsafe_arena_release_no_overlap() {
10612  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.no_overlap)
10613  if (_internal_has_no_overlap()) {
10614  clear_has_constraint();
10615  ::operations_research::sat::NoOverlapConstraintProto* temp = constraint_.no_overlap_;
10616  constraint_.no_overlap_ = nullptr;
10617  return temp;
10618  } else {
10619  return nullptr;
10620  }
10621 }
10622 inline void ConstraintProto::unsafe_arena_set_allocated_no_overlap(::operations_research::sat::NoOverlapConstraintProto* no_overlap) {
10623  clear_constraint();
10624  if (no_overlap) {
10625  set_has_no_overlap();
10626  constraint_.no_overlap_ = no_overlap;
10627  }
10628  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.no_overlap)
10629 }
10630 inline ::operations_research::sat::NoOverlapConstraintProto* ConstraintProto::_internal_mutable_no_overlap() {
10631  if (!_internal_has_no_overlap()) {
10632  clear_constraint();
10633  set_has_no_overlap();
10634  constraint_.no_overlap_ = CreateMaybeMessage< ::operations_research::sat::NoOverlapConstraintProto >(GetArena());
10635  }
10636  return constraint_.no_overlap_;
10637 }
10638 inline ::operations_research::sat::NoOverlapConstraintProto* ConstraintProto::mutable_no_overlap() {
10639  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.no_overlap)
10640  return _internal_mutable_no_overlap();
10641 }
10642 
10643 // .operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;
10644 inline bool ConstraintProto::_internal_has_no_overlap_2d() const {
10645  return constraint_case() == kNoOverlap2D;
10646 }
10647 inline bool ConstraintProto::has_no_overlap_2d() const {
10648  return _internal_has_no_overlap_2d();
10649 }
10650 inline void ConstraintProto::set_has_no_overlap_2d() {
10651  _oneof_case_[0] = kNoOverlap2D;
10652 }
10653 inline void ConstraintProto::clear_no_overlap_2d() {
10654  if (_internal_has_no_overlap_2d()) {
10655  if (GetArena() == nullptr) {
10656  delete constraint_.no_overlap_2d_;
10657  }
10658  clear_has_constraint();
10659  }
10660 }
10661 inline ::operations_research::sat::NoOverlap2DConstraintProto* ConstraintProto::release_no_overlap_2d() {
10662  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.no_overlap_2d)
10663  if (_internal_has_no_overlap_2d()) {
10664  clear_has_constraint();
10665  ::operations_research::sat::NoOverlap2DConstraintProto* temp = constraint_.no_overlap_2d_;
10666  if (GetArena() != nullptr) {
10667  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10668  }
10669  constraint_.no_overlap_2d_ = nullptr;
10670  return temp;
10671  } else {
10672  return nullptr;
10673  }
10674 }
10675 inline const ::operations_research::sat::NoOverlap2DConstraintProto& ConstraintProto::_internal_no_overlap_2d() const {
10676  return _internal_has_no_overlap_2d()
10677  ? *constraint_.no_overlap_2d_
10678  : reinterpret_cast< ::operations_research::sat::NoOverlap2DConstraintProto&>(::operations_research::sat::_NoOverlap2DConstraintProto_default_instance_);
10679 }
10680 inline const ::operations_research::sat::NoOverlap2DConstraintProto& ConstraintProto::no_overlap_2d() const {
10681  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.no_overlap_2d)
10682  return _internal_no_overlap_2d();
10683 }
10684 inline ::operations_research::sat::NoOverlap2DConstraintProto* ConstraintProto::unsafe_arena_release_no_overlap_2d() {
10685  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.no_overlap_2d)
10686  if (_internal_has_no_overlap_2d()) {
10687  clear_has_constraint();
10688  ::operations_research::sat::NoOverlap2DConstraintProto* temp = constraint_.no_overlap_2d_;
10689  constraint_.no_overlap_2d_ = nullptr;
10690  return temp;
10691  } else {
10692  return nullptr;
10693  }
10694 }
10695 inline void ConstraintProto::unsafe_arena_set_allocated_no_overlap_2d(::operations_research::sat::NoOverlap2DConstraintProto* no_overlap_2d) {
10696  clear_constraint();
10697  if (no_overlap_2d) {
10698  set_has_no_overlap_2d();
10699  constraint_.no_overlap_2d_ = no_overlap_2d;
10700  }
10701  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.no_overlap_2d)
10702 }
10703 inline ::operations_research::sat::NoOverlap2DConstraintProto* ConstraintProto::_internal_mutable_no_overlap_2d() {
10704  if (!_internal_has_no_overlap_2d()) {
10705  clear_constraint();
10706  set_has_no_overlap_2d();
10707  constraint_.no_overlap_2d_ = CreateMaybeMessage< ::operations_research::sat::NoOverlap2DConstraintProto >(GetArena());
10708  }
10709  return constraint_.no_overlap_2d_;
10710 }
10711 inline ::operations_research::sat::NoOverlap2DConstraintProto* ConstraintProto::mutable_no_overlap_2d() {
10712  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.no_overlap_2d)
10713  return _internal_mutable_no_overlap_2d();
10714 }
10715 
10716 // .operations_research.sat.CumulativeConstraintProto cumulative = 22;
10717 inline bool ConstraintProto::_internal_has_cumulative() const {
10718  return constraint_case() == kCumulative;
10719 }
10720 inline bool ConstraintProto::has_cumulative() const {
10721  return _internal_has_cumulative();
10722 }
10723 inline void ConstraintProto::set_has_cumulative() {
10724  _oneof_case_[0] = kCumulative;
10725 }
10726 inline void ConstraintProto::clear_cumulative() {
10727  if (_internal_has_cumulative()) {
10728  if (GetArena() == nullptr) {
10729  delete constraint_.cumulative_;
10730  }
10731  clear_has_constraint();
10732  }
10733 }
10734 inline ::operations_research::sat::CumulativeConstraintProto* ConstraintProto::release_cumulative() {
10735  // @@protoc_insertion_point(field_release:operations_research.sat.ConstraintProto.cumulative)
10736  if (_internal_has_cumulative()) {
10737  clear_has_constraint();
10738  ::operations_research::sat::CumulativeConstraintProto* temp = constraint_.cumulative_;
10739  if (GetArena() != nullptr) {
10740  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
10741  }
10742  constraint_.cumulative_ = nullptr;
10743  return temp;
10744  } else {
10745  return nullptr;
10746  }
10747 }
10748 inline const ::operations_research::sat::CumulativeConstraintProto& ConstraintProto::_internal_cumulative() const {
10749  return _internal_has_cumulative()
10750  ? *constraint_.cumulative_
10751  : reinterpret_cast< ::operations_research::sat::CumulativeConstraintProto&>(::operations_research::sat::_CumulativeConstraintProto_default_instance_);
10752 }
10753 inline const ::operations_research::sat::CumulativeConstraintProto& ConstraintProto::cumulative() const {
10754  // @@protoc_insertion_point(field_get:operations_research.sat.ConstraintProto.cumulative)
10755  return _internal_cumulative();
10756 }
10757 inline ::operations_research::sat::CumulativeConstraintProto* ConstraintProto::unsafe_arena_release_cumulative() {
10758  // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.sat.ConstraintProto.cumulative)
10759  if (_internal_has_cumulative()) {
10760  clear_has_constraint();
10761  ::operations_research::sat::CumulativeConstraintProto* temp = constraint_.cumulative_;
10762  constraint_.cumulative_ = nullptr;
10763  return temp;
10764  } else {
10765  return nullptr;
10766  }
10767 }
10768 inline void ConstraintProto::unsafe_arena_set_allocated_cumulative(::operations_research::sat::CumulativeConstraintProto* cumulative) {
10769  clear_constraint();
10770  if (cumulative) {
10771  set_has_cumulative();
10772  constraint_.cumulative_ = cumulative;
10773  }
10774  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.ConstraintProto.cumulative)
10775 }
10776 inline ::operations_research::sat::CumulativeConstraintProto* ConstraintProto::_internal_mutable_cumulative() {
10777  if (!_internal_has_cumulative()) {
10778  clear_constraint();
10779  set_has_cumulative();
10780  constraint_.cumulative_ = CreateMaybeMessage< ::operations_research::sat::CumulativeConstraintProto >(GetArena());
10781  }
10782  return constraint_.cumulative_;
10783 }
10784 inline ::operations_research::sat::CumulativeConstraintProto* ConstraintProto::mutable_cumulative() {
10785  // @@protoc_insertion_point(field_mutable:operations_research.sat.ConstraintProto.cumulative)
10786  return _internal_mutable_cumulative();
10787 }
10788 
10789 inline bool ConstraintProto::has_constraint() const {
10790  return constraint_case() != CONSTRAINT_NOT_SET;
10791 }
10792 inline void ConstraintProto::clear_has_constraint() {
10793  _oneof_case_[0] = CONSTRAINT_NOT_SET;
10794 }
10795 inline ConstraintProto::ConstraintCase ConstraintProto::constraint_case() const {
10796  return ConstraintProto::ConstraintCase(_oneof_case_[0]);
10797 }
10798 // -------------------------------------------------------------------
10799 
10800 // CpObjectiveProto
10801 
10802 // repeated int32 vars = 1;
10803 inline int CpObjectiveProto::_internal_vars_size() const {
10804  return vars_.size();
10805 }
10806 inline int CpObjectiveProto::vars_size() const {
10807  return _internal_vars_size();
10808 }
10809 inline void CpObjectiveProto::clear_vars() {
10810  vars_.Clear();
10811 }
10812 inline ::PROTOBUF_NAMESPACE_ID::int32 CpObjectiveProto::_internal_vars(int index) const {
10813  return vars_.Get(index);
10814 }
10815 inline ::PROTOBUF_NAMESPACE_ID::int32 CpObjectiveProto::vars(int index) const {
10816  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.vars)
10817  return _internal_vars(index);
10818 }
10819 inline void CpObjectiveProto::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
10820  vars_.Set(index, value);
10821  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.vars)
10822 }
10823 inline void CpObjectiveProto::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
10824  vars_.Add(value);
10825 }
10826 inline void CpObjectiveProto::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
10827  _internal_add_vars(value);
10828  // @@protoc_insertion_point(field_add:operations_research.sat.CpObjectiveProto.vars)
10829 }
10830 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
10831 CpObjectiveProto::_internal_vars() const {
10832  return vars_;
10833 }
10834 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
10835 CpObjectiveProto::vars() const {
10836  // @@protoc_insertion_point(field_list:operations_research.sat.CpObjectiveProto.vars)
10837  return _internal_vars();
10838 }
10839 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
10840 CpObjectiveProto::_internal_mutable_vars() {
10841  return &vars_;
10842 }
10843 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
10844 CpObjectiveProto::mutable_vars() {
10845  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpObjectiveProto.vars)
10846  return _internal_mutable_vars();
10847 }
10848 
10849 // repeated int64 coeffs = 4;
10850 inline int CpObjectiveProto::_internal_coeffs_size() const {
10851  return coeffs_.size();
10852 }
10853 inline int CpObjectiveProto::coeffs_size() const {
10854  return _internal_coeffs_size();
10855 }
10856 inline void CpObjectiveProto::clear_coeffs() {
10857  coeffs_.Clear();
10858 }
10859 inline ::PROTOBUF_NAMESPACE_ID::int64 CpObjectiveProto::_internal_coeffs(int index) const {
10860  return coeffs_.Get(index);
10861 }
10862 inline ::PROTOBUF_NAMESPACE_ID::int64 CpObjectiveProto::coeffs(int index) const {
10863  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.coeffs)
10864  return _internal_coeffs(index);
10865 }
10866 inline void CpObjectiveProto::set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
10867  coeffs_.Set(index, value);
10868  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.coeffs)
10869 }
10870 inline void CpObjectiveProto::_internal_add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
10871  coeffs_.Add(value);
10872 }
10873 inline void CpObjectiveProto::add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value) {
10874  _internal_add_coeffs(value);
10875  // @@protoc_insertion_point(field_add:operations_research.sat.CpObjectiveProto.coeffs)
10876 }
10877 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
10878 CpObjectiveProto::_internal_coeffs() const {
10879  return coeffs_;
10880 }
10881 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
10882 CpObjectiveProto::coeffs() const {
10883  // @@protoc_insertion_point(field_list:operations_research.sat.CpObjectiveProto.coeffs)
10884  return _internal_coeffs();
10885 }
10886 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
10887 CpObjectiveProto::_internal_mutable_coeffs() {
10888  return &coeffs_;
10889 }
10890 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
10891 CpObjectiveProto::mutable_coeffs() {
10892  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpObjectiveProto.coeffs)
10893  return _internal_mutable_coeffs();
10894 }
10895 
10896 // double offset = 2;
10897 inline void CpObjectiveProto::clear_offset() {
10898  offset_ = 0;
10899 }
10900 inline double CpObjectiveProto::_internal_offset() const {
10901  return offset_;
10902 }
10903 inline double CpObjectiveProto::offset() const {
10904  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.offset)
10905  return _internal_offset();
10906 }
10907 inline void CpObjectiveProto::_internal_set_offset(double value) {
10908 
10909  offset_ = value;
10910 }
10911 inline void CpObjectiveProto::set_offset(double value) {
10912  _internal_set_offset(value);
10913  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.offset)
10914 }
10915 
10916 // double scaling_factor = 3;
10917 inline void CpObjectiveProto::clear_scaling_factor() {
10918  scaling_factor_ = 0;
10919 }
10920 inline double CpObjectiveProto::_internal_scaling_factor() const {
10921  return scaling_factor_;
10922 }
10923 inline double CpObjectiveProto::scaling_factor() const {
10924  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.scaling_factor)
10925  return _internal_scaling_factor();
10926 }
10927 inline void CpObjectiveProto::_internal_set_scaling_factor(double value) {
10928 
10929  scaling_factor_ = value;
10930 }
10931 inline void CpObjectiveProto::set_scaling_factor(double value) {
10932  _internal_set_scaling_factor(value);
10933  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.scaling_factor)
10934 }
10935 
10936 // repeated int64 domain = 5;
10937 inline int CpObjectiveProto::_internal_domain_size() const {
10938  return domain_.size();
10939 }
10940 inline int CpObjectiveProto::domain_size() const {
10941  return _internal_domain_size();
10942 }
10943 inline void CpObjectiveProto::clear_domain() {
10944  domain_.Clear();
10945 }
10946 inline ::PROTOBUF_NAMESPACE_ID::int64 CpObjectiveProto::_internal_domain(int index) const {
10947  return domain_.Get(index);
10948 }
10949 inline ::PROTOBUF_NAMESPACE_ID::int64 CpObjectiveProto::domain(int index) const {
10950  // @@protoc_insertion_point(field_get:operations_research.sat.CpObjectiveProto.domain)
10951  return _internal_domain(index);
10952 }
10953 inline void CpObjectiveProto::set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
10954  domain_.Set(index, value);
10955  // @@protoc_insertion_point(field_set:operations_research.sat.CpObjectiveProto.domain)
10956 }
10957 inline void CpObjectiveProto::_internal_add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
10958  domain_.Add(value);
10959 }
10960 inline void CpObjectiveProto::add_domain(::PROTOBUF_NAMESPACE_ID::int64 value) {
10961  _internal_add_domain(value);
10962  // @@protoc_insertion_point(field_add:operations_research.sat.CpObjectiveProto.domain)
10963 }
10964 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
10965 CpObjectiveProto::_internal_domain() const {
10966  return domain_;
10967 }
10968 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
10969 CpObjectiveProto::domain() const {
10970  // @@protoc_insertion_point(field_list:operations_research.sat.CpObjectiveProto.domain)
10971  return _internal_domain();
10972 }
10973 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
10974 CpObjectiveProto::_internal_mutable_domain() {
10975  return &domain_;
10976 }
10977 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
10978 CpObjectiveProto::mutable_domain() {
10979  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpObjectiveProto.domain)
10980  return _internal_mutable_domain();
10981 }
10982 
10983 // -------------------------------------------------------------------
10984 
10985 // DecisionStrategyProto_AffineTransformation
10986 
10987 // int32 index = 1;
10988 inline void DecisionStrategyProto_AffineTransformation::clear_index() {
10989  index_ = 0;
10990 }
10991 inline ::PROTOBUF_NAMESPACE_ID::int32 DecisionStrategyProto_AffineTransformation::_internal_index() const {
10992  return index_;
10993 }
10994 inline ::PROTOBUF_NAMESPACE_ID::int32 DecisionStrategyProto_AffineTransformation::index() const {
10995  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.AffineTransformation.index)
10996  return _internal_index();
10997 }
10998 inline void DecisionStrategyProto_AffineTransformation::_internal_set_index(::PROTOBUF_NAMESPACE_ID::int32 value) {
10999 
11000  index_ = value;
11001 }
11002 inline void DecisionStrategyProto_AffineTransformation::set_index(::PROTOBUF_NAMESPACE_ID::int32 value) {
11003  _internal_set_index(value);
11004  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.AffineTransformation.index)
11005 }
11006 
11007 // int64 offset = 2;
11008 inline void DecisionStrategyProto_AffineTransformation::clear_offset() {
11009  offset_ = PROTOBUF_LONGLONG(0);
11010 }
11011 inline ::PROTOBUF_NAMESPACE_ID::int64 DecisionStrategyProto_AffineTransformation::_internal_offset() const {
11012  return offset_;
11013 }
11014 inline ::PROTOBUF_NAMESPACE_ID::int64 DecisionStrategyProto_AffineTransformation::offset() const {
11015  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.AffineTransformation.offset)
11016  return _internal_offset();
11017 }
11018 inline void DecisionStrategyProto_AffineTransformation::_internal_set_offset(::PROTOBUF_NAMESPACE_ID::int64 value) {
11019 
11020  offset_ = value;
11021 }
11022 inline void DecisionStrategyProto_AffineTransformation::set_offset(::PROTOBUF_NAMESPACE_ID::int64 value) {
11023  _internal_set_offset(value);
11024  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.AffineTransformation.offset)
11025 }
11026 
11027 // int64 positive_coeff = 3;
11028 inline void DecisionStrategyProto_AffineTransformation::clear_positive_coeff() {
11029  positive_coeff_ = PROTOBUF_LONGLONG(0);
11030 }
11031 inline ::PROTOBUF_NAMESPACE_ID::int64 DecisionStrategyProto_AffineTransformation::_internal_positive_coeff() const {
11032  return positive_coeff_;
11033 }
11034 inline ::PROTOBUF_NAMESPACE_ID::int64 DecisionStrategyProto_AffineTransformation::positive_coeff() const {
11035  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.AffineTransformation.positive_coeff)
11036  return _internal_positive_coeff();
11037 }
11038 inline void DecisionStrategyProto_AffineTransformation::_internal_set_positive_coeff(::PROTOBUF_NAMESPACE_ID::int64 value) {
11039 
11040  positive_coeff_ = value;
11041 }
11042 inline void DecisionStrategyProto_AffineTransformation::set_positive_coeff(::PROTOBUF_NAMESPACE_ID::int64 value) {
11043  _internal_set_positive_coeff(value);
11044  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.AffineTransformation.positive_coeff)
11045 }
11046 
11047 // -------------------------------------------------------------------
11048 
11049 // DecisionStrategyProto
11050 
11051 // repeated int32 variables = 1;
11052 inline int DecisionStrategyProto::_internal_variables_size() const {
11053  return variables_.size();
11054 }
11055 inline int DecisionStrategyProto::variables_size() const {
11056  return _internal_variables_size();
11057 }
11058 inline void DecisionStrategyProto::clear_variables() {
11059  variables_.Clear();
11060 }
11061 inline ::PROTOBUF_NAMESPACE_ID::int32 DecisionStrategyProto::_internal_variables(int index) const {
11062  return variables_.Get(index);
11063 }
11064 inline ::PROTOBUF_NAMESPACE_ID::int32 DecisionStrategyProto::variables(int index) const {
11065  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.variables)
11066  return _internal_variables(index);
11067 }
11068 inline void DecisionStrategyProto::set_variables(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
11069  variables_.Set(index, value);
11070  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.variables)
11071 }
11072 inline void DecisionStrategyProto::_internal_add_variables(::PROTOBUF_NAMESPACE_ID::int32 value) {
11073  variables_.Add(value);
11074 }
11075 inline void DecisionStrategyProto::add_variables(::PROTOBUF_NAMESPACE_ID::int32 value) {
11076  _internal_add_variables(value);
11077  // @@protoc_insertion_point(field_add:operations_research.sat.DecisionStrategyProto.variables)
11078 }
11079 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11080 DecisionStrategyProto::_internal_variables() const {
11081  return variables_;
11082 }
11083 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11084 DecisionStrategyProto::variables() const {
11085  // @@protoc_insertion_point(field_list:operations_research.sat.DecisionStrategyProto.variables)
11086  return _internal_variables();
11087 }
11088 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11089 DecisionStrategyProto::_internal_mutable_variables() {
11090  return &variables_;
11091 }
11092 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11093 DecisionStrategyProto::mutable_variables() {
11094  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.DecisionStrategyProto.variables)
11095  return _internal_mutable_variables();
11096 }
11097 
11098 // .operations_research.sat.DecisionStrategyProto.VariableSelectionStrategy variable_selection_strategy = 2;
11099 inline void DecisionStrategyProto::clear_variable_selection_strategy() {
11100  variable_selection_strategy_ = 0;
11101 }
11102 inline ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto::_internal_variable_selection_strategy() const {
11103  return static_cast< ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy >(variable_selection_strategy_);
11104 }
11105 inline ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto::variable_selection_strategy() const {
11106  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.variable_selection_strategy)
11107  return _internal_variable_selection_strategy();
11108 }
11109 inline void DecisionStrategyProto::_internal_set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value) {
11110 
11111  variable_selection_strategy_ = value;
11112 }
11113 inline void DecisionStrategyProto::set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value) {
11114  _internal_set_variable_selection_strategy(value);
11115  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.variable_selection_strategy)
11116 }
11117 
11118 // .operations_research.sat.DecisionStrategyProto.DomainReductionStrategy domain_reduction_strategy = 3;
11119 inline void DecisionStrategyProto::clear_domain_reduction_strategy() {
11120  domain_reduction_strategy_ = 0;
11121 }
11122 inline ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto::_internal_domain_reduction_strategy() const {
11123  return static_cast< ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy >(domain_reduction_strategy_);
11124 }
11125 inline ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto::domain_reduction_strategy() const {
11126  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.domain_reduction_strategy)
11127  return _internal_domain_reduction_strategy();
11128 }
11129 inline void DecisionStrategyProto::_internal_set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value) {
11130 
11131  domain_reduction_strategy_ = value;
11132 }
11133 inline void DecisionStrategyProto::set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value) {
11134  _internal_set_domain_reduction_strategy(value);
11135  // @@protoc_insertion_point(field_set:operations_research.sat.DecisionStrategyProto.domain_reduction_strategy)
11136 }
11137 
11138 // repeated .operations_research.sat.DecisionStrategyProto.AffineTransformation transformations = 4;
11139 inline int DecisionStrategyProto::_internal_transformations_size() const {
11140  return transformations_.size();
11141 }
11142 inline int DecisionStrategyProto::transformations_size() const {
11143  return _internal_transformations_size();
11144 }
11145 inline void DecisionStrategyProto::clear_transformations() {
11146  transformations_.Clear();
11147 }
11148 inline ::operations_research::sat::DecisionStrategyProto_AffineTransformation* DecisionStrategyProto::mutable_transformations(int index) {
11149  // @@protoc_insertion_point(field_mutable:operations_research.sat.DecisionStrategyProto.transformations)
11150  return transformations_.Mutable(index);
11151 }
11152 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >*
11153 DecisionStrategyProto::mutable_transformations() {
11154  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.DecisionStrategyProto.transformations)
11155  return &transformations_;
11156 }
11157 inline const ::operations_research::sat::DecisionStrategyProto_AffineTransformation& DecisionStrategyProto::_internal_transformations(int index) const {
11158  return transformations_.Get(index);
11159 }
11160 inline const ::operations_research::sat::DecisionStrategyProto_AffineTransformation& DecisionStrategyProto::transformations(int index) const {
11161  // @@protoc_insertion_point(field_get:operations_research.sat.DecisionStrategyProto.transformations)
11162  return _internal_transformations(index);
11163 }
11164 inline ::operations_research::sat::DecisionStrategyProto_AffineTransformation* DecisionStrategyProto::_internal_add_transformations() {
11165  return transformations_.Add();
11166 }
11167 inline ::operations_research::sat::DecisionStrategyProto_AffineTransformation* DecisionStrategyProto::add_transformations() {
11168  // @@protoc_insertion_point(field_add:operations_research.sat.DecisionStrategyProto.transformations)
11169  return _internal_add_transformations();
11170 }
11171 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation >&
11172 DecisionStrategyProto::transformations() const {
11173  // @@protoc_insertion_point(field_list:operations_research.sat.DecisionStrategyProto.transformations)
11174  return transformations_;
11175 }
11176 
11177 // -------------------------------------------------------------------
11178 
11179 // PartialVariableAssignment
11180 
11181 // repeated int32 vars = 1;
11182 inline int PartialVariableAssignment::_internal_vars_size() const {
11183  return vars_.size();
11184 }
11185 inline int PartialVariableAssignment::vars_size() const {
11186  return _internal_vars_size();
11187 }
11188 inline void PartialVariableAssignment::clear_vars() {
11189  vars_.Clear();
11190 }
11191 inline ::PROTOBUF_NAMESPACE_ID::int32 PartialVariableAssignment::_internal_vars(int index) const {
11192  return vars_.Get(index);
11193 }
11194 inline ::PROTOBUF_NAMESPACE_ID::int32 PartialVariableAssignment::vars(int index) const {
11195  // @@protoc_insertion_point(field_get:operations_research.sat.PartialVariableAssignment.vars)
11196  return _internal_vars(index);
11197 }
11198 inline void PartialVariableAssignment::set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
11199  vars_.Set(index, value);
11200  // @@protoc_insertion_point(field_set:operations_research.sat.PartialVariableAssignment.vars)
11201 }
11202 inline void PartialVariableAssignment::_internal_add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
11203  vars_.Add(value);
11204 }
11205 inline void PartialVariableAssignment::add_vars(::PROTOBUF_NAMESPACE_ID::int32 value) {
11206  _internal_add_vars(value);
11207  // @@protoc_insertion_point(field_add:operations_research.sat.PartialVariableAssignment.vars)
11208 }
11209 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11210 PartialVariableAssignment::_internal_vars() const {
11211  return vars_;
11212 }
11213 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11214 PartialVariableAssignment::vars() const {
11215  // @@protoc_insertion_point(field_list:operations_research.sat.PartialVariableAssignment.vars)
11216  return _internal_vars();
11217 }
11218 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11219 PartialVariableAssignment::_internal_mutable_vars() {
11220  return &vars_;
11221 }
11222 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11223 PartialVariableAssignment::mutable_vars() {
11224  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.PartialVariableAssignment.vars)
11225  return _internal_mutable_vars();
11226 }
11227 
11228 // repeated int64 values = 2;
11229 inline int PartialVariableAssignment::_internal_values_size() const {
11230  return values_.size();
11231 }
11232 inline int PartialVariableAssignment::values_size() const {
11233  return _internal_values_size();
11234 }
11235 inline void PartialVariableAssignment::clear_values() {
11236  values_.Clear();
11237 }
11238 inline ::PROTOBUF_NAMESPACE_ID::int64 PartialVariableAssignment::_internal_values(int index) const {
11239  return values_.Get(index);
11240 }
11241 inline ::PROTOBUF_NAMESPACE_ID::int64 PartialVariableAssignment::values(int index) const {
11242  // @@protoc_insertion_point(field_get:operations_research.sat.PartialVariableAssignment.values)
11243  return _internal_values(index);
11244 }
11245 inline void PartialVariableAssignment::set_values(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
11246  values_.Set(index, value);
11247  // @@protoc_insertion_point(field_set:operations_research.sat.PartialVariableAssignment.values)
11248 }
11249 inline void PartialVariableAssignment::_internal_add_values(::PROTOBUF_NAMESPACE_ID::int64 value) {
11250  values_.Add(value);
11251 }
11252 inline void PartialVariableAssignment::add_values(::PROTOBUF_NAMESPACE_ID::int64 value) {
11253  _internal_add_values(value);
11254  // @@protoc_insertion_point(field_add:operations_research.sat.PartialVariableAssignment.values)
11255 }
11256 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
11257 PartialVariableAssignment::_internal_values() const {
11258  return values_;
11259 }
11260 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
11261 PartialVariableAssignment::values() const {
11262  // @@protoc_insertion_point(field_list:operations_research.sat.PartialVariableAssignment.values)
11263  return _internal_values();
11264 }
11265 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
11266 PartialVariableAssignment::_internal_mutable_values() {
11267  return &values_;
11268 }
11269 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
11270 PartialVariableAssignment::mutable_values() {
11271  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.PartialVariableAssignment.values)
11272  return _internal_mutable_values();
11273 }
11274 
11275 // -------------------------------------------------------------------
11276 
11277 // SparsePermutationProto
11278 
11279 // repeated int32 support = 1;
11280 inline int SparsePermutationProto::_internal_support_size() const {
11281  return support_.size();
11282 }
11283 inline int SparsePermutationProto::support_size() const {
11284  return _internal_support_size();
11285 }
11286 inline void SparsePermutationProto::clear_support() {
11287  support_.Clear();
11288 }
11289 inline ::PROTOBUF_NAMESPACE_ID::int32 SparsePermutationProto::_internal_support(int index) const {
11290  return support_.Get(index);
11291 }
11292 inline ::PROTOBUF_NAMESPACE_ID::int32 SparsePermutationProto::support(int index) const {
11293  // @@protoc_insertion_point(field_get:operations_research.sat.SparsePermutationProto.support)
11294  return _internal_support(index);
11295 }
11296 inline void SparsePermutationProto::set_support(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
11297  support_.Set(index, value);
11298  // @@protoc_insertion_point(field_set:operations_research.sat.SparsePermutationProto.support)
11299 }
11300 inline void SparsePermutationProto::_internal_add_support(::PROTOBUF_NAMESPACE_ID::int32 value) {
11301  support_.Add(value);
11302 }
11303 inline void SparsePermutationProto::add_support(::PROTOBUF_NAMESPACE_ID::int32 value) {
11304  _internal_add_support(value);
11305  // @@protoc_insertion_point(field_add:operations_research.sat.SparsePermutationProto.support)
11306 }
11307 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11308 SparsePermutationProto::_internal_support() const {
11309  return support_;
11310 }
11311 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11312 SparsePermutationProto::support() const {
11313  // @@protoc_insertion_point(field_list:operations_research.sat.SparsePermutationProto.support)
11314  return _internal_support();
11315 }
11316 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11317 SparsePermutationProto::_internal_mutable_support() {
11318  return &support_;
11319 }
11320 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11321 SparsePermutationProto::mutable_support() {
11322  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.SparsePermutationProto.support)
11323  return _internal_mutable_support();
11324 }
11325 
11326 // repeated int32 cycle_sizes = 2;
11327 inline int SparsePermutationProto::_internal_cycle_sizes_size() const {
11328  return cycle_sizes_.size();
11329 }
11330 inline int SparsePermutationProto::cycle_sizes_size() const {
11331  return _internal_cycle_sizes_size();
11332 }
11333 inline void SparsePermutationProto::clear_cycle_sizes() {
11334  cycle_sizes_.Clear();
11335 }
11336 inline ::PROTOBUF_NAMESPACE_ID::int32 SparsePermutationProto::_internal_cycle_sizes(int index) const {
11337  return cycle_sizes_.Get(index);
11338 }
11339 inline ::PROTOBUF_NAMESPACE_ID::int32 SparsePermutationProto::cycle_sizes(int index) const {
11340  // @@protoc_insertion_point(field_get:operations_research.sat.SparsePermutationProto.cycle_sizes)
11341  return _internal_cycle_sizes(index);
11342 }
11343 inline void SparsePermutationProto::set_cycle_sizes(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
11344  cycle_sizes_.Set(index, value);
11345  // @@protoc_insertion_point(field_set:operations_research.sat.SparsePermutationProto.cycle_sizes)
11346 }
11347 inline void SparsePermutationProto::_internal_add_cycle_sizes(::PROTOBUF_NAMESPACE_ID::int32 value) {
11348  cycle_sizes_.Add(value);
11349 }
11350 inline void SparsePermutationProto::add_cycle_sizes(::PROTOBUF_NAMESPACE_ID::int32 value) {
11351  _internal_add_cycle_sizes(value);
11352  // @@protoc_insertion_point(field_add:operations_research.sat.SparsePermutationProto.cycle_sizes)
11353 }
11354 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11355 SparsePermutationProto::_internal_cycle_sizes() const {
11356  return cycle_sizes_;
11357 }
11358 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11359 SparsePermutationProto::cycle_sizes() const {
11360  // @@protoc_insertion_point(field_list:operations_research.sat.SparsePermutationProto.cycle_sizes)
11361  return _internal_cycle_sizes();
11362 }
11363 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11364 SparsePermutationProto::_internal_mutable_cycle_sizes() {
11365  return &cycle_sizes_;
11366 }
11367 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11368 SparsePermutationProto::mutable_cycle_sizes() {
11369  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.SparsePermutationProto.cycle_sizes)
11370  return _internal_mutable_cycle_sizes();
11371 }
11372 
11373 // -------------------------------------------------------------------
11374 
11375 // DenseMatrixProto
11376 
11377 // int32 num_rows = 1;
11378 inline void DenseMatrixProto::clear_num_rows() {
11379  num_rows_ = 0;
11380 }
11381 inline ::PROTOBUF_NAMESPACE_ID::int32 DenseMatrixProto::_internal_num_rows() const {
11382  return num_rows_;
11383 }
11384 inline ::PROTOBUF_NAMESPACE_ID::int32 DenseMatrixProto::num_rows() const {
11385  // @@protoc_insertion_point(field_get:operations_research.sat.DenseMatrixProto.num_rows)
11386  return _internal_num_rows();
11387 }
11388 inline void DenseMatrixProto::_internal_set_num_rows(::PROTOBUF_NAMESPACE_ID::int32 value) {
11389 
11390  num_rows_ = value;
11391 }
11392 inline void DenseMatrixProto::set_num_rows(::PROTOBUF_NAMESPACE_ID::int32 value) {
11393  _internal_set_num_rows(value);
11394  // @@protoc_insertion_point(field_set:operations_research.sat.DenseMatrixProto.num_rows)
11395 }
11396 
11397 // int32 num_cols = 2;
11398 inline void DenseMatrixProto::clear_num_cols() {
11399  num_cols_ = 0;
11400 }
11401 inline ::PROTOBUF_NAMESPACE_ID::int32 DenseMatrixProto::_internal_num_cols() const {
11402  return num_cols_;
11403 }
11404 inline ::PROTOBUF_NAMESPACE_ID::int32 DenseMatrixProto::num_cols() const {
11405  // @@protoc_insertion_point(field_get:operations_research.sat.DenseMatrixProto.num_cols)
11406  return _internal_num_cols();
11407 }
11408 inline void DenseMatrixProto::_internal_set_num_cols(::PROTOBUF_NAMESPACE_ID::int32 value) {
11409 
11410  num_cols_ = value;
11411 }
11412 inline void DenseMatrixProto::set_num_cols(::PROTOBUF_NAMESPACE_ID::int32 value) {
11413  _internal_set_num_cols(value);
11414  // @@protoc_insertion_point(field_set:operations_research.sat.DenseMatrixProto.num_cols)
11415 }
11416 
11417 // repeated int32 entries = 3;
11418 inline int DenseMatrixProto::_internal_entries_size() const {
11419  return entries_.size();
11420 }
11421 inline int DenseMatrixProto::entries_size() const {
11422  return _internal_entries_size();
11423 }
11424 inline void DenseMatrixProto::clear_entries() {
11425  entries_.Clear();
11426 }
11427 inline ::PROTOBUF_NAMESPACE_ID::int32 DenseMatrixProto::_internal_entries(int index) const {
11428  return entries_.Get(index);
11429 }
11430 inline ::PROTOBUF_NAMESPACE_ID::int32 DenseMatrixProto::entries(int index) const {
11431  // @@protoc_insertion_point(field_get:operations_research.sat.DenseMatrixProto.entries)
11432  return _internal_entries(index);
11433 }
11434 inline void DenseMatrixProto::set_entries(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
11435  entries_.Set(index, value);
11436  // @@protoc_insertion_point(field_set:operations_research.sat.DenseMatrixProto.entries)
11437 }
11438 inline void DenseMatrixProto::_internal_add_entries(::PROTOBUF_NAMESPACE_ID::int32 value) {
11439  entries_.Add(value);
11440 }
11441 inline void DenseMatrixProto::add_entries(::PROTOBUF_NAMESPACE_ID::int32 value) {
11442  _internal_add_entries(value);
11443  // @@protoc_insertion_point(field_add:operations_research.sat.DenseMatrixProto.entries)
11444 }
11445 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11446 DenseMatrixProto::_internal_entries() const {
11447  return entries_;
11448 }
11449 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11450 DenseMatrixProto::entries() const {
11451  // @@protoc_insertion_point(field_list:operations_research.sat.DenseMatrixProto.entries)
11452  return _internal_entries();
11453 }
11454 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11455 DenseMatrixProto::_internal_mutable_entries() {
11456  return &entries_;
11457 }
11458 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11459 DenseMatrixProto::mutable_entries() {
11460  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.DenseMatrixProto.entries)
11461  return _internal_mutable_entries();
11462 }
11463 
11464 // -------------------------------------------------------------------
11465 
11466 // SymmetryProto
11467 
11468 // repeated .operations_research.sat.SparsePermutationProto permutations = 1;
11469 inline int SymmetryProto::_internal_permutations_size() const {
11470  return permutations_.size();
11471 }
11472 inline int SymmetryProto::permutations_size() const {
11473  return _internal_permutations_size();
11474 }
11475 inline void SymmetryProto::clear_permutations() {
11476  permutations_.Clear();
11477 }
11478 inline ::operations_research::sat::SparsePermutationProto* SymmetryProto::mutable_permutations(int index) {
11479  // @@protoc_insertion_point(field_mutable:operations_research.sat.SymmetryProto.permutations)
11480  return permutations_.Mutable(index);
11481 }
11482 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::SparsePermutationProto >*
11483 SymmetryProto::mutable_permutations() {
11484  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.SymmetryProto.permutations)
11485  return &permutations_;
11486 }
11487 inline const ::operations_research::sat::SparsePermutationProto& SymmetryProto::_internal_permutations(int index) const {
11488  return permutations_.Get(index);
11489 }
11490 inline const ::operations_research::sat::SparsePermutationProto& SymmetryProto::permutations(int index) const {
11491  // @@protoc_insertion_point(field_get:operations_research.sat.SymmetryProto.permutations)
11492  return _internal_permutations(index);
11493 }
11494 inline ::operations_research::sat::SparsePermutationProto* SymmetryProto::_internal_add_permutations() {
11495  return permutations_.Add();
11496 }
11497 inline ::operations_research::sat::SparsePermutationProto* SymmetryProto::add_permutations() {
11498  // @@protoc_insertion_point(field_add:operations_research.sat.SymmetryProto.permutations)
11499  return _internal_add_permutations();
11500 }
11501 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::SparsePermutationProto >&
11502 SymmetryProto::permutations() const {
11503  // @@protoc_insertion_point(field_list:operations_research.sat.SymmetryProto.permutations)
11504  return permutations_;
11505 }
11506 
11507 // repeated .operations_research.sat.DenseMatrixProto orbitopes = 2;
11508 inline int SymmetryProto::_internal_orbitopes_size() const {
11509  return orbitopes_.size();
11510 }
11511 inline int SymmetryProto::orbitopes_size() const {
11512  return _internal_orbitopes_size();
11513 }
11514 inline void SymmetryProto::clear_orbitopes() {
11515  orbitopes_.Clear();
11516 }
11517 inline ::operations_research::sat::DenseMatrixProto* SymmetryProto::mutable_orbitopes(int index) {
11518  // @@protoc_insertion_point(field_mutable:operations_research.sat.SymmetryProto.orbitopes)
11519  return orbitopes_.Mutable(index);
11520 }
11521 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DenseMatrixProto >*
11522 SymmetryProto::mutable_orbitopes() {
11523  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.SymmetryProto.orbitopes)
11524  return &orbitopes_;
11525 }
11526 inline const ::operations_research::sat::DenseMatrixProto& SymmetryProto::_internal_orbitopes(int index) const {
11527  return orbitopes_.Get(index);
11528 }
11529 inline const ::operations_research::sat::DenseMatrixProto& SymmetryProto::orbitopes(int index) const {
11530  // @@protoc_insertion_point(field_get:operations_research.sat.SymmetryProto.orbitopes)
11531  return _internal_orbitopes(index);
11532 }
11533 inline ::operations_research::sat::DenseMatrixProto* SymmetryProto::_internal_add_orbitopes() {
11534  return orbitopes_.Add();
11535 }
11536 inline ::operations_research::sat::DenseMatrixProto* SymmetryProto::add_orbitopes() {
11537  // @@protoc_insertion_point(field_add:operations_research.sat.SymmetryProto.orbitopes)
11538  return _internal_add_orbitopes();
11539 }
11540 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DenseMatrixProto >&
11541 SymmetryProto::orbitopes() const {
11542  // @@protoc_insertion_point(field_list:operations_research.sat.SymmetryProto.orbitopes)
11543  return orbitopes_;
11544 }
11545 
11546 // -------------------------------------------------------------------
11547 
11548 // CpModelProto
11549 
11550 // string name = 1;
11551 inline void CpModelProto::clear_name() {
11552  name_.ClearToEmpty();
11553 }
11554 inline const std::string& CpModelProto::name() const {
11555  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.name)
11556  return _internal_name();
11557 }
11558 inline void CpModelProto::set_name(const std::string& value) {
11559  _internal_set_name(value);
11560  // @@protoc_insertion_point(field_set:operations_research.sat.CpModelProto.name)
11561 }
11562 inline std::string* CpModelProto::mutable_name() {
11563  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.name)
11564  return _internal_mutable_name();
11565 }
11566 inline const std::string& CpModelProto::_internal_name() const {
11567  return name_.Get();
11568 }
11569 inline void CpModelProto::_internal_set_name(const std::string& value) {
11570 
11571  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
11572 }
11573 inline void CpModelProto::set_name(std::string&& value) {
11574 
11575  name_.Set(
11576  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
11577  // @@protoc_insertion_point(field_set_rvalue:operations_research.sat.CpModelProto.name)
11578 }
11579 inline void CpModelProto::set_name(const char* value) {
11580  GOOGLE_DCHECK(value != nullptr);
11581 
11582  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
11583  // @@protoc_insertion_point(field_set_char:operations_research.sat.CpModelProto.name)
11584 }
11585 inline void CpModelProto::set_name(const char* value,
11586  size_t size) {
11587 
11588  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
11589  reinterpret_cast<const char*>(value), size), GetArena());
11590  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.CpModelProto.name)
11591 }
11592 inline std::string* CpModelProto::_internal_mutable_name() {
11593 
11594  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
11595 }
11596 inline std::string* CpModelProto::release_name() {
11597  // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.name)
11598  return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
11599 }
11600 inline void CpModelProto::set_allocated_name(std::string* name) {
11601  if (name != nullptr) {
11602 
11603  } else {
11604 
11605  }
11606  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
11607  GetArena());
11608  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.name)
11609 }
11610 
11611 // repeated .operations_research.sat.IntegerVariableProto variables = 2;
11612 inline int CpModelProto::_internal_variables_size() const {
11613  return variables_.size();
11614 }
11615 inline int CpModelProto::variables_size() const {
11616  return _internal_variables_size();
11617 }
11618 inline void CpModelProto::clear_variables() {
11619  variables_.Clear();
11620 }
11621 inline ::operations_research::sat::IntegerVariableProto* CpModelProto::mutable_variables(int index) {
11622  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.variables)
11623  return variables_.Mutable(index);
11624 }
11625 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
11626 CpModelProto::mutable_variables() {
11627  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.variables)
11628  return &variables_;
11629 }
11630 inline const ::operations_research::sat::IntegerVariableProto& CpModelProto::_internal_variables(int index) const {
11631  return variables_.Get(index);
11632 }
11633 inline const ::operations_research::sat::IntegerVariableProto& CpModelProto::variables(int index) const {
11634  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.variables)
11635  return _internal_variables(index);
11636 }
11637 inline ::operations_research::sat::IntegerVariableProto* CpModelProto::_internal_add_variables() {
11638  return variables_.Add();
11639 }
11640 inline ::operations_research::sat::IntegerVariableProto* CpModelProto::add_variables() {
11641  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.variables)
11642  return _internal_add_variables();
11643 }
11644 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
11645 CpModelProto::variables() const {
11646  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.variables)
11647  return variables_;
11648 }
11649 
11650 // repeated .operations_research.sat.ConstraintProto constraints = 3;
11651 inline int CpModelProto::_internal_constraints_size() const {
11652  return constraints_.size();
11653 }
11654 inline int CpModelProto::constraints_size() const {
11655  return _internal_constraints_size();
11656 }
11657 inline void CpModelProto::clear_constraints() {
11658  constraints_.Clear();
11659 }
11660 inline ::operations_research::sat::ConstraintProto* CpModelProto::mutable_constraints(int index) {
11661  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.constraints)
11662  return constraints_.Mutable(index);
11663 }
11664 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >*
11665 CpModelProto::mutable_constraints() {
11666  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.constraints)
11667  return &constraints_;
11668 }
11669 inline const ::operations_research::sat::ConstraintProto& CpModelProto::_internal_constraints(int index) const {
11670  return constraints_.Get(index);
11671 }
11672 inline const ::operations_research::sat::ConstraintProto& CpModelProto::constraints(int index) const {
11673  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.constraints)
11674  return _internal_constraints(index);
11675 }
11676 inline ::operations_research::sat::ConstraintProto* CpModelProto::_internal_add_constraints() {
11677  return constraints_.Add();
11678 }
11679 inline ::operations_research::sat::ConstraintProto* CpModelProto::add_constraints() {
11680  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.constraints)
11681  return _internal_add_constraints();
11682 }
11683 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto >&
11684 CpModelProto::constraints() const {
11685  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.constraints)
11686  return constraints_;
11687 }
11688 
11689 // .operations_research.sat.CpObjectiveProto objective = 4;
11690 inline bool CpModelProto::_internal_has_objective() const {
11691  return this != internal_default_instance() && objective_ != nullptr;
11692 }
11693 inline bool CpModelProto::has_objective() const {
11694  return _internal_has_objective();
11695 }
11696 inline void CpModelProto::clear_objective() {
11697  if (GetArena() == nullptr && objective_ != nullptr) {
11698  delete objective_;
11699  }
11700  objective_ = nullptr;
11701 }
11702 inline const ::operations_research::sat::CpObjectiveProto& CpModelProto::_internal_objective() const {
11703  const ::operations_research::sat::CpObjectiveProto* p = objective_;
11704  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::CpObjectiveProto&>(
11706 }
11707 inline const ::operations_research::sat::CpObjectiveProto& CpModelProto::objective() const {
11708  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.objective)
11709  return _internal_objective();
11710 }
11711 inline void CpModelProto::unsafe_arena_set_allocated_objective(
11712  ::operations_research::sat::CpObjectiveProto* objective) {
11713  if (GetArena() == nullptr) {
11714  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(objective_);
11715  }
11716  objective_ = objective;
11717  if (objective) {
11718 
11719  } else {
11720 
11721  }
11722  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpModelProto.objective)
11723 }
11724 inline ::operations_research::sat::CpObjectiveProto* CpModelProto::release_objective() {
11725 
11726  ::operations_research::sat::CpObjectiveProto* temp = objective_;
11727  objective_ = nullptr;
11728  if (GetArena() != nullptr) {
11729  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
11730  }
11731  return temp;
11732 }
11733 inline ::operations_research::sat::CpObjectiveProto* CpModelProto::unsafe_arena_release_objective() {
11734  // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.objective)
11735 
11736  ::operations_research::sat::CpObjectiveProto* temp = objective_;
11737  objective_ = nullptr;
11738  return temp;
11739 }
11740 inline ::operations_research::sat::CpObjectiveProto* CpModelProto::_internal_mutable_objective() {
11741 
11742  if (objective_ == nullptr) {
11743  auto* p = CreateMaybeMessage<::operations_research::sat::CpObjectiveProto>(GetArena());
11744  objective_ = p;
11745  }
11746  return objective_;
11747 }
11748 inline ::operations_research::sat::CpObjectiveProto* CpModelProto::mutable_objective() {
11749  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.objective)
11750  return _internal_mutable_objective();
11751 }
11752 inline void CpModelProto::set_allocated_objective(::operations_research::sat::CpObjectiveProto* objective) {
11753  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
11754  if (message_arena == nullptr) {
11755  delete objective_;
11756  }
11757  if (objective) {
11758  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
11759  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(objective);
11760  if (message_arena != submessage_arena) {
11761  objective = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
11762  message_arena, objective, submessage_arena);
11763  }
11764 
11765  } else {
11766 
11767  }
11768  objective_ = objective;
11769  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.objective)
11770 }
11771 
11772 // repeated .operations_research.sat.DecisionStrategyProto search_strategy = 5;
11773 inline int CpModelProto::_internal_search_strategy_size() const {
11774  return search_strategy_.size();
11775 }
11776 inline int CpModelProto::search_strategy_size() const {
11777  return _internal_search_strategy_size();
11778 }
11779 inline void CpModelProto::clear_search_strategy() {
11780  search_strategy_.Clear();
11781 }
11782 inline ::operations_research::sat::DecisionStrategyProto* CpModelProto::mutable_search_strategy(int index) {
11783  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.search_strategy)
11784  return search_strategy_.Mutable(index);
11785 }
11786 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >*
11787 CpModelProto::mutable_search_strategy() {
11788  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.search_strategy)
11789  return &search_strategy_;
11790 }
11791 inline const ::operations_research::sat::DecisionStrategyProto& CpModelProto::_internal_search_strategy(int index) const {
11792  return search_strategy_.Get(index);
11793 }
11794 inline const ::operations_research::sat::DecisionStrategyProto& CpModelProto::search_strategy(int index) const {
11795  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.search_strategy)
11796  return _internal_search_strategy(index);
11797 }
11798 inline ::operations_research::sat::DecisionStrategyProto* CpModelProto::_internal_add_search_strategy() {
11799  return search_strategy_.Add();
11800 }
11801 inline ::operations_research::sat::DecisionStrategyProto* CpModelProto::add_search_strategy() {
11802  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.search_strategy)
11803  return _internal_add_search_strategy();
11804 }
11805 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto >&
11806 CpModelProto::search_strategy() const {
11807  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.search_strategy)
11808  return search_strategy_;
11809 }
11810 
11811 // .operations_research.sat.PartialVariableAssignment solution_hint = 6;
11812 inline bool CpModelProto::_internal_has_solution_hint() const {
11813  return this != internal_default_instance() && solution_hint_ != nullptr;
11814 }
11815 inline bool CpModelProto::has_solution_hint() const {
11816  return _internal_has_solution_hint();
11817 }
11818 inline void CpModelProto::clear_solution_hint() {
11819  if (GetArena() == nullptr && solution_hint_ != nullptr) {
11820  delete solution_hint_;
11821  }
11822  solution_hint_ = nullptr;
11823 }
11824 inline const ::operations_research::sat::PartialVariableAssignment& CpModelProto::_internal_solution_hint() const {
11825  const ::operations_research::sat::PartialVariableAssignment* p = solution_hint_;
11826  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::PartialVariableAssignment&>(
11828 }
11829 inline const ::operations_research::sat::PartialVariableAssignment& CpModelProto::solution_hint() const {
11830  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.solution_hint)
11831  return _internal_solution_hint();
11832 }
11833 inline void CpModelProto::unsafe_arena_set_allocated_solution_hint(
11834  ::operations_research::sat::PartialVariableAssignment* solution_hint) {
11835  if (GetArena() == nullptr) {
11836  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(solution_hint_);
11837  }
11838  solution_hint_ = solution_hint;
11839  if (solution_hint) {
11840 
11841  } else {
11842 
11843  }
11844  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpModelProto.solution_hint)
11845 }
11846 inline ::operations_research::sat::PartialVariableAssignment* CpModelProto::release_solution_hint() {
11847 
11848  ::operations_research::sat::PartialVariableAssignment* temp = solution_hint_;
11849  solution_hint_ = nullptr;
11850  if (GetArena() != nullptr) {
11851  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
11852  }
11853  return temp;
11854 }
11855 inline ::operations_research::sat::PartialVariableAssignment* CpModelProto::unsafe_arena_release_solution_hint() {
11856  // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.solution_hint)
11857 
11858  ::operations_research::sat::PartialVariableAssignment* temp = solution_hint_;
11859  solution_hint_ = nullptr;
11860  return temp;
11861 }
11862 inline ::operations_research::sat::PartialVariableAssignment* CpModelProto::_internal_mutable_solution_hint() {
11863 
11864  if (solution_hint_ == nullptr) {
11865  auto* p = CreateMaybeMessage<::operations_research::sat::PartialVariableAssignment>(GetArena());
11866  solution_hint_ = p;
11867  }
11868  return solution_hint_;
11869 }
11870 inline ::operations_research::sat::PartialVariableAssignment* CpModelProto::mutable_solution_hint() {
11871  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.solution_hint)
11872  return _internal_mutable_solution_hint();
11873 }
11874 inline void CpModelProto::set_allocated_solution_hint(::operations_research::sat::PartialVariableAssignment* solution_hint) {
11875  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
11876  if (message_arena == nullptr) {
11877  delete solution_hint_;
11878  }
11879  if (solution_hint) {
11880  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
11881  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(solution_hint);
11882  if (message_arena != submessage_arena) {
11883  solution_hint = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
11884  message_arena, solution_hint, submessage_arena);
11885  }
11886 
11887  } else {
11888 
11889  }
11890  solution_hint_ = solution_hint;
11891  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.solution_hint)
11892 }
11893 
11894 // repeated int32 assumptions = 7;
11895 inline int CpModelProto::_internal_assumptions_size() const {
11896  return assumptions_.size();
11897 }
11898 inline int CpModelProto::assumptions_size() const {
11899  return _internal_assumptions_size();
11900 }
11901 inline void CpModelProto::clear_assumptions() {
11902  assumptions_.Clear();
11903 }
11904 inline ::PROTOBUF_NAMESPACE_ID::int32 CpModelProto::_internal_assumptions(int index) const {
11905  return assumptions_.Get(index);
11906 }
11907 inline ::PROTOBUF_NAMESPACE_ID::int32 CpModelProto::assumptions(int index) const {
11908  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.assumptions)
11909  return _internal_assumptions(index);
11910 }
11911 inline void CpModelProto::set_assumptions(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
11912  assumptions_.Set(index, value);
11913  // @@protoc_insertion_point(field_set:operations_research.sat.CpModelProto.assumptions)
11914 }
11915 inline void CpModelProto::_internal_add_assumptions(::PROTOBUF_NAMESPACE_ID::int32 value) {
11916  assumptions_.Add(value);
11917 }
11918 inline void CpModelProto::add_assumptions(::PROTOBUF_NAMESPACE_ID::int32 value) {
11919  _internal_add_assumptions(value);
11920  // @@protoc_insertion_point(field_add:operations_research.sat.CpModelProto.assumptions)
11921 }
11922 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11923 CpModelProto::_internal_assumptions() const {
11924  return assumptions_;
11925 }
11926 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
11927 CpModelProto::assumptions() const {
11928  // @@protoc_insertion_point(field_list:operations_research.sat.CpModelProto.assumptions)
11929  return _internal_assumptions();
11930 }
11931 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11932 CpModelProto::_internal_mutable_assumptions() {
11933  return &assumptions_;
11934 }
11935 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
11936 CpModelProto::mutable_assumptions() {
11937  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpModelProto.assumptions)
11938  return _internal_mutable_assumptions();
11939 }
11940 
11941 // .operations_research.sat.SymmetryProto symmetry = 8;
11942 inline bool CpModelProto::_internal_has_symmetry() const {
11943  return this != internal_default_instance() && symmetry_ != nullptr;
11944 }
11945 inline bool CpModelProto::has_symmetry() const {
11946  return _internal_has_symmetry();
11947 }
11948 inline void CpModelProto::clear_symmetry() {
11949  if (GetArena() == nullptr && symmetry_ != nullptr) {
11950  delete symmetry_;
11951  }
11952  symmetry_ = nullptr;
11953 }
11954 inline const ::operations_research::sat::SymmetryProto& CpModelProto::_internal_symmetry() const {
11955  const ::operations_research::sat::SymmetryProto* p = symmetry_;
11956  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::SymmetryProto&>(
11958 }
11959 inline const ::operations_research::sat::SymmetryProto& CpModelProto::symmetry() const {
11960  // @@protoc_insertion_point(field_get:operations_research.sat.CpModelProto.symmetry)
11961  return _internal_symmetry();
11962 }
11963 inline void CpModelProto::unsafe_arena_set_allocated_symmetry(
11964  ::operations_research::sat::SymmetryProto* symmetry) {
11965  if (GetArena() == nullptr) {
11966  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(symmetry_);
11967  }
11968  symmetry_ = symmetry;
11969  if (symmetry) {
11970 
11971  } else {
11972 
11973  }
11974  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.sat.CpModelProto.symmetry)
11975 }
11976 inline ::operations_research::sat::SymmetryProto* CpModelProto::release_symmetry() {
11977 
11978  ::operations_research::sat::SymmetryProto* temp = symmetry_;
11979  symmetry_ = nullptr;
11980  if (GetArena() != nullptr) {
11981  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
11982  }
11983  return temp;
11984 }
11985 inline ::operations_research::sat::SymmetryProto* CpModelProto::unsafe_arena_release_symmetry() {
11986  // @@protoc_insertion_point(field_release:operations_research.sat.CpModelProto.symmetry)
11987 
11988  ::operations_research::sat::SymmetryProto* temp = symmetry_;
11989  symmetry_ = nullptr;
11990  return temp;
11991 }
11992 inline ::operations_research::sat::SymmetryProto* CpModelProto::_internal_mutable_symmetry() {
11993 
11994  if (symmetry_ == nullptr) {
11995  auto* p = CreateMaybeMessage<::operations_research::sat::SymmetryProto>(GetArena());
11996  symmetry_ = p;
11997  }
11998  return symmetry_;
11999 }
12000 inline ::operations_research::sat::SymmetryProto* CpModelProto::mutable_symmetry() {
12001  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpModelProto.symmetry)
12002  return _internal_mutable_symmetry();
12003 }
12004 inline void CpModelProto::set_allocated_symmetry(::operations_research::sat::SymmetryProto* symmetry) {
12005  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
12006  if (message_arena == nullptr) {
12007  delete symmetry_;
12008  }
12009  if (symmetry) {
12010  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
12011  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(symmetry);
12012  if (message_arena != submessage_arena) {
12013  symmetry = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
12014  message_arena, symmetry, submessage_arena);
12015  }
12016 
12017  } else {
12018 
12019  }
12020  symmetry_ = symmetry;
12021  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpModelProto.symmetry)
12022 }
12023 
12024 // -------------------------------------------------------------------
12025 
12026 // CpSolverResponse
12027 
12028 // .operations_research.sat.CpSolverStatus status = 1;
12029 inline void CpSolverResponse::clear_status() {
12030  status_ = 0;
12031 }
12032 inline ::operations_research::sat::CpSolverStatus CpSolverResponse::_internal_status() const {
12033  return static_cast< ::operations_research::sat::CpSolverStatus >(status_);
12034 }
12035 inline ::operations_research::sat::CpSolverStatus CpSolverResponse::status() const {
12036  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.status)
12037  return _internal_status();
12038 }
12039 inline void CpSolverResponse::_internal_set_status(::operations_research::sat::CpSolverStatus value) {
12040 
12041  status_ = value;
12042 }
12043 inline void CpSolverResponse::set_status(::operations_research::sat::CpSolverStatus value) {
12044  _internal_set_status(value);
12045  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.status)
12046 }
12047 
12048 // repeated int64 solution = 2;
12049 inline int CpSolverResponse::_internal_solution_size() const {
12050  return solution_.size();
12051 }
12052 inline int CpSolverResponse::solution_size() const {
12053  return _internal_solution_size();
12054 }
12055 inline void CpSolverResponse::clear_solution() {
12056  solution_.Clear();
12057 }
12058 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_solution(int index) const {
12059  return solution_.Get(index);
12060 }
12061 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::solution(int index) const {
12062  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution)
12063  return _internal_solution(index);
12064 }
12065 inline void CpSolverResponse::set_solution(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
12066  solution_.Set(index, value);
12067  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution)
12068 }
12069 inline void CpSolverResponse::_internal_add_solution(::PROTOBUF_NAMESPACE_ID::int64 value) {
12070  solution_.Add(value);
12071 }
12072 inline void CpSolverResponse::add_solution(::PROTOBUF_NAMESPACE_ID::int64 value) {
12073  _internal_add_solution(value);
12074  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.solution)
12075 }
12076 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
12077 CpSolverResponse::_internal_solution() const {
12078  return solution_;
12079 }
12080 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
12081 CpSolverResponse::solution() const {
12082  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.solution)
12083  return _internal_solution();
12084 }
12085 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
12086 CpSolverResponse::_internal_mutable_solution() {
12087  return &solution_;
12088 }
12089 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
12090 CpSolverResponse::mutable_solution() {
12091  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.solution)
12092  return _internal_mutable_solution();
12093 }
12094 
12095 // double objective_value = 3;
12096 inline void CpSolverResponse::clear_objective_value() {
12097  objective_value_ = 0;
12098 }
12099 inline double CpSolverResponse::_internal_objective_value() const {
12100  return objective_value_;
12101 }
12102 inline double CpSolverResponse::objective_value() const {
12103  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.objective_value)
12104  return _internal_objective_value();
12105 }
12106 inline void CpSolverResponse::_internal_set_objective_value(double value) {
12107 
12108  objective_value_ = value;
12109 }
12110 inline void CpSolverResponse::set_objective_value(double value) {
12111  _internal_set_objective_value(value);
12112  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.objective_value)
12113 }
12114 
12115 // double best_objective_bound = 4;
12116 inline void CpSolverResponse::clear_best_objective_bound() {
12117  best_objective_bound_ = 0;
12118 }
12119 inline double CpSolverResponse::_internal_best_objective_bound() const {
12120  return best_objective_bound_;
12121 }
12122 inline double CpSolverResponse::best_objective_bound() const {
12123  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.best_objective_bound)
12124  return _internal_best_objective_bound();
12125 }
12126 inline void CpSolverResponse::_internal_set_best_objective_bound(double value) {
12127 
12128  best_objective_bound_ = value;
12129 }
12130 inline void CpSolverResponse::set_best_objective_bound(double value) {
12131  _internal_set_best_objective_bound(value);
12132  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.best_objective_bound)
12133 }
12134 
12135 // repeated int64 solution_lower_bounds = 18;
12136 inline int CpSolverResponse::_internal_solution_lower_bounds_size() const {
12137  return solution_lower_bounds_.size();
12138 }
12139 inline int CpSolverResponse::solution_lower_bounds_size() const {
12140  return _internal_solution_lower_bounds_size();
12141 }
12142 inline void CpSolverResponse::clear_solution_lower_bounds() {
12143  solution_lower_bounds_.Clear();
12144 }
12145 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_solution_lower_bounds(int index) const {
12146  return solution_lower_bounds_.Get(index);
12147 }
12148 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::solution_lower_bounds(int index) const {
12149  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution_lower_bounds)
12150  return _internal_solution_lower_bounds(index);
12151 }
12152 inline void CpSolverResponse::set_solution_lower_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
12153  solution_lower_bounds_.Set(index, value);
12154  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution_lower_bounds)
12155 }
12156 inline void CpSolverResponse::_internal_add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::int64 value) {
12157  solution_lower_bounds_.Add(value);
12158 }
12159 inline void CpSolverResponse::add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::int64 value) {
12160  _internal_add_solution_lower_bounds(value);
12161  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.solution_lower_bounds)
12162 }
12163 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
12164 CpSolverResponse::_internal_solution_lower_bounds() const {
12165  return solution_lower_bounds_;
12166 }
12167 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
12168 CpSolverResponse::solution_lower_bounds() const {
12169  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.solution_lower_bounds)
12170  return _internal_solution_lower_bounds();
12171 }
12172 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
12173 CpSolverResponse::_internal_mutable_solution_lower_bounds() {
12174  return &solution_lower_bounds_;
12175 }
12176 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
12177 CpSolverResponse::mutable_solution_lower_bounds() {
12178  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.solution_lower_bounds)
12179  return _internal_mutable_solution_lower_bounds();
12180 }
12181 
12182 // repeated int64 solution_upper_bounds = 19;
12183 inline int CpSolverResponse::_internal_solution_upper_bounds_size() const {
12184  return solution_upper_bounds_.size();
12185 }
12186 inline int CpSolverResponse::solution_upper_bounds_size() const {
12187  return _internal_solution_upper_bounds_size();
12188 }
12189 inline void CpSolverResponse::clear_solution_upper_bounds() {
12190  solution_upper_bounds_.Clear();
12191 }
12192 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_solution_upper_bounds(int index) const {
12193  return solution_upper_bounds_.Get(index);
12194 }
12195 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::solution_upper_bounds(int index) const {
12196  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution_upper_bounds)
12197  return _internal_solution_upper_bounds(index);
12198 }
12199 inline void CpSolverResponse::set_solution_upper_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value) {
12200  solution_upper_bounds_.Set(index, value);
12201  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution_upper_bounds)
12202 }
12203 inline void CpSolverResponse::_internal_add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::int64 value) {
12204  solution_upper_bounds_.Add(value);
12205 }
12206 inline void CpSolverResponse::add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::int64 value) {
12207  _internal_add_solution_upper_bounds(value);
12208  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.solution_upper_bounds)
12209 }
12210 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
12211 CpSolverResponse::_internal_solution_upper_bounds() const {
12212  return solution_upper_bounds_;
12213 }
12214 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >&
12215 CpSolverResponse::solution_upper_bounds() const {
12216  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.solution_upper_bounds)
12217  return _internal_solution_upper_bounds();
12218 }
12219 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
12220 CpSolverResponse::_internal_mutable_solution_upper_bounds() {
12221  return &solution_upper_bounds_;
12222 }
12223 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 >*
12224 CpSolverResponse::mutable_solution_upper_bounds() {
12225  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.solution_upper_bounds)
12226  return _internal_mutable_solution_upper_bounds();
12227 }
12228 
12229 // repeated .operations_research.sat.IntegerVariableProto tightened_variables = 21;
12230 inline int CpSolverResponse::_internal_tightened_variables_size() const {
12231  return tightened_variables_.size();
12232 }
12233 inline int CpSolverResponse::tightened_variables_size() const {
12234  return _internal_tightened_variables_size();
12235 }
12236 inline void CpSolverResponse::clear_tightened_variables() {
12237  tightened_variables_.Clear();
12238 }
12239 inline ::operations_research::sat::IntegerVariableProto* CpSolverResponse::mutable_tightened_variables(int index) {
12240  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.tightened_variables)
12241  return tightened_variables_.Mutable(index);
12242 }
12243 inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >*
12244 CpSolverResponse::mutable_tightened_variables() {
12245  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.tightened_variables)
12246  return &tightened_variables_;
12247 }
12248 inline const ::operations_research::sat::IntegerVariableProto& CpSolverResponse::_internal_tightened_variables(int index) const {
12249  return tightened_variables_.Get(index);
12250 }
12251 inline const ::operations_research::sat::IntegerVariableProto& CpSolverResponse::tightened_variables(int index) const {
12252  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.tightened_variables)
12253  return _internal_tightened_variables(index);
12254 }
12255 inline ::operations_research::sat::IntegerVariableProto* CpSolverResponse::_internal_add_tightened_variables() {
12256  return tightened_variables_.Add();
12257 }
12258 inline ::operations_research::sat::IntegerVariableProto* CpSolverResponse::add_tightened_variables() {
12259  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.tightened_variables)
12260  return _internal_add_tightened_variables();
12261 }
12262 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto >&
12263 CpSolverResponse::tightened_variables() const {
12264  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.tightened_variables)
12265  return tightened_variables_;
12266 }
12267 
12268 // repeated int32 sufficient_assumptions_for_infeasibility = 23;
12269 inline int CpSolverResponse::_internal_sufficient_assumptions_for_infeasibility_size() const {
12270  return sufficient_assumptions_for_infeasibility_.size();
12271 }
12272 inline int CpSolverResponse::sufficient_assumptions_for_infeasibility_size() const {
12273  return _internal_sufficient_assumptions_for_infeasibility_size();
12274 }
12275 inline void CpSolverResponse::clear_sufficient_assumptions_for_infeasibility() {
12276  sufficient_assumptions_for_infeasibility_.Clear();
12277 }
12278 inline ::PROTOBUF_NAMESPACE_ID::int32 CpSolverResponse::_internal_sufficient_assumptions_for_infeasibility(int index) const {
12279  return sufficient_assumptions_for_infeasibility_.Get(index);
12280 }
12281 inline ::PROTOBUF_NAMESPACE_ID::int32 CpSolverResponse::sufficient_assumptions_for_infeasibility(int index) const {
12282  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
12283  return _internal_sufficient_assumptions_for_infeasibility(index);
12284 }
12285 inline void CpSolverResponse::set_sufficient_assumptions_for_infeasibility(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
12286  sufficient_assumptions_for_infeasibility_.Set(index, value);
12287  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
12288 }
12289 inline void CpSolverResponse::_internal_add_sufficient_assumptions_for_infeasibility(::PROTOBUF_NAMESPACE_ID::int32 value) {
12290  sufficient_assumptions_for_infeasibility_.Add(value);
12291 }
12292 inline void CpSolverResponse::add_sufficient_assumptions_for_infeasibility(::PROTOBUF_NAMESPACE_ID::int32 value) {
12293  _internal_add_sufficient_assumptions_for_infeasibility(value);
12294  // @@protoc_insertion_point(field_add:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
12295 }
12296 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
12297 CpSolverResponse::_internal_sufficient_assumptions_for_infeasibility() const {
12298  return sufficient_assumptions_for_infeasibility_;
12299 }
12300 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
12301 CpSolverResponse::sufficient_assumptions_for_infeasibility() const {
12302  // @@protoc_insertion_point(field_list:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
12303  return _internal_sufficient_assumptions_for_infeasibility();
12304 }
12305 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
12306 CpSolverResponse::_internal_mutable_sufficient_assumptions_for_infeasibility() {
12307  return &sufficient_assumptions_for_infeasibility_;
12308 }
12309 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
12310 CpSolverResponse::mutable_sufficient_assumptions_for_infeasibility() {
12311  // @@protoc_insertion_point(field_mutable_list:operations_research.sat.CpSolverResponse.sufficient_assumptions_for_infeasibility)
12312  return _internal_mutable_sufficient_assumptions_for_infeasibility();
12313 }
12314 
12315 // bool all_solutions_were_found = 5;
12316 inline void CpSolverResponse::clear_all_solutions_were_found() {
12317  all_solutions_were_found_ = false;
12318 }
12319 inline bool CpSolverResponse::_internal_all_solutions_were_found() const {
12320  return all_solutions_were_found_;
12321 }
12322 inline bool CpSolverResponse::all_solutions_were_found() const {
12323  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.all_solutions_were_found)
12324  return _internal_all_solutions_were_found();
12325 }
12326 inline void CpSolverResponse::_internal_set_all_solutions_were_found(bool value) {
12327 
12328  all_solutions_were_found_ = value;
12329 }
12330 inline void CpSolverResponse::set_all_solutions_were_found(bool value) {
12331  _internal_set_all_solutions_were_found(value);
12332  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.all_solutions_were_found)
12333 }
12334 
12335 // int64 num_booleans = 10;
12336 inline void CpSolverResponse::clear_num_booleans() {
12337  num_booleans_ = PROTOBUF_LONGLONG(0);
12338 }
12339 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_booleans() const {
12340  return num_booleans_;
12341 }
12342 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_booleans() const {
12343  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_booleans)
12344  return _internal_num_booleans();
12345 }
12346 inline void CpSolverResponse::_internal_set_num_booleans(::PROTOBUF_NAMESPACE_ID::int64 value) {
12347 
12348  num_booleans_ = value;
12349 }
12350 inline void CpSolverResponse::set_num_booleans(::PROTOBUF_NAMESPACE_ID::int64 value) {
12351  _internal_set_num_booleans(value);
12352  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_booleans)
12353 }
12354 
12355 // int64 num_conflicts = 11;
12356 inline void CpSolverResponse::clear_num_conflicts() {
12357  num_conflicts_ = PROTOBUF_LONGLONG(0);
12358 }
12359 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_conflicts() const {
12360  return num_conflicts_;
12361 }
12362 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_conflicts() const {
12363  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_conflicts)
12364  return _internal_num_conflicts();
12365 }
12366 inline void CpSolverResponse::_internal_set_num_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value) {
12367 
12368  num_conflicts_ = value;
12369 }
12370 inline void CpSolverResponse::set_num_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value) {
12371  _internal_set_num_conflicts(value);
12372  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_conflicts)
12373 }
12374 
12375 // int64 num_branches = 12;
12376 inline void CpSolverResponse::clear_num_branches() {
12377  num_branches_ = PROTOBUF_LONGLONG(0);
12378 }
12379 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_branches() const {
12380  return num_branches_;
12381 }
12382 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_branches() const {
12383  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_branches)
12384  return _internal_num_branches();
12385 }
12386 inline void CpSolverResponse::_internal_set_num_branches(::PROTOBUF_NAMESPACE_ID::int64 value) {
12387 
12388  num_branches_ = value;
12389 }
12390 inline void CpSolverResponse::set_num_branches(::PROTOBUF_NAMESPACE_ID::int64 value) {
12391  _internal_set_num_branches(value);
12392  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_branches)
12393 }
12394 
12395 // int64 num_binary_propagations = 13;
12396 inline void CpSolverResponse::clear_num_binary_propagations() {
12397  num_binary_propagations_ = PROTOBUF_LONGLONG(0);
12398 }
12399 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_binary_propagations() const {
12400  return num_binary_propagations_;
12401 }
12402 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_binary_propagations() const {
12403  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_binary_propagations)
12404  return _internal_num_binary_propagations();
12405 }
12406 inline void CpSolverResponse::_internal_set_num_binary_propagations(::PROTOBUF_NAMESPACE_ID::int64 value) {
12407 
12408  num_binary_propagations_ = value;
12409 }
12410 inline void CpSolverResponse::set_num_binary_propagations(::PROTOBUF_NAMESPACE_ID::int64 value) {
12411  _internal_set_num_binary_propagations(value);
12412  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_binary_propagations)
12413 }
12414 
12415 // int64 num_integer_propagations = 14;
12416 inline void CpSolverResponse::clear_num_integer_propagations() {
12417  num_integer_propagations_ = PROTOBUF_LONGLONG(0);
12418 }
12419 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_integer_propagations() const {
12420  return num_integer_propagations_;
12421 }
12422 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_integer_propagations() const {
12423  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_integer_propagations)
12424  return _internal_num_integer_propagations();
12425 }
12426 inline void CpSolverResponse::_internal_set_num_integer_propagations(::PROTOBUF_NAMESPACE_ID::int64 value) {
12427 
12428  num_integer_propagations_ = value;
12429 }
12430 inline void CpSolverResponse::set_num_integer_propagations(::PROTOBUF_NAMESPACE_ID::int64 value) {
12431  _internal_set_num_integer_propagations(value);
12432  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_integer_propagations)
12433 }
12434 
12435 // int64 num_restarts = 24;
12436 inline void CpSolverResponse::clear_num_restarts() {
12437  num_restarts_ = PROTOBUF_LONGLONG(0);
12438 }
12439 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_restarts() const {
12440  return num_restarts_;
12441 }
12442 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_restarts() const {
12443  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_restarts)
12444  return _internal_num_restarts();
12445 }
12446 inline void CpSolverResponse::_internal_set_num_restarts(::PROTOBUF_NAMESPACE_ID::int64 value) {
12447 
12448  num_restarts_ = value;
12449 }
12450 inline void CpSolverResponse::set_num_restarts(::PROTOBUF_NAMESPACE_ID::int64 value) {
12451  _internal_set_num_restarts(value);
12452  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_restarts)
12453 }
12454 
12455 // int64 num_lp_iterations = 25;
12456 inline void CpSolverResponse::clear_num_lp_iterations() {
12457  num_lp_iterations_ = PROTOBUF_LONGLONG(0);
12458 }
12459 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::_internal_num_lp_iterations() const {
12460  return num_lp_iterations_;
12461 }
12462 inline ::PROTOBUF_NAMESPACE_ID::int64 CpSolverResponse::num_lp_iterations() const {
12463  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.num_lp_iterations)
12464  return _internal_num_lp_iterations();
12465 }
12466 inline void CpSolverResponse::_internal_set_num_lp_iterations(::PROTOBUF_NAMESPACE_ID::int64 value) {
12467 
12468  num_lp_iterations_ = value;
12469 }
12470 inline void CpSolverResponse::set_num_lp_iterations(::PROTOBUF_NAMESPACE_ID::int64 value) {
12471  _internal_set_num_lp_iterations(value);
12472  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.num_lp_iterations)
12473 }
12474 
12475 // double wall_time = 15;
12476 inline void CpSolverResponse::clear_wall_time() {
12477  wall_time_ = 0;
12478 }
12479 inline double CpSolverResponse::_internal_wall_time() const {
12480  return wall_time_;
12481 }
12482 inline double CpSolverResponse::wall_time() const {
12483  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.wall_time)
12484  return _internal_wall_time();
12485 }
12486 inline void CpSolverResponse::_internal_set_wall_time(double value) {
12487 
12488  wall_time_ = value;
12489 }
12490 inline void CpSolverResponse::set_wall_time(double value) {
12491  _internal_set_wall_time(value);
12492  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.wall_time)
12493 }
12494 
12495 // double user_time = 16;
12496 inline void CpSolverResponse::clear_user_time() {
12497  user_time_ = 0;
12498 }
12499 inline double CpSolverResponse::_internal_user_time() const {
12500  return user_time_;
12501 }
12502 inline double CpSolverResponse::user_time() const {
12503  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.user_time)
12504  return _internal_user_time();
12505 }
12506 inline void CpSolverResponse::_internal_set_user_time(double value) {
12507 
12508  user_time_ = value;
12509 }
12510 inline void CpSolverResponse::set_user_time(double value) {
12511  _internal_set_user_time(value);
12512  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.user_time)
12513 }
12514 
12515 // double deterministic_time = 17;
12516 inline void CpSolverResponse::clear_deterministic_time() {
12517  deterministic_time_ = 0;
12518 }
12519 inline double CpSolverResponse::_internal_deterministic_time() const {
12520  return deterministic_time_;
12521 }
12522 inline double CpSolverResponse::deterministic_time() const {
12523  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.deterministic_time)
12524  return _internal_deterministic_time();
12525 }
12526 inline void CpSolverResponse::_internal_set_deterministic_time(double value) {
12527 
12528  deterministic_time_ = value;
12529 }
12530 inline void CpSolverResponse::set_deterministic_time(double value) {
12531  _internal_set_deterministic_time(value);
12532  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.deterministic_time)
12533 }
12534 
12535 // double primal_integral = 22;
12536 inline void CpSolverResponse::clear_primal_integral() {
12537  primal_integral_ = 0;
12538 }
12539 inline double CpSolverResponse::_internal_primal_integral() const {
12540  return primal_integral_;
12541 }
12542 inline double CpSolverResponse::primal_integral() const {
12543  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.primal_integral)
12544  return _internal_primal_integral();
12545 }
12546 inline void CpSolverResponse::_internal_set_primal_integral(double value) {
12547 
12548  primal_integral_ = value;
12549 }
12550 inline void CpSolverResponse::set_primal_integral(double value) {
12551  _internal_set_primal_integral(value);
12552  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.primal_integral)
12553 }
12554 
12555 // string solution_info = 20;
12556 inline void CpSolverResponse::clear_solution_info() {
12557  solution_info_.ClearToEmpty();
12558 }
12559 inline const std::string& CpSolverResponse::solution_info() const {
12560  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solution_info)
12561  return _internal_solution_info();
12562 }
12563 inline void CpSolverResponse::set_solution_info(const std::string& value) {
12564  _internal_set_solution_info(value);
12565  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solution_info)
12566 }
12567 inline std::string* CpSolverResponse::mutable_solution_info() {
12568  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.solution_info)
12569  return _internal_mutable_solution_info();
12570 }
12571 inline const std::string& CpSolverResponse::_internal_solution_info() const {
12572  return solution_info_.Get();
12573 }
12574 inline void CpSolverResponse::_internal_set_solution_info(const std::string& value) {
12575 
12576  solution_info_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
12577 }
12578 inline void CpSolverResponse::set_solution_info(std::string&& value) {
12579 
12580  solution_info_.Set(
12581  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
12582  // @@protoc_insertion_point(field_set_rvalue:operations_research.sat.CpSolverResponse.solution_info)
12583 }
12584 inline void CpSolverResponse::set_solution_info(const char* value) {
12585  GOOGLE_DCHECK(value != nullptr);
12586 
12587  solution_info_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
12588  // @@protoc_insertion_point(field_set_char:operations_research.sat.CpSolverResponse.solution_info)
12589 }
12590 inline void CpSolverResponse::set_solution_info(const char* value,
12591  size_t size) {
12592 
12593  solution_info_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
12594  reinterpret_cast<const char*>(value), size), GetArena());
12595  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.CpSolverResponse.solution_info)
12596 }
12597 inline std::string* CpSolverResponse::_internal_mutable_solution_info() {
12598 
12599  return solution_info_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
12600 }
12601 inline std::string* CpSolverResponse::release_solution_info() {
12602  // @@protoc_insertion_point(field_release:operations_research.sat.CpSolverResponse.solution_info)
12603  return solution_info_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
12604 }
12605 inline void CpSolverResponse::set_allocated_solution_info(std::string* solution_info) {
12606  if (solution_info != nullptr) {
12607 
12608  } else {
12609 
12610  }
12611  solution_info_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), solution_info,
12612  GetArena());
12613  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpSolverResponse.solution_info)
12614 }
12615 
12616 // string solve_log = 26;
12617 inline void CpSolverResponse::clear_solve_log() {
12618  solve_log_.ClearToEmpty();
12619 }
12620 inline const std::string& CpSolverResponse::solve_log() const {
12621  // @@protoc_insertion_point(field_get:operations_research.sat.CpSolverResponse.solve_log)
12622  return _internal_solve_log();
12623 }
12624 inline void CpSolverResponse::set_solve_log(const std::string& value) {
12625  _internal_set_solve_log(value);
12626  // @@protoc_insertion_point(field_set:operations_research.sat.CpSolverResponse.solve_log)
12627 }
12628 inline std::string* CpSolverResponse::mutable_solve_log() {
12629  // @@protoc_insertion_point(field_mutable:operations_research.sat.CpSolverResponse.solve_log)
12630  return _internal_mutable_solve_log();
12631 }
12632 inline const std::string& CpSolverResponse::_internal_solve_log() const {
12633  return solve_log_.Get();
12634 }
12635 inline void CpSolverResponse::_internal_set_solve_log(const std::string& value) {
12636 
12637  solve_log_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
12638 }
12639 inline void CpSolverResponse::set_solve_log(std::string&& value) {
12640 
12641  solve_log_.Set(
12642  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
12643  // @@protoc_insertion_point(field_set_rvalue:operations_research.sat.CpSolverResponse.solve_log)
12644 }
12645 inline void CpSolverResponse::set_solve_log(const char* value) {
12646  GOOGLE_DCHECK(value != nullptr);
12647 
12648  solve_log_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
12649  // @@protoc_insertion_point(field_set_char:operations_research.sat.CpSolverResponse.solve_log)
12650 }
12651 inline void CpSolverResponse::set_solve_log(const char* value,
12652  size_t size) {
12653 
12654  solve_log_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
12655  reinterpret_cast<const char*>(value), size), GetArena());
12656  // @@protoc_insertion_point(field_set_pointer:operations_research.sat.CpSolverResponse.solve_log)
12657 }
12658 inline std::string* CpSolverResponse::_internal_mutable_solve_log() {
12659 
12660  return solve_log_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
12661 }
12662 inline std::string* CpSolverResponse::release_solve_log() {
12663  // @@protoc_insertion_point(field_release:operations_research.sat.CpSolverResponse.solve_log)
12664  return solve_log_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
12665 }
12666 inline void CpSolverResponse::set_allocated_solve_log(std::string* solve_log) {
12667  if (solve_log != nullptr) {
12668 
12669  } else {
12670 
12671  }
12672  solve_log_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), solve_log,
12673  GetArena());
12674  // @@protoc_insertion_point(field_set_allocated:operations_research.sat.CpSolverResponse.solve_log)
12675 }
12676 
12677 #ifdef __GNUC__
12678  #pragma GCC diagnostic pop
12679 #endif // __GNUC__
12680 // -------------------------------------------------------------------
12681 
12682 // -------------------------------------------------------------------
12683 
12684 // -------------------------------------------------------------------
12685 
12686 // -------------------------------------------------------------------
12687 
12688 // -------------------------------------------------------------------
12689 
12690 // -------------------------------------------------------------------
12691 
12692 // -------------------------------------------------------------------
12693 
12694 // -------------------------------------------------------------------
12695 
12696 // -------------------------------------------------------------------
12697 
12698 // -------------------------------------------------------------------
12699 
12700 // -------------------------------------------------------------------
12701 
12702 // -------------------------------------------------------------------
12703 
12704 // -------------------------------------------------------------------
12705 
12706 // -------------------------------------------------------------------
12707 
12708 // -------------------------------------------------------------------
12709 
12710 // -------------------------------------------------------------------
12711 
12712 // -------------------------------------------------------------------
12713 
12714 // -------------------------------------------------------------------
12715 
12716 // -------------------------------------------------------------------
12717 
12718 // -------------------------------------------------------------------
12719 
12720 // -------------------------------------------------------------------
12721 
12722 // -------------------------------------------------------------------
12723 
12724 // -------------------------------------------------------------------
12725 
12726 // -------------------------------------------------------------------
12727 
12728 // -------------------------------------------------------------------
12729 
12730 // -------------------------------------------------------------------
12731 
12732 // -------------------------------------------------------------------
12733 
12734 
12735 // @@protoc_insertion_point(namespace_scope)
12736 
12737 } // namespace sat
12738 } // namespace operations_research
12739 
12740 PROTOBUF_NAMESPACE_OPEN
12741 
12742 template <> struct is_proto_enum< ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy> : ::std::true_type {};
12743 template <>
12744 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy>() {
12746 }
12747 template <> struct is_proto_enum< ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy> : ::std::true_type {};
12748 template <>
12749 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy>() {
12751 }
12752 template <> struct is_proto_enum< ::operations_research::sat::CpSolverStatus> : ::std::true_type {};
12753 template <>
12754 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::sat::CpSolverStatus>() {
12756 }
12757 
12758 PROTOBUF_NAMESPACE_CLOSE
12759 
12760 // @@protoc_insertion_point(global_scope)
12761 
12762 #include <google/protobuf/port_undef.inc>
12763 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ortools_2fsat_2fcp_5fmodel_2eproto
const std::vector< IntVar * > vars_
Definition: alldiff_cst.cc:44
int64_t max
Definition: alldiff_cst.cc:140
int64_t min
Definition: alldiff_cst.cc:139
void unsafe_arena_set_allocated_automaton(::operations_research::sat::AutomatonConstraintProto *automaton)
void UnsafeArenaSwap(DecisionStrategyProto_AffineTransformation *other)
Definition: cp_model.pb.h:4668
::operations_research::sat::BoolArgumentProto * release_at_most_one()
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & transition_label() const
NoOverlap2DConstraintProto & operator=(const NoOverlap2DConstraintProto &from)
Definition: cp_model.pb.h:2008
IntervalConstraintProto & operator=(const IntervalConstraintProto &from)
Definition: cp_model.pb.h:1638
DecisionStrategyProto_AffineTransformation * New() const final
Definition: cp_model.pb.h:4676
AllDifferentConstraintProto(const AllDifferentConstraintProto &from)
::operations_research::sat::IntegerVariableProto * mutable_variables(int index)
::operations_research::sat::LinearArgumentProto * unsafe_arena_release_lin_max()
void set_allocated_int_max(::operations_research::sat::IntegerArgumentProto *int_max)
LinearExpressionProto & operator=(LinearExpressionProto &&from) noexcept
Definition: cp_model.pb.h:764
AutomatonConstraintProto(AutomatonConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3401
BoolArgumentProto & operator=(BoolArgumentProto &&from) noexcept
Definition: cp_model.pb.h:451
DenseMatrixProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void add_transition_head(::PROTOBUF_NAMESPACE_ID::int64 value)
IntegerVariableProto(IntegerVariableProto &&from) noexcept
Definition: cp_model.pb.h:273
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto > * mutable_constraints()
LinearExpressionProto(LinearExpressionProto &&from) noexcept
Definition: cp_model.pb.h:755
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & transition_head() const
void UnsafeArenaSwap(CpObjectiveProto *other)
Definition: cp_model.pb.h:4445
static const IntegerVariableProto & default_instance()
Definition: cp_model.pb.h:300
::operations_research::sat::LinearConstraintProto * mutable_linear()
constexpr RoutesConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
const ::operations_research::sat::DenseMatrixProto & orbitopes(int index) const
RoutesConstraintProto & operator=(const RoutesConstraintProto &from)
Definition: cp_model.pb.h:2806
::PROTOBUF_NAMESPACE_ID::int32 num_cols() const
void set_solve_log(const char *value, size_t size)
const ::operations_research::sat::LinearExpressionProto & size_view() const
static const BoolArgumentProto * internal_default_instance()
Definition: cp_model.pb.h:472
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::SparsePermutationProto > * mutable_permutations()
ReservoirConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:2437
CpObjectiveProto * New() const final
Definition: cp_model.pb.h:4453
::operations_research::sat::IntegerArgumentProto * release_int_prod()
CircuitConstraintProto(CircuitConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2600
void set_num_branches(::PROTOBUF_NAMESPACE_ID::int64 value)
::PROTOBUF_NAMESPACE_ID::int32 f_inverse(int index) const
void set_allocated_bool_or(::operations_research::sat::BoolArgumentProto *bool_or)
void CopyFrom(const LinearConstraintProto &from)
static const std::string & DomainReductionStrategy_Name(T enum_t_value)
Definition: cp_model.pb.h:4944
void set_allocated_solution_info(std::string *solution_info)
::operations_research::sat::IntervalConstraintProto * release_interval()
void add_times(::PROTOBUF_NAMESPACE_ID::int32 value)
static const RoutesConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2831
void set_num_lp_iterations(::PROTOBUF_NAMESPACE_ID::int64 value)
const ::operations_research::sat::BoolArgumentProto & bool_and() const
::operations_research::sat::IntegerArgumentProto * unsafe_arena_release_int_mod()
const ::operations_research::sat::NoOverlap2DConstraintProto & no_overlap_2d() const
void UnsafeArenaSwap(DenseMatrixProto *other)
Definition: cp_model.pb.h:5446
void set_f_direct(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
::operations_research::sat::BoolArgumentProto * release_bool_or()
void set_capacity(::PROTOBUF_NAMESPACE_ID::int64 value)
::PROTOBUF_NAMESPACE_ID::int32 demands(int index) const
::operations_research::sat::NoOverlap2DConstraintProto * mutable_no_overlap_2d()
void CopyFrom(const CpObjectiveProto &from)
void Swap(DecisionStrategyProto *other)
Definition: cp_model.pb.h:4819
constexpr NoOverlap2DConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
::operations_research::sat::LinearExpressionProto * release_target()
NoOverlapConstraintProto(NoOverlapConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1852
::PROTOBUF_NAMESPACE_ID::int64 solution_lower_bounds(int index) const
void unsafe_arena_set_allocated_linear(::operations_research::sat::LinearConstraintProto *linear)
::operations_research::sat::ConstraintProto * add_constraints()
DecisionStrategyProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:4839
static const CpSolverResponse & default_instance()
Definition: cp_model.pb.h:6053
PartialVariableAssignment(PartialVariableAssignment &&from) noexcept
Definition: cp_model.pb.h:5046
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & f_direct() const
static const InverseConstraintProto & default_instance()
Definition: cp_model.pb.h:3252
::operations_research::sat::AutomatonConstraintProto * unsafe_arena_release_automaton()
void Swap(IntegerArgumentProto *other)
Definition: cp_model.pb.h:633
ConstraintProto & operator=(ConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3672
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: cp_model.pb.h:297
::PROTOBUF_NAMESPACE_ID::int64 num_binary_propagations() const
::operations_research::sat::LinearConstraintProto * release_linear()
::operations_research::sat::ElementConstraintProto * unsafe_arena_release_element()
void MergeFrom(const ElementConstraintProto &from)
void CopyFrom(const CircuitConstraintProto &from)
constexpr InverseConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
void add_tails(::PROTOBUF_NAMESPACE_ID::int32 value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & demands() const
NoOverlap2DConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:2063
::PROTOBUF_NAMESPACE_ID::int64 coeffs(int index) const
AllDifferentConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1168
friend void swap(CpSolverResponse &a, CpSolverResponse &b)
Definition: cp_model.pb.h:6063
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & support() const
LinearConstraintProto(LinearConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1259
PartialVariableAssignment & operator=(PartialVariableAssignment &&from) noexcept
Definition: cp_model.pb.h:5055
CircuitConstraintProto * New() const final
Definition: cp_model.pb.h:2656
::operations_research::sat::TableConstraintProto * mutable_table()
::PROTOBUF_NAMESPACE_ID::int64 values(int index) const
void CopyFrom(const CpSolverResponse &from)
static const CumulativeConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2220
const ::operations_research::sat::ElementConstraintProto & element() const
void MergeFrom(const CpModelProto &from)
::operations_research::sat::CpObjectiveProto * release_objective()
void set_values(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
::operations_research::sat::LinearExpressionProto * unsafe_arena_release_start_view()
void set_max_level(::PROTOBUF_NAMESPACE_ID::int64 value)
const ::operations_research::sat::IntervalConstraintProto & interval() const
constexpr ReservoirConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
DecisionStrategyProto & operator=(const DecisionStrategyProto &from)
Definition: cp_model.pb.h:4784
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
static const SymmetryProto * internal_default_instance()
Definition: cp_model.pb.h:5601
CpSolverResponse(const CpSolverResponse &from)
void unsafe_arena_set_allocated_at_most_one(::operations_research::sat::BoolArgumentProto *at_most_one)
::operations_research::sat::LinearExpressionProto * release_start_view()
ReservoirConstraintProto & operator=(const ReservoirConstraintProto &from)
Definition: cp_model.pb.h:2382
void add_solution_upper_bounds(::PROTOBUF_NAMESPACE_ID::int64 value)
void Swap(LinearConstraintProto *other)
Definition: cp_model.pb.h:1299
DecisionStrategyProto_AffineTransformation & operator=(const DecisionStrategyProto_AffineTransformation &from)
Definition: cp_model.pb.h:4625
const ::operations_research::sat::CumulativeConstraintProto & cumulative() const
CircuitConstraintProto & operator=(const CircuitConstraintProto &from)
Definition: cp_model.pb.h:2605
void set_cycle_sizes(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_transition_tail()
ConstraintProto(ConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3663
NoOverlapConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1912
::operations_research::sat::IntegerArgumentProto * mutable_int_max()
void CopyFrom(const IntervalConstraintProto &from)
const ::operations_research::sat::RoutesConstraintProto & routes() const
::operations_research::sat::IntegerArgumentProto * release_int_mod()
void add_values(::PROTOBUF_NAMESPACE_ID::int64 value)
void add_domain(::PROTOBUF_NAMESPACE_ID::int64 value)
void set_allocated_size_view(::operations_research::sat::LinearExpressionProto *size_view)
void MergeFrom(const IntegerArgumentProto &from)
CpModelProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:5797
void set_name(const char *value, size_t size)
void Swap(ElementConstraintProto *other)
Definition: cp_model.pb.h:1500
void set_solution_info(const std::string &value)
void set_heads(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
const ::operations_research::sat::CpObjectiveProto & objective() const
void MergeFrom(const BoolArgumentProto &from)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & heads() const
void add_f_direct(::PROTOBUF_NAMESPACE_ID::int32 value)
::operations_research::sat::BoolArgumentProto * unsafe_arena_release_bool_or()
LinearExpressionProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void unsafe_arena_set_allocated_exactly_one(::operations_research::sat::BoolArgumentProto *exactly_one)
::PROTOBUF_NAMESPACE_ID::int32 index() const
CpModelProto & operator=(const CpModelProto &from)
Definition: cp_model.pb.h:5742
void Swap(NoOverlapConstraintProto *other)
Definition: cp_model.pb.h:1892
::PROTOBUF_NAMESPACE_ID::int64 transition_head(int index) const
void UnsafeArenaSwap(CpSolverResponse *other)
Definition: cp_model.pb.h:6074
void CopyFrom(const CpModelProto &from)
void CopyFrom(const IntegerArgumentProto &from)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & assumptions() const
void set_allocated_no_overlap_2d(::operations_research::sat::NoOverlap2DConstraintProto *no_overlap_2d)
LinearConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
NoOverlap2DConstraintProto * New() const final
Definition: cp_model.pb.h:2059
::operations_research::sat::BoolArgumentProto * unsafe_arena_release_bool_xor()
static const DecisionStrategyProto & default_instance()
Definition: cp_model.pb.h:4806
::operations_research::sat::DecisionStrategyProto_AffineTransformation * mutable_transformations(int index)
void UnsafeArenaSwap(AllDifferentConstraintProto *other)
Definition: cp_model.pb.h:1156
static const AllDifferentConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1138
AllDifferentConstraintProto & operator=(const AllDifferentConstraintProto &from)
Definition: cp_model.pb.h:1113
::operations_research::sat::IntegerArgumentProto * mutable_int_prod()
IntegerVariableProto * New() const final
Definition: cp_model.pb.h:329
void Swap(SparsePermutationProto *other)
Definition: cp_model.pb.h:5262
::operations_research::sat::CumulativeConstraintProto * mutable_cumulative()
void unsafe_arena_set_allocated_circuit(::operations_research::sat::CircuitConstraintProto *circuit)
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DenseMatrixProto > * mutable_orbitopes()
IntervalConstraintProto * New() const final
Definition: cp_model.pb.h:1689
void set_allocated_routes(::operations_research::sat::RoutesConstraintProto *routes)
DecisionStrategyProto_AffineTransformation(DecisionStrategyProto_AffineTransformation &&from) noexcept
Definition: cp_model.pb.h:4620
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_vars()
constexpr TableConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
void MergeFrom(const LinearArgumentProto &from)
::operations_research::sat::LinearExpressionProto * unsafe_arena_release_target()
void MergeFrom(const DecisionStrategyProto_AffineTransformation &from)
::operations_research::sat::IntegerArgumentProto * mutable_int_mod()
DecisionStrategyProto_DomainReductionStrategy DomainReductionStrategy
Definition: cp_model.pb.h:4919
IntegerArgumentProto & operator=(const IntegerArgumentProto &from)
Definition: cp_model.pb.h:598
void set_num_conflicts(::PROTOBUF_NAMESPACE_ID::int64 value)
DenseMatrixProto(const DenseMatrixProto &from)
BoolArgumentProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:502
static const CircuitConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2630
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: cp_model.pb.h:291
CumulativeConstraintProto * New() const final
Definition: cp_model.pb.h:2246
IntegerArgumentProto(const IntegerArgumentProto &from)
void set_allocated_symmetry(::operations_research::sat::SymmetryProto *symmetry)
::operations_research::sat::BoolArgumentProto * release_exactly_one()
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & actives() const
void set_size(::PROTOBUF_NAMESPACE_ID::int32 value)
static const DecisionStrategyProto_AffineTransformation & default_instance()
Definition: cp_model.pb.h:4647
::PROTOBUF_NAMESPACE_ID::int32 f_direct(int index) const
void add_support(::PROTOBUF_NAMESPACE_ID::int32 value)
void CopyFrom(const PartialVariableAssignment &from)
InverseConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void set_name(const std::string &value)
ConstraintProto * New() const final
Definition: cp_model.pb.h:3748
void set_allocated_no_overlap(::operations_research::sat::NoOverlapConstraintProto *no_overlap)
void Swap(AutomatonConstraintProto *other)
Definition: cp_model.pb.h:3441
::operations_research::sat::LinearExpressionProto * mutable_start_view()
IntervalConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1693
NoOverlapConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void set_solve_log(std::string &&value)
static const CpSolverResponse * internal_default_instance()
Definition: cp_model.pb.h:6056
constexpr DecisionStrategyProto_AffineTransformation(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > * mutable_tightened_variables()
LinearConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1319
void set_num_integer_propagations(::PROTOBUF_NAMESPACE_ID::int64 value)
::operations_research::sat::ReservoirConstraintProto * release_reservoir()
void CopyFrom(const ConstraintProto &from)
LinearArgumentProto & operator=(LinearArgumentProto &&from) noexcept
Definition: cp_model.pb.h:951
void CopyFrom(const NoOverlap2DConstraintProto &from)
::operations_research::sat::InverseConstraintProto * release_inverse()
InverseConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:3285
const ::operations_research::sat::LinearArgumentProto & lin_max() const
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & enforcement_literal() const
::PROTOBUF_NAMESPACE_ID::int64 solution(int index) const
const ::operations_research::sat::AllDifferentConstraintProto & all_diff() const
void add_cycle_sizes(::PROTOBUF_NAMESPACE_ID::int32 value)
::operations_research::sat::PartialVariableAssignment * release_solution_hint()
void Swap(NoOverlap2DConstraintProto *other)
Definition: cp_model.pb.h:2043
void CopyFrom(const CumulativeConstraintProto &from)
AllDifferentConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
SymmetryProto * New() const final
Definition: cp_model.pb.h:5627
void add_intervals(::PROTOBUF_NAMESPACE_ID::int32 value)
void Swap(ReservoirConstraintProto *other)
Definition: cp_model.pb.h:2417
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation > * mutable_transformations()
static const CircuitConstraintProto & default_instance()
Definition: cp_model.pb.h:2627
DecisionStrategyProto(const DecisionStrategyProto &from)
constexpr ConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
friend void swap(SparsePermutationProto &a, SparsePermutationProto &b)
Definition: cp_model.pb.h:5259
friend void swap(InverseConstraintProto &a, InverseConstraintProto &b)
Definition: cp_model.pb.h:3262
void UnsafeArenaSwap(CircuitConstraintProto *other)
Definition: cp_model.pb.h:2648
const ::operations_research::sat::SparsePermutationProto & permutations(int index) const
static const CpObjectiveProto * internal_default_instance()
Definition: cp_model.pb.h:4427
const std::string & solve_log() const
friend void swap(CircuitConstraintProto &a, CircuitConstraintProto &b)
Definition: cp_model.pb.h:2637
void set_solve_log(const char *value)
RoutesConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
::operations_research::sat::DecisionStrategyProto_AffineTransformation * add_transformations()
ConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
static const AutomatonConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:3431
CpObjectiveProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_values()
void UnsafeArenaSwap(ConstraintProto *other)
Definition: cp_model.pb.h:3740
void set_x_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
void set_starting_state(::PROTOBUF_NAMESPACE_ID::int64 value)
friend void swap(ConstraintProto &a, ConstraintProto &b)
Definition: cp_model.pb.h:3729
constexpr CpSolverResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
LinearConstraintProto & operator=(const LinearConstraintProto &from)
Definition: cp_model.pb.h:1264
void UnsafeArenaSwap(LinearArgumentProto *other)
Definition: cp_model.pb.h:990
::operations_research::sat::TableConstraintProto * unsafe_arena_release_table()
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
const ::operations_research::sat::LinearExpressionProto & exprs(int index) const
::operations_research::sat::BoolArgumentProto * mutable_exactly_one()
void UnsafeArenaSwap(NoOverlapConstraintProto *other)
Definition: cp_model.pb.h:1900
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > * mutable_exprs()
::PROTOBUF_NAMESPACE_ID::int32 entries(int index) const
::operations_research::sat::SparsePermutationProto * add_permutations()
TableConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:3098
TableConstraintProto(const TableConstraintProto &from)
RoutesConstraintProto(const RoutesConstraintProto &from)
::PROTOBUF_NAMESPACE_ID::int32 support(int index) const
ReservoirConstraintProto * New() const final
Definition: cp_model.pb.h:2433
constexpr LinearExpressionProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
::operations_research::sat::TableConstraintProto * release_table()
constexpr NoOverlapConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
::operations_research::sat::IntegerArgumentProto * unsafe_arena_release_int_div()
void MergeFrom(const NoOverlapConstraintProto &from)
void unsafe_arena_set_allocated_bool_xor(::operations_research::sat::BoolArgumentProto *bool_xor)
::PROTOBUF_NAMESPACE_ID::int64 starting_state() const
void CopyFrom(const RoutesConstraintProto &from)
::PROTOBUF_NAMESPACE_ID::int32 x_intervals(int index) const
NoOverlap2DConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
CumulativeConstraintProto(const CumulativeConstraintProto &from)
::operations_research::sat::LinearExpressionProto * release_size_view()
SparsePermutationProto * New() const final
Definition: cp_model.pb.h:5278
::operations_research::sat::IntegerArgumentProto * unsafe_arena_release_int_min()
CpModelProto(CpModelProto &&from) noexcept
Definition: cp_model.pb.h:5737
::PROTOBUF_NAMESPACE_ID::int32 enforcement_literal(int index) const
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_sufficient_assumptions_for_infeasibility()
static const InverseConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:3255
DecisionStrategyProto_VariableSelectionStrategy VariableSelectionStrategy
Definition: cp_model.pb.h:4883
static const SparsePermutationProto & default_instance()
Definition: cp_model.pb.h:5249
BoolArgumentProto * New() const final
Definition: cp_model.pb.h:498
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_heads()
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > & tightened_variables() const
NoOverlapConstraintProto(const NoOverlapConstraintProto &from)
static bool VariableSelectionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, VariableSelectionStrategy *value)
Definition: cp_model.pb.h:4914
void CopyFrom(const DecisionStrategyProto &from)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_intervals()
::operations_research::sat::AllDifferentConstraintProto * release_all_diff()
ReservoirConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void unsafe_arena_set_allocated_int_min(::operations_research::sat::IntegerArgumentProto *int_min)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_f_direct()
void CopyFrom(const LinearExpressionProto &from)
void CopyFrom(const DecisionStrategyProto_AffineTransformation &from)
::operations_research::sat::SymmetryProto * unsafe_arena_release_symmetry()
const ::operations_research::sat::DecisionStrategyProto_AffineTransformation & transformations(int index) const
InverseConstraintProto & operator=(InverseConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3234
::operations_research::sat::RoutesConstraintProto * mutable_routes()
static const BoolArgumentProto & default_instance()
Definition: cp_model.pb.h:469
static const ReservoirConstraintProto & default_instance()
Definition: cp_model.pb.h:2404
DecisionStrategyProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
static bool VariableSelectionStrategy_IsValid(int value)
Definition: cp_model.pb.h:4894
void set_allocated_element(::operations_research::sat::ElementConstraintProto *element)
const ::operations_research::sat::IntegerArgumentProto & int_prod() const
::PROTOBUF_NAMESPACE_ID::int32 intervals(int index) const
NoOverlapConstraintProto & operator=(const NoOverlapConstraintProto &from)
Definition: cp_model.pb.h:1857
static const PartialVariableAssignment * internal_default_instance()
Definition: cp_model.pb.h:5076
void Swap(IntegerVariableProto *other)
Definition: cp_model.pb.h:313
void MergeFrom(const CumulativeConstraintProto &from)
void add_solution(::PROTOBUF_NAMESPACE_ID::int64 value)
void CopyFrom(const AutomatonConstraintProto &from)
void add_actives(::PROTOBUF_NAMESPACE_ID::int32 value)
const ::operations_research::sat::IntegerVariableProto & variables(int index) const
static const IntervalConstraintProto & default_instance()
Definition: cp_model.pb.h:1660
NoOverlap2DConstraintProto(NoOverlap2DConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2003
::operations_research::sat::IntervalConstraintProto * mutable_interval()
::operations_research::sat::ConstraintProto * mutable_constraints(int index)
::operations_research::sat::LinearExpressionProto * add_exprs()
static const CpObjectiveProto & default_instance()
Definition: cp_model.pb.h:4424
void MergeFrom(const CpSolverResponse &from)
::operations_research::sat::CircuitConstraintProto * unsafe_arena_release_circuit()
ConstraintCase constraint_case() const
PartialVariableAssignment & operator=(const PartialVariableAssignment &from)
Definition: cp_model.pb.h:5051
static const DenseMatrixProto & default_instance()
Definition: cp_model.pb.h:5425
DenseMatrixProto & operator=(DenseMatrixProto &&from) noexcept
Definition: cp_model.pb.h:5407
constexpr DecisionStrategyProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
PartialVariableAssignment(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void set_transition_tail(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
::operations_research::sat::NoOverlapConstraintProto * release_no_overlap()
::operations_research::sat::LinearConstraintProto * unsafe_arena_release_linear()
ElementConstraintProto & operator=(ElementConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1469
void unsafe_arena_set_allocated_symmetry(::operations_research::sat::SymmetryProto *symmetry)
::operations_research::sat::PartialVariableAssignment * unsafe_arena_release_solution_hint()
friend void swap(NoOverlapConstraintProto &a, NoOverlapConstraintProto &b)
Definition: cp_model.pb.h:1889
void Swap(IntervalConstraintProto *other)
Definition: cp_model.pb.h:1673
void set_y_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
::operations_research::sat::SymmetryProto * release_symmetry()
void MergeFrom(const SparsePermutationProto &from)
::operations_research::sat::SymmetryProto * mutable_symmetry()
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & transition_tail() const
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DomainReductionStrategy_descriptor()
Definition: cp_model.pb.h:4940
CpObjectiveProto & operator=(const CpObjectiveProto &from)
Definition: cp_model.pb.h:4402
::operations_research::sat::CumulativeConstraintProto * release_cumulative()
static const LinearExpressionProto * internal_default_instance()
Definition: cp_model.pb.h:785
void UnsafeArenaSwap(SymmetryProto *other)
Definition: cp_model.pb.h:5619
friend void swap(BoolArgumentProto &a, BoolArgumentProto &b)
Definition: cp_model.pb.h:479
static const RoutesConstraintProto & default_instance()
Definition: cp_model.pb.h:2828
void UnsafeArenaSwap(SparsePermutationProto *other)
Definition: cp_model.pb.h:5270
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & solution_lower_bounds() const
void add_entries(::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::int32 heads(int index) const
void Swap(SymmetryProto *other)
Definition: cp_model.pb.h:5611
InverseConstraintProto & operator=(const InverseConstraintProto &from)
Definition: cp_model.pb.h:3230
static const CumulativeConstraintProto & default_instance()
Definition: cp_model.pb.h:2217
::operations_research::sat::AutomatonConstraintProto * mutable_automaton()
friend void swap(LinearExpressionProto &a, LinearExpressionProto &b)
Definition: cp_model.pb.h:792
TableConstraintProto & operator=(TableConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3047
void add_assumptions(::PROTOBUF_NAMESPACE_ID::int32 value)
static const ElementConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1490
void set_boxes_with_null_area_can_overlap(bool value)
::operations_research::sat::ReservoirConstraintProto * unsafe_arena_release_reservoir()
CircuitConstraintProto & operator=(CircuitConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2609
void set_variable_selection_strategy(::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy value)
void set_allocated_inverse(::operations_research::sat::InverseConstraintProto *inverse)
static const TableConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:3068
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & sufficient_assumptions_for_infeasibility() const
DenseMatrixProto(DenseMatrixProto &&from) noexcept
Definition: cp_model.pb.h:5398
DecisionStrategyProto(DecisionStrategyProto &&from) noexcept
Definition: cp_model.pb.h:4779
::PROTOBUF_NAMESPACE_ID::int64 demands(int index) const
IntegerArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
LinearExpressionProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:815
void MergeFrom(const InverseConstraintProto &from)
void set_num_cols(::PROTOBUF_NAMESPACE_ID::int32 value)
void CopyFrom(const AllDifferentConstraintProto &from)
TableConstraintProto & operator=(const TableConstraintProto &from)
Definition: cp_model.pb.h:3043
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_tails()
friend void swap(ElementConstraintProto &a, ElementConstraintProto &b)
Definition: cp_model.pb.h:1497
void set_allocated_reservoir(::operations_research::sat::ReservoirConstraintProto *reservoir)
::operations_research::sat::LinearExpressionProto * mutable_target()
void MergeFrom(const ConstraintProto &from)
void MergeFrom(const RoutesConstraintProto &from)
friend void swap(CumulativeConstraintProto &a, CumulativeConstraintProto &b)
Definition: cp_model.pb.h:2227
const ::operations_research::sat::AutomatonConstraintProto & automaton() const
void set_status(::operations_research::sat::CpSolverStatus value)
void unsafe_arena_set_allocated_bool_or(::operations_research::sat::BoolArgumentProto *bool_or)
void set_times(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_f_inverse()
::operations_research::sat::LinearExpressionProto * mutable_end_view()
CpSolverResponse(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void unsafe_arena_set_allocated_solution_hint(::operations_research::sat::PartialVariableAssignment *solution_hint)
LinearArgumentProto * New() const final
Definition: cp_model.pb.h:998
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & y_intervals() const
void add_final_states(::PROTOBUF_NAMESPACE_ID::int64 value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & variables() const
::PROTOBUF_NAMESPACE_ID::int64 min_level() const
ReservoirConstraintProto & operator=(ReservoirConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2386
constexpr CpObjectiveProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
void unsafe_arena_set_allocated_objective(::operations_research::sat::CpObjectiveProto *objective)
void set_min_level(::PROTOBUF_NAMESPACE_ID::int64 value)
InverseConstraintProto(const InverseConstraintProto &from)
void Swap(TableConstraintProto *other)
Definition: cp_model.pb.h:3078
ConstraintProto & operator=(const ConstraintProto &from)
Definition: cp_model.pb.h:3668
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & cycle_sizes() const
void unsafe_arena_set_allocated_end_view(::operations_research::sat::LinearExpressionProto *end_view)
void unsafe_arena_set_allocated_no_overlap(::operations_research::sat::NoOverlapConstraintProto *no_overlap)
CpModelProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
::operations_research::sat::LinearArgumentProto * mutable_lin_min()
::operations_research::sat::NoOverlap2DConstraintProto * unsafe_arena_release_no_overlap_2d()
void set_vars(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
const ::operations_research::sat::IntegerArgumentProto & int_div() const
CpObjectiveProto(const CpObjectiveProto &from)
void set_allocated_int_div(::operations_research::sat::IntegerArgumentProto *int_div)
IntegerVariableProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:333
constexpr IntegerVariableProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & tails() const
const ::operations_research::sat::PartialVariableAssignment & solution_hint() const
void UnsafeArenaSwap(PartialVariableAssignment *other)
Definition: cp_model.pb.h:5094
::PROTOBUF_NAMESPACE_ID::int64 solution_upper_bounds(int index) const
void unsafe_arena_set_allocated_bool_and(::operations_research::sat::BoolArgumentProto *bool_and)
static const CpModelProto & default_instance()
Definition: cp_model.pb.h:5764
static bool DomainReductionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DomainReductionStrategy *value)
Definition: cp_model.pb.h:4950
CpSolverResponse & operator=(CpSolverResponse &&from) noexcept
Definition: cp_model.pb.h:6035
::operations_research::sat::BoolArgumentProto * unsafe_arena_release_at_most_one()
IntervalConstraintProto & operator=(IntervalConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1642
void set_solution_lower_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
void UnsafeArenaSwap(TableConstraintProto *other)
Definition: cp_model.pb.h:3086
static const ConstraintProto & default_instance()
Definition: cp_model.pb.h:3690
SparsePermutationProto(const SparsePermutationProto &from)
void set_allocated_interval(::operations_research::sat::IntervalConstraintProto *interval)
IntegerVariableProto & operator=(IntegerVariableProto &&from) noexcept
Definition: cp_model.pb.h:282
::operations_research::sat::LinearExpressionProto * unsafe_arena_release_size_view()
::operations_research::sat::IntegerArgumentProto * unsafe_arena_release_int_prod()
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_cycle_sizes()
SymmetryProto(const SymmetryProto &from)
void CopyFrom(const IntegerVariableProto &from)
static const ReservoirConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2407
NoOverlap2DConstraintProto(const NoOverlap2DConstraintProto &from)
friend void swap(IntegerArgumentProto &a, IntegerArgumentProto &b)
Definition: cp_model.pb.h:630
friend void swap(LinearArgumentProto &a, LinearArgumentProto &b)
Definition: cp_model.pb.h:979
CpSolverResponse * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:6086
::PROTOBUF_NAMESPACE_ID::int64 positive_coeff() const
LinearArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
NoOverlap2DConstraintProto & operator=(NoOverlap2DConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2012
::PROTOBUF_NAMESPACE_ID::int64 num_integer_propagations() const
DecisionStrategyProto * New() const final
Definition: cp_model.pb.h:4835
const std::string & solution_info() const
IntegerArgumentProto & operator=(IntegerArgumentProto &&from) noexcept
Definition: cp_model.pb.h:602
const ::operations_research::sat::TableConstraintProto & table() const
::operations_research::sat::InverseConstraintProto * mutable_inverse()
::operations_research::sat::LinearArgumentProto * release_lin_min()
void CopyFrom(const TableConstraintProto &from)
void set_offset(::PROTOBUF_NAMESPACE_ID::int64 value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & times() const
IntegerArgumentProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:653
void set_allocated_objective(::operations_research::sat::CpObjectiveProto *objective)
void set_allocated_end_view(::operations_research::sat::LinearExpressionProto *end_view)
::PROTOBUF_NAMESPACE_ID::int32 times(int index) const
void unsafe_arena_set_allocated_routes(::operations_research::sat::RoutesConstraintProto *routes)
LinearArgumentProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1002
void set_solution_info(std::string &&value)
void set_num_binary_propagations(::PROTOBUF_NAMESPACE_ID::int64 value)
void set_allocated_exactly_one(::operations_research::sat::BoolArgumentProto *exactly_one)
void set_num_restarts(::PROTOBUF_NAMESPACE_ID::int64 value)
ElementConstraintProto(const ElementConstraintProto &from)
BoolArgumentProto(const BoolArgumentProto &from)
void CopyFrom(const LinearArgumentProto &from)
IntegerVariableProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
::operations_research::sat::ElementConstraintProto * mutable_element()
DecisionStrategyProto_AffineTransformation AffineTransformation
Definition: cp_model.pb.h:4881
::PROTOBUF_NAMESPACE_ID::int64 capacity() const
::operations_research::sat::IntervalConstraintProto * unsafe_arena_release_interval()
void set_allocated_bool_xor(::operations_research::sat::BoolArgumentProto *bool_xor)
void Swap(CumulativeConstraintProto *other)
Definition: cp_model.pb.h:2230
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_variables()
friend void swap(CpObjectiveProto &a, CpObjectiveProto &b)
Definition: cp_model.pb.h:4434
::PROTOBUF_NAMESPACE_ID::int64 num_restarts() const
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
::operations_research::sat::SparsePermutationProto * mutable_permutations(int index)
::operations_research::sat::IntegerVariableProto * add_variables()
friend void swap(LinearConstraintProto &a, LinearConstraintProto &b)
Definition: cp_model.pb.h:1296
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & solution() const
void UnsafeArenaSwap(LinearExpressionProto *other)
Definition: cp_model.pb.h:803
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_assumptions()
SparsePermutationProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:5282
AutomatonConstraintProto * New() const final
Definition: cp_model.pb.h:3457
void add_sufficient_assumptions_for_infeasibility(::PROTOBUF_NAMESPACE_ID::int32 value)
InverseConstraintProto(InverseConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3225
::operations_research::sat::NoOverlapConstraintProto * mutable_no_overlap()
static const SparsePermutationProto * internal_default_instance()
Definition: cp_model.pb.h:5252
static const LinearArgumentProto * internal_default_instance()
Definition: cp_model.pb.h:972
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::LinearExpressionProto > & exprs() const
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_entries()
void Swap(CpObjectiveProto *other)
Definition: cp_model.pb.h:4437
const ::operations_research::sat::LinearExpressionProto & target() const
void set_actives(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
void Swap(DenseMatrixProto *other)
Definition: cp_model.pb.h:5438
void set_solution_info(const char *value)
CpObjectiveProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:4457
::PROTOBUF_NAMESPACE_ID::int32 tails(int index) const
::operations_research::sat::RoutesConstraintProto * unsafe_arena_release_routes()
CpModelProto & operator=(CpModelProto &&from) noexcept
Definition: cp_model.pb.h:5746
static const LinearConstraintProto & default_instance()
Definition: cp_model.pb.h:1286
void MergeFrom(const AutomatonConstraintProto &from)
void Swap(CpSolverResponse *other)
Definition: cp_model.pb.h:6066
::operations_research::sat::AutomatonConstraintProto * release_automaton()
::operations_research::sat::BoolArgumentProto * release_bool_and()
void unsafe_arena_set_allocated_target(::operations_research::sat::LinearExpressionProto *target)
CumulativeConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
::operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy variable_selection_strategy() const
const ::operations_research::sat::LinearArgumentProto & lin_min() const
void set_literals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::int32 size() const
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_times()
void MergeFrom(const LinearConstraintProto &from)
ElementConstraintProto(ElementConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1460
static const TableConstraintProto & default_instance()
Definition: cp_model.pb.h:3065
void set_allocated_at_most_one(::operations_research::sat::BoolArgumentProto *at_most_one)
friend void swap(CpModelProto &a, CpModelProto &b)
Definition: cp_model.pb.h:5774
AutomatonConstraintProto & operator=(AutomatonConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3410
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_actives()
void MergeFrom(const CpObjectiveProto &from)
void set_transition_head(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
void add_solution_lower_bounds(::PROTOBUF_NAMESPACE_ID::int64 value)
void add_heads(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_num_rows(::PROTOBUF_NAMESPACE_ID::int32 value)
LinearArgumentProto(LinearArgumentProto &&from) noexcept
Definition: cp_model.pb.h:942
constexpr LinearArgumentProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
::PROTOBUF_NAMESPACE_ID::int64 num_lp_iterations() const
::PROTOBUF_NAMESPACE_ID::int32 sufficient_assumptions_for_infeasibility(int index) const
static const AutomatonConstraintProto & default_instance()
Definition: cp_model.pb.h:3428
::operations_research::sat::LinearExpressionProto * mutable_exprs(int index)
::operations_research::sat::ElementConstraintProto * release_element()
SparsePermutationProto & operator=(const SparsePermutationProto &from)
Definition: cp_model.pb.h:5227
void set_allocated_int_mod(::operations_research::sat::IntegerArgumentProto *int_mod)
void unsafe_arena_set_allocated_lin_min(::operations_research::sat::LinearArgumentProto *lin_min)
void MergeFrom(const LinearExpressionProto &from)
static const DecisionStrategyProto_AffineTransformation * internal_default_instance()
Definition: cp_model.pb.h:4650
void Swap(AllDifferentConstraintProto *other)
Definition: cp_model.pb.h:1148
static const IntegerArgumentProto * internal_default_instance()
Definition: cp_model.pb.h:623
void UnsafeArenaSwap(RoutesConstraintProto *other)
Definition: cp_model.pb.h:2849
friend void swap(DenseMatrixProto &a, DenseMatrixProto &b)
Definition: cp_model.pb.h:5435
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_demands()
SymmetryProto(SymmetryProto &&from) noexcept
Definition: cp_model.pb.h:5571
void unsafe_arena_set_allocated_start_view(::operations_research::sat::LinearExpressionProto *start_view)
void add_literals(::PROTOBUF_NAMESPACE_ID::int32 value)
constexpr IntervalConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
void set_allocated_automaton(::operations_research::sat::AutomatonConstraintProto *automaton)
void add_coeffs(::PROTOBUF_NAMESPACE_ID::int64 value)
::PROTOBUF_NAMESPACE_ID::int32 literals(int index) const
void set_entries(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_transition_label()
::PROTOBUF_NAMESPACE_ID::int32 assumptions(int index) const
friend void swap(IntegerVariableProto &a, IntegerVariableProto &b)
Definition: cp_model.pb.h:310
void set_final_states(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & coeffs() const
void add_demands(::PROTOBUF_NAMESPACE_ID::int32 value)
const ::operations_research::sat::DecisionStrategyProto & search_strategy(int index) const
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & x_intervals() const
friend void swap(DecisionStrategyProto_AffineTransformation &a, DecisionStrategyProto_AffineTransformation &b)
Definition: cp_model.pb.h:4657
AutomatonConstraintProto(const AutomatonConstraintProto &from)
LinearConstraintProto(const LinearConstraintProto &from)
CpObjectiveProto & operator=(CpObjectiveProto &&from) noexcept
Definition: cp_model.pb.h:4406
static const CpModelProto * internal_default_instance()
Definition: cp_model.pb.h:5767
::operations_research::sat::RoutesConstraintProto * release_routes()
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto_AffineTransformation > & transformations() const
void CopyFrom(const ReservoirConstraintProto &from)
static const NoOverlapConstraintProto & default_instance()
Definition: cp_model.pb.h:1879
void unsafe_arena_set_allocated_int_max(::operations_research::sat::IntegerArgumentProto *int_max)
::operations_research::sat::BoolArgumentProto * unsafe_arena_release_bool_and()
::operations_research::sat::DenseMatrixProto * add_orbitopes()
static const DecisionStrategyProto * internal_default_instance()
Definition: cp_model.pb.h:4809
constexpr CircuitConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
::operations_research::sat::BoolArgumentProto * mutable_at_most_one()
SymmetryProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:5631
static bool DomainReductionStrategy_IsValid(int value)
Definition: cp_model.pb.h:4930
BoolArgumentProto(BoolArgumentProto &&from) noexcept
Definition: cp_model.pb.h:442
static const LinearArgumentProto & default_instance()
Definition: cp_model.pb.h:969
void set_sufficient_assumptions_for_infeasibility(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
SparsePermutationProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
CumulativeConstraintProto(CumulativeConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2190
LinearExpressionProto(const LinearExpressionProto &from)
void set_allocated_lin_max(::operations_research::sat::LinearArgumentProto *lin_max)
void set_positive_coeff(::PROTOBUF_NAMESPACE_ID::int64 value)
constexpr SymmetryProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
const ::operations_research::sat::SymmetryProto & symmetry() const
void unsafe_arena_set_allocated_no_overlap_2d(::operations_research::sat::NoOverlap2DConstraintProto *no_overlap_2d)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_support()
friend void swap(AllDifferentConstraintProto &a, AllDifferentConstraintProto &b)
Definition: cp_model.pb.h:1145
void UnsafeArenaSwap(ReservoirConstraintProto *other)
Definition: cp_model.pb.h:2425
AllDifferentConstraintProto & operator=(AllDifferentConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1117
void add_y_intervals(::PROTOBUF_NAMESPACE_ID::int32 value)
void UnsafeArenaSwap(DecisionStrategyProto *other)
Definition: cp_model.pb.h:4827
void unsafe_arena_set_allocated_int_prod(::operations_research::sat::IntegerArgumentProto *int_prod)
::operations_research::sat::LinearExpressionProto * unsafe_arena_release_end_view()
friend void swap(NoOverlap2DConstraintProto &a, NoOverlap2DConstraintProto &b)
Definition: cp_model.pb.h:2040
AllDifferentConstraintProto(AllDifferentConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1108
void CopyFrom(const SparsePermutationProto &from)
void Swap(InverseConstraintProto *other)
Definition: cp_model.pb.h:3265
void CopyFrom(const BoolArgumentProto &from)
::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy domain_reduction_strategy() const
::operations_research::sat::IntegerVariableProto * add_tightened_variables()
constexpr CpModelProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
::operations_research::sat::IntegerArgumentProto * release_int_max()
void unsafe_arena_set_allocated_table(::operations_research::sat::TableConstraintProto *table)
::PROTOBUF_NAMESPACE_ID::int64 transition_tail(int index) const
TableConstraintProto * New() const final
Definition: cp_model.pb.h:3094
SymmetryProto & operator=(const SymmetryProto &from)
Definition: cp_model.pb.h:5576
void Swap(PartialVariableAssignment *other)
Definition: cp_model.pb.h:5086
CpSolverResponse(CpSolverResponse &&from) noexcept
Definition: cp_model.pb.h:6026
static const NoOverlap2DConstraintProto & default_instance()
Definition: cp_model.pb.h:2030
void MergeFrom(const DenseMatrixProto &from)
void set_solution_upper_bounds(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
constexpr SparsePermutationProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
::operations_research::sat::CpObjectiveProto * mutable_objective()
LinearExpressionProto * New() const final
Definition: cp_model.pb.h:811
void unsafe_arena_set_allocated_reservoir(::operations_research::sat::ReservoirConstraintProto *reservoir)
void Swap(BoolArgumentProto *other)
Definition: cp_model.pb.h:482
BoolArgumentProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
DenseMatrixProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:5458
::PROTOBUF_NAMESPACE_ID::int64 num_branches() const
CumulativeConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:2250
void set_allocated_int_min(::operations_research::sat::IntegerArgumentProto *int_min)
IntervalConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void Swap(LinearExpressionProto *other)
Definition: cp_model.pb.h:795
const ::operations_research::sat::IntegerVariableProto & tightened_variables(int index) const
constexpr CumulativeConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
SymmetryProto & operator=(SymmetryProto &&from) noexcept
Definition: cp_model.pb.h:5580
void set_start(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_allocated_all_diff(::operations_research::sat::AllDifferentConstraintProto *all_diff)
void set_coeffs(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
void Swap(DecisionStrategyProto_AffineTransformation *other)
Definition: cp_model.pb.h:4660
void UnsafeArenaSwap(ElementConstraintProto *other)
Definition: cp_model.pb.h:1508
const ::operations_research::sat::ConstraintProto & constraints(int index) const
ReservoirConstraintProto(ReservoirConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2377
const ::operations_research::sat::IntegerArgumentProto & int_min() const
DecisionStrategyProto_AffineTransformation * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:4680
CpSolverResponse * New() const final
Definition: cp_model.pb.h:6082
friend void swap(SymmetryProto &a, SymmetryProto &b)
Definition: cp_model.pb.h:5608
void set_allocated_solution_hint(::operations_research::sat::PartialVariableAssignment *solution_hint)
DecisionStrategyProto_AffineTransformation(::PROTOBUF_NAMESPACE_ID::Arena *arena)
RoutesConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:2861
void MergeFrom(const PartialVariableAssignment &from)
void set_allocated_int_prod(::operations_research::sat::IntegerArgumentProto *int_prod)
NoOverlapConstraintProto & operator=(NoOverlapConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1861
::PROTOBUF_NAMESPACE_ID::int32 actives(int index) const
static const LinearExpressionProto & default_instance()
Definition: cp_model.pb.h:782
void UnsafeArenaSwap(AutomatonConstraintProto *other)
Definition: cp_model.pb.h:3449
const ::operations_research::sat::CircuitConstraintProto & circuit() const
CpModelProto(const CpModelProto &from)
::operations_research::sat::ReservoirConstraintProto * mutable_reservoir()
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_solution_lower_bounds()
::operations_research::sat::LinearArgumentProto * mutable_lin_max()
void set_num_booleans(::PROTOBUF_NAMESPACE_ID::int64 value)
static const IntegerArgumentProto & default_instance()
Definition: cp_model.pb.h:620
::operations_research::sat::IntegerArgumentProto * release_int_min()
void UnsafeArenaSwap(NoOverlap2DConstraintProto *other)
Definition: cp_model.pb.h:2051
::operations_research::sat::CpSolverStatus status() const
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & domain() const
DecisionStrategyProto_AffineTransformation & operator=(DecisionStrategyProto_AffineTransformation &&from) noexcept
Definition: cp_model.pb.h:4629
::operations_research::sat::DecisionStrategyProto * add_search_strategy()
ReservoirConstraintProto(const ReservoirConstraintProto &from)
constexpr AllDifferentConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
static const DenseMatrixProto * internal_default_instance()
Definition: cp_model.pb.h:5428
::operations_research::sat::IntegerArgumentProto * mutable_int_div()
AllDifferentConstraintProto * New() const final
Definition: cp_model.pb.h:1164
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::operations_research::sat::LinearExpressionProto * release_end_view()
void set_transition_label(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
::operations_research::sat::LinearExpressionProto * mutable_size_view()
void add_x_intervals(::PROTOBUF_NAMESPACE_ID::int32 value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & f_inverse() const
::PROTOBUF_NAMESPACE_ID::int64 final_states(int index) const
void MergeFrom(const CircuitConstraintProto &from)
::PROTOBUF_NAMESPACE_ID::int64 max_level() const
const ::operations_research::sat::BoolArgumentProto & bool_xor() const
void CopyFrom(const SymmetryProto &from)
void unsafe_arena_set_allocated_lin_max(::operations_research::sat::LinearArgumentProto *lin_max)
static const std::string & VariableSelectionStrategy_Name(T enum_t_value)
Definition: cp_model.pb.h:4908
PartialVariableAssignment * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:5106
const ::operations_research::sat::IntegerArgumentProto & int_mod() const
LinearConstraintProto & operator=(LinearConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1268
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_final_states()
static const IntegerVariableProto * internal_default_instance()
Definition: cp_model.pb.h:303
BoolArgumentProto & operator=(const BoolArgumentProto &from)
Definition: cp_model.pb.h:447
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto > & search_strategy() const
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DenseMatrixProto > & orbitopes() const
void set_domain(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
void set_tails(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
void unsafe_arena_set_allocated_all_diff(::operations_research::sat::AllDifferentConstraintProto *all_diff)
static const AllDifferentConstraintProto & default_instance()
Definition: cp_model.pb.h:1135
::PROTOBUF_NAMESPACE_ID::int32 start() const
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > & variables() const
::operations_research::sat::IntegerVariableProto * mutable_tightened_variables(int index)
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::DecisionStrategyProto > * mutable_search_strategy()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: cp_model.pb.h:294
DecisionStrategyProto & operator=(DecisionStrategyProto &&from) noexcept
Definition: cp_model.pb.h:4788
::operations_research::sat::DecisionStrategyProto * mutable_search_strategy(int index)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * VariableSelectionStrategy_descriptor()
Definition: cp_model.pb.h:4904
::operations_research::sat::DenseMatrixProto * mutable_orbitopes(int index)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_literals()
void Swap(CircuitConstraintProto *other)
Definition: cp_model.pb.h:2640
::operations_research::sat::CircuitConstraintProto * release_circuit()
::operations_research::sat::InverseConstraintProto * unsafe_arena_release_inverse()
const ::operations_research::sat::InverseConstraintProto & inverse() const
void UnsafeArenaSwap(IntegerArgumentProto *other)
Definition: cp_model.pb.h:641
void Swap(ConstraintProto *other)
Definition: cp_model.pb.h:3732
::operations_research::sat::BoolArgumentProto * mutable_bool_and()
void UnsafeArenaSwap(InverseConstraintProto *other)
Definition: cp_model.pb.h:3273
DenseMatrixProto & operator=(const DenseMatrixProto &from)
Definition: cp_model.pb.h:5403
friend void swap(RoutesConstraintProto &a, RoutesConstraintProto &b)
Definition: cp_model.pb.h:2838
static const NoOverlapConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1882
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & intervals() const
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & values() const
::operations_research::sat::LinearArgumentProto * unsafe_arena_release_lin_min()
::operations_research::sat::IntegerArgumentProto * mutable_int_min()
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::SparsePermutationProto > & permutations() const
const ::operations_research::sat::BoolArgumentProto & bool_or() const
::PROTOBUF_NAMESPACE_ID::int32 target() const
RoutesConstraintProto * New() const final
Definition: cp_model.pb.h:2857
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_demands()
CircuitConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_y_intervals()
IntervalConstraintProto(const IntervalConstraintProto &from)
void add_transition_tail(::PROTOBUF_NAMESPACE_ID::int64 value)
void unsafe_arena_set_allocated_interval(::operations_research::sat::IntervalConstraintProto *interval)
void set_solve_log(const std::string &value)
::operations_research::sat::BoolArgumentProto * release_bool_xor()
void add_enforcement_literal(::PROTOBUF_NAMESPACE_ID::int32 value)
void MergeFrom(const ReservoirConstraintProto &from)
friend void swap(ReservoirConstraintProto &a, ReservoirConstraintProto &b)
Definition: cp_model.pb.h:2414
LinearArgumentProto(const LinearArgumentProto &from)
void Swap(RoutesConstraintProto *other)
Definition: cp_model.pb.h:2841
PartialVariableAssignment(const PartialVariableAssignment &from)
static const LinearConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1289
void set_solution_info(const char *value, size_t size)
ElementConstraintProto & operator=(const ElementConstraintProto &from)
Definition: cp_model.pb.h:1465
void add_variables(::PROTOBUF_NAMESPACE_ID::int32 value)
void UnsafeArenaSwap(IntervalConstraintProto *other)
Definition: cp_model.pb.h:1681
void unsafe_arena_set_allocated_cumulative(::operations_research::sat::CumulativeConstraintProto *cumulative)
void set_allocated_solve_log(std::string *solve_log)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_enforcement_literal()
const ::operations_research::sat::IntegerArgumentProto & int_max() const
DenseMatrixProto * New() const final
Definition: cp_model.pb.h:5454
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & literals() const
ElementConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void set_solution(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
::operations_research::sat::IntegerArgumentProto * release_int_div()
void set_intervals(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
::operations_research::sat::NoOverlap2DConstraintProto * release_no_overlap_2d()
void UnsafeArenaSwap(CpModelProto *other)
Definition: cp_model.pb.h:5785
RoutesConstraintProto & operator=(RoutesConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2810
void CopyFrom(const DenseMatrixProto &from)
::PROTOBUF_NAMESPACE_ID::int64 domain(int index) const
::operations_research::sat::CircuitConstraintProto * mutable_circuit()
constexpr ElementConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
IntegerVariableProto & operator=(const IntegerVariableProto &from)
Definition: cp_model.pb.h:278
constexpr PartialVariableAssignment(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
::operations_research::sat::PartialVariableAssignment * mutable_solution_hint()
static const ConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:3722
const std::string & name() const
void set_allocated_start_view(::operations_research::sat::LinearExpressionProto *start_view)
void set_capacity(::PROTOBUF_NAMESPACE_ID::int32 value)
IntegerArgumentProto(IntegerArgumentProto &&from) noexcept
Definition: cp_model.pb.h:593
void add_demands(::PROTOBUF_NAMESPACE_ID::int64 value)
const ::operations_research::sat::BoolArgumentProto & at_most_one() const
void set_variables(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
SparsePermutationProto(SparsePermutationProto &&from) noexcept
Definition: cp_model.pb.h:5222
void set_allocated_circuit(::operations_research::sat::CircuitConstraintProto *circuit)
::PROTOBUF_NAMESPACE_ID::int32 capacity() const
void set_index(::PROTOBUF_NAMESPACE_ID::int32 value)
LinearArgumentProto & operator=(const LinearArgumentProto &from)
Definition: cp_model.pb.h:947
::operations_research::sat::CumulativeConstraintProto * unsafe_arena_release_cumulative()
friend void swap(TableConstraintProto &a, TableConstraintProto &b)
Definition: cp_model.pb.h:3075
CircuitConstraintProto(const CircuitConstraintProto &from)
::operations_research::sat::BoolArgumentProto * unsafe_arena_release_exactly_one()
LinearExpressionProto & operator=(const LinearExpressionProto &from)
Definition: cp_model.pb.h:760
static const NoOverlap2DConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:2033
CircuitConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:2660
void set_name(std::string &&value)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_solution_upper_bounds()
void set_allocated_bool_and(::operations_research::sat::BoolArgumentProto *bool_and)
void set_allocated_linear(::operations_research::sat::LinearConstraintProto *linear)
void set_domain_reduction_strategy(::operations_research::sat::DecisionStrategyProto_DomainReductionStrategy value)
void set_allocated_cumulative(::operations_research::sat::CumulativeConstraintProto *cumulative)
void MergeFrom(const IntervalConstraintProto &from)
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::ConstraintProto > & constraints() const
::operations_research::sat::CpObjectiveProto * unsafe_arena_release_objective()
::PROTOBUF_NAMESPACE_ID::int32 y_intervals(int index) const
AutomatonConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
const ::operations_research::sat::ReservoirConstraintProto & reservoir() const
::operations_research::sat::LinearArgumentProto * release_lin_max()
TableConstraintProto(TableConstraintProto &&from) noexcept
Definition: cp_model.pb.h:3038
::PROTOBUF_NAMESPACE_ID::int64 offset() const
IntegerVariableProto(const IntegerVariableProto &from)
void set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & entries() const
::PROTOBUF_NAMESPACE_ID::int64 num_booleans() const
void MergeFrom(const DecisionStrategyProto &from)
CpModelProto * New() const final
Definition: cp_model.pb.h:5793
static const IntervalConstraintProto * internal_default_instance()
Definition: cp_model.pb.h:1663
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & vars() const
void unsafe_arena_set_allocated_int_div(::operations_research::sat::IntegerArgumentProto *int_div)
DecisionStrategyProto_AffineTransformation(const DecisionStrategyProto_AffineTransformation &from)
::PROTOBUF_NAMESPACE_ID::int32 end() const
TableConstraintProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_transition_head()
void set_support(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
::operations_research::sat::IntegerArgumentProto * unsafe_arena_release_int_max()
const ::operations_research::sat::LinearExpressionProto & end_view() const
CpSolverResponse & operator=(const CpSolverResponse &from)
Definition: cp_model.pb.h:6031
friend void swap(IntervalConstraintProto &a, IntervalConstraintProto &b)
Definition: cp_model.pb.h:1670
void add_f_inverse(::PROTOBUF_NAMESPACE_ID::int32 value)
void MergeFrom(const TableConstraintProto &from)
AutomatonConstraintProto & operator=(const AutomatonConstraintProto &from)
Definition: cp_model.pb.h:3406
ConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:3752
static const PartialVariableAssignment & default_instance()
Definition: cp_model.pb.h:5073
::operations_research::sat::NoOverlapConstraintProto * unsafe_arena_release_no_overlap()
CumulativeConstraintProto & operator=(const CumulativeConstraintProto &from)
Definition: cp_model.pb.h:2195
void set_allocated_target(::operations_research::sat::LinearExpressionProto *target)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > & demands() const
AutomatonConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:3461
constexpr DenseMatrixProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
constexpr LinearConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
NoOverlapConstraintProto * New() const final
Definition: cp_model.pb.h:1908
void set_assumptions(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
::operations_research::sat::BoolArgumentProto * mutable_bool_or()
void add_transition_label(::PROTOBUF_NAMESPACE_ID::int64 value)
void set_allocated_name(std::string *name)
void UnsafeArenaSwap(IntegerVariableProto *other)
Definition: cp_model.pb.h:321
::PROTOBUF_NAMESPACE_ID::int32 cycle_sizes(int index) const
void add_vars(::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::int32 vars(int index) const
::PROTOBUF_NAMESPACE_ID::int32 num_rows() const
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_solution()
void MergeFrom(const SymmetryProto &from)
static const SymmetryProto & default_instance()
Definition: cp_model.pb.h:5598
const ::operations_research::sat::LinearExpressionProto & start_view() const
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_coeffs()
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > * mutable_x_intervals()
::PROTOBUF_NAMESPACE_ID::int64 transition_label(int index) const
void MergeFrom(const AllDifferentConstraintProto &from)
::operations_research::sat::AllDifferentConstraintProto * unsafe_arena_release_all_diff()
void MergeFrom(const IntegerVariableProto &from)
RoutesConstraintProto(RoutesConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2801
constexpr AutomatonConstraintProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
void MergeFrom(const NoOverlap2DConstraintProto &from)
const ::operations_research::sat::NoOverlapConstraintProto & no_overlap() const
void UnsafeArenaSwap(CumulativeConstraintProto *other)
Definition: cp_model.pb.h:2238
void set_target(::PROTOBUF_NAMESPACE_ID::int32 value)
void Swap(LinearArgumentProto *other)
Definition: cp_model.pb.h:982
::operations_research::sat::AllDifferentConstraintProto * mutable_all_diff()
PartialVariableAssignment * New() const final
Definition: cp_model.pb.h:5102
ConstraintProto(const ConstraintProto &from)
::PROTOBUF_NAMESPACE_ID::int64 num_conflicts() const
void unsafe_arena_set_allocated_inverse(::operations_research::sat::InverseConstraintProto *inverse)
ElementConstraintProto * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: cp_model.pb.h:1520
InverseConstraintProto * New() const final
Definition: cp_model.pb.h:3281
friend void swap(PartialVariableAssignment &a, PartialVariableAssignment &b)
Definition: cp_model.pb.h:5083
friend void swap(DecisionStrategyProto &a, DecisionStrategyProto &b)
Definition: cp_model.pb.h:4816
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & solution_upper_bounds() const
void CopyFrom(const InverseConstraintProto &from)
CumulativeConstraintProto & operator=(CumulativeConstraintProto &&from) noexcept
Definition: cp_model.pb.h:2199
void set_allocated_table(::operations_research::sat::TableConstraintProto *table)
IntervalConstraintProto(IntervalConstraintProto &&from) noexcept
Definition: cp_model.pb.h:1633
void unsafe_arena_set_allocated_int_mod(::operations_research::sat::IntegerArgumentProto *int_mod)
constexpr IntegerArgumentProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
LinearConstraintProto * New() const final
Definition: cp_model.pb.h:1315
constexpr BoolArgumentProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
void CopyFrom(const NoOverlapConstraintProto &from)
void set_demands(int index, ::PROTOBUF_NAMESPACE_ID::int64 value)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > & final_states() const
::operations_research::sat::BoolArgumentProto * mutable_bool_xor()
::PROTOBUF_NAMESPACE_ID::int32 variables(int index) const
void unsafe_arena_set_allocated_size_view(::operations_research::sat::LinearExpressionProto *size_view)
CpObjectiveProto(CpObjectiveProto &&from) noexcept
Definition: cp_model.pb.h:4397
void UnsafeArenaSwap(BoolArgumentProto *other)
Definition: cp_model.pb.h:490
::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int64 > * mutable_domain()
SparsePermutationProto & operator=(SparsePermutationProto &&from) noexcept
Definition: cp_model.pb.h:5231
const ::operations_research::sat::LinearConstraintProto & linear() const
void set_f_inverse(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
SymmetryProto(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void UnsafeArenaSwap(LinearConstraintProto *other)
Definition: cp_model.pb.h:1307
ElementConstraintProto * New() const final
Definition: cp_model.pb.h:1516
static const ElementConstraintProto & default_instance()
Definition: cp_model.pb.h:1487
void set_end(::PROTOBUF_NAMESPACE_ID::int32 value)
friend void swap(AutomatonConstraintProto &a, AutomatonConstraintProto &b)
Definition: cp_model.pb.h:3438
void set_allocated_lin_min(::operations_research::sat::LinearArgumentProto *lin_min)
void CopyFrom(const ElementConstraintProto &from)
void set_enforcement_literal(int index, ::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::operations_research::sat::IntegerVariableProto > * mutable_variables()
const ::operations_research::sat::BoolArgumentProto & exactly_one() const
void unsafe_arena_set_allocated_element(::operations_research::sat::ElementConstraintProto *element)
IntegerArgumentProto * New() const final
Definition: cp_model.pb.h:649
int64_t b
int64_t a
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto
Definition: cp_model.pb.cc:985
::PROTOBUF_NAMESPACE_ID::Metadata descriptor_table_ortools_2fsat_2fcp_5fmodel_2eproto_metadata_getter(int index)
Definition: cp_model.pb.cc:992
const std::string name
int64_t value
const int64_t offset_
Definition: interval.cc:2108
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SparsePermutationProtoDefaultTypeInternal _SparsePermutationProto_default_instance_
Definition: cp_model.pb.cc:402
constexpr DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_MAX
Definition: cp_model.pb.h:190
@ DecisionStrategyProto_DomainReductionStrategy_DecisionStrategyProto_DomainReductionStrategy_INT_MIN_SENTINEL_DO_NOT_USE_
Definition: cp_model.pb.h:213
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_MEDIAN_VALUE
Definition: cp_model.pb.h:212
@ DecisionStrategyProto_DomainReductionStrategy_DecisionStrategyProto_DomainReductionStrategy_INT_MAX_SENTINEL_DO_NOT_USE_
Definition: cp_model.pb.h:214
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_LOWER_HALF
Definition: cp_model.pb.h:210
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_MIN_VALUE
Definition: cp_model.pb.h:208
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_MAX_VALUE
Definition: cp_model.pb.h:209
@ DecisionStrategyProto_DomainReductionStrategy_SELECT_UPPER_HALF
Definition: cp_model.pb.h:211
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * CpSolverStatus_descriptor()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT InverseConstraintProtoDefaultTypeInternal _InverseConstraintProto_default_instance_
Definition: cp_model.pb.cc:284
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CpObjectiveProtoDefaultTypeInternal _CpObjectiveProto_default_instance_
Definition: cp_model.pb.cc:340
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DecisionStrategyProto_DomainReductionStrategy_descriptor()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LinearArgumentProtoDefaultTypeInternal _LinearArgumentProto_default_instance_
Definition: cp_model.pb.cc:90
constexpr int DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_ARRAYSIZE
Definition: cp_model.pb.h:191
constexpr DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_MAX
Definition: cp_model.pb.h:218
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT IntegerArgumentProtoDefaultTypeInternal _IntegerArgumentProto_default_instance_
Definition: cp_model.pb.cc:61
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT IntegerVariableProtoDefaultTypeInternal _IntegerVariableProto_default_instance_
Definition: cp_model.pb.cc:34
bool DecisionStrategyProto_VariableSelectionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DecisionStrategyProto_VariableSelectionStrategy *value)
Definition: cp_model.pb.h:202
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CpModelProtoDefaultTypeInternal _CpModelProto_default_instance_
Definition: cp_model.pb.cc:450
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT DecisionStrategyProto_AffineTransformationDefaultTypeInternal _DecisionStrategyProto_AffineTransformation_default_instance_
Definition: cp_model.pb.cc:354
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AllDifferentConstraintProtoDefaultTypeInternal _AllDifferentConstraintProto_default_instance_
Definition: cp_model.pb.cc:103
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT NoOverlap2DConstraintProtoDefaultTypeInternal _NoOverlap2DConstraintProto_default_instance_
Definition: cp_model.pb.cc:181
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT IntervalConstraintProtoDefaultTypeInternal _IntervalConstraintProto_default_instance_
Definition: cp_model.pb.cc:152
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RoutesConstraintProtoDefaultTypeInternal _RoutesConstraintProto_default_instance_
Definition: cp_model.pb.cc:253
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT BoolArgumentProtoDefaultTypeInternal _BoolArgumentProto_default_instance_
Definition: cp_model.pb.cc:47
constexpr CpSolverStatus CpSolverStatus_MIN
Definition: cp_model.pb.h:245
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT DecisionStrategyProtoDefaultTypeInternal _DecisionStrategyProto_default_instance_
Definition: cp_model.pb.cc:372
constexpr int CpSolverStatus_ARRAYSIZE
Definition: cp_model.pb.h:247
bool DecisionStrategyProto_DomainReductionStrategy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DecisionStrategyProto_DomainReductionStrategy *value)
Definition: cp_model.pb.h:230
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LinearConstraintProtoDefaultTypeInternal _LinearConstraintProto_default_instance_
Definition: cp_model.pb.cc:120
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CpSolverResponseDefaultTypeInternal _CpSolverResponse_default_instance_
Definition: cp_model.pb.cc:488
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DecisionStrategyProto_VariableSelectionStrategy_descriptor()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT NoOverlapConstraintProtoDefaultTypeInternal _NoOverlapConstraintProto_default_instance_
Definition: cp_model.pb.cc:165
@ DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_MAX_DOMAIN_SIZE
Definition: cp_model.pb.h:184
@ DecisionStrategyProto_VariableSelectionStrategy_DecisionStrategyProto_VariableSelectionStrategy_INT_MIN_SENTINEL_DO_NOT_USE_
Definition: cp_model.pb.h:185
@ DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_LOWEST_MIN
Definition: cp_model.pb.h:181
@ DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_HIGHEST_MAX
Definition: cp_model.pb.h:182
@ DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_FIRST
Definition: cp_model.pb.h:180
@ DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_MIN_DOMAIN_SIZE
Definition: cp_model.pb.h:183
@ DecisionStrategyProto_VariableSelectionStrategy_DecisionStrategyProto_VariableSelectionStrategy_INT_MAX_SENTINEL_DO_NOT_USE_
Definition: cp_model.pb.h:186
constexpr CpSolverStatus CpSolverStatus_MAX
Definition: cp_model.pb.h:246
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ElementConstraintProtoDefaultTypeInternal _ElementConstraintProto_default_instance_
Definition: cp_model.pb.cc:135
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SymmetryProtoDefaultTypeInternal _SymmetryProto_default_instance_
Definition: cp_model.pb.cc:430
const std::string & DecisionStrategyProto_VariableSelectionStrategy_Name(T enum_t_value)
Definition: cp_model.pb.h:195
constexpr int DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_ARRAYSIZE
Definition: cp_model.pb.h:219
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AutomatonConstraintProtoDefaultTypeInternal _AutomatonConstraintProto_default_instance_
Definition: cp_model.pb.cc:306
const std::string & DecisionStrategyProto_DomainReductionStrategy_Name(T enum_t_value)
Definition: cp_model.pb.h:223
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LinearExpressionProtoDefaultTypeInternal _LinearExpressionProto_default_instance_
Definition: cp_model.pb.cc:77
bool DecisionStrategyProto_VariableSelectionStrategy_IsValid(int value)
bool CpSolverStatus_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, CpSolverStatus *value)
Definition: cp_model.pb.h:258
constexpr DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_MIN
Definition: cp_model.pb.h:189
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT DenseMatrixProtoDefaultTypeInternal _DenseMatrixProto_default_instance_
Definition: cp_model.pb.cc:417
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PartialVariableAssignmentDefaultTypeInternal _PartialVariableAssignment_default_instance_
Definition: cp_model.pb.cc:387
bool CpSolverStatus_IsValid(int value)
constexpr DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_MIN
Definition: cp_model.pb.h:217
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CircuitConstraintProtoDefaultTypeInternal _CircuitConstraintProto_default_instance_
Definition: cp_model.pb.cc:233
bool DecisionStrategyProto_DomainReductionStrategy_IsValid(int value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT TableConstraintProtoDefaultTypeInternal _TableConstraintProto_default_instance_
Definition: cp_model.pb.cc:269
const std::string & CpSolverStatus_Name(T enum_t_value)
Definition: cp_model.pb.h:251
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CumulativeConstraintProtoDefaultTypeInternal _CumulativeConstraintProto_default_instance_
Definition: cp_model.pb.cc:197
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ConstraintProtoDefaultTypeInternal _ConstraintProto_default_instance_
Definition: cp_model.pb.cc:321
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ReservoirConstraintProtoDefaultTypeInternal _ReservoirConstraintProto_default_instance_
Definition: cp_model.pb.cc:216
Collection of objects used to extend the Constraint Solver library.
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PartialVariableAssignmentDefaultTypeInternal _PartialVariableAssignment_default_instance_
int index
Definition: pack.cc:509
IntervalVar * interval
Definition: resource.cc:100
int64_t capacity
IntVar *const objective_
Definition: search.cc:2966
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[28] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]
Definition: cp_model.pb.h:54
static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
Definition: cp_model.pb.h:53
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]
Definition: cp_model.pb.h:52